NP-complete的定义是
如果
,则问题是NP完全因此,如果NP中的所有其他问题都转化为NP完全问题,那么这是否也意味着所有NP问题也是NP完全的?如果它们是相同的,那么对两者进行分类有什么意义呢?
换句话说,如果我们有NP问题那么通过(2)这个问题可以转化为NP完全问题。因此,NP问题现在是NP完全的,NP = NP完全。这两个类都是等价的。
试图为自己澄清这一点。
答案 0 :(得分:12)
答案 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。