Dinamičko programiranje – razlika između verzija
Uklonjeni sadržaj Dodani sadržaj
m robot Dodaje: ca:Programació dinàmica |
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
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
'''function''' fib(n)
'''if''' n '''not in''' '''keys'''(m)
m[n] := fib(n
'''return''' m[n]
Red 52:
'''function''' fib(n)
'''var''' previousFib := 1, currentFib := 1
'''repeat''' n
'''var''' newFib := previousFib + currentFib
previousFib := currentFib
Red 62:
=== Šahovska tabla ===
Neka je data šahovska tabla dimenzija ''n''
+---+---+---+---+---+
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
* 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
[[
[[ca:Programació dinàmica]]
Red 196:
[[de:Dynamische Programmierung]]
[[en:Dynamic programming]]
[[es:Programación dinámica
[[fa:برنامهریزی پویا]]
[[fr:Programmation dynamique]]
|