第五章 Greedy Algorithm--精品PPT課件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 Greedy Algorithm--精品PPT課件

第五章 Greedy Algorithm;5.1 Elements of Greedy Algorithms 5.2 An activity-selection problem 5.3 Huffman codes 5.4 Minimal spanning tree problem ; 5.1 Elements of Greedy Algorithms;*;Greedy算法的基本思想 求解最优化问题的算法包含一系列步骤 每一步都有一组选择 作出在当前看来最好的选择 希望通过作出局部优化选择达到全局优化选择 Greedy算法不一定总产生优化解 Greedy算法是否产生优化解,需严格证明 Greedy算法产生优化解的条件 Greedy-choice-property Optimal substructure ;Greedy选择性 ;? 若一个优化问题的优化解包含它的 子问题的优化解,则称其具有优化 子结构;与动态规划方法的比较;证明算法所求解的问题具有优化子结构 证明算法所求解的问题具有Greedy选择性 证明算法确实按照Greedy选择性进行局部优化选择;5.2 An activity-selection problem;问题的定义;问题定义 输入:S={1, 2, …, n},F={ [si,fi] },n?i?1 输出:S的最大相容集合 ; 引理1 设S={1,2,…,n}是n个活动集合,[si,fi ]是活动 的起始终止时间,且f1?f2?….?fn,S的活动选 择问题的某个优化解包括活动1. 证 设A是一个优化解,按结束时间排序A中活动, 设其第一个活动为k,第二个活动为j. 如果k=1,引理成立. 如果k?1,令B=A-{k}∪{1}, 由于A中活动相容,f1?fk ? sj , B中活动相容. 因为?B?=?A?, 所以B是一个优化解,且包括活动1.; 引理2.设S={1, 2, …, n}是n个活动集合,[si,fi]是活动i 的起始终止时间,且f1?f2?….?fn,设A是S的调 度问题的一个优化解且包括活动1,则A?=A-{1} 是S?={i?S|si?f1}的调度问题的优化解. 证.显然,A’中的活动是相容的. 我们仅需要证明A?是最大的. 设不然,存在一个S’ 的活动选择问题的优化解 B’,?B’??A’?. 令B={1}∪B’. 对于?i?S’, si ?f1, B中活动相容. B是S的一个解. 由于|A|=|A’|+1, ?B?=?B’?+1?A’?+1=?A?,与A最 大矛盾. ;Greedy选择性 引理3.设 S={1, 2, …., n} 是 n 个活动集合,f0=0, li 是 Si ={ j?S | sj ? fi-1} 中具有最小结束时间 fli 的活 动.设A是S的包含活动1的优化解, 其中 f1? …? fn,则A= 证.对?A?作归纳法. 当?A?=1时, 由引理1,命题成立. 设?A?k时,命题成立. 当?A?=k时,由引理2,A={1}∪A1, A1是 S2 = { j?S | sj ? f1 } 的优化解. 由归纳假设,A1= . 于是, A= .;贪心思想 为了选择最多的相容活动,每次选fi最小的活动,使我们能够选更多的活动 ;算法 (设f1?f2?….?fn已排序) Greedy-Activity-Selector(S, F) n?lenyth(S); A?{1} j?1 For i?2 To n Do If si ? fj Then A?A∪{i};j?i; Return A; 如果结束时间已排序 T(n)=?(n) 如果 结束时间未排序 T(n)=?(n)+?(nlogn)=?(nlogn) ;需要证明 活动选择问题具有Greedy选择性 活动选择问题具有优化子结构 算法按照Greedy选择性计

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档