1、P问题
P是一个判定问题类,这些问题可以用一个确定性算法在多项式时间内判定或解出。如果一个判定性问题的复杂度是该问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。P类问题就是所有复杂度为多项式时间的问题的集合。
NP是一个判定问题类,这些问题可以用一个确定算法在多项式时间内检查或验证出它们的解;P事实上很直观,我们通常在编程中求解的问题大多都是P类问题.比如说排序,找最短路径等.
2、NP问题
然而有些问题很难找到多项式时间的算法(或许根本不存在),比如找出无向图中的哈米尔顿回路问题,但是我们发现如果给了我们该问题的一个答案,我们可以在多项式时间内判断这个答案是否正确。比如说对于哈米尔顿回路问题,给一个任意的回路,我们很容易判断他是否是哈米尔顿回路(只要看是不是所有的顶点都在回路中就可以了)。这种可以在多项式时间内验证一个解是否正确的问题称为NP问题。显然,所有的P类问题都是属于NP问题的,但是现在的问题是,P是否等于NP?这个问题至今还未解决。
NP这个类事实上也很有趣,它并不要求给出一个算法来求解问题本身,而只是要求给出一个确定性算法在多项式时间内验证它的解.
3、NP完全问题
此外请注意,NP问题不一定都是难解的问题,比如,简单的数组排序问题是P类问题,但是P属于NP,所以也是NP问题,你能说他很难解么?刚才说了,现在还不知道是否有P=NP或者P<>NP,但是后来人们发现还有一系列的特殊NP问题,这类问题的特殊性质使得很多人相信P<>NP,只不过现在还无法证明。这类特殊的NP问题就是NP完全问题(NPC问题,C代表complete)。
NP完全问题是求NP中判定问题的一个子类.NPC问题存在着一个令人惊讶的性质,即如果一个NPC问题存在多项式时间的算法,则所有的NP问题都可以在多项式时间内求解,即P=NP成立!!这是因为,每一个NPC问题可以在多项式时间内转化成任何一个NP问题。比如前面说的哈米尔顿回路问题就是一个NPC问题。NPC问题的历史并不久,cook在1971年找到了第一个NPC问题,此后人们又陆续发现很多NPC问题,现在可能已经有3000多个了。所以,我们一般认为NPC问题是难解的问题,因为他不太可能存在一个多项式时间的算法(如果存在则所有的NP问题都存在多项式时间算法,这太不可思议了,但是也不是不可能)。类似哈米尔顿回路/路径问题,货郎担问题,集团问题,最小边覆盖问题(注意和路径覆盖的区别),等等很多问题都是NPC问题,所以都是难解的问题。
分享到:
相关推荐
NP完全问题在计算机科学中是复杂性理论的一个重要概念,主要涉及算法的效率和问题的解法。在处理这些问题时,我们关注的是能否在合理的时间内找到解决方案。本课件聚焦于理解NP完全问题的原理及其对实际问题的影响。...
存在一些问题,如大数分解和图同构问题,它们既不能被证明为P问题也不能被证明为NP-完全问题;以及存在定理表明,如果NP不等于P,那么NP中存在非NP-完全问题。 #### 六、结论 P vs NP问题不仅是理论计算机科学的...
- 子集和问题:给定一组整数,是否存在一个子集,其元素之和等于给定的目标值? #### P vs NP问题 P vs NP问题是理论计算机科学中的一个重大未解决问题,询问的是P问题集是否与NP问题集相等。简单来说,就是询问...
关于P是否等于NP是一个存在了很久的问题,这里不做讨论。 通俗的理解这两个问题的话:在借助计算机的前提下。P问题很容易求解;NP问题不容易求解,但对于某一答案我们可以很快验证这个答案是否正确。 3.NPH...
例如,在优化问题、调度问题、网络设计等多个领域中,NP完全问题的研究成果为寻找近似解提供了理论基础和技术支持。此外,随着量子计算的发展,未来或许能找到更高效的解决NP完全问题的方法。 综上所述,NP完全问题...
在这一领域中,NP完全问题占据着举足轻重的地位,它是理论计算机科学和算法研究中一个难以逾越的难题。通过深入研究NP完全问题,算法设计者不仅可以更加精准地评估算法的效率,还能掌握在面对复杂问题时可能采取的...
[总结]算法中的P问题、NP问题、NP完全问题和NP难问题 - CSDN博客.html
例如,旅行商问题、子集和问题等,虽然我们能快速检查一个给定的解是否正确,但找不到一个确定性多项式时间的算法来生成最优解。 NPC,全称为非确定性多项式完全问题,是NP问题的一个子集。NPC问题有两大特性:首先...
NP完全问题的概述,包括P类、NP类、CNP类问题的介绍。
在计算复杂性理论中,旅行商问题是NP类中的典型问题。 借助一种名为“最大删除法”的全新方法,为其构造了一... 由于这个问题也是NP完全的,因此必然证明P = NP是正确的。 它表明了著名的“ P vs NP”开放问题的破解。
在复杂性类P和NP之外,还有更多的复杂性类别,如NP完全(NP-complete)、NP困难(NP-hard)、随机多项式时间(BPP)等等,它们帮助我们更细致地刻画问题的难度和算法性能的界限。 书中提到的“Godel’s lost letter...
NP完全问题是NP问题中最难的一类,如果一个NP完全问题可以被有效解决,那么所有NP问题都可以在多项式时间内解决。 NP难问题的一个经典例子是旅行商问题(Traveling Salesman Problem,TSP)。这个问题要求找到访问...
简单来说,P类问题是那些可以在多项式时间内求解的问题,而NP类问题是那些能在多项式时间内验证解正确性的问题,但不一定能在多项式时间内找到解。如果P=NP,那么所有NP问题都可以在多项式时间内求解,这将极大地...
在NP完全问题中,有一些典型的问题,比如旅行商问题、图着色问题、子集和问题等。这些问题的共同特点是,虽然它们的解可以在多项式时间内验证,但找到解的过程通常需要指数时间。这意味着随着问题规模的增长,解决...
NP问题包括许多实际生活中的优化问题,如旅行商问题、子集和问题等。对于NP问题,虽然我们不能保证在多项式时间内找到解,但我们可以验证一个潜在解的正确性是在多项式时间内完成的。 **12.1.1 P类问题** P类问题...
研究NP完全问题对于理解计算的局限性和寻找更有效的算法具有重要意义。 这个大学算法课件通过深入讲解这些主题,旨在帮助学生掌握算法设计与分析的基本原理,提升他们解决实际问题的能力,并为他们进一步探索计算机...
在《7-NP完全问题》这个文档中,可能详细讲述了若干个经典的NP-Complete问题,例如旅行商问题(Traveling Salesman Problem)、图着色问题(Graph Coloring Problem)、背包问题(Knapsack Problem)等。这些问题在...
在2010年,HP实验室的研究员Vinay Deolalikar发表了一篇论文,声称证明了复杂度类P与NP之间的分离问题(P≠NP),即证明了不存在能够在多项式时间内解决所有NP完全问题的算法。这一成果引起了计算机科学界的广泛关注,...