所有的 NP 问题也是 NP 完全的吗?
Posted
技术标签:
【中文标题】所有的 NP 问题也是 NP 完全的吗?【英文标题】:Are all NP problems also NP-complete? 【发布时间】:2011-11-14 02:47:27 【问题描述】:NP-complete的定义是
如果问题是 NP 完全的,如果
-
属于NP类
NP 多项式中的所有其他问题都转换为它
那么,如果 NP 中的所有其他问题都转换为 NP 完全问题,那么这是否也意味着所有 NP 问题也是 NP 完全问题?如果两者相同,分类有什么意义?
换句话说,如果我们有一个 NP 问题,那么通过 (2) 这个问题可以转化为一个 NP 完全问题。因此,NP 问题现在是 NP-完全的,并且 NP = NP-完全。两个类是等价的。
只是想自己澄清一下。
【问题讨论】:
旧评论已被删除,因为它不正确 - 不过,这里有一个有趣的 NP \ (P $U$ NP-C) 问题列表。 cstheory.stackexchange.com/questions/79/… 我认为我说的这个评论是错误的。以下是正确的理解吗? : Problem in NP \ (PU NP-C) = NP-I can reduce to NP-C questions ,并有效地解决这个问题,映射解决方案。 【参考方案1】:所有的 NP 问题都是 NP 完全的吗?
Only if P = NP.
【讨论】:
很好的可视化,但它没有解释定义中的矛盾或问题中写的推理错误。【参考方案2】:不一定。 NP 可能是已知的上限(即,我们知道如何在非确定性多项式时间内求解)但不是已知的下限(可能存在也可能不存在更有效的算法)。
这种问题的一个例子是graph isomorphism。
您的句子“如果我们有一个 NP 问题,那么 [...] 这个问题可以转化为一个 NP 完全问题”是不正确的,原因很简单:P 中的任何问题也在 NP 中,但在P 是 NP 完全的(当然,除非 P=NP)。
【讨论】:
如果 P 在 NP 中,并且所有 NP 问题都转换为 NP-完全问题,因此 P 也必须转换为 NP-完全。【参考方案3】:如果问题A
多项式转换为问题B
,这并不一定意味着问题B
多项式转换为问题A
。一个问题只能归结为一个同等或更高难度的问题。
如果问题C
在 NP 中,但不是 NP 完全问题,那么它可以多项式转化为任何 NP 完全问题,但这不足以使其成为 NP 完全问题,因为它并不意味着NP多项式中的所有其他问题都转换为问题C
。
【讨论】:
【参考方案4】:至少应该有可能证明许多 NP 完全问题也在 P 中。例如从一组奇数中的复合奇数中筛选奇素数的问题。有可能在 P 中推导出一个方法来做这件事。验证方法也可以在 P 中,如下链接所述。
https://www.academia.edu/s/bcb7736e1e/proof-of-the-p-verses-np-problem-part-two?source=link
以哥德巴赫猜想问题为例,可以证明为NP完全,素数加起来大于2的偶数可以在线性时间内得到。每个哥德巴赫数都有其自己的特征线,哥德巴赫点作为具有加起来为戈尔巴赫数的质数坐标的点。有关详细信息,请参阅下面的链接:
https://www.academia.edu/35904487/Proof_of_the_P_verses_NP_problem-part_one
【讨论】:
【参考方案5】:我只想指出另一个答案中显示 P=NP=NPC(if P=NP) 的图是错误的。有 2 种情况:空语言 ϵ 及其在 P 中的补集 ∑∗ 永远不可能是 NPC。因为如果这两个在 NPC 中,我们不能将 P/NP 中任何有实例的语言映射到 ϵ,而将 P/NP 中没有实例的任何语言映射到 ∑∗,这与 NPC 的定义相矛盾:任何 NP 都可以简化为NPC。
【讨论】:
以上是关于所有的 NP 问题也是 NP 完全的吗?的主要内容,如果未能解决你的问题,请参考以下文章