动态规划入门详解(基本解题思路)
来源:互联网 发布:网络维护工作流程图 编辑:程序博客网 时间:2024/05/23 01:22
一.适用条件
1.最优子结构性质(最优化原理)
一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。
2.无后效性(子问题的独立性)
将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又称为无后效性。
3.子问题的重叠性
动态规划将原来具有指数级时间复杂度的搜索算法改进成了具有多项式时间复杂度的算法。其中的关键在于解决冗余,这是动态规划算法的根本目的。动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大于其它的算法。
二.动态规划的一般过程
1.描述最优解的结构(找出状态)
2.递归定义最优解的值(列出状态转移方程)
3.按自底向上的方式计算最优解的值
4.由计算出的结果构造一个最优解
三.动态规划问题一般求解方法
1.递推计算
2.记忆化搜索
PS:当状态定义有后效性时,即先前的决策可能影响后续的决策,解决方法是扩展状态定义,把有后效性的部分包含进来。
0 0
- 动态规划入门详解(基本解题思路)
- 利用动态规划解题思路
- 动态规划解题入门
- 动态规划(dp)入门解题报告
- 动态规划,背包问题的解题思路
- 动态规划算法的一般解题思路
- 【动态规划】 之 动态规划解题的一般思路
- 动态规划入门详解
- 背包问题(dp动态规划思路详解)
- 【算法笔记】动态规划,三个例题(解题思路与C++代码)
- 动态规划-问题示例与解题思路(采药问题 - nefu19)
- 【动态规划】动态规划解题的一般思路——以数字三角形为例
- 动态规划入门(四)DP 基本思想与实现
- 动态规划入门(一) DP 基本思想
- 算法分析入门详解之动态规划(一)
- HDU 4689(思路动态规划)
- 动态规划题目思路
- 动态规划求解思路
- Json转换
- c-大量经典的c算法---ShinePans
- dede管理员授予三级栏目管理权限,登陆后不显示三级栏目
- 详细解说 STL 排序(Sort)
- 网上总结 loadView 和 viewDidLoad
- 动态规划入门详解(基本解题思路)
- Co-segmentation(联合分割)论文摘记
- php防盗链
- JAVA split分割字符串,多个分割符
- 一个小的知识点——Flex中的文本换行
- 正在连接localhost...无法打开到主机的连接。 在端口 8080: 连接失败
- poj1258 最小生成树 普林姆
- Strut2中strut.xml和web.xml的配置
- android bundle 在activity之间传递数据 点击一组图片放大,再次点击恢复