动态规划算法和贪心算法比较和分析 .pdfVIP

动态规划算法和贪心算法比较和分析 .pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

动态规划算法和贪心算法的比较与分析

1、最优化原理

根据一类多阶段问题的特点,把多阶段决策问题变换为一系列互相联系的单

阶段问题,然后逐个加以解决。解决这类问题的最优化原理:一个过程的最优决策

具有这样的性质,即无论其初始状态和初始决策如何,其今后诸策略对以第一个

决策所形成的状态作为初始状态的过程而言,必须构成最优策略。简而言之,一个

最优策略的子策略,对于它的初态和终态而言也必是最优的。

2、动态规划

2.1动态规划算法

动态规划是运筹学的一个分支,与其说它是一种算法,不如说它是一种思维

方法更贴切。因为动态规划没有固定的框架,即便是应用到同一道题上,也可以

建立多种形式的求解算法。许多隐式图上的算法,例如求单源最短路径的

Dijkstra算法、广度优先搜索算法,都渗透着动态规划的思想。还有许多数学

问题,表面上看起来与动态规划风马牛不相及,但是其求解思想与动态规划是完

全一致的。因此,动态规划不像深度或广度优先那样可以提供一套模式,需要的

时候,取来就可以使用。它必须对具体问题进行具体分析、处理,需要丰富的想

象力去建立模型,需要创造性的思想去求解。

动态规划算法的基本思想是将待求解问题分解成若干子问题,先求解子问题,

然后从这些子问题的解得到原问题的解。值得注意的是,用动态规划法求解的问

题,经分解后得到的子问题往往不是互相独立的。

最优化原理是动态规划的基础。任何一个问题,如果失去了这个最优化原理

的支持,就不可能用动态规划方法计算。能采用动态规划求解的问题都要满足两

个条件:①问题中的状态必须满足最优化原理;②问题中的状态必须满足无后效

性。

所谓无后效性是指下一时刻的状态只与当前状态有关,而和当前状态之前的

状态无关,当前的状态是对以往决策的总结。

2.2动态规划算法的基本要素

(1)最优子结构。设计动态规划算法的第一步通常是刻画最优解的结构。当

问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。问题

的最优子结构性质提供了该问题可用动态规划算法求解的重要线索。在动态规划

算法中,利用问题的最优子结构性质,以自底向上的方式递归地从子问题的最优

解逐步构造出整个问题的最优解。

(2)重叠子问题。在用递归方法自顶向下求解问题时,每次产生的子问题并

不总是新问题,有些子问题被反复计算多次。动态规划算法正是利用了这种子问

题的重叠性质,对每个子问题只解一次,而后将其解保存在一个表格中,当再次

需要解此子问题时只是简单地用常数时间查看一下结果。

2.3动态规划适于解决的问题

适用动态规划的问题必须满足最优化原理和无后效性。

(1)状态必须满足最优化原理。作为整个过程的最优策略具有如下性质:无论

过去的状态和决策如何,对前面的决策所形成的当前状态而言,余下的诸决策必

须构成最优策略。可以通俗地理解为子问题的局部最优将导致整个问题的全局最

优,即问题具有最优子结构的性质,也就是说一个问题的最优解只取决于其子问

题的最优解,非最优解对问题的求解没有影响。

(2)状态必须满足无后效性。所谓无后效性是指:“过去的决策只能通过当前

状态影响未来的发展,当前的状态是对以往决策的总结”。它说明动态规划适于

解决当前决策和过去状态无关的问题。状态出现在策略的任何一个位置,它的地

位都是相同的,都可以实施同样的决策,这就是无后效性的内涵。

2.4问题求解模式

动态规划所处理的问题是一个多阶段决策问题,一般由初始状态开始,通过

对中间阶段决策的选择,达到结束状态。这些决策形成了一个决策序列,同时确

定了完成整个过程的一条活动路线(通常是求最优的活动路线)。如下所示:

初始状态→决策1→决策2→决策n→结束状态

动态规划的设计有一定的模式,一般要经历以下4个步骤:

(1)划分阶段。按照问题的时间或空间特征,把问题分为若干个阶段。在划

分阶段时,注意划分后的阶段一定要是有序的或者是可排序的,否则问题就无法

求解。

(2)确定状态和状态变量。将问题发展到各个阶段时所处于的各种客观情况

用不同的状态表示出来。当然,状态的选择要满足无后效性。

(3)确定决策并写出状态转移方程。因为决策和状态转移有着天然的联系,

状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。所以如果确定了

决策,状态转移方程也就可写出。但事实上常常是反过来做,根据相邻两段各状

态之间的关系来确定决策。

(4)寻找边界条件。给出的状态转移方程是一个递推式,需要一

文档评论(0)

132****7352 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档