动态规划算法的一般模式.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  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文档。上传文档
查看更多
动态规划算法的一般模式

从搜索到动态规划 点击添加文本 点击添加文本 点击添加文本 点击添加文本 引例(数塔问题) 设有一个三角形的数塔,顶点为根结点,每个结点有一个整数值。从顶点出发,可以向左走或向右走,从根结点13出发向左、向右的路径长度可以是: 13-11-7-14-7,其和为52 13-11-12-14-13,其和为63 若要求从根结点开始, 请找出一条路径,使 路径之和最大,输出路 径的长度。 13 15 14 11 24 13 12 11 8 7 6 8 7 26 12 点击添加文本 点击添加文本 点击添加文本 点击添加文本 引例(数塔问题) 【问题分析】 (1)贪心法 点击添加文本 点击添加文本 点击添加文本 点击添加文本 引例(数塔问题) 【问题分析】 (2)搜索: 点击添加文本 点击添加文本 点击添加文本 点击添加文本 引例(数塔问题) 【问题分析】 (3)动态规划: 点击添加文本 点击添加文本 点击添加文本 点击添加文本 引例(数塔问题) 13 15 14 11 24 13 12 11 8 7 6 8 7 26 12 点击添加文本 点击添加文本 点击添加文本 点击添加文本 动态规划的基本概念 (1)阶段:把所给问题的过程,恰当地分为若干个相互联系的阶段,以便能按一定的次序去求解。 (2)状态:状态表示每个阶段开始所处的自然状况和客观条件,它描述了研究问题过程中的状况。 (3)决策:决策表示当过程处于某一阶段的某个状态时,可以作出不同的决定(或选择),从而确定下一阶段的状态,这种决定称为决策。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 动态规划的基本概念 (4)策略和最优策略:由所有阶段的决策组成的决策序列称为全过程策略,简称策略。 在实际问题中,从决策允许集合中找出最优效果的策略称为最优策略。 (5)状态转移方程:状态转移方程是确定两个相邻阶段状态的演变过程。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 运用动态规划的条件 (1)最优化 子问题的局部最优将导致整个问题的全局最优,即问题具有最优子结构的性质。也就是说问题的一个最优解中包含着子问题的一个最优解。 (2)无后效性 当前阶段中的状态只能由上一个阶段中的状态转移方程得来,与其他阶段的状态没有关系,特别是与未发生的阶段状态没有关系,这就是无后效性。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 动态规划算法的一般模式 (1)划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段; (2)确定状态和状态变量:将问题发展到各个阶段时所处的各种情况用不同状态表示出来; (3)确定决策并写出状态转移方程:一般是根据相邻两个阶段各状态之间的关系来确定决策; (4)寻找边界条件:给出的状态转移方程是一个递推式,必须有一个递推的边界条件; (5)编写程序。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 经典例题讲解 【例题1】拦截导弹(noi openjudge 8780) 问题描述: 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹。 点击添加文本 点击添加文本 点击添加文本 点击添加文本 经典例题讲解 输入 第一行是一个整数N(不超过15),表示导弹数。 第二行包含N个整数,为导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数)。 输出 一个整数,表示最多能拦截的导弹数。 样例输入 8 389 207 155 300 299 170 158 65 样例输出 6 点击添加文本 点击添加文本 点击添加文本 点击添加文本 经典例题讲解 【问题分析】 点击添加文本 点击添加文本 点击添加文本 点击添加文本 【程序实现】 点击添加文本 点击添加文本 点击添加文本 点击添加文本 经典例题讲解 【例题2】乘积最大(noi openjudge 8782) 问题描述: 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档