网站大量收购独家精品文档,联系QQ:2885784924

动态规划-1.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态规划-1.ppt

例题 石子合并 看到本题,容易想到使用贪心法,即每次选取相邻最小的两堆石子合并。 然而这样做对不对呢?看一个例子。 3 4 6 5 4 2 如果使用贪心法求最小得分,应该是如下的合并步骤: ??????? 第一次合并 3 4 6 5 4 2??? 2,3合并得分是5 ??????? 第二次合并 5 4 6 5 4????? 5,4合并得分是9 ??????? 第三次合并 9 6 5 4??????? 5,4合并得分是9 ??????? 第四次合并 9 6 9????????? 9,6合并得分是15 ??????? 第五次合并 15 9?????????? 15,9合并得分是24 ??????? 总得分=5+9+9+15+24=62 但是如果采用如下合并方法,却可以得到比上面得分更少的方法: ??????? 第一次合并 3 4 6 5 4 2???? 3,4合并得分是7 ??????? 第二次合并 7 6 5 4 2?????? 7,6合并得分是13 ??????? 第三次合并 13 5 4 2??????? 4,2合并得分是6 ??????? 第四次合并 13 5 6????????? 5,6合并得分是11 ??????? 第五次合并 13 11?????????? 13,11合并得分是24 ??????? 总得分=7+13+6+11+24=61 显然,贪心法是错误的。贪心只能导致局部的最优,而局部最优并不导致全局最优。 例题 石子合并 如果用动态规划呢? 暂时不考虑石子的环形分布,先考虑链式分布的情况 状态 f[i][j]从第i堆石子合并到第j堆石子的最小值 转移 f[i][j]=min{f[i][k]+f[k+1][j]}+sum(i,j)(i≤k≤j-1) 边界 f[i][i]=0 例题 石子合并 石子的环形分布怎么处理呢? 方法1 枚举断开点,将环形断开,转换为链式分布,对每个链式分布进行DP,取其中最小值。时间复杂度=O(N*O(DP))=O(N^4) 方法2 将数组扩展为2倍长,用a[1..2n]的数组储存环形石子,a[n+i]=a[i] 状态及转移 f[i][j]=min{f[i][k]+f[k+1][j]}+sum(i,j) (i≤k≤j-1) 边界 f[i][i]=0 最终结果 min{f[i][i+n-1]} (1≤i≤n) * Yangzheng Middle School Yangzheng Middle School Yangzheng Middle School 动态规划 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。 20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。1957年出版了他的名著《Dynamic Programming》,这是该领域的第一本著作。 动态规划程序设计往往是针对一种最优化问题,由于各种问题的性质不同,确定最优解的条件也互不相同,因而动态规划的设计方法对不同的问题,有各具特色的解题方法,而不存在一种万能的动态规划算法,可以解决各类最优化问题。 因此在学习时,除了要对基本概念和方法正确理解外,必须具体问题具体分析处理,以丰富的想象力去建立模型,用创造性的技巧去求解。 我们也可以通过对若干有代表性的问题的动态规划算法进行分析、讨论,逐渐学会并掌握这一设计方法。 适用条件 任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适用动态规划的问题必须满足最优化原理和无后效性。 1.最优化原理(最优子结构性质) 最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。 2.无后效性将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的一个完整总结。这就是无后向性,又称为无后效性。 3.子问题的重叠性 动态规划将原来具有指数级时间复杂度的搜索算法改进成了具有多项式时间复杂度的算法。其中的关键在于解决冗余,这是动态规划算法的根本目的。动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储

文档评论(0)

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

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

1亿VIP精品文档

相关文档