算法设计与分析 NP完全性理论与近似算法讲义.pptVIP

算法设计与分析 NP完全性理论与近似算法讲义.ppt

  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文档。上传文档
查看更多
算法设计与分析 NP完全性理论与近似算法讲义

第9章 NP完全性理论;是不是什么问题都是单计算机可解的?;例:;是不是什么问题都是并行计算机可解的?;易解/难解/不可解问题;图灵停机问题(The Halting Problem);图灵停机问题(The Halting Problem);图灵停机问题(The Halting Problem);P类与NP类问题;对NP类问题的理解之一 ? P=?NP;对NP类问题的理解之二;对NP类问题的理解之三?证明Q ∈ NP;NP类问题证明举例;NP类问题证明举例;NP类问题8-17;P?NP。 直观上看,P类问题是确定性计算模型下的易解问题类,而NP类问题是非确定性计算模型下的易验证问题类。 大多数的计算机科学家认为NP类中包含了不属于P类的语言,即P≠NP。 NP完全问题有一种令人惊奇的性质,即如果一个NP完全问题能在多项式时间内得到解决,那么NP中的每一个问题都可以在多项式时间内求解,即P=NP。 目前还没有一个NP完全问题找到了多项式时间的算法。;设     ,   是2个语言。所谓语言 能在多项式时间内变换为语言 (简记为 ∝p  )是指存在映射f:    ,且f满足: (1)有一个计算f的多项式时间确定性图灵机; (2)对于所有实例x∈ ,当且仅当f(x)∈ 。 ;定理9-2:设L是NP完全的,则 (1)L∈P当且仅当P=NP; (2)若L∝p  ,且 ∈NP,则 是NP完全的。 ;Cook定理;一些典型的NP完全问题;合取范式的可满足性问题CNF-SAT;合取范式的可满足性问题CNF-3SAT;团问题CLIQUE ;顶点覆盖问题 ; ;若一个最优化问题的最优值为c*,求解该问题的一个近似算法求得的近似最优解相应的目标函数值为c,则将该近似算法的性能比定义为 在通常情况下,该性能比是问题输入规模n的一个函数ρ(n),即 该近似算法的相对误差定义为 若对问题的输入规模n,有一函数ε(n)使得 则称ε(n)为该近似算法的相对误差界。近似算法的性能比ρ(n)与相对误差界ε(n)之间显然有如下关系:ε(n)≤ρ(n)-1。;问题描述:无向图G=(V,E)的顶点覆盖是它的顶点集V的一个子集V’?V,使得若(u,v)是G的一条边,则v∈V’或u∈V’。顶点覆盖V’的大小是它所包含的顶点个数|V’|。 算法描述: VertexSet approxVertexCover ( Graph g ) { cset= ? ; e1=g.e; while (e1 != ?) { 从e1中任取一条边(u,v); cset=cset∪{u,v}; 从e1中删去与u和v相关联的所有边; } return cset; };图(a)~(e)说明了算法的运行过程及结果。(e)表示算法产生的近似最优顶点覆盖cset,它由顶点b,c,d,e,f,g所组成。(f)是图G的一个最小顶点覆盖,它只含有3个顶点:b,d和e。;算法选取出的边的集合用A表示,则A中任何两条边没有公共端点。 故有:|cset|=2|A| 另外,图G的最小顶点覆盖|cset*|=|A|,因为A中的边没有公共端点。 |cset|/| cset*|=2 算法approxVertexCover的性能比为2。;问题描述:给定一个完全无向图G=(V,E),其每一边(u,v)∈E有一非负整数费用c(u,v)。要找出G的最小费用哈密顿回路。 旅行售货员问题的一些特殊性质: 比如,费用函数c往往具有三角不等式性质,即对任意的3个顶点u,v,w∈V,有:c(u,w)≤c(u,v)+c(v,w)。当图G中的顶点就是平面上的点,任意2顶点间的费用就是这2点间的欧氏距离时,费用函数c就具有三角不等式性质。;1.满足三角不等式的旅行售货员问题;Prim算法回顾;(b)表示找到的最小生成树T; (c)表示对T作前序遍历的次序; (d)表示L产生的哈密顿回路H; (e)是G的一个最小费用旅行售货员回路。;算法approxTSP 性能分析;2.一般的旅行售货员问题;问题描述:集合覆盖问题是一个最优化问题,其原型是多资源选择问题。集合覆盖问题可以看作是图的顶点覆盖问题的推广,它也是一个NP难问题。 集合覆盖问题的一个实例〈X,F〉由一个有限集X及X的一个子集族F组成。子集族F覆盖了有限集X。也就是说X中每一元素至少属于F中的一个子集,即X= 对于F中的一个子集C?F,若C中的X的子集覆盖了X,即X= 则称C覆盖了X。集合覆盖问题就是要找出F中覆盖X的最小子集C*,使得|C*|=min{|C||C?F且C覆盖X};用12个黑点表示集合X。F={S1,S2,S3,S4,S5,S6},如图所示。容易看出,对于这个例子,最小集合覆盖为:C={S3,S4,S5,}。 ;算法的循环体最多执行min{|X|,|F|

文档评论(0)

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

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

1亿VIP精品文档

相关文档