Dinamičko programiranje – razlika između verzija

Uklonjeni sadržaj Dodani sadržaj
Xqbot (razgovor | doprinos)
m robot Mijenja: es:Programación dinámica; kozmetičke promjene
Red 13:
 
Dinamičko programiranje se koristi kod:
* Potproblema koji se ponavljaju
* Optimalne podstrukture
* Memoizacije.
 
Ovaj algoritam koristi najčešće jedan od sledeća dva pristupa:
Red 31:
'''return''' n
'''else'''
'''return''' fib(n − 1) + fib(n − 2)
 
Treba primetiti da, ako se pozove [[funkcija]] <code>fib(5)</code>, manje funkcije se pozivaju veći broj puta, što raste [[eksponencijalna funkcija|eksponencijalno]]:
Red 42:
Ako se iskoristi pristup ''odozgo na dole'', tj. primeni ''memoizacija'', tada se potproblemi rešavaju tačno jednom, jer se njihove vrednosti pamte:
 
'''var''' m := '''map'''(0 &rarr; 1, 1 &rarr; 1)
'''function''' fib(n)
'''if''' n '''not in''' '''keys'''(m)
m[n] := fib(n &minus; 1) + fib(n &minus; 2)
'''return''' m[n]
 
Red 52:
'''function''' fib(n)
'''var''' previousFib := 1, currentFib := 1
'''repeat''' n &minus; 1 '''times'''
'''var''' newFib := previousFib + currentFib
previousFib := currentFib
Red 62:
=== Šahovska tabla ===
 
Neka je data šahovska tabla dimenzija ''n'' &times;× ''n'' i funckija ''c''(''i'', ''j'') koja vraća određenu vrednost za dato polje ''i'',''j'' (''i'' označava red, a ''j'' kolonu). Uzmimo, na primer, da je ''n'' = 5.
 
+---+---+---+---+---+
Red 180:
* [http://citeseer.ist.psu.edu/268391.html Dinamičko programiranje]
* [http://mat.gsia.cmu.edu/classes/dynamic/dynamic.html Dinamičko programiranje - tutorijal]
* [http://www.algorithmist.com/index.php/Dynamic_Programming Primeri]
* [http://www.business.auckland.ac.nz/Departments/econ/workingpapers/full/Text230.pdf Primena dinamičkog programiranja na polju makroekonomije]
* [http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=dynProg Tutorijal na TopCoder-u]
Red 186:
 
== Reference ==
* Thomas Cormen, Charles Leiserson, Ronald Rivest i Clifford Stein, 2001. ''Predstavljanje algoritama'', 2nd ed. MIT Press & McGraw-Hill. ISBN 02620329370-262-03293-7. Especially chpt. 15: 323&ndash;69323–69.
* Nancy Stokey, Robert Lucas i Edward Prescott, 1989. ''Rekurzivne metode''. Harvard Univ. Press.
* Dimitri P. Bertsekas, 2000. ''Dinamičko programiranje i optimalno kontrolisanje'', 2nd ed. Athena Scientific. ISBN 18865290941-886529-09-4. Vols. 1 and 2.
 
[[categoryKategorija:Algoritmi]]
 
[[ca:Programació dinàmica]]
Red 196:
[[de:Dynamische Programmierung]]
[[en:Dynamic programming]]
[[es:Programación dinámica (informática)]]
[[fa:برنامه‌ریزی پویا]]
[[fr:Programmation dynamique]]