您的位置:首页 > 其它

动态规划的学习(一)

2012-11-19 17:42 274 查看
学习dp也有一段时间了,终于对dp有了一定的了解。。。

一.dp的适用范围

dp用于解决多阶段决策的最优化问题,但不是所有最优化的问题都可以用dp解答的。一般在题中出现了求最优解的问题就要考虑dp。但要满足两个条件。。。

(1) 无后效性

所谓的后效性就是在状态i求解时用到了状态j,而状态j求解时用到了状态k。。。状态N。

如果求状态N用到了状态i, 这样就形成了环,就不能用dp来解答了。

(2)最优子结构 ( 最优化问题 )

二.dp解决问题的一般思路

遇到多阶段优化问题后,第一步要判断这个问题是否可以用dp来解决,如果不能就要考虑搜索或者是贪心了。若确定是dp了就用到这些方法解决了。

(1)模型匹配法

研究问题的本质,如果发现问题是自己熟悉的某个基本模型,就直接套用,不过其中的一些小的变动要注意。

(2)寻找规律法

耐心的推几组数据,看他们之间的规律总结规律间的共性,有点类似贪心了。

(3)边界条件法

找到问题的边界条件,然后考虑边界条件与它领接状态之间的关系。

(4)放宽约束和增加约束

就是给问题增加一些条件或删除一些条件使问题变的清晰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: