基础动态规划

匿名 (未验证) 提交于 2019-12-02 23:48:02

为了保证这些计算能够按顺序、不重复地进行,动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做“无后效性”。换言之,动态规划对状态空间的遍历构成张有向无环图(DAG), 遍历顺序就是该有向无环图的一个拓扑序。 有向无环图中的节点对应问题中的“状态”,图中的边则对应状态之间的“转移”,转移的选取就是动态规划中的“决策”。

“状态”“阶段”和“决策”是构成动态规划算法的三要素,而“子问题重叠性”“无后效性”和“最优子结构性质”是问题能用动态规划求解的三个基本条件。动态规划算法把相同的计算过程作用于各阶段的同类子问题,就好像把个固定的公式在格式相同的若干输入数据上运行。因此,我们一般只需要定 义出DP的计算过程,就可以编程实现了。这个计算过程就被称为“状态转移方程”。

线性DP

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!