动态规划(普及组-吴建锋).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态规划(普及组) 绍兴柯桥中学 吴建锋 认识动态规划 动态规划在运筹学等领域都得到很大的运用,它是求解最优化分阶段决策问题的一种数学方法,大约产生于50年代。1951年美国数学家Bellman等人根据一类多阶段决策问题的特点,把多阶段决策问题变换为一系列互相联系的单阶段问题,然后逐个加以解决。与此同时,他提出了解决这类问题的“最优性原理”,研究了许多实际问题,从而创建了解决最优化问题的一种新的方法―――动态规划。 多阶段决策过程 “动态”的内涵 在分阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前的状态,又随即引起状态的改变(转移),一个决策序列就是在变化的状态中产生出来的,所以有“动态”的含义。因此,把处理它的方法称为动态规划方法。 问题1:求最短路径长度 假如有下图所示的交通示意图,有向边上的数值表示边的长度,求A到D的最短路径的长度 。 解法1:从初始阶段出发的顺推求解 1、用f[i]表示A到结点i的最短距离 2、我们可以求得f[A]=13,f[B]=19 (第一阶段) 3、第二阶段求解过程如下: f[B]+28=41 {f[D]的候选最优解} f[C]+15=34 { f[D]的候选最优解} 4、保存较优解:f[D]=min{f[B]+28,f[C]+15} 解法2:目标阶段出发的逆推求解 1、如果用f[i]表示编号为i的结点到终点d的最短距离,那么动态规划分阶段求解的过程如下所示: (1)f[D]:=0 {初始化} (2)f[B]:=28+f[D]; f[C]:=15+f[D] {第一阶段求解} (3)f[A]:=min{13+f[B],19+f[C]} {状态转移方程的体现,第二阶段求解} 什么叫状态转移方程 对于当前阶段的某个状态,必定有有上个阶段的子问题的某一批状态通过对应的决策变换而来,这些子问题的一批状态通过对应的决策应用,就导致了状态转移,新的状态就是当前阶段的某个状态。由于这个新状态的子状态可能不止一个,所以决策后的对应局部解也可能不止一个,在这些解中取一个最优解,就是当前阶段当前状态的最优解,这个求最优解的过程可用一个表达式来描述,这个表达式就是状态转移方程。 状态转移方程应用举例 在下列交通路线中,求节点1到节点10 的最短路径的长度。 分阶段决策的手工计算 第一阶段: f[2]=f[1]+13=13;f[3]=f[1]+21=21;f[4]=f[1]+9=9 第二阶段: f[5]=min{f[2]+15,f[3]+17,f[4]+24}=28; f[6]=min{f[2]+3,f[3]+5,f[4]+27}=16 第三阶段: f[7]=min{f[5]+11,f[6]+8}=24; f[8]=min{f[5]+13,f[6]+19}=35; f[9]=min{f[6]+16}=32 目标阶段求解 第四阶段: f[10]=min{f[7]+25,f[8]+11,f[9]+20}=46 具体化的状态转移方程 1、f[5]=min{f[j]+x,……},f[6]=min{f[k]+y,……} 2、f[j]+x中的f[j]就是上阶段子问题各状态的最优解 ;而x则是某个子状态转移到当前状态产生的决策效应(或者是代价) 一般化的状态转移方程 实际编程实现时,状态转移方程往往是一个通用计算式,在这个通用计算式中往往会包含各种子状态、子状态对应子问题的最优解、决策等参数。 动态规划的算法设计 如果用i表示当前需求解的阶段号(有时为了描述的方便,i也可表示当前阶段的前一个阶段),j表示当前阶段各个状态(或者说是阶段的各个节点编号),k表示前一阶段各个子状态能选择的策略,用f[I,j]表示起点1到第i阶段编号为j的结点(也可理解为状态)的最短距离,那么上面问题用动态规划求解的大致程序结构如下: 穷举所有的阶段(for i:=1 to 4 do) 穷举当前阶段i所有可能的状态j 穷举j状态所有对应的子状态的所有可选择的策略k F[I,j]:=min{f[i-1,j1]+x[j1,k] | j1表示状态j所有可能的子状态} 程序代码实现 输入数据: 2 3 4 0 5 6 0 7 8 9 0 10 0 0 13 21 9 maxint maxint maxint maxint maxint maxint maxint 0 maxint maxint 15 3 maxint maxint maxint maxint maxint maxint 0 maxint 17 5 maxint maxint maxint maxint maxint max

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档