算法分析与设计第六章3(01背包问题).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《算法分析与设计第六章3(01背包问题).ppt》由会员分享,可在线阅读,更多相关《算法分析与设计第六章3(01背包问题).ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 动态规划动态规划2008-09-01版权所有:杨波,武汉科技大学理学院问题描述 1)KNAP(1,j,X)目标函数:约束条件:0/1背包问题:KNAP(1,n,M)最优性原理对于0/1背包问题成立 求解策略:向后处理法6.5 0/1背包问题背包问题2008-09-01版权所有:杨波,武汉科技大学理学院2)向后递推关系式 记fj(X)是KNAP(1,j,X)的最优解,则fn(M)有 fn(M)=maxfn-1(M),fn-1(M-wn)+pn 对于任意的fi(X),i0,有 fi(X)=maxfi-1(X),fi-1(X-wi)+pi 递推过程:初始值 0 X0 f0(X)=X0
2、求出fi在所有可能的X取值情况下的值。fn(M)=KNAP(1,n,M)2008-09-01版权所有:杨波,武汉科技大学理学院例1 背包问题 n=3,(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5),M=6递推计算过程第1个物品无法放入第1个物品可放入第1个物品无法放入第1个物品可放入,第2个物品无法放入第1个物品或第2个物品可放入第1个物品和第2个物品可放入2008-09-01版权所有:杨波,武汉科技大学理学院例1 背包问题 n=3,(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5),M=6递推计算过程解向量的推导(最优的决策序列)f3(M)
3、=6x3=1f3(M)-p3=1f2(X)=1f1(X)=1x2=0 x1=1KNAP(1,3,6)=6X=(1,0,1)2008-09-01版权所有:杨波,武汉科技大学理学院f1,f2,f3计算过程的图解计算过程的图解(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5),M=6 1234567012f0(x)=0i:fi-1(x-wi)+pii=0:函数不存在1234567012i1:f0(x-w1)+p11234567012f1(x)1234567012i2:f1(x-w2)+p23wwww12345670123wf2(x)fi-1(X-wi)+pi曲线的构造:将fi
4、-1(X)的曲线在X轴上右移wi个单位,然后上 移pi个单位而得到;fi(X)曲线的构造:由fi-1(X)和fi-1(X-wi)+pi的曲线按X相同时f取大值的规 则归并而成2008-09-01版权所有:杨波,武汉科技大学理学院12345670678w1234589i3:f2(x-w3)+p312345670678w1234589f3(x)101234567012i2:f1(x-w2)+p23w12345670123wf2(x)2008-09-01版权所有:杨波,武汉科技大学理学院1234567012i2:f1(x-w2)+p23wp12345670123wf2(x)p12345670678w
5、1234589i3:f2(x-w3)+p3p12345670678w1234589f3(x)10p(P,W)(0,0)(1,2)(2,3)(3,5)(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5)(Pj,Wj):Pj=fi(Wj)2008-09-01版权所有:杨波,武汉科技大学理学院1234567012i2:f1(x-w2)+p23wp12345670123wf2(x)p12345670678w1234589i3:f2(x-w3)+p3p12345670678w1234589f3(x)10p(P,W)(0,0)(1,2)(2,3)(3,5)(5,4)(6,6)(7,7
6、)(8,9)(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5)(5,4)+S2S3?2008-09-01版权所有:杨波,武汉科技大学理学院1234567012i2:f1(x-w2)+p23wp12345670123wf2(x)p12345670678w1234589i3:f2(x-w3)+p3p12345670678w1234589f3(x)10p(P,W)(0,0)(1,2)(2,3)(3,5)(5,4)(6,6)(7,7)(8,9)(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5)S2S3?(0,0)(1,2)(2,3)(6,6)(7,7)(
7、8,9)(5,4)(3,5)支配规则:如果Si-1和 之一有序偶(Pj,Wj),另一有(Pk,Wk),且有 WjWk,PjPk,则序偶(Pj,Wj)将被舍弃。(即取最大值规则)。2008-09-01版权所有:杨波,武汉科技大学理学院 记 fi的序偶集合为 Si=(Pj,Wj)|Wj是fi曲线中使得fi产生一次跳跃的X值,0jr 即Pj=fi(Wj),r是跳跃点个数 (P0,W0)=(0,0)若共有r个阶跃值,则分别对应r个(Pj,Wj)序偶,1jr 若WjWj+1,则PjPj+1,0jr 若WjXWj+1,fi(X)=fi(Wj)若XWr,fi(X)=fi(Wr)序偶表示序偶表示2008-09
8、-01版权所有:杨波,武汉科技大学理学院 Si的构造 记 是fi-1(X-wi)+pi的所有序偶的集合,则 其中,Si-1是fi-1的所有序偶的集合 Si的构造:由Si-1和 按照支配规则合并而成。支配规则:如果Si-1和 之一有序偶(Pj,Wj),另一有(Pk,Wk),且有 WjWk,Pj Pk,则序偶(Pj,Wj)将被舍弃。(即取最大值规则)。注:Si中的序偶是背包问题KNAP(1,i,X)在X各种 取值下子问题的最优解2008-09-01版权所有:杨波,武汉科技大学理学院例2 背包问题 n=3,(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5),M=6 支支 配配
9、2008-09-01版权所有:杨波,武汉科技大学理学院例2 背包问题 n=3,(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5),M=6 2008-09-01版权所有:杨波,武汉科技大学理学院另一种求另一种求Si的推理过程的推理过程i123pi125wi234(Pi,Wi)x1x2x3(0,0)000(1,2)100(2,3)010(3,5)110(5,4)001(6,6)101(7,7)011(8,9)111KNAP(1,3,X)(w1,w2,w3)=(2,3,4),(p1,p2,p3)=(1,2,5)2008-09-01版权所有:杨波,武汉科技大学理学院另一种求另一
10、种求Si的推理过程的推理过程nx1,x2,xn有2n个不同的0、1序列。对于每一个序列,若把 记为Wj,记为Pj,则此序列产生一对与之对应的序偶(Pj,Wj)。n在2n个序偶中,满足WjM,且使Pj取最大值得序偶就是背包问题的最优解。n用动态规划的向后处理法求解时,假定Si-1是以下序偶所组成的集合,这些序偶是由x1,x2,xi-1的2i-1个决策序列中一些可能的序列所组成的序偶(Pj,Wj)。nSi可按下述步骤得到。在xi=0的情况下,产生的序偶与Si-1相同。而在xi=1的情况下,产生的序偶是将(pi,wi)加到Si-1的每一对序偶(Pj,Wj)得到的,这序偶集就是 。然后按支配规则将Si
11、-1和 归并在一起就得到Si。2008-09-01版权所有:杨波,武汉科技大学理学院支配规则的正确性支配规则的正确性2008-09-01版权所有:杨波,武汉科技大学理学院KNAP(1,n,M)的求解的求解1.生成序偶集Si(应将WM的那些序偶(P,W)去掉,因为由它们不能导出满足约束条件的可行解。)。2.Si是背包问题KNAP(1,i,X)在0XM各种取值下的最优解。3.通过计算Sn可以找到KNAP(1,n,X),0XM的所有解。KNAP(1,n,M)的最优解由Sn的最后一对序偶的P值给出。2008-09-01版权所有:杨波,武汉科技大学理学院KNAP(1,n,M)的求解的求解4.Sn的最末序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 分析 设计 第六 01 背包 问题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内