动态规划算法(一).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态规划算法(一) 重庆教育学院 杨华千 多段决策过程:问题描述 如果一个活动过程可以分为若干个阶段,而且在任一阶段后的行为都仅依赖于i阶段的过程状态,而与i阶段之前的过程如何达到这种状态的方式无关,这样的过程就形成了一个“多阶段决策过程” 最优性原理: 无论过程的初始状态和初始决策是什么,其余的决策都必须相对于初始决策所产生的状态构成一个最优决策序列。 动态规划特点: 把原始问题分为一系列子问题 求解每个子问题仅一次,并将其结果保存在一个表中,以后用到时直接存取,不重复结算,节约计算时间 自底向上的计算 使用动态规划的条件: 优化子结构 (1) 当一个问题的优化解包含了子问题的优化解时,我们说这个问题具有优化子结构 (2) 缩小子问题的集合,只要哪些优化问题包含了优化子问题,降低实现复杂性 重叠子问题 (1) 在问题的求解过程中,很多子问题的解被多次重复使用 动态规划基本步骤: 找出最优解的性质,并刻划其结构特征 递归地定义最优值 以自底向上的方式计算出最优值 根据计算最优值时得到的信息,构造最优解 动态规划:目标 就是要在所有允许选择的决策序列中选择一个会获得问题最优解的决策序列,即最优决策序列。 多段图问题:找最小成本路径 特点: (1) 图中的节点被划分成k≥2个不相交的集合Vi (1≤i≤k) (2) V1和Vk分别只有一个节点s和t. 0/1背包问题:KNAP(1,j,x) 极大化 约束条件 动态规划:向前处理 从最后阶段开始,以逐步向前推进的方式列出求前一阶段决策值的递推关系式,即根据xi+1,…,xn的那些决策序列来求出xi决策值的关系式。 动态规划:向前处理(K段图) 动态规划:向前处理算法 动态规划:向后处理(K段图) 动态规划:0/1背包问题 对于0/1背包问题,可以通过作出变量x1,x2,…,xi的一个决策序列来得到它的解。而对变量x的决策就是决定它们是取0还是取1值。 动态规划:0/1背包问题 动态规划:0/1背包-向后处理 先求解f0: i 当x≥0,f0(x)=0 ii 当x0, f0(x)=-∞ 利用递推式,求出f1, f2, …, fn 动态规划:0/1背包求解实例 考虑如下背包问题: n=3 (w1, w2, w3)=(2, 3, 4) (p1, p2, p3)=(1,2,5) M=6 动态规划:0/1背包求解实例 求解过程(递推关系求解): 动态规划:0/1背包-向后处理 求解过程(图解法求解): 1) 第1列的图给出了函数fi-1(x-wi)+pi的图像,将fi-1(x)在x轴上 右移wi个单位然后上移pi个单位就得到它的图像; 2) 第2列给出函数fi(x),即它由fi-1(x)和fi-1(x-wi)+pi的函数曲线按 x相同时取最大值的规则归并而成。 动态规划:0/1背包-向后处理 求解过程(图解法求解): 动态规划:0/1背包-向后处理 求解过程(图解法求解): 动态规划:0/1背包-向后处理 求解过程(图解法求解): 动态规划:0/1背包-向后处理 动态规划:0/1背包-向后处理 序偶(pj,wj)的定义: 1) wj是使fi在其处产生一次阶跃的x值; 2) pj=fi(wj) 动态规划:0/1背包-向后处理 Si-1和S1i的定义: 1) Si-1是fi-1的所有序偶的集合 2) S1i是fi-1(x-wi)+pi的所有序偶的集合 S1i={(p,w)|(p-pi,w-wi)∈ Si-1} 如果Si-1和Si之一有序偶(pj,wj),另一序偶(pk,wk),并且在wj≥wk的同时有pj≤pk,则序偶(pj,wj)被舍弃。 动态规划:0/1背包-向后处理 对于前述0/1背包数据 S0={(0,0)} S11={(1,2)} S1={(0,0), (1,2)} S12={(2,3), (3,5)} S2={(0,0), (1,2), (2,3), (3,5)} S13={(5,4), (6,6), (7,7), (8,9)} S3={(0,0), (1,2), (2,3), (5,4), (6,6), (7,7), (8,9)} 动态规划:0/1背包-向后处理 KNAP(1,n,M)的最优解fn(M) 由Sn的最后一对序偶的P值给出。 动态规划:0/1背包-向后处理 KNAP(1,n,M)中决策序列

文档评论(0)

lyxbb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档