决策问题与并非是或不是的“实际”问题


36

我在很多地方都读到有些问题很难近似( NP很难近似 )。但是,逼近并不是一个决定性的问题:答案是一个实数,而不是是或否。同样对于每个所需的逼近因子,有许多正确的答案和许多错误的答案,并且随着所需的逼近因子而变化!

因此,如何说这个问题是NP问题呢?

(灵感来自有向图中计算两个节点之间的简单路径的数量有多困难?)中的第二个项目符号。)

Answers:


27

正如您所说,尚无决策,因此需要新的复杂度类别和新的归约类型,才能为优化问题确定合适的NP硬度定义。

一种实现方法是拥有两个包含优化问题的新NPO和PO类,它们当然会模拟决策问题的NP和P类。还需要新的减少。然后,我们可以按照成功解决决策问题的方法,为优化问题重新创建NP-hardness版本。但是首先我们必须同意什么是优化问题。

定义:令O=(X,L,f,opt)是一个优化问题。X是适合编码为字符串的一组输入或实例。L是每个实例映射函数x∈X到一组串,该可行解实例的x。这是一个集合,因为有许多优化问题的解决方案。因此,我们没有一个目标函数 f可以告诉我们每一对(x,y) y∈L(x)的实例和它的溶液的成本或值。opt告诉我们,无论我们是最大化或最小化。

这使我们能够定义什么的最佳解决方案是:让yopt∈L(x)是最佳的解决方案的实例的x∈X优化-问题的O=(X,L,f,opt)与

f(x,yopt)=opt{f(x,y′)∣y′∈L(x)}.
最佳解通常用表示y∗。

现在我们可以定义类NPO:让NPO是所有优化问题的集合,O=(X,L,f,opt)其中:

  1. X∈P
  2. 有一个多项式带| y | ≤ p (| X |)对所有实例X ∈ X和所有可行的解决方案Ý ∈ 大号(X )。此外还有一个确定性的算法,在多项式时间内是否决定Ý ∈ 大号(X )。p|y|≤p(|x|)x∈Xy∈L(x)y∈L(x)
  3. 可以用多项式时间求值。f

它的直觉是:

  1. 我们可以有效地验证是否实际上是优化问题的有效实例。x
  2. 的可行解的大小是在输入端的大小多项式为界,而且我们可以有效地验证如果是该实例的fesible溶液X。y∈L(x)x
  3. 溶液的值可以有效地确定。y∈L(x)

这反映了现在如何为PO定义情况:令P O为N P O的所有问题的集合,这些问题可以通过多项式时间内的确定性算法解决。NPPONPO

现在我们能够定义我们要调用的近似算法:一种近似算法的优化,问题的是计算一个可行的解决方案的算法Ÿ ∈ 大号(X )为一个实例X ∈ X。O=(X,L,f,opt)y∈L(x)x∈X

注意:我们不要求最佳解决方案,而只是寻求可行的解决方案。

现在,我们有两种类型的错误:该绝对误差的可行解的的实例的X ∈ X优化-问题的ø = (X ,大号,˚F ,ö p 吨)是| f (x ,y )− f (x ,y ∗)| 。y∈L(x)x∈XO=(X,L,f,opt)|f(x,y)−f(x,y∗)|

我们称之为近似算法的绝对误差用于优化-问题Ø所界定ķ如果算法一个为每个实例单位计算X ∈ X一个可行的与有界的绝对误差的解决方案ķ。AOkAx∈Xk

示例:根据变色定理,图的色指数(边缘着色中使用的颜色最少的颜色数)是或Δ + 1,其中Δ是最大结点度。根据定理的证明,可以设计出一种近似算法,用于计算Δ + 1种颜色的边缘着色。因此,我们有一个关于M i n i m u m - E d g e C o l o r i n的近似算法ΔΔ+1ΔΔ+1问题,绝对误差以 1为界。Minimum−EdgeColoring1

这个例子是一个例外,小绝对误差是罕见的,因而我们定义相对误差 的逼近算法的甲在实例X优化-问题的ø = (X ,大号,˚F ,ö p 吨)与˚F (X ,ÿ )> 0对于所有X ∈ X和ÿ ∈ 大号(X )是ϵA(x)AxO=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)

ϵA(x):={0f(x,A(x))=f(x,y∗)|f(x,A(x))−f(x,y∗)|max{f(x,A(x)),f(x,y∗)}f(x,A(x))≠f(x,y∗)

其中是由近似算法计算的可行解。甲A(x)=y∈L(x)A

现在,我们可以定义近似算法用于优化-问题是一个 -近似算法为如果相对误差为界对于每个实例,因此 Ô = (X ,大号,˚F ,ö p 吨)δ Ô ε 甲(X )δ ≥ 0 X ∈ X ε 甲(X )≤ δAO=(X,L,f,opt)δOϵA(x)δ≥0x∈X

ϵA(x)≤δ∀x∈X.

在相对误差定义的分母中选择,以使定义对称,以最大化和最小化。相对误差。在出现最大化问题的情况下,解的值永远不会小于并且永远不会大于用于最小化问题。ε 甲(X )∈ [ 0 ,1 ] (1 - ε 甲(X ))⋅ ˚F (X ,ÿ *)1 /(1 - ε 甲(X ))⋅ ˚Fmax{f(x,A(x)),f(x,y∗)}ϵA(x)∈[0,1](1−ϵA(x))⋅f(x,y∗)1/(1−ϵA(x))⋅f(x,y∗)

现在,如果存在一个以多项式时间运行的的近似算法,我们可以调用一个优化问题 -approximable 。δ 一个ØδδAO

我们不想查看每个实例的错误,只查看最坏情况。因此,我们定义,则最大relativ误差的近似算法的用于优化-问题是 ϵ A(n )A O ϵ A(n )= sup { ϵ A(x )∣ | x | ≤ ñ } 。xϵA(n)AO

ϵA(n)=sup{ϵA(x)∣|x|≤n}.

凡应该是实例的大小。|x|

示例:通过将所有从匹配到顶点覆盖的入射节点相加,可以将图中的最大匹配转换为最小节点覆盖因此边缘被覆盖。由于每个包含最优顶点的顶点覆盖必须具有每个覆盖边的节点之一,否则可以对其进行改进,因此我们得到。因此, 因此,用于最大匹配的贪婪算法为近似值算法。因此是。1 / 2 ·&| C | 1 / 2 ·&| C | ⋅ ˚F (X ,ÿ *)| C | − f (x ,y ∗)C1/2⋅|C|1/2⋅|C|⋅f(x,y∗) 1/2中号我Ñ我中号一升-VËř吨ËXÇÒvéř中号我Ñ我中号一升-VËř吨ËXÇÒvë- [R1/2

|C|−f(x,y∗)|C|≤12
1/2Minimal−VertexCoverMinimal−VertexCover1/2

不幸的是,相对误差并不总是最佳的近似质量概念,如以下示例所示:

示例:一个简单的贪心算法可以近似。分析显示,因此将是 -近似的。| C |Minimum−SetCover中号我Ñ我中号Ü中号-šË吨ÇÒvëřLN(Ñ)

|C||C∗|≤Hn≤1+ln⁡(n)
Minimum−SetCoverln⁡(n)1+ln⁡(n)

如果相对误差接近于则以下定义​​是有利的。1

让是一个优化-问题对于所有和和的近似算法为。实例的可行解的近似比率为 ˚F (X ,ÿ )> 0 X ∈ X Ý ∈ 大号(X )甲Ô ř 甲(X )甲(X )= Ý ∈ 大号(X )X ∈ X r A(x )= { 1 f (O=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)AO rA(x)A(x)=y∈L(x)x∈X

rA(x)={1f(x,A(x))=f(x,y∗)max{f(x,A(x))f(x,y∗),f(x,y∗)f(x,A(x))}f(x,A(x))≠f(x,y∗)

我们称之为一个近似算法之前一个 -近似算法的优化-问题如果近似比是由有界对于每个输入。 再一次,如果对于优化问题我们有一个近似算法,那么称为近似。同样,我们只关心最坏的情况,并将最大近似比率为 - [R ø ř 甲(X )- [R ≥ 1 X ∈ X ř 甲(X )≤ [R [R 甲ö ø - [R [R 阿(Ñ )- [R 阿(Ñ )= SUP { ř 甲(X )| | x | ≤ ñ } 。1 中号我Ñ 我米ù 米-ArOrA(x)r≥1x∈X

rA(x)≤r
rAOOr rA(n)
rA(n)=sup{rA(x)∣|x|≤n}.
因此,对于次优解,近似比率大于。因此,更好的解决方案具有较小的比率。对于我们现在可以写成它是 -近似的。在情况下,我们从前面的示例知道它是近似的。在相对误差和近似比率之间,我们有简单的关系: 1Minimum−SetCover(1+ln⁡(n))Minimum−VertexCover2
rA(x)=11−ϵA(x)ϵA(x)=1−1rA(x).

对于与最佳和的较小偏差,相对误差优于近似比率,这表明其在较大偏差和。ϵ<1/2r<2ϵ≥1/2r≥2

-approximable 的两个版本不重叠,因为一个版本始终为,而另一个版本始终为。的情况是没有问题的,因为只有通过产生精确解的算法才能解决此问题,因此不必将其视为近似算法。αα≤1α≥1α=1

经常出现另一类APX。它被定义为一组所有优化-问题从是天堂的 -近似算法与,在多项式时间内运行。ONPOrr≥1

我们快完成了。愿我们的成功理念复制的减少和completness从复杂性理论。可以观察到,优化问题的许多NP硬决策变量可以彼此简化,而它们的优化变量在逼近性方面具有不同的属性。这是由于在NP不完全性减少中使用的多项式时间Karp减少,它不保留目标函数。即使保留了目标函数,多项式时间-Karp归约法也可能改变解的质量。

我们需要的是简化的更强版本,它不仅将实例从优化问题映射到实例,而且还将良好解决方案映射到良好解决方案。O1O2O2O1

因此,我们从定义了两个优化问题和的近似保留约简。如果存在两个函数和以及一个常数,我们将还原为,写为:O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1≤APO2ghc

  1. g(x1,r)∈X2对于所有且有理x1∈X1r>1
  2. L2(g(x,r1))≠∅如果所有且有理L1(x1)≠∅x1∈X1r>1
  3. h(x1,y2,r)∈L1(x1)对于所有且有理,对于所有x1∈X1r>1y2∈L2(g(x1,r))
  4. 对于固定的,函数和可以通过两种算法在其输入长度的多项式时间内进行计算。rgh
  5. 我们有对所有和有理且对于所有
    f2(g(x1,r),y2)≤r⇒f1(x1,h(x1,y2,r))≤1+c⋅(r−1)
    x1∈X1r>1y2∈L2(g(x1,r))

在这个定义中,和取决于解的质量。因此,对于不同的质量,功能可能会有所不同。不一定总是需要这种通用性,我们只需使用和。ghrg(x1)h(x1,y2)

现在我们有了减少优化问题的想法,我们终于可以转移我们从复杂性理论中学到的许多知识。例如,如果我们知道中的并且显示那么它也将跟随中的。O2∈APXO1≤APO2O1∈APX

最后,我们可以定义 -hard和 -complete表示优化问题的含义:CC

让从优化-问题和一类的优化-从问题的然后被称为 -hard相对于如果对所有成立。ONPOCNPOOC≤APO′∈C O′≤APO

因此,我们再次有了班上最困难的问题的观念。并不奇怪一个 -hard问题称为 -complete相对于如果是的元素。CC≤APC

因此,我们现在可以讨论和等。当然,现在要求我们展示第一个问题,该问题承担的角色。可以很自然地证明是完整的。借助PCP定理,甚至可以证明是。NPOAPXNPOSATWeighted−SatisfiabilityNPOMaximum−3SATAPX


11
哦,请为这篇较长的帖子接受我的道歉,但是我没有时间写一个简短的帖子。
— 乌里2012年

1
当然,最重要的一点是,通过PCP定理,您可以将MAX3SAT和SAT链接起来,从而表明,将MAX 3SAT逼近比某个常数要难于NP。从某种意义上讲,这相当于库克-莱文定理。
— Suresh 2012年

1
@Suresh当然,但是据我所知,您提到的这个结果需要减少差距。而且,正如您已经在您的帖子中写到的那样,我不想在这里重复它们。
— 乌里

好答案,+ 1!我想知道您的答案是否基于某些参考?
— 蒂姆(Tim)

@Tim当然有书,我在另一个答案
— uli 2012年

19

通常显示的是问题的“差距”版本的NP硬度。例如,假设您要显示很难将SET COVER近似为2的因数。

您定义了SET COVER的以下“ promise”实例,我们将其称为2-GAP-SET-COVER:

固定一些数字。2-GAP-SET-COVER包含所有封面的实例,其中最佳封面的大小为:ℓ

  • 最多ℓ
  • 至少2ℓ

假设我们表明确定一个问题属于两种情况的问题是NP完全的。然后,我们证明了将SET COVER逼近2倍是NP-hard的,因为我们可以使用这种算法来区分这两种情况。


4

现有的两个答案非常有帮助,但我认为它们中的任何一个都不能真正回答这个问题,即“当NP是一类决策问题时,哪怕不是决策问题的问题也很难解决? ?

答案是记住NP-hard的含义。如果将NP中的每个问题都可以简化为那么问题 在某种简化下是NP难的  。(如果  是NP困难的,则是NP完全的;在NP中是。)非正式地,NP困难的意思是“即使我能解决这个问题,我也能解决NP中的所有问题”,即使您正在谈论的问题是“ t在NP中。NP硬度不需要NP的成员身份,但确实需要还原的正确概念。LLL

一些例子。

  1. 在多项式时间多一减法下,任何NEXPTIME完全问题 都是NP难的。NP中的任何问题都在NEXPTIME中,因此可以定义为 根据时间层次定理,  不能在NP中,因此   不是NP完全的。LLLL
  2. #SAT是计算CNF公式的满意分配数量的问题。显然,它不在NP中,因为如您所见,NP是一类决策问题,而#SAT并不是其中的一个。但是,在多项式时间Turing约简下,#SAT是NP-hard的,因为我们可以将SAT降低到它。给定一个SAT实例,我们询问有多少令人满意的作业:如果至少有一个,则说“可满足”;否则为“无法满足”。
  3. 令APPROXSAT为计算数字的问题,该数字在CNF公式的满意分配数的十倍之内  。只是令人讨厌,假设您允许四舍五入,因此,如果  具有三个令人满意的分配,则该算法可以考虑为“ 0.3”并将其四舍五入为零。在多项式时间Turing约简下,这是NP难的,因为我们仍然可以将SAT降低到它。给定一个CNF公式 ,要求满足的满意分配数,其中  是新变量。 只有在  是的情况下,是可满足的,但是φ φφφφŽ 我φ ' φ φ ' φ φ 'φ′=φ∧(Z1∨⋯∨Z10)Ziφ′φφ′  则保证具有1,000多个令人满意的分配。因此, 仅当APPROXSAT算法说  具有至少100个令人满意的分配时,才是可满足的。φφ′
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.