计算机算法分析—第五章作业.ppt_第1页
计算机算法分析—第五章作业.ppt_第2页
计算机算法分析—第五章作业.ppt_第3页
计算机算法分析—第五章作业.ppt_第4页
计算机算法分析—第五章作业.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机算法分析习题课,第五章:3 、6、7、8 、 9 、11 、 12,P122-3,3(0/1背包问题)如果将5.3节讨论的背包问题修改成 极大化 约束条件 xi=0或1 1in 这种背包问题称为0/1背包问题。它要求物品或者整件装入背包或者整件不装入。求解此问题的一种贪心策略是:按pi/wi的非增次序考虑这些物品,只要正被考虑的物品能装的进就将其装入背包。证明这种策略不一定能得到最优解。,P122-3,证明(反证法): 设n = 3,M = 6, (p1, p2, p3) = (3, 4, 8),(w1, w2, w3) = (1, 2, 5) 按照pi/wi 的非增序得到 ( p1/w

2、1, p2/w2, p3/w3) = (3, 2,1.6), 则其解为(1, 1, 0),而事实上最优解是(1, 0, 1) 。 问题得证。,若所装入的物品能装满背包时,为最优解,P122-3,0/1背包问题可行解集合,结论:当按照pi /wi的非增次序考虑物品存放背包时,如果所装入的物品能装满背包时,显然为最优解,否则未必是最优解.,背包问题可行解集合,装满时对应的可行解,P122-3,附:0/1背包问题是一个NP完全问题,NP完全问题是否存在多项式时间的求解算法目前仍未可知,这也是计算机科学领域最著名的开放问题“NP = P是否成立”(绝大多数人相信NP = P不成立),因此,谁如果对0/

3、1背包问题给出一种正确的贪心算法,必然获得图灵奖,P122- 6,假定要将长为l1,l2,ln的n个程序存入一盘磁带,程序Ii被检索的频率是fi。如果程序按i1,i2,in的次序存放,则期望检索时间(ERT)是:, 证明按li的非降次序存放程序不一定得到最小的ERT。 证明按fi的非增次序存放程序不一定得到最小的ERT。 证明按fi/li的非增次序来存放程序时ERT取最小值。,P122- 6,问题实例:(l1, l2, l3) = (5, 6, 12),(f1, f2, f3) = (0.2, 0.3, 0.5) li的非降次序: 1 = (1, 2, 3) fi的非增次序: 2 = (3,

4、2, 1) fi /li的非增次序: 3 = (2, 3, 1) ERT(1) = 50.2 + (5+6)0.3 + (5+6+12) 0.5 = 15.8 ERT(2)=120.5+(12+6) 0.3+(12+6+5) 0.2=16 ERT(3)=60.3 + (6+12)0.5 + (6+12+5) 0.2=15.4,P122 - 6 证明按fi/li的非增次序来存放程序时ERT取最小值。,假设i1,i2,in按照fi/li的非增次序存放,即fi1/li1fi2/li2fin/lin,则得到 ERT=fi1li1+fi2(li1+li2)+fik(li1+li2+lik)+fin(li

5、1+li2+lin)/(fi1+.+fin) 假设该问题的一个最优解是按照j1,j2,jn的顺序存放,并且其期望检索时间是ERT,我们只需证明ERTERT,即可证明按照fi/li的非增次序存放得到的是最优解。,从前向后考察最优解序列:j1,j2,jn,若与i1,i2,in相同,命题得证。 否则,不妨设程序jk是第一个与其相邻的程序jk+1存在关系fjk/ljk0,既有ERT ERT,显然ERT也是最优解。 最优解中所有这样类似于反序对的程序互换位置,每次得到的解不比原来的最优解差,所以最终变换后得到的解也是最优解,而最终的解恰是程序按fi/li的非增次序来存放得到的顺序。 命题得证。,P123

6、-8, 当n=7,(p1 , p7)=(3,5,20,18,1,6,30) 和(d1,d7)=(1,3,4,3,2,1,2)时,算法5.4所生成的解是什么? 证明即使作业有不同的处理时间定理5.5亦真。这里,假定作业i的效益pi0,要用的处理时间ti0,限期diti.,P123-8,解:根据pi的非增排序得到(p7, p3, p4, p6, p2, p1, p5)=(30,20,18,6,5,3,1),对应的期限为(2,4,3,1,3,1,2),按照算法5.4生成的解为: J(1)=7(2), J(1)=7(2), J(2)=3(4); J(1)=7(2), J(2)=4(3),J(3)=3(

7、4); J(1)=6(1), J(2)=7(2),J(3)=4(3),J(4)=3(4);,P123-8, 证明即使作业有不同的处理时间定理5.3亦真。这里,规定作业i的效益pi0,要用的处理时间ti0,限期diti.(P106) 定理5.3:设J是K个作业的集合, =i1i2ik是J中作业的一种排序,它使得di1di2dik .J是一个可行解,当且仅当J中的作业可以按照的次序又不违反任何一个期限的情况下来处理. 证明思想: 位置a,b的作业交换顺序 作业ra和rb仍然可以完成任务 作业ra和rb之间的作业也能够完成任务,P123-8,P123-9, 对于5.3节的作业排序问题证明:当且仅当子

8、集合J中的作业可以按下述规则处理时它表示一个可行解;如果J中的作业I还没分配处理时间,则将它分配在时间片a-1,a处理,其中a是使得1rdi的最大整数r,且时间片a-1,a是空的。 仿照例5.4的格式,在习题8所提供的数据集上执行算法5.5。,P123-9,易证如果J中的作业能按上述规则处理,显然J是可行解; 如果J是可行解,根据定理5.3可知,J中的作业根据时间期限的非降次序排列,得到i1i2ik in ,并且按照这个顺序,可以处理J中所有作业,而对这一序列中的任意作业ik,如果它的时间期限是dk,且时间片dk-1,dk是空的,则分配之;若时间片dk-1,dk非空,则向前找最大的非空r-1,

9、r时间片,1rdk。因为J是可行解,所以一定可以找到如此时间片。故命题得证。,n=7 (p1, p7)=(3,5,20,18,1,6,30) (d1,d7)=(1,3,4,3,2,1,2) (p7, p3, p4, p6, p2, p1, p5) =(30,20,18,6,5,3,1), 对应的期限为(2,4,3,1,3,1,2) b=min n,maxd(i) =min7,4 =4,空,7,7,3,(p7, p3, p4, p6, p2, p1, p5)=(30,20,18,6,5,3,1),对应的期限为(2,4,3,1,3,1,2),(p7, p3, p4, p6, p2, p1, p5)

10、=(30,20,18,6,5,3,1),对应的期限为(2,4,3,1,3,1,2),7,3,4,7,3,4,6,7,3,4,6,P123-11, 证明如果一棵树的所有内部节点的度都为k,则外部节点数n满足n mod (k-1)=1. 证明对于满足 n mod (k-1)=1的正整数n,存在一棵具有n个外部节点的k元树T(在一棵k元树中,每个节点的度至多为k)。进而证明T中所有内部节点的度为k.,P123-11 证明如果一棵树的所有内部节点的度都为k,则外部节点数n满足n mod (k-1)=1.,证明: 设这棵树内部节点的个数是i,外部结点的个数是n,边的条数是e,则有 e=i+n-1 ik=

11、e ik=i+n-1 (k-1)i=n-1 n mod (k-1)=1,P123-11 证明对于满足 n mod (k-1)=1的正整数n,存在一棵具有n个外部节点的k元树T(在一棵k元树中,每个节点的度至多为k)。进而证明T中所有内部节点的度为k., 利用数学归纳法(m表示外部结点数目)。 当m =k时,存在外部结点数目为k的k元树T,并且T中内部结点的度为k;,例如: m=3 3mod(3-1)=1,假设当 m n,且满足m mod (k-1)=1时,存在一棵具有m个外部结点的k元树T,且所有内部结点的度为k; 我们将外部结点数为m的符合上述性质的树T中某个外部结点用内部结点a替代,且结点

12、a生出k个外部结点.,易知新生成的树T中外部结点的数目为n= m -1+k= m +(k-1),因为 m mod (k-1)=1,所以n为满足n mod (k-1)=1,且比m大的最小整数,而树T每个内结点的度为k,所以n= m +(k-1)时,存在符合上述性质的树。故命题得证。,P123-12, 证明如果n mod (k-1)=1,则在定理5.4后面所描述的贪心规则对于所有的(q1,q2,qn)生成一棵最优的k元归并树。 当(q1,q2,q11)=(3,7,8,9,15,16,18,20,23,25,28)时,画出使用这一规则所得到的最优3元归并树。,P123-12 证明如果n mod (k

13、-1)=1,则在定理3.6后面所描述的贪心规则对于所有的(q1,q2,qn)生成一棵最优的k元归并树。,通过数学归纳法证明: 对于n=1,返回一棵没有内部结点的树且这棵树显然是最优的。 假定该算法对于(q1,q2,qm),其中m=(k-1)s+1 (s0),都生成一棵最优树, 则只需证明对于(q1,q2,qn),其中n=(k-1)(s+1)+1,也能生成最优树即可。,不失一般性,假定q1q2qn,且q1,q2,qk是算法所找到的k棵树的WEIGHT信息段的值。于是q1,q2,qk可生成子树T,设T是一棵对于(q1,q2,qn)的最优k元归并树。设P是距离根最远的一个内部结点。如果P的k个儿子不是q1,q2,qk,则可以用q1,q2,qk和P现在的儿子进行交换,这样不增加T的加权外部路径长度。,因此T也是一棵最优归并树中的子树。于是在T中如果用其权为q1+q2+qk的一个外部结点来代换T,则所生成的树T是关于(T,qk+1,qn)的一棵最优归并树。由归纳假设,在使用其权为q1+q2+qk的那个外部结点代换了T以后,过程TREE转化成去求取一棵关于(T,qk+1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论