算法2013s-np完全性与近似算法.pptxVIP

  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文档。上传文档
查看更多
算法2013s-np完全性与近似算法

算法设计与分析;纲要;举例;判定问题与最优化问题;多项式时间归约;多项式时间归约;利用多项式时间归约分析问题的复杂性;P、NP、NP-hard、NPC;P、NP、NP-hard、NPC;P、NP、NP-hard、NPC; P = NP ? /millennium/ Solved???!!!! ;P、NP、NP-hard、NPC;P、NP、NP-hard、NPC;P、NP、NP-hard、NPC;P、NP、NP-hard、NPC;P、NP、NP-hard、NPC;电路可满足性问题 Circuit satisfiability;电路可满足性问题;;NPC问题的证明方法;NPC问题的证明方法;NPC问题的证明方法;顶点覆盖问题;顶点覆盖问题;处理NP难问题;处理NP难问题;处理NP难问题;近似算法的基本思想 很多实际应用中问题都是NP-完全问题 NP-完全问题的多项式算法是难以得到的 求解NP-完全问题的方法: 如果问题的输入很小, 可以使用指数级算法圆满地解决该问题 否则使用多项式算法求解问题的近似优化解 什么是近似算法 能够给出一个优化问题的近似优化解的算法 近似算法主要解决优化问题 ;近似算法的时间复杂性 分析目标和方法与传统算法相同 近似算法解的近似度 本节讨论的问题是优化问题 问题的每一个可能的解都具有一个正的代价 问题的优化解可能具有最大或最小代价 我们希望寻找问题的一个近似优化解 我们需要分析近似解代价与优化解代价的差距 Ratio Bound 相对误差 (1+?)-近似;定义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-完全问题. ;近似算法-顶点覆盖问题;算法的基本思想;算法 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;时间复杂性 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-完全问题.;;;算法 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. ;时间复杂性 3-6的循环次数至多为min(?X?, ?F?) 计算?S∩U?需要时间O(?X?) 第4步需要时间O(?F??X?) T(X,F)=O(?F??X?

文档评论(0)

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

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

1亿VIP精品文档

相关文档