算法分析设计课件 动态规划法.ppt

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

第3章 动态规划 通过应用范例学习动态规划算法设计策略。 (1)矩阵连乘问题; (2)最长公共子序列; (3)最大子段和 (4)凸多边形最优三角剖分; (5)多边形游戏; (6)图像压缩; (7)电路布线; (8)流水作业调度; (9)背包问题; (10)最优二叉有哪些信誉好的足球投注网站树。 动态规划基本步骤 3. 在vi、vj间加入顶点v1,得(vi, …,v1)和(v1, …,vj), 其中(vi, …, v1)是 vi到v1 的且中间顶点号不大于0的最短路径, (v1, …, vj) 是v1到vj 的且中间顶点号不大于0的最短路径, 这两条路径在上一步中已求出。 将(vi, …, v1, …, vj)与上一步已求出的且vi到vj 中间顶点号不大于0的最短路径比较,取其中较短的路径作为vi到vj 的且中间顶点号不大于1的最短路径。 在0 / 1背包问题中,需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高,即p1*x1+p2*x1+...+pi*xi(其1=i=n,x取0或1 int knapSack(int n,int c,int w[],int v[],int m[6][N],int x[]) { int jmax=min(w[n]-1, c); for(int j=0;i=jmax;j++)? m[n][j]=0; for(int j=w[n];j=c;j++)? m[n][j]=v[n]; for(int i=n-1;i1;i--) { jmax=min(w[i]-1, c); for(j=0;j=jmax;j++) m[i][j]=m[i+1][j]; ? for(j=w[i]0; j=c;j++) ???? m[i][j]=max(m[i+1][j], m[i+1][j-w[i]]+v[i]); ? } ?m[1][c]=m[2][c]; if (c=w[1]) m[1][c]=max(m[1][c], m[2][c-w[1]]+v[1]); ? } 已知二叉有哪些信誉好的足球投注网站树中每个节点的访问概率,问这棵树整体的有哪些信誉好的足球投注网站时间最短是多少(此时称为最优二叉有哪些信誉好的足球投注网站树)。 例:分别以概率:0.1,0.2,0.4,0.3查找四个键:A,B,C,D. 设a1,a2,…,an是从大到小排列的互不相等的键, p1,p2,…pn是它们的查找概率。 记Tij是由键ai,…aj构成的二叉树 C[i, j]是在这棵树中成功查找的最小的平均查找次数。 C[1,n]是我们所要求的结果。 课后作业 习题 3-1,3-2,3-3,3-4,3-5,3-6,3-9 小 结 1、?阶段:把问题分成几个相互联系的有顺序的几个环节,这些环节即称为阶段。 2、状态:某一阶段的出发位置称为状态。 3、决策:从某阶段的一个状态演变到下一个阶段某状态的选择。 4、状态转移方程:前一阶段的终点就是后一阶段的起点,前一阶段的决策选择导出了后一阶段的状态,这种关系描述了由k阶段到k+1阶段状态的演变规律,称为状态转移方程。 动态规划法的定义:在求解问题中,对于每一步决策,列出各种可能的局部解,再依据某种判定条件,舍弃那些肯定不能得到最优解的局部解,在每一步都经过筛选,以每一步都是最优解来保证全局是最优解,这种求解方法称为动态规划法。 适合于用动态规划法求解的问题具有以下特点: 1、可以划分成若干个阶段,问题的求解过程就是对若干个阶段的一系列决策过程。 2、每个阶段有若干个可能状态 3、一个决策将你从一个阶段的一种状态带到下一个阶段的某种状态。 4、在任一个阶段,最佳的决策序列和该阶段以前的决策无关。 5、各阶段状态之间的转换有明确定义的费用,而且在选择最佳决策时有递推关系(即动态转移方程)。 动态规划设计都有着一定的模式,一般要经历以下几个步骤: 1、划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。 2、确定状态:将问题发展到各个阶段时所处的各种客观情况用不同的状态表示出来。 3、确定决策并写出状态转移方程:因为决策和状态转移有着天然的联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态,所以如果确定了决策,状态转移方程也就可以写出。 4、寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边

文档评论(0)

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

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

1亿VIP精品文档

相关文档