Algorithm NP完全与NP难

Algorithm NP完全与NP难,algorithm,computer-science,np-complete,np,np-hard,Algorithm,Computer Science,Np Complete,Np,Np Hard,我试图理解NP完全和NP难之间的区别 以下是我的理解 NP难问题是在多项式时间内不可解但可在多项式时间内验证的问题。 NP完全问题是NP中的问题,也是NP难问题 上述定义正确吗?如果是这样,那么不是NP问题而是NP难问题呢。它们不是比NP完全问题更难吗,比如说它们只能在指数时间内得到解决和验证 NP难是这个问题的下界。不可能的问题也是NP难问题。NP完全意味着它是NP难的,同时也是NP可解的 可以在多项式时间内验证的问题是NP中问题的定义之一。您的定义仅适用于NP完全 从底部开始:p是一类可由某

我试图理解NP完全和NP难之间的区别

以下是我的理解

NP难问题是在多项式时间内不可解但可在多项式时间内验证的问题。
NP完全问题是NP中的问题,也是NP难问题


上述定义正确吗?如果是这样,那么不是NP问题而是NP难问题呢。它们不是比NP完全问题更难吗,比如说它们只能在指数时间内得到解决和验证

NP难是这个问题的下界。不可能的问题也是NP难问题。NP完全意味着它是NP难的,同时也是NP可解的


可以在多项式时间内验证的问题是NP中问题的定义之一。

您的定义仅适用于NP完全

从底部开始:p是一类可由某些确定性图灵机在多项式时间内求解的问题。NP是一类可由非确定性图灵机在多项式时间内求解(或其解可由确定性图灵机在多项式时间内验证)的问题

至于NP难,它意味着决策问题X具有以下性质:给定一个解决该问题的图灵机,可以在多项式时间内将NP中问题的任何实例重构(图灵化简)为X的实例。非正式地说,这意味着NP难问题是那些“至少和NP一样难”的问题,或者X的解可以应用于NP中的每一个问题。请注意,问题不必在多项式时间内可验证,或者根本不需要实际验证。NP难也包括不可判定和不可识别的问题

我们不知道NP难是否包括可以在多项式时间内解决的问题(p?=NP问题)。目前,还没有一个NP难问题的多项式时间解被找到,但也没有证明这样的解不存在。如果为某个NP难问题X找到了这样的解决方案,这意味着P=NP,因为NP中任何问题的任何实例都可以在多项式时间内转换为X的实例(因为NP难问题的图灵归约特性),然后通过X的多项式时间解在多项式时间内求解。

a

NP
问题(非
NP难
问题)是一个决策问题,可以在多项式时间内得到验证。可能它们在多项式时间内是可解的,因为
P
中的所有问题也在
NP

一个
NP完全
问题是一个决策问题,所有
NP
问题都可以在多项式时间内归结为它。它们是类
NP
中最难的问题

NP-hard
类问题至少与
NP-complete
类问题一样难。它们不一定是决策问题。鉴于我们不知道
NP=p
与否,很难说我们能否在多项式时间内验证
NP-hard
问题


例如,最大团的决策问题(给一个图
G
一个整数
K
,以判断是否存在一个至少有
K
个顶点的完整图)是
NP
问题,也是
NP完全
NP难
问题(在给定的图中找到最大团)不是
NP
NP complete
,因为它不是决策问题。我们可以说它是
NP-hard
,因为它至少和最大团问题的决策版本一样难。

你对NP-hard的定义不正确,它看起来更像(不完全正确)复杂性类NP的定义


什么是复杂性类NP? 一个计算问题
p
如果能够被有效地验证,它就属于复杂度类NP。在复杂度理论中,我们认为需要多项式时间的计算是有效的。因此,形式上
p∈ NP
如果
p
是多项式时间可验证的

在您的定义中,您提到了多项式时间可解的概念,它对应于复杂性类别p。NP完全问题是多项式时间可解的当且仅当p=NP。请注意,著名的是计算机科学中最大的开放问题之一,因此目前没有人知道p=NP还是p⊊ NP,说NP问题不是多项式时间可解的是不恰当的(尽管人们普遍认为是这样)


什么是NP难问题? 直观地说,NP难问题是计算问题,它至少和NP中的问题一样难。当我们说一个计算问题
p
至少和另一个问题
q
一样难时,我们实际上是反过来想的——如果我们能在时间T内解决
p
,那么我们也能在时间T内大致解决
q
与T相同(例如,相差一个多项式因子)

更准确地说,如果有一个从
q
p
,我们说
p
至少和另一个问题
q
一样难。大致来说,多项式时间缩减意味着给定一个解
p
的算法
a
,我们可以使用
a构造一个多项式时间算法
B
e> 作为黑盒(即,我们将
A
的时间复杂度视为
O(1)
)来求解
q

在我们的NP-Hard问题中,如果一个NP-Hard问题可以在多项式时间内求解,那么所有NP问题都可以在多项式时间内求解(因此p=NP!)。因此,人们普遍认为NP-Hard问题不是多项式时间可解的


什么是NP完全问题? 正如您在问题中正确指出的,计算问题
p
如果是NP难
p,则是NP完全的∈ NP


NP难pr