ImageVerifierCode 换一换
格式:PPT , 页数:15 ,大小:551.50KB ,
资源ID:2141466      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2141466.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(背包问题讲解文稿.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

背包问题讲解文稿.ppt

1、2022/10/27算法案例算法案例 0-1背包问题背包问题通信四班刘蕾、文艺蓉、周家欣2022/10/272/150-10-1背包问题背包问题问题描述:给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为c。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大?0-1背包问题:对每种物品i装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。2022/10/273/150-10-1背包问题背包问题解空间:设Xi表示第i件物品的取舍,1代表取,0代表舍,搜索的空间为n元一维数组(X1,X2,X3,,Xn)取值范围:为(0,0,0,0,0),(0,0,

2、0,0,1),(0,0,0,1,0),(0,0,0,1,1),(1,1,1,1,1)。2022/10/274/150-10-1背包问题背包问题解空间图示:以3个物品为例,解(0,1,0)表示(不取物品0,取物品1,不取物品2)root1001010100012022/10/275/150-10-1背包问题背包问题问题转化:给定c0,wi0,vi0,1in,要求找出一个n元0-1向量(x1,x2,xn),xi0,1,1in,使得wixic,而且vixi达到最大。2022/10/276/150-10-1背包问题背包问题由0-1背包问题的最优子结构性质,可以建立计算m(i,j)的递归式如下:设所给0

3、-1背包问题的子问题的最优值为m(i,j),即m(i,j)是背包容量为j,可选择物品为i,i+1,n时0-1背包问题的最优值。第第i+1个物品不装入背包个物品不装入背包第第i+1个物品装入背包个物品装入背包第第i+1个物品无法装入背包个物品无法装入背包2022/10/277/150-10-1背包问题背包问题vvoid Knapsack(int v,int w,int c,int n,int m)v int n=v.length-1;v int jMax=Math.min(wn-1,c);v for(j=0;j=jMax;j+)mnj =0;v for(j=wn;j 1;i-)v int jMa

4、x=Math.min(wi-1,c);v for(j=0;j=jMax;j+)mij =mi+1j;v for(j=wi;j=w1)m1c=Math.max(m1c,m2c-w1+v1);vM,横坐标表示所放物品号码,纵坐标表示横坐标表示所放物品号码,纵坐标表示背包容量背包容量1到到C,值表示当前考虑方案的价值,值表示当前考虑方案的价值不选择第不选择第i个物品个物品如何可以装下(重量允许)如何可以装下(重量允许)选择价值更大的方式(装入选择价值更大的方式(装入or不装入)不装入)处理边界情况处理边界情况处理边界情况处理边界情况2022/10/278/150-10-1背包问题背包问题012345

5、678910w1=2v1=61w2=2v2=32w3=6v3=53w4=5v4=44w5=4v5=650问题实例:有5个物品,其重量分别是2,2,6,5,4,价值分别为6,3,5,4,6,背包的容量为10。mij表示把第i,.,n物品装入容量为j的背包的最大价值2022/10/279/150-10-1背包问题背包问题012345678910w1=2v1=61w2=2v2=32w3=6v3=53w4=5v4=44w5=4v5=650问题实例:有5个物品,其重量分别是2,2,6,5,4,价值分别为6,3,5,4,6,背包的容量为10。0 00 00 00 066 66 66 66 66 66 6m

6、5=4=6m5=4=6mij表示把第i,.,n物品装入容量为j的背包的最大价值 int jMax=Math.min(wn-1,c);for(j=0;j=jMax;j+)mnj =0;for(j=wn;j 1;i-)int jMax=Math.min(wi-1,c);for(j=0;j=jMax;j+)mij =mi+1j;for(j=wi;j=c;j+)mij=Math.max(mi+1j,mi+1j-wi+vi);2022/10/2711/150-10-1背包问题背包问题012345678910w1=2v1=61w2=2v2=32w3=6v3=53w4=5v4=44w5=4v5=650问题实

7、例:有5个物品,其重量分别是2,2,6,5,4,价值分别为6,3,5,4,6,背包的容量为10。0 00 06 66 69 99 9121212121515151515150 00 03 33 36 66 69 99 99 9101011110 00 00 00 06 66 66 66 66 6101011110 00 00 00 06 66 66 66 66 6101010100 00 00 00 06 66 66 66 66 66 66 6mij表示把第i,.,n物品装入容量为j的背包的最大价值2022/10/2712/150-10-1背包问题背包问题vvoid Knapsack(int

8、v,int w,int c,int n,int m)v int n=v.length-1;v int jMax=Math.min(wn-1,c);v for(j=0;j=jMax;j+)mnj =0;v for(j=wn;j 1;i-)v int jMax=Math.min(wi-1,c);v for(j=0;j=jMax;j+)mij =mi+1j;v for(j=wi;j=w1)m1c=Math.max(m1c,m2c-w1+v1);vm,横坐标表示背包号码,纵坐标表示背包横坐标表示背包号码,纵坐标表示背包容量容量1到到C,值表示当前考虑方案的价值,值表示当前考虑方案的价值背包容量背包容量

9、0-wn-1,该物品装不下,该物品装不下n个物品个物品背包装不下物品背包装不下物品n,此时考虑物品,此时考虑物品n装入方法最大价值装入方法最大价值为零为零背包能装下物品背包能装下物品n,物品,物品n装入方法最大价值为装入方法最大价值为vn背包不能装下物品时背包不能装下物品时背包能装下物品时背包能装下物品时图示图示隐藏隐藏2022/10/27Traceback求最优解求最优解TemplateVoid Traceback(Type*m,int w,int c,int n,int x)for(int i=1;in;i+)if(mic=mi+1c)xi=0;elsexi=1;c-=wi;xn=(mnc

10、)?1:0;13/15按照按照KnapsackKnapsack计算后计算后m1cm1c给出的为给出的为0-10-1背包问题的最优值,然后按背包问题的最优值,然后按照上述照上述TracebackTraceback算法构造出最优解算法构造出最优解(x1,x2,x3,(x1,x2,x3,xn),xn)。2022/10/2714/150-10-1背包问题背包问题Traceback回溯过程:012345678910w1=2v1=61w2=2v2=32w3=6v3=53w4=5v4=44w5=4v5=650006699121215151500336699910110000666661011000066666101000006666666综上所述:本例中最大价值为综上所述:本例中最大价值为15,最优解向量为,最优解向量为(1,1,0,0,1)11001if(mic!=mi+1c)xi=1;c-=wi;if(mic!=mi+1c)xi=1;c-=wi;if(mic=mi+1c)xi=0;if(mic=mi+1c)xi=0;xn=(mnc)?1:0;2022/10/2715/15Thanku

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1