P问题、NP难问题详解.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Contents 时间复杂度 时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。 不管数据有多大,程序处理花的时间始终是那么多的,我们就说这个程序很好,具有O(1)的时间复杂度,也称常数级复杂度;数据规模变得有多大,花的时间也跟着变得有多长,这个程序的时间复杂度就是O(n)。 时间复杂度 P问题 如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题。 我们常见到的一些信息奥赛的题目都是P问题。 ? P问题 VS NP问题 ? NP问题 首先:NP问题不是非P类问题 ! NP问题是指可以在多项式的时间里验证一个解的问题 可以在多项式的时间里猜出一个解的问题。 像Hamilton回路问题。 在这个题中,找一个解很困难,但验证一个解很容易。 当然有不是NP问题的问题,即咱猜到了解但是没用,因为咱不能在多项式的时间里去验证它。 如下面这个: 我们已经知道Hamilton回路是NP问题,因为验证一条路是否恰好经过了每一个顶点非常容易。但我们把问题换成这样:试问一个图中是否不存在Hamilton回路。这样问题就没法在多项式的时间里进行验证了,因为除非你试过所有的路,否则你不敢断定它“没有Hamilton回路”。 NPC问题(一) 人们普遍认为,P=NP不成立 多数人相信,存在至少一个不可能有多项式级复杂度的算法的NP问题——这就是NPC问题。 Reducibility(“约化”或“归约”):一个问题A可以约化为问题B的含义即是,可以用解决问题B的解法来解决问题A,或者说,问题A可以“变成”问题B。 如:一元一次方程可以“归约”为一元二次方程。 问题A可“约化”为问题B直观意义:B的时间复杂度高于或者等于A的时间复杂度。也就是说,问题A不比问题B难。 很显然,约化具有一项重要的性质:约化具有传递性。如果问题A可约化为问题B,问题B可约化为问题C,则问题A一定可约化为问题C。 NPC问题(二) 现在再来说一下约化的标准概念就不难理解了:如果能找到这样一个变化法则,对任意一个程序A的输入,都能按这个法则变换成程序B的输入,使两程序的输出相同,那么我们说,问题A可约化为问题B。 注:我们所说的“可约化”是指的可“多项式地”约化(Polynomial-time Reducible),即变换输入的方法是能在多项式的时间里完成的。约化的过程只有用多项式的时间完成才有意义。 NPC问题(三) NPC问题(四) 总结: 定义:同时满足下面两个条件的问题就是NPC问题。首先,它得是一个NP问题;然后,所有的NP问题都可以约化到它。 证明:先证明它至少是一个NP问题,再证明其中一个已知的NPC问题能约化到它 NP-Hard问题 NP-Hard问题:其满足NPC问题定义的第二条但不一定要满足第一条(就是说,NP-Hard问题要比 NPC问题的范围广,但不一定是NP问题)。 NP-Hard问题同样难以找到多项式的算法,但它不列入我们的研究范围,因为它不一定是NP问题。即使NPC问题发现了多项式级的算法,NP-Hard问题有可能仍然无法得到多项式级的算法。事实上,由于NP-Hard放宽了限定条件,它将有可能比所有的NPC问题的时间复杂度更高从而更难以解决。 NPC问题(补充) ? NPC问题(补充) 逻辑电路问题: 给定一个逻辑电路,问是否存在一种输入使输出为True。 这是第一个NPC问题。其它的NPC问题都是由这个问题约化而来的。因此,逻辑电路问题是NPC类问题的“鼻祖”。 我们知道,一个逻辑电路由若干个输入,一个输出,若干“逻辑门”和密密麻麻的线组成,如下图: NPC问题(补充) 有输出无论如何都不可能为True的逻辑电路吗? NPC问题(补充) 逻辑电路问题属于NPC问题——它显然属于NP问题,并且可以证明所有的NP问题都可以约化到它 。 王培磊 浅谈P问题、NP问题、NPC问题及NP难问题 P问题 1 NP问题、 2 NPC问题 3 NP难问题 4 多项式级的复杂度 。 如 O(1), O(log(n)),O(n^a)等 ——因为它的规模n出现在底数的位置 ! 时间复杂度 非多项式级的 如:O(a^n)和O(n!)等! 已经知道所有的P类问题都是NP问题。 那反之呢?其实

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档