算法设计和分析6章-动态规范算法-PPT精品课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《算法设计和分析6章-动态规范算法-PPT精品课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 动态 规范 PPT 精品 课件
- 资源描述:
-
1、算法设计与分析*河南工程学院算法设计与分析*河南工程学院 6.1 一般方法 6.2 多段图 6.3 每对节点之间的最短路径 6.4 最优二分检索树 6.5 0/1背包问题 6.6 可靠性设计 6.7 货郎担问题 6.8 流水线调度问题算法设计与分析*河南工程学院 学习要点学习要点:理解动态规划算法的概念。掌握动态规划算法的基本要素(1)最优子结构性质(2)重叠子问题性质掌握设计动态规划算法的步骤。(1)找出最优解的性质,并刻划其结构特征。(2)递归地定义最优值。(3)以自底向上的方式计算出最优值。(4)根据计算最优值时得到的信息,构造最优解。算法设计与分析*河南工程学院 通过应用范例学习动态规
2、划算法设计策略。(1)多段图(2)每对节点间的最短路径(3)最优二分检索树;(4)0/1 背包问题 (5)可靠性设计;(6)货郎担问题(7)流水作业调度;算法设计与分析*河南工程学院6.1 一般方法 把已知问题分为许多阶段或许多子问题,然后按顺序求解各个子问题。在每种情况下,列出各种可能的局部解,然后根据某些条件,从局部中挑选中那些有可能产生最优结果的解 前一个子问题的解为后一个子问题的求解提供有用的信息,从而大大减少了计算量算法设计与分析*河南工程学院 最优性原理:不论初始状态和第一步决策是什么,余下的决策必须按照前一次决策所产生的新状态构成一个最优决策序列。不论前面的状态和策略如何,后面的
3、最优策略只取决于由最初策略所决定的当前状态算法设计与分析*河南工程学院 动态规划的向前处理法:从最后阶段开始,以逐步向前递推的方式求出前一阶段决策值的递推关系式,即根据xi+1,xn的那些最优决策来求取xi决策值的关系式 列出关系式后,由最后阶段开始,回溯求解这些关系式得出最优决策序列算法设计与分析*河南工程学院6.2 多段图 多段图G=(V,E)是一个有向图。它具有如下的特性:图中的节点被划分成k=2个不相交的集合Vi,1=i=k,其中Vi和Vk分别只有一个节点s(源点)和t(汇聚点)。图中的所有的边均具有如下性质:若u Vi,则v Vi+1,1=ik-1,且没条边均附有成本c(u,v);从
4、s到t的一条路径成本是这条路径上边的成本和。多段图问题是求由s到t的最小成本路径算法设计与分析*河南工程学院 假设s,V2,V3,Vk-1,t是由s到t的最短路径,同时假定从源点s(初始状态)开始,已作出了到结点V2的决策(初始决策),因此V2就是初始决策所产生的状态。如果把V2看成是原问题的一个子问题的初始状态,解这个子问题就是找出一条由v2到t的最短路径。这条最短路径是V2,V3,Vk-1,t 否则设V2,q3,qk-1,t是一条由V2到t的更短路径,则s,V2,q3,qk-1,t是一条比s,V2,V3,Vk-1,t更短的由s到t的路径。与假设相矛盾,故最优性原理成立。算法设计与分析*河南
5、工程学院123456781291110StV2V3V497324227111186543156425算法设计与分析*河南工程学院 设P(i,j)是一条从Vi中的节点j到汇点t的最小成本路径,COST(i,j)是这条路径的成本。那么,由向前处理法可以得到 COST(i,j)=minc(j,1)+COST(j+1,1)当E时,COST(k-1,j)=c(j,t),如果 不属于E时,COST(k-1,j)=无穷大算法设计与分析*河南工程学院 FGRAPH(Elemtype E,int k,int n,Elemtype Pk)1 COStn0 2 for jn-1 to 1 by-1 3 do 设r是
6、这样的一个节点,属于E,且使cjr+COSTr取最小值 4 COSTjcjr+COSTr;5 Djr;6 P11;Pkn 8 for j2 to k-1 9 do PjDPj-1;算法设计与分析*河南工程学院6.3 每对节点之间的最短路径 设G=(V,E)是一个有n个节点的有向图。又设C是G的成本邻接矩阵,其中C(i,j)=0,1=i=n;当E(G)时,C(i,j)表示边的长度;ij算法设计与分析*河南工程学院6.4 最优二分检索树 检索一个二分检索树的算法:输入:二分检索树T和被查找元素X 输出:如果X不在T中,则置i=0,否则将i置成INDEXi=X算法设计与分析*河南工程学院 SEACH
7、(Elemtype T,Elemtype X)1 int it;2 while i0;3 do 4 if(xINDEXi 7 iRCHILDi)8 else xINDEXi;9 return i;10 算法设计与分析*河南工程学院查找成功与不成功的概率二查找树的期望耗费有 个节点的二叉树的个数为:穷举搜索法的时间复杂度为指数级110niniiiqpniiiTniiiTniiiTniiiTqdpkqdpkTE0101)(depth)(depth1)1)(depth()1)(depth()incost search(n)/4(2/3nn0d1d2d3d4d5d1k2k3k4k5k算法设计与分析*河
8、南工程学院2.80 Total0.40 0.10 3 0.20 0.05 3 0.20 0.05 3 0.20 0.05 3 0.30 0.10 2 0.15 0.05 2 0.60 0.20 2 0.20 0.10 1 0.15 0.05 2 0.10 0.10 0 0.30 0.15 1 oncontributiy probabilit depth node54321 054321ddddddkkkkk0d1d2d3d4d5d1k2k3k4k5k算法设计与分析*河南工程学院最优二叉搜索树Tij的平均路长为pij,则所求的最优值为p1,n。由最优二叉搜索树问题的最优子结构性质可建立计算pij
9、的递归式如下记wi,jpi,j为m(i,j),则m(1,n)=w1,np1,n=p1,n为所求的最优值。计算m(i,j)的递归式为注意到,可以得到O(n2)的算法min,1,11,1,jkjkkikijkijijijipwpwwpwniiimjijkmkimwjimjkiji1,0)1,(),1()1,(min),(,),1()1,(min),1()1,(min11jkmkimjkmkimjiskjisjki算法设计与分析*河南工程学院0/1背包问题(0/1 Knapsack)问题描述 有n种可选物品1,n,放入容量为c的背包内,使装入的物品具有最大效益 表示 n,c 分别为物品个数和背包容量
10、 p1,p2,pn为个体物品效益值 w1,w2,,wn为个体物品容量 问题解析 0/1背包问题的解指物品1,n的一种放法(x1,xn的0/1赋值),使得效益值最大 假定背包容量不足以装入所有物品:面临选择 优化原理:无论优化解是否放物品1,优化解对物品2,n的放法,相对剩余背包容量,也是优化解算法设计与分析*河南工程学院背包问题满足的优化原理(1,1,0,0,1)为其优化解,即放物品1,2,5 物品1占背包容量2,剩下容量为8 考虑子问题:n=4,c=8,物品为2,3,4,5(1,0,0,1),即放物品1和5,是子问题的优化解 因而背包问题满足优化原理假设:n=5,c=10p=6,3,5,4,
11、6w=2,2,6,5,4算法设计与分析*河南工程学院 对于0/1背包问题,可以通过作出变量x1,x2,xi的一个决策序列来得到它的解。对xn作出决策之后,问题处于下列的两种状态之一:1 背包的剩余容量是M,没有产生任何效益 2 剩余容量是M-w,效益增长了p算法设计与分析*河南工程学院优化值间的递归式 虽然不知道优化解是否放物品1,但从优化原理我们能建立优化值间的递归式 设f(i,y)为以背包容量y,放物品i,n,得到的优化效益值,以下递归关系成立:f(1,c)=maxf(2,c),f(2,c-w1)+p1 先求子问题的优化值(递归),再从2种可能性中求出最优的.须对任意给定容量y,任意i,n
12、 种物品求解子问题.算法设计与分析*河南工程学院放进物品1(x1=1),背包容量还剩r=16 x2,x3=1,0 为子问题的优化解,值为18,总效益值为20+18=38不放物品1(x1=0)则对于剩下的两种物品而言,容量限制条件为116,1,1为子问题优化解,值为33前者效益值为38,后者为33;所以优化解为1,1,0,优化值为38例题:n=3,c=116 w=100,14,10p=20,18,15,算法设计与分析*河南工程学院 令f(i,y)表示容量为y,物品i,i+1,n 的优化效益值,按优化原理可列递归关系如下:初始背包问题的递归方程 f(1,c)=maxf(2,c),f(2,c-w1)
13、+p1 迭代 计算从f(n,*)开始(15-1)式)然后应用(15-2)式递归计算f(i,*)(i=n-1,n-2,,2),最后得出 f(1,c)115(00),(nnnwywypynf)215(0),1(),1(),1(max),(iiiiwyyifwypwyifyifyif算法设计与分析*河南工程学院 初始化:10,15100,0),3(yyyf 利用递归式(15-2),可得:24,332414,181410,15100,0),2(yyyyyf 因此最优解f(1,116)=maxf(2,116),f(2,116-w1)+p1 =maxf(2,116),f(2,16)+20 =max33,3
14、8=38例题 n=3,w=100,14,10,p=20,18,15,c=116算法设计与分析*河南工程学院 求解优化解:traceback方法计算x1,xn值:f(1,c)=f(2,c)=x1=0;否则x1=1,c=c-w1。x2:f(2,c)=f(3,c)=x2=0否则x2=1,c=c-w2 Xi:f(i,c)=f(i+1,c)=xi=0否则xi=1,c=c-wi 该例中,f(2,116)=33f(1,116),所以x1=1.剩余容量=116-100=16,f(2,16)=18,f(3,16)=14f(2,16),因此x2=1 此时r=16-14=2,不足以放物品3,所以x3=0算法设计与分
15、析*河南工程学院 如果设fi(M)是KNAP(1,j,X)最优解得值,那么fn(M)可以表示为 fn(M)=max fn-1(M),fn-1(M-wn)+pn 对于任意fi(X),这里i0,则有 fi(X)=Max(fi-1(X),fi-1(X-wi)+pi算法设计与分析*河南工程学院6.6 可靠性设计算法设计与分析*河南工程学院6.76.7货郎担问题货郎担问题 货郎担问题一般提法为:一个货郎从某城镇货郎担问题一般提法为:一个货郎从某城镇出发,经过若干个城镇一次,且仅经过一次,出发,经过若干个城镇一次,且仅经过一次,最后仍回到原出发的城镇,问应如何选择行最后仍回到原出发的城镇,问应如何选择行走
16、路线可使总行程最短,这是运筹学的一个走路线可使总行程最短,这是运筹学的一个著名的问题。著名的问题。实际中有很多问题可以归结为这类问题。实际中有很多问题可以归结为这类问题。算法设计与分析*河南工程学院哈密尔顿回路哈密尔顿回路:(环球旅行问题)(环球旅行问题)即从一个结点出发,即从一个结点出发,经过所有结点回到经过所有结点回到出发点(结点不能出发点(结点不能重复经过)。重复经过)。算法设计与分析*河南工程学院 设设v1,v2,.,vn是已知的是已知的n个城镇,个城镇,城镇城镇vi到城镇到城镇vj的距离为的距离为dij,现求从,现求从v1出发,出发,经各城镇一次且仅一次返回经各城镇一次且仅一次返回v
17、1的最短路程。的最短路程。问题描述:问题描述:解决方案:解决方案:1.穷举法?穷举法?2.动态规划?动态规划?算法设计与分析*河南工程学院 设设S表示从表示从v1到到vi中间所可能经过的城市集中间所可能经过的城市集合,合,S实际上是包含除实际上是包含除v1和和vi两个点之外的其余点两个点之外的其余点的集合,但的集合,但S中的点的个数要随阶段数改变。中的点的个数要随阶段数改变。阶段阶段:S中的点的个数中的点的个数建立动态规划模型:建立动态规划模型:算法设计与分析*河南工程学院状态变量(状态变量(i,S)表示:从表示:从v1点出发,经过点出发,经过S集合中所集合中所有点一次最后到达有点一次最后到达
展开阅读全文