计算机算法分析第五章作业.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机算法分析 — 习题课 第五章: 3 、 6 、 7 、 8 、 9 、 11 、 12 P122-3 ? 3 .( 0/1 背包问题)如果将 5.3 节讨论的背包 问题修改成 ? 极大化 ? 约束条件 ? x i =0 或 1 1≤i≤n ? 这种背包问题称为 0/1 背包问题。它要求物品 或者整件装入背包或者整件不装入。求解此问 题的一种贪心策略是:按 p i /w i 的非增次序考虑 这些物品,只要正被考虑的物品能装的进就将 其装入背包。证明这种策略 不一定 能得到最优 解。 1 n i i p x ? 1 n i i w x M ? ? P122-3 ? 证明(反证法): 设 n = 3 , M = 6 , ( p 1 , p 2 , p 3 ) = (3, 4, 8) , ( w 1 , w 2 , w 3 ) = (1, 2, 5) 按照 p i / w i 的非增序得到 ( p 1 / w 1 , p 2 / w 2 , p 3 / w 3 ) = (3, 2,1.6) , 则其解为 (1, 1, 0) ,而事实上最优解是 (1, 0, 1) 。 问题得证。 ? 若所装入的物品能装满背包时,为最优解 P122-3 0/1 背包问 题可行解 集合 ? 结论:当按照 p i / w i 的非增次序考虑物品存放 背包时,如果所装入的物品能装满背包时, 显然为最优解,否则未必是最优解 . 背包问题 可行解集 合 装满时对 应的可行 解 P122-3 ? 附: 0/1 背包问题是一个 NP 完全问题, NP 完 全问题是否存在多项式时间的求解算法目前 仍未可知,这也是计算机科学领域最著名的 开放问题“ NP = P 是否成立 ”(绝大多数人 相信 NP = P 不成立),因此,谁如果对 0/1 背包问题给出一种正确的贪心算法,必然获 得 图灵奖 P122- 6 . ? 假定要将长为 l 1 ,l 2 ,…,l n 的 n 个程序存入一盘磁 带,程序 I i 被检索的频率是 f i 。如果程序按 i 1 ,i 2 ,…,i n 的次序存放,则期望检索时间( ERT ) 是 : 1 [ ( )] / j k j i i i j k f l f ? ? ? ? ? ① 证明按 l i 的非降次序存放程序不一定得到最 小的 ERT 。 ? ② 证明按 f i 的非增次序存放程序不一定得到最 小的 ERT 。 ? ③ 证明按 f i /l i 的非增次序来存放程序时 ERT 取 最小值。 P122- 6 . ? 问题实例 : ( l 1 , l 2 , l 3 ) = (5, 6, 12) , ( f 1 , f 2 , f 3 ) = (0.2, 0.3, 0.5) ? l i 的非降次序: ? 1 = (1, 2, 3) ? f i 的非增次序: ? 2 = (3, 2, 1) ? f i / l i 的非增次序 : ? 3 = (2, 3, 1) ? ERT( ? 1 ) = 5 × 0.2 + (5+6) × 0.3 + (5+6+12) × 0.5 = 15.8 ? ERT( ? 2 )=12 × 0.5+(12+6) × 0.3+(12+6+5) × 0.2=16 ? ERT( ? 3 )=6 × 0.3 + (6+12) × 0.5 + (6+12+5) × 0.2=15.4 P122 - 6 . ③ 证明按 fi/li 的非增次序来存放程序时 ERT 取最小值。 ? 假设 i1,i2,…,in 按照 fi/li 的非增次序存放,即 f i1 /l i1 ≥f i2 /l i2 ≥…≥f in /l in ,则得到 ERT=[f i1 l i1 +f i2 (l i1 +l i2 )+…+f ik (l i1 +l i2 +…+l ik )+…+f in ( l i1 +l i2 +…+l in )]/(f i1 +..+f in ) ? 假设该问题的一个最优解是按照 j1,j2, … ,jn 的顺序 存放,并且其期望检索 时间 是 ERT ' ,我们只需证 明 ERT≤ERT ' ,即可证明按照 fi/li 的非增次序存放 得到的是最优解。 ? 从前向后考察最优解序列: j 1 ,j 2 , … ,j n ,若与 i 1 ,i 2 ,

文档评论(0)

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

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

1亿VIP精品文档

相关文档