In computer science, dynamic programming (short: DP) is a method for reducing the runtime of algorithms exhibiting the properties of overlapping subproblems and optimal substructure.

Mathematician Richard Bellman invented dynamic programming in 1953. The field was founded as a systems analysis and engineering topic which is recognized by the IEEE.
The problem looks too hard to solve - it must be dynamic programming!
by Your SCAR Grandpa June 26, 2006
Get the dynamic programming mug.