Programowanie dynamiczne: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
literówka
mNie podano opisu zmian
Linia 1:
'''Programowanie dynamiczne''' jest techniką, lub strategią, projektowania [[algorytm|algorytmów]] stosowaną przeważnie do rozwiązywania zagadnień [[optymalizacja|optymalizacyjnych]], dla których nie istnieją [[algorytm zachłanny|algorytmy zachłanne]]. Wynalazcą techniki jest amerykański matematyk [[Richard Bellman]], uhonorowany za to odkrycie medalem [[IEEE]] ([[ang.]] ''medal of honour'') w [[1979]] roku.
 
Programowanie dynamiczne opiera się na na podziale rozwiązywanego problemu na podproblemy względem kilku parametrów. W odróżnieniu od techniki [[dziel i rządź (informatyka)|dziel i rządź]] podproblemy w programowaniu dynamicznym nie są na ogół rozłączne, ale musi je cechować własność [[optymalna podstruktura|optymalnej podstruktury]]. Zagadnienia odpowiednie dla programowania dynamicznego cechuje również to, że zastosowanie do nich [[brute force|metody czołgowej]] (and. ''brute force'') prowadzi do ponadwielomianowej liczby rozwiązywań podproblemów, podczas gdy sama liczba różnych podproblemów jest wielomianowa.