算法2013_NP完全性和近似算法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“备”则“倍” 有准备、有规划的人生更精彩! 定义Ratio Bound设A是一个优化问题的近似算法,A具有ratio bound p(n),如果 其中n是输入大小,C是A产生的解的代价。C*是优化解的代价。 如果问题是最大化问题, max{C/C*, C*/C}=C*/C 如果问题是最小化问题,,max{C/C*, C*/C}=C/C* 由于C/C*1当且仅当C*/C 1,Ratio Bound不会小于1 Ratio Bound越大,近似解越坏 * 近似算法-近似比 输入: 无向图G=(V, E) 输出: C?V, 满足 (1). ?(u, v)?E, u?C或者v?C (2). C是满足条件(1)的最小集合。 理论上已经证明优化结点 覆盖问题是NP-完全问题. * 近似算法-顶点覆盖问题 * 算法设计与分析-NP完全性与近似算法 * 输入: 无向图G=(V, E) 输出: C?V, 满足 (1) ?(u, v)?E, u?C或者v?C (2) C是满足条件(1)的最小集合。 算法的基本思想 b a c f d e g b a c f d e g b a c f d e g b c d g e f 算法解: {b, c, e, f, d, g} b a c f d e g 优化解: {b, e, d} * 算法设计与分析-NP完全性与近似算法 * 近似算法-顶点覆盖问题 算法 APPROX-Vertex-Cover (G) 1. C=0 2. E’=E[G]; 3. While E’?0 DO 任取(u, v)?E’; C=C?{u, v}; 从E’中删除所有与u或v相连的边; Return C * 算法设计与分析-NP完全性与近似算法 * 近似算法-顶点覆盖问题 时间复杂性 T(G)=O(|E|) Ratio Bound 定理: Approx-Vertex-Cover的Ratio Bound为2. 证:令A={(u, v) | (u, v)是算法第4步选中的边}. 若(u,v)?A, 则与u, v邻接的边皆从E’中删除. 于是, A中无相邻接边. 第5步的每次运行增加两个结点到C, ?C?=2?A?. 设C*是优化解, C*必须覆盖A. 由于A中无邻接边, C*至少包含A中每条边的一 个结点. 于是, ?A???C*?, ?C?=2|A|?2?C*?, 即|C|/|C*|?2. * 近似算法-顶点覆盖问题 输入: 有限集X, X的所有子集族F, X=∪S?F S 输出: C?F,满足 (1). X=∪S?C S , (2). C是满足条件(1)的最小集族, 即|C|最小. *最小集合覆盖问题是很多实际问题的抽象. *最小集合覆盖问题是NP-完全问题. * 近似算法-集合覆盖问题 S1 S2 S3 S4 S5 S6 X=12个黑点, F={S1, S2, S3, S4, S5, S6} 优化解C={S3, S4, S5} 问题的实例 * 算法设计与分析-NP完全性与近似算法 * 近似算法-集合覆盖问题 S1 S2 S3 S4 S5 S6 基本思想 贪心选择:选择能覆盖最多未被覆盖元素的子集 S1 S2 S3 S4 S5 S6 C={S1, C={S1, S4, S1 S2 S3 S4 S5 S6 C={S1, S4, S5, S1 S2 S3 S4 S5 S6 C={S1, S4, S5, S3} S1 S2 S3 S4 S5 S6 * 算法设计与分析-NP完全性与近似算法 * 近似算法-集合覆盖问题 算法 Greedy-Set-Cover(X, F) 1. U?X; /* U是X中尚未被覆盖的元素集 */ 2. C??; 3. While U?? Do Select S?F 使得?S∩U?最大; /* Greedy选择—选择能覆盖最多U元素的子集S */ 5. U? U-S; 6. C? C∪?S?; /* 构造X的覆盖 */ 7. Return C. * 算法设计与分析-NP完全性与近似算法 * 近似算法-集合覆盖问题 时间复杂性 3-6的循环次数至多为min(?X?, ?F?

文档评论(0)

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

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

1亿VIP精品文档

相关文档