Dynamic Programming is to convert a problem into a polynomial time algorithm by storing some of the middle results first. This is to avoid searching some redundant spaces in the problem.
In the book (J.K. and E.T.), the following 3 are the rules of dynamic programming:
1) There are only a polynomial number of subproblems.
2) The solution to the original problem can be easily computed from the solutions to the subproblems.
3) There is a natural ordering on subproblems from "seallest" to "largest".
In the book (J.K. and E.T.), the following 3 are the rules of dynamic programming:
1) There are only a polynomial number of subproblems.
2) The solution to the original problem can be easily computed from the solutions to the subproblems.
3) There is a natural ordering on subproblems from "seallest" to "largest".
Comments