Dinamik programlama, karmaşık problemleri daha küçük, tekrarlayan alt problemlere bölerek çözen bir yöntemdir 12.
Bu yöntemin temel özellikleri şunlardır:
- Optimal alt yapı: Problemin optimal çözümü, alt problemlerinin optimal çözümlerinden elde edilebilir 2.
- Üst üste binen alt problemler: Aynı alt problem, hesaplama sürecinde birden çok kez ortaya çıkar ve çözümü yeniden kullanılabilir 2.
Dinamik programlama, aşağıdaki alanlarda yaygın olarak kullanılır:
5 kaynaktan alınan bilgiyle göre: