DP

动态规划利用问题的可划分性以及子问题之间的相似性来进行归纳,降低求解的复杂度。
动态规划算法把原问题视作若干个重叠子问题的逐层递进,每个子问题的求解过程构成一个阶段,完成前一个阶段的计算后,动态规划才会执行下一个阶段的计算

使用动态规划所需要满足的基本要求

子问题重叠性:原问题可视作若干个重叠子问题
无后效性:已经求解的子问题,不受后序阶段影响。
最优子结构性质:下一阶段的最优解能够由前面各阶段子问题的最优解导出

无后效性的理解

动态规划对状态空间的遍历构成一张有向无环图,遍历顺序就是该有向无环图的一个拓扑序
有向无环图的节点:问题中的状态
图中的边:状态之间的转移
转移的选取:动态规划中的决策

最优子结构的理解

动态规划在阶段计算完成时,只会保留每个状态与最终解集相关的部分代表信息。

posted @ 2020-04-22 15:41  dachengqian  阅读(305)  评论(0)    收藏  举报