Skip to content
START WITH A QUESTION

What would you like to understand?

Find an answer. See the moment it becomes clear. Follow the idea further.

← Concept directory

Answers for “动态规划的正式定义是什么?”

3 keyword matches

Understanding your question. You can explore the search results below now.

Meet the concept

↗

Richard Bellman used the term 'programming' to signify planning and decision making, not writing computer code. The term 'dynamic' refers to the ever-changing nature of the problems being solved.

Conditions: The context is the historical origin of the term 'dynamic programming'.

Find a method

↗

To determine if a problem can be solved with dynamic programming, first try to solve the problem recursively. Then check whether divide-and-conquer style decomposition works, and whether breaking the problem down to the simplest subproblem can eventually build up to the optimal solution.

Conditions: You are trying to decide whether a problem is suitable for dynamic programming.

Find a method

↗

The factorial example illustrates the core mechanism of dynamic programming by showing how a complex problem is recursively broken down into smaller subproblems and then built back up. To compute 4!4!, it depends on 3!3!, which depends on 2!2!, which depends on 1!1!.

Conditions: The problem can be broken down into smaller subproblems.; The solution to the original problem can be constructed from the solutions to the subproblems.