所有的NP问题都是NP完全的吗?

时间:2011-09-09 21:17:34

标签: computer-science complexity-theory np-complete np

NP-complete的定义是

如果

,则问题是NP完全
  1. 它属于NP类
  2. NP中的所有其他问题多项式转换为
  3. 因此,如果NP中的所有其他问题都转化为NP完全问题,那么这是否也意味着所有NP问题也是NP完全的?如果它们是相同的,那么对两者进行分类有什么意义呢?

    换句话说,如果我们有NP问题那么通过(2)这个问题可以转化为NP完全问题。因此,NP问题现在是NP完全的,NP = NP完全。这两个类都是等价的。

    试图为自己澄清这一点。

5 个答案:

答案 0 :(得分:12)

  

所有NP问题都是NP完全吗?

Only if P = NP.

enter image description here

答案 1 :(得分:4)

不一定。可能会发生NP是已知的上界(即我们知道如何在非确定性多项式时间内解决它),但不是已知的下界(更高效的算法可能存在或可能不存在)。

此类问题的一个例子是graph isomorphism

你的句子“如果我们有NP问题那么[...]这个问题可以转化为NP完全问题”是不正确的,原因如下:P中的任何问题也在NP中,但是没有问题P是NP完全的(除非P = NP,当然)。

答案 2 :(得分:0)

如果问题A多项式转换为问题B,则这并不一定意味着问题B会多项式转换为问题A。问题只能解决为难度相等或更大的问题。

如果问题C在NP中,但不是NP完全的,那么它可以多项式转换为任何NP完全问题,但这还不足以使其完全NP,因为它不是暗示NP中的所有其他问题多项式转换为问题C

答案 3 :(得分:0)

至少应该可以证明在P中还存在许多NP完全问题。例如,从一组奇数中的复合奇数中筛选奇数素数的问题。可以在P中导出一个方法。验证方法也可以在P中,如下面的链接所述。

https://www.academia.edu/s/bcb7736e1e/proof-of-the-p-verses-np-problem-part-two?source=link

考虑到Goldbach猜想问题,可以证明NP完全,在线性时间内可以得到大于2的偶数的素数。每个Goldbach数都有自己的特征线,Goldbach点作为点,其中主要坐标与Golbach数相加。有关详细信息,请参阅以下链接:

https://www.academia.edu/35904487/Proof_of_the_P_verses_NP_problem-part_one

答案 4 :(得分:0)

我只想指出另一个答案中显示 P=NP=NPC(if P=NP) 的数字是错误的。有两种情况:空语言 ϵ 和它在 P 中的补语 ∑∗ 永远不可能是 NPC。因为如果这两个在 NPC 中,我们不能将 P/NP 中任何有 yes 实例的语言映射到NPC。