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

Computer science 所有的NP问题都是NP完全的吗?,computer-science,complexity-theory,np-complete,np,Computer Science,Complexity Theory,Np Complete,Np,NP完全的定义是 一个问题是NP完全的,如果 它属于NP类 NP多项式中的所有其他问题都转化为它 所以,如果NP中的所有其他问题都转化为NP完全问题,那么这不也意味着所有NP问题都是NP完全问题吗?如果两者相同,那么对它们进行分类有什么意义 换句话说,如果我们有一个NP问题,那么通过(2)这个问题可以转化为NP完全问题。因此,NP问题现在是NP完全问题,NP=NP完全问题。这两个类是等效的 我只是想为自己澄清一下 所有的NP问题都是NP完全的吗 不一定。NP可能是一个已知的上界(即我们知道如何

NP完全的定义是

一个问题是NP完全的,如果

  • 它属于NP类
  • NP多项式中的所有其他问题都转化为它
  • 所以,如果NP中的所有其他问题都转化为NP完全问题,那么这不也意味着所有NP问题都是NP完全问题吗?如果两者相同,那么对它们进行分类有什么意义

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

    我只是想为自己澄清一下

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


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

    这类问题的一个例子是


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

    如果问题
    A
    多项式转化为问题
    B
    ,这并不一定意味着问题
    B
    多项式转化为问题
    A
    。一个问题只能归结为同等或更大难度的问题


    如果问题
    C
    是NP问题,但不是NP完全问题,那么它可以多项式变换成任何NP完全问题,但这还不足以使其成为NP完全问题,因为这并不意味着NP多项式中的所有其他问题都会转化为问题
    C

    ,至少可以证明p中也存在许多NP完全问题。例如,从奇数集合中的复合奇数中筛选奇数素数的问题。有可能在P中推导出一种方法来做这件事。验证方法也可以用P表示,如下链接所述

    以哥德巴赫猜想问题为例,它可以被证明是NP完全的,在线性时间内可以得到大于2的偶数的素数。每个哥德巴赫数都有自己的特征线,哥德巴赫点是素数坐标加起来就是哥尔巴赫数的点。有关更多信息,请参阅下面的链接:


    我只想指出另一个答案中显示p=NP=NPC(如果p=NP)的数字是错误的。有两种情况:空语言ϵ及其补语∑∗ 在P中永远不可能是NPC。因为如果这两种语言在NPC中,我们不能将P/NP中有yes实例的任何语言映射到ϵ,也不能将P/NP中没有实例的任何语言映射到∑∗, 这与NPC的定义相矛盾:任何NP都可以简化为NPC。

    如果p在NP中,并且所有NP问题都转化为NP完全问题,因此p也必须转化为NP完全问题。旧的评论被删除,因为它不正确-不过,这里有一个有趣的NP \(p$U$NP-C)问题列表。我认为我说的这个评论是错误的。以下是正确的理解吗NP \(P U NP-C)=NP-I中的问题可以简化为NP-C问题(因此,如果一个NP-C问题可以有效地解决,那么我们可以将NP-I问题转化为NP-C问题,并有效地解决,将解决方案映射回原处。很好的可视化,但它不能解释问题中定义的矛盾或推理的错误。