Sunteți pe pagina 1din 1

Metoda programrii dinamice

Programarea dinamica poate fi privita ca o imbunatatire a metodei greedy .Asa cum am vazut in metoda greedy se introduce un nou element in solutie in baza unui criteriu de admisibilitate, urmand ca optimul sa rezulte fie direct , fie printr-o inlocuire ulterioara. Programarea dinamica amendeaza Aceasta tehinica cerand ca in permanenta sa fie respectat un criteriu de optimalitate. Criteriul poate fi dependent de elementul ales , de unde si atributul dinamic ; adica este posibila o alta optiune de la caz la caz. Ca si in cazul altor metode , exprimarea este foarte generala. Un model simplu de intelegere a metodei ar consta din : Presupunem ca avem o multime A si vrem sa construim submultimea B La un pas oarecare putem alege intre mai multe elemente din A , prin traditie aceste optiuni se numesc precizii: d1,d2; Se alege acea decizie care conduce la solutia optima.

La o analiza mai atenta vom descoperi cu usurinta ca nu intotdeauna o decizie optima la un pas conduce la o decizie optima de ansamblu. Acesta este motivul pentru care programarea dinamica nu se poate aplica intotdeauna, pentru orice problema . O problema pentru rezolvarea careia vom aplica metoda programarii dinamice se caracterizeaza pritnr-un asa numit criteriu de optimalitate al carui enunt , destul de general, nu este altceva decat o forma de exprimare a principiului silogismului: Daca deciziile d1,d2,dn sunt optime pentru multimea B si daca multimea C =B se obtine prin deciziile D1,d2,dn-1, atunci acestea din urma sunt optime pentru multimea C. De ex, ori de cate ori reducand multimea B la o multime mai mica ea ramane optima in cadrul problemelor mai mici. Deoarece deciziile loate pana la un anumit moment dat influenteaza decizia curenta , ne putem afla in doua situatii. Decizia di depinde de di+1.dn, caz in care spunem ca aplicam metoda inainte ; deciziile vor fi luate in ordinea inversa , decizia di,caz in care spunem ca aplicam metoda inapoi ; deciziile vor fi luate in ordinea directa. D1,d2dn.

S-ar putea să vă placă și