0
0
0
@范聿舟
来自必应
动态规划(Dynamic Programming,简称DP)是一种用于解决多步决策过程最优化问题的数学方法。它通过将问题划分为若干个阶段,并在每个阶段根据先前的决策作出当前阶段的最优决策,从而得出整个问题的最优解。
动态规划的基本思想
动态规划的核心思想是记住已知问题的答案,在已知答案的基**上解决未知问题。它与分治法类似,但不同的是,动态规划适用于子问题之间有重叠的情况。通过保存已解决的子问题的答案,可以避免大量的重复计算,从而节省时间。
动态规划的**质
-
最优子结构:问题的最优解包含其子问题的最优解。
-
无后效**:某阶段状态一旦确定,就不受以后决策的影响。
-
有重叠子问题:子问题之间是不**的,一个子问题可能在多个阶段被使用。
动态规划的实现步骤
-
划分阶段:将问题分为若干个阶段。
-
确定状态和状态变量:用不同的状态表示问题在各个阶段的发展情况。
-
确定决策并写出状态转移方程:根据相邻两个阶段的状态关系确定决策方法和状态转移方程。
-
寻找边界条件:给出递推的终止条件或边界条件。
