P、NP、NP-Hard、NPC问题之间的关系
导语:
探究P、NP、NP-Hard、NPC问题之间的关系
P问题
P问题是能够在多项式时间内求出问题的解,多项式时间就是类似与O(n^{r}),其中r可以为小数。除了平方立方之类的表示之外,O(nlogn)和O(n)之类的更小的复杂度也算是P问题的时间复杂度。也就是说,能够在小与多项式时间内求出问题最优解的就算是P问题。
NP问题
NP问题无法在多项式时间内得出问题的解,不过并不是不能在得出解的问题都是NP问题。NP问题的定义是所有存在有效验证程序的集合。有就是说,我们能够在多项式的时间内得出一个解是否是这个问题正确的解,但是我们没有一个有效的算法求出问题的解。
NP-Complete问题
首先一个NPC问题需要是NP问题,这个NP问题能够通过所有的NP问题规约到他,他就是NPC。也就是说NP问题包含NPC,但是他们不是相等的关系。对于任意给定的NP问题,NPC能够确定这个解是否是给定NP问题的解。所以他是Complete的。
NP-Hard即NP难问题
NP难是形容一个问题”像”NP问题一样的难,但是这个问题不一定就是NP问题。这是一个包含关系,NP难包含NP。