动规教案(MY)【信息技术】.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文档。上传文档
查看更多
适用动态规划(DP)的条件 多阶段决策问题:如果一个过程可以分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果 最优化原理 :子问题的局部最优将导致整个问题的全局最优。 无后效性原则 :某阶段的状态一旦确定,则此后过程的演变不再受此前各状态及决策的影响。也就是说,“未来与过去无关” 动态规划的概念 阶段和阶段变量:用动态规划求解一个问题时,需要将问题的全过程恰当地分成若干个相互联系的阶段,以便按一定的次序去求解。描述阶段的变量称为阶段变量,通常用K表示,阶段的划分一般是根据时间和空间的自然特征来划分,同时阶段的划分要便于把问题转化成多阶段决策过程。 状态和状态变量:某一阶段的出发位置称为状态,通常一个阶段包含若干状态。一般地,状态可由变量来描述,用来描述状态的变量称为状态变量。 决策、决策变量和决策允许集合:在对问题的处理中作出的每种选择性的行动就是决策。即从该阶段的每一个状态出发,通过一次选择性的行动转移至下一阶段的相应状态。一个实际问题可能要有多次决策和多个决策点,在每一个阶段的每一个状态中都需要有一次决策,决策也可以用变量来描述,称这种变量为决策变量。在实际问题中,决策变量的取值往往限制在某一个范围之内,此范围称为允许决策集合。 策略和最优策略:所有阶段依次排列构成问题的全过程。全过程中各阶段决策变量所组成的有序总体称为策略。在实际问题中,从决策允许集合中找出最优效果的策略成为最优策略。 状态转移方程:前一阶段的终点就是后一阶段的起点,对前一阶段的状态作出某种决策,产生后一阶段的状态,这种关系描述了由k阶段到k+1阶段状态的演变规律,称为状态转移方程。 动态规划(DP)的设计步骤 例题:数字三角形(IOI’94) 【问题描述】如下图1所示为一个数字三角形: 请编一个程序计算从顶底至底的某处的一条路径,使该路径所经过后数字的总和最大。 ● 每一步可沿左斜线或右斜线向下走; ● 1三角形行数≤100; ● 三角形中的数字为整数0,1,…,99; 输入:输入文件第一行为一个自然数,表示数字三角形的行数n,接下来的n行表示一个数字三角形。 输出:输出文件仅有一行包含一个整数(表示要求的最大总和)。 【样例输入】 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 【样例输出】 30 例题:数字三角形-分析1 贪心法:无论自上而下,还是自下而上,每一次都选择较大的一个数移动,则路径和分别为: 7+8+1+7+5=28(自上而下) 6+4+1+8+7=26(自下而上) 都得不到最优解,真正的最优解为: 7+3+8+7+5=30 枚举或搜索算法:要找到最大和的前提是,要看到数塔的全貌,可以用枚举或搜索算法来完成。但从图可以看出,当层数 为 N 时,要枚举的路径条数P = 2N-1条, 在N稍大的情况下,需要列举出的路径条数是一个非常大的数,所以枚举、搜索不适合此题。 分治算法:这个问题的原始数据是一个三角形的二维图形,而且问题的答案与各层之间的关系复杂,不适合用分治算法分解为与原问题相似的子问题。 例题:数字三角形-分析2 动态规划:如果得到一条由顶到底的某处的一条最佳路径,那么对于该路径上的每一个中间点来说,由顶至该中间点的路径所经过的数字和也为最大。因此本题是一个典型的多阶段决策最优化问题,且满足无后效性,所以可以用动态规划。 信息的存储:层数用一个整型变量n存储,设置数组a[i,j]保存三角形数塔,b[i,j]保存新的状态值(当前最优值),按从第1层…第5层自顶向下逐层决策。 阶段划分:以层数来划分阶段,不同于贪心策略的是我们做出的不是唯一的决策, 第一阶段,b[1,1]=a[1,1]; 第二阶段,b[2,1]= a[2,1]+b[1,1]=7+3=10; ∵b[1,0]b[1,1] b[2,2]= a[2,2]+b[1,1]=7+8=15; ∵b[1,2]b[1,1] 第三阶段,b[3,1]= a[3,1]+b[2,1]=10+8=18; ∵b[2,0]b[2,1] b[3,2]= a[3,2]+b[2,2]=1+15=16; ∵b[2,1]b[2,2] b[3,3]= a[3,3]+b[2,2]=0+15=15; ∵b[2,3]b[2,2] ……………………………………………… 第五阶段,b[5,1]= a[5,1]+b[4,1]=4+20=24; ∵b[4,0]b[4,1] b[5,2]

文档评论(0)

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

1亿VIP精品文档

相关文档