动态规划

来源:互联网 发布:淘宝卡dnf称号 编辑:程序博客网 时间:2024/04/30 09:24
动态规划  听课笔记  老师:郭炜
一、一般思路
1.将原问题分解为子问题
1)把原问题分解为若干个子问题,子问题和原问题形式相同或类似
,只不过规模变小了。子问题都解决,原问题即解决
2)子问题的解一旦求出就会被保存,所以每个子问题只需求解一次
2.确定状态
1)所有状态的集合,构成问题的状态 
将和子问题相关的各个变量的一组取值,称之为一个状态
一个状态对应以一个或多个子问题
所谓某个状态的值,就是这个状态对应的问题的解
整个问题的时间复杂度是状态数目乘以每个状态所需的时间
3.确定一些初始状态(边界状态)的值
4.确定状态转移方程 
如何从一个或多个“值”已知的状态,求出另一个状态的值(人人为我递推型)
 


二、能用动态规划解决的问题的特点
1.问题有最优子结构性质
如果问题的最优解所包含的子问题的解也是最优的,我们就称此问题具有最优子结构
2.无后效性
当前的若干个状态值一旦确定,则此后过程的演变就只和这若干个状态的值有关,和
之前是采取哪种手段或经过哪条路径演变到当前的这若干个状态,没有关系

0 0
原创粉丝点击