What is dynamic programming?

Technical