NP完全

✍ dations ◷ 2024-07-05 13:48:29 #NP完全
NP完全或NP完备(NP-Complete,缩写为NP-C或NPC),是计算复杂度理论中,决定性问题的等级之一。NP完备是NP与NP困难的交集,是NP中最难的决定性问题。因此NP完备问题应该是最不可能被化简为P(多项式时间可决定)的决定性问题的集合。若任何NPC问题得到多项式时间的解法,那此解法就可应用在所有NP问题上。更详细的定义容下叙述。一个NPC问题的例子是子集合加总问题,题目为这个问题的答案非常容易验证,但当前没有任何一个够快的方法可以在合理的时间内(意即多项式时间)找到答案。只能一个个将它的子集取出来一一测试,它的时间复杂度是 O ( 2 n ) {displaystyle O(2^{n})} , n {displaystyle n} 是此集合的元素数量。一个决定性问题C若是为NPC,则代表它对NP是完备的,这表示:可归约在此意指对每个问题L,总有一个多项式时间多对一变换,即一个决定性的算法可以将实例l ∈ L转化成实例c ∈ C,并让c回答Yes当且仅当此答案对l也是Yes。为了证明某个NP问题A实际上是NPC问题,证明者必须找出一个已知的NPC问题可以变换成A。本定义得到一个结论,就是若上述的C有一个多项式时间可解的算法,则我们可以将所有的NP问题降到P之中。这个定义是史提芬·古克所提出。虽然NPC这个词并没有出现在这篇论文上任何地方。在这个信息学会议上,信息学家激动地讨论NPC问题是否可以在一个确定型图灵机上以多项式时间求解。John Hopcroft总结与会众人的共识,认为由于没有人能对某一命题提出驳倒对方的证明,此问题不会于现在解决。此命题就是知名的一开始很难相信NPC问题是实际存在的,但著名的古克-李芬定理说明了一切(由Leonid Levin(英语:Leonid Levin)与Cook独立证出SAT问题是NPC问题,简化过但依旧艰深的证明在此)。在1972年,理查德·卡普证明有好几个问题也是NPC(请见卡普的二十一个NP-完全问题),因此除了SAT问题外,的确存在着一整类NPC问题。从古克开始,数千个问题借由从其他NPC问题变换而证实也是NPC问题,其中很多问题被搜集在Garey与Johnson于1979年出版的书之中。满足条件2(无论是否满足条件1)的问题集合被称为NP困难。一个NP困难问题至少跟NPC问题一样难。有一类问题已经被证明属于NP困难但不属于NP,即,这类问题至少与NP-complete一样难,但这类问题又不属于NP(自然也不属于NP-complete)。例如围棋的必胜下法,就是这样一个问题。另一个有趣的例是图同构(isomorphism)问题,即以图论方法决定两个图是否为同构。两图同构的直觉条件是若其中一图可以经由移动顶点使它与另一个图重合,则为同构。思考下列两问题:子图同构问题是NPC,而图同构问题一般认为不是P也不是NPC问题,虽然它明显是一个NP问题。这是一个典型被认为很难却还不是NPC问题的例子。想要证明一个问题是NPC,最简单的方法是先证明它属于NP,然后将“某个已知是NPC的问题”变换成它。因此在学习变换技巧前,先熟悉各种不同类型的NPC问题是很有用的。下表列出了一些以决定性命题表示的著名NPC问题:更多NPC问题的例子,请见NP-complete问题列表(英语:List of NP-complete problems)。右边是一些NPC问题及证明其为NPC问题的变换流程图。在流程图中,箭头代表的是从何问题变换成另一问题的过程,要注意的是这张图并不代表这些问题的数学关系,事实上任两个本质为NPC的问题都可以以多项式时间变换,这图仅指示可以让研究者较为简单地变换问题的顺序。通常一个P与NPC问题的叙述看起来只有一些不同的地方,例如3SAT问题(SAT问题的限制版本)仍然是NPC问题,但更限制的2SAT问题则是个P问题(准确的说,是NL-complete问题),而条件较为宽松的MAX 2SAT问题却又成了NPC问题。决定一个图是否能被两色涂满是P问题,但三色图是NPC问题,即使我们将它限制在平面图上。决定一个图有无循环或它是两分图很容易(在log空间等级),但是发现一个最大二分图或最大循环子图则是NPC。以一固定百分比来求郊游打包问题的最佳解可以在多项式时间解决,但是求最佳解是NPC。当前为止,所有已知解NPC问题的算法需要依照数据数量而定的超多项式(superpolynomial)时间,当前也不知道是否有任何更快的算法存在。因此要在输入数据量大的时候解决一个NPC问题,通常我们使用下列的手段来解:依照上述NPC的定义,所谓的变换其实是多项式时间多对一变换的简称。另一种化约法称为多项式时间图灵归约(polynomial-time Turing reduction(英语:polynomial-time Turing reduction))。若我们提供一个副函数(subroutine)可以在多项式时间解出"Y",又可写出调用此副函数的程序并在多项式时间解出问题"X",代表我们可以将"X"多项式时间图灵变换成"Y"。相较起来,不同处在于多对一变换只能调用上述副函数一次,且副函数的回传值必须就是整个变换程序回传的值。如果有人使用图灵变换而非多对一变换来解析NPC,此问题的解答集合不一定会小于NPC。孰大孰小其实是个开放问题。如果两个概念相同,则可导出NP=反NP(co-NP)。此结论成立的道理在于NPC与反NPC的定义以图灵归约来看是相等的,且图灵变换定义的NPC包含多对一变换定义的NPC,反NPC也是相同情况。所以若是两种变换定义的NPC一样大的话,反NPC也会比照办理(在两者的定义之下)。例如SAT的反问题也会是NPC(在两者的定义之下)。因此推得NP = 反NP(证明在反NP条目中)。虽然NP是否等于反NP是个开放问题,但一般认为这似乎不大可能,也因此那两类的NPC定义也不大可能相等。另一种很常用于NPC证明的变换手法是对数空间多对一变换(logarithmic-space many-one reduction),它是一种可以在对数量级空间运用的多对一变换法。由于每道可以在对数空间完成的运算也可以在多项式时间做完,因此能使用对数空间多对一变换的场合也可以使用多项式时间多对一变换。本方法较多项式时间多对一变换优雅,它也可以让我们对算法复杂度细分出更多分类,例如P完备复杂度。而NPC的定义是否会因为使用不同变换手法而产生差异,仍是一个未知的问题。

相关

  • 乙型肝炎病毒乙型肝炎病毒(英语:Hepatitis B virus)简称乙肝病毒(HBV)。是一种DNA病毒,属于嗜肝DNA病毒科(hepadnavividae)。根据目前所知,HBV就只对人和猩猩有易感性,引发乙型病毒性肝炎疾病。完
  • 维生素缺乏症维生素缺乏症(英文:Avitaminosis)是由维生素缺乏或者代谢转化(例如色氨酸转烟酸过程)缺损所引起的一系列慢性或长期的疾病,这类疾病根据与其有关的维生素的字母进行定名。与此相反
  • 破伤风梭菌破伤风梭菌(学名:Clostridium tetani)是一种梭菌属的杆状专性厌氧菌,外观类似网球拍和鸡腿,是破伤风的病原体。医学导航:病菌细菌(分类)gr+f/gr+a(t)/gr-p(c/gr-o药物(J1p、w、n、m、疫苗)
  • 鼻喷剂鼻腔给药(英语:Nasal administration)是一种给药途径。在此过程中,药物经由鼻腔吹入。鼻腔给药既可以是外用药物的形式,也可以是内服药物(英语:systemic administration)的形式。
  • 权利后设伦理学 规范性 · 描述性 效果论 义务论 美德伦理学 关怀伦理学 善与恶 · 道德生物伦理学 · 网络伦理(英语:Cyberethics) · 神经伦理学(英语:Neuroethics) ·
  • 撞击坑撞击坑(又称陨石坑或环形山)为行星、卫星、小行星或其它类地天体表面通过陨石撞击而形成的环形的凹坑。撞击坑的中心往往会有一座小山,在地球上撞击坑内常常会积水,形成撞击湖,湖
  • 雅-赫氏反应雅-赫氏反应(英语 /ˌjɑːrɪʃ ˈhɛərkshaɪmər/),又称“赫氏反应”、“贾立士和赫塞麦反应”、“雅力士和赫塞麦反应”,现简称为“吉海反应”(J-H反应)),是有效的抗生素治疗
  • (CHsub3/sub)sub2/subS二甲基硫醚,是最简单的硫醚化合物。结构、性质与二甲基醚类似。常温下为无色挥发性液态。有着如海鲜般特殊气味物质。在自然界中,常由蛋白质的分解产生。这也是海鲜腥味的来源
  • 软树蕨软树蕨(学名:Dicksonia antarctica),又名塔斯马尼亚蚌壳蕨,是蚌壳蕨科蚌壳蕨属的一个种。原生于澳大利亚东部的昆士兰南部、新南威尔士、维多利亚及塔斯马尼亚。可生存于酸、中性
  • 上普罗旺斯阿尔卑斯省上普罗旺斯阿尔卑斯(les Alpes-de-Haute-Provence),旧称Basses-Alpes,是法国普罗旺斯-阿尔卑斯-蔚蓝海岸(Provence Alpes Côte d'Azur)大区的一个省(编号04),位于法国东南方,其省会为