动态规划与递推——动态规划是最优化算法 ( 转自2004chen)
2015-01-04 14:32
1046 查看
动态规划与递推——动态规划是最优化算法
2008-02-10 17:07:19| 分类: 默认分类 |举报|字号 订阅
动态规划的实质是分治和解决冗余,因此动态规划也是递归思想的应用之一。但是,动态规划和递归法还是有区别的。一般我们在实际应用中遇到的问题主要分为四类:判定性问题、构造性问题、计数问题和最优化问题。动态规划是解决最优化问题的有效途径,而递推法在处理判定性问题和计数问题方面是一把利器。下面分别就两个例子,谈一下递推法和动态规划在这两个方面的联系。
[例13] 模四最优路径问题
在下图中找出从第1点到第4点的一条路径,要求路径长度mod 4的余数最小。
这个图是一个多段图,而且是一个特殊的多段图。虽然这个图的形式比一般的多段图要简单,但是这个最优路径问题却不能用动态规划来做。因为一条从第1点到第4点的最优路径,在它走到第2点、第3点时,路径长度mod 4的余数不一定是最小,也就是说最优策略的子策略不一定最优——这个问题不满足最优化原理。
但是我们可以把它转换成判定性问题,用递推法来解决。判断从第1点到第k点的长度mod 4为sk的路径是否存在,用fk(sk)来表示,则递推公式如下:
边界条件为
这里lenk,i表示从第k-1点到第k点之间的第i条边的长度,方括号表示“或(or)”运算。最后的结果就是可以使f4(s4)值为真的最小的s4值。
这个递推法的递推公式和动态规划的规划方程非常相似,我们在这里借用了动态规划的符号也就是为了更清楚地显示这一点。其实它们的思想也是非常相像的,可以说是递推法借用了动态规划的思想解决了动态规划不能解决的问题。
有的多阶段决策问题(像这一题的阶段特征就很明显),由于不能满足最优化原理等使用动态规划的先决条件,而无法应用动态规划。在这时可以将最优指标函数的值当作“状态”放到下标中去,从而变最优化问题为判定性问题,再借用动态规划的思想,用递推法来解决问题。
一般说来,很多最优化问题都有着对应的计数问题;反过来,很多计数问题也有着对应的最优化问题。因此,我们在遇到这两类问题时,不妨多联系、多发展,举一反三,从比较中更深入地理解动态规划的思想。
转自:http://2004chengran.blog.163.com/blog/static/264459620081105719162/
2008-02-10 17:07:19| 分类: 默认分类 |举报|字号 订阅
动态规划的实质是分治和解决冗余,因此动态规划也是递归思想的应用之一。但是,动态规划和递归法还是有区别的。一般我们在实际应用中遇到的问题主要分为四类:判定性问题、构造性问题、计数问题和最优化问题。动态规划是解决最优化问题的有效途径,而递推法在处理判定性问题和计数问题方面是一把利器。下面分别就两个例子,谈一下递推法和动态规划在这两个方面的联系。
[例13] 模四最优路径问题
在下图中找出从第1点到第4点的一条路径,要求路径长度mod 4的余数最小。
这个图是一个多段图,而且是一个特殊的多段图。虽然这个图的形式比一般的多段图要简单,但是这个最优路径问题却不能用动态规划来做。因为一条从第1点到第4点的最优路径,在它走到第2点、第3点时,路径长度mod 4的余数不一定是最小,也就是说最优策略的子策略不一定最优——这个问题不满足最优化原理。
但是我们可以把它转换成判定性问题,用递推法来解决。判断从第1点到第k点的长度mod 4为sk的路径是否存在,用fk(sk)来表示,则递推公式如下:
边界条件为
这里lenk,i表示从第k-1点到第k点之间的第i条边的长度,方括号表示“或(or)”运算。最后的结果就是可以使f4(s4)值为真的最小的s4值。
这个递推法的递推公式和动态规划的规划方程非常相似,我们在这里借用了动态规划的符号也就是为了更清楚地显示这一点。其实它们的思想也是非常相像的,可以说是递推法借用了动态规划的思想解决了动态规划不能解决的问题。
有的多阶段决策问题(像这一题的阶段特征就很明显),由于不能满足最优化原理等使用动态规划的先决条件,而无法应用动态规划。在这时可以将最优指标函数的值当作“状态”放到下标中去,从而变最优化问题为判定性问题,再借用动态规划的思想,用递推法来解决问题。
一般说来,很多最优化问题都有着对应的计数问题;反过来,很多计数问题也有着对应的最优化问题。因此,我们在遇到这两类问题时,不妨多联系、多发展,举一反三,从比较中更深入地理解动态规划的思想。
转自:http://2004chengran.blog.163.com/blog/static/264459620081105719162/
相关文章推荐
- 动态规划/递推 - 中国象棋
- 动态规划专题:POJ 动态规划题目列表
- 什么是动态规划?动态规划的意义是什么?
- 动态规划之01背包问题 通俗理解动态规划的过程
- 动态规划--最长递增(减)子队列.[九度1112][递推求解]
- COJ 1022: 菜鸟和大牛(简单的动态规划,递推)
- 杭电acm step 动态规划专题总结(1)简单的动态规划问题
- 【算法之动态规划(二)】动态规划:从新手到专家
- 简单的动态规划问题(帮助理解动态规划)
- 【jzoj3418】【NOIP动态规划专题】【选课】【树型依赖动态规划】
- 【算法之动态规划(四)】动态规划笔试例题详解
- 动态规划----贪心的动态规划问题
- 动态规划,递推,高精度(Matches,uva 11375)
- SDAU 编程练习三 动态规划和动态规划与背包问题相结合的问题
- 【动态规划】矩形嵌套 (DGA上的动态规划)
- 动态规划----线性动态规划
- NYOJ 题目252 01串(动态规划,递推)
- 对动态规划原理理解的例子,先看看这个在看看动态规划剖析
- [ACM_动态规划] 轮廓线动态规划——铺放骨牌(状态压缩1)
- 动态规划之简单递推(HDU2041,HDU2044,HDU2045,HDU2046,HDU2047)