Tak postopek ponavljamo dokler nismo sposobni rešiti podproblemov
Zato jih moramo razbiti na enostavnejše podprobleme
Problem bomo torej razdelili na manjše podprobleme ki jih znamo enostavno rešiti nato pa rešitev sestavili
Razstaviti ga moramo na dva podproblema
Da se podproblemi prekrivajo pomeni da isti podproblem uporabimo za reševanje več različnih večjih problemov
Resimo tudi oba podproblema →
Zaradi tega problem pogovornega obnašanja največkrat delimo na podprobleme kot sta funkcionalnost koverbalnosti
tabelah dolžine cca ni bistvenih razlik če rekurzije ne ustavimo ali jo ustavimo nekje do velikosti podproblema
skrajnosti in še je vsaki specializaciji cel trop specializantov ki se vsi ukvarjajo istim pod pod podproblemom
Tak postopek ponavljamo, dokler nismo sposobni rešiti podproblemov.
Pri temu algoritmu razdelimo osnovni problem na dva podproblema potem rešimo vsak podproblem zase in
računalništvu je dinamično programiranje način reševanja problemov ki jih lahko razbijemo na podprobleme
malo manj prostora pomnilniku funkcija se manjkrat pokliče ampak včasih je težko naprej določiti vse podprobleme
programiranje je strategija reševanja problemov kjer rešitev celotnega problema sestavimo iz znanih rešitev podproblemov
Prologu ji napišeš program ki ji reši vse probleme in podprobleme tudi tiste za katere ne ve da jih ima