66

当前,在大输入的一般情况下,解决问题或问题是不可行的。但是,两者都可以在指数时间和多项式空间中求解。P S P A C ENPPSPACE

由于我们无法构建不确定的或“幸运的”计算机,因此如果问题是 -complete或 -complete,对我们有什么影响?P S P A C ENPPSPACE

Answers:


82

我已经考虑了很多很好的问题:问题是 -complete还是 -complete 这个事实是否会影响问题的最坏情况下的时间复杂性?P S P A C ENPPSPACE更令人费解的是,这样的区分是否真的会影响实践中问题的“典型案​​例”复杂性?

直觉表明,无论您使用何种复杂性度量,问题都比完全困难。但是情况是微妙的。例如,当且仅当(可满足性,规范问题)在次指数时间内,才可能是(量化布尔公式,规范的问题)在次指数时间内。(一个方向很明显;另一个方向将是一个主要结果!)如果这是正确的,那么也许从“我只是想解决这个问题”的角度来看,问题是否是 -complete 并不重要或N P Q B F P S P A C E S A T N P P S P A C E N PPSPACENPQBFPSPACESATNPPSPACENP-complete:无论哪种方式,针对一个的次指数算法都意味着针对另一个的次指数算法。

让我成为魔鬼的拥护者,并举一个例子,其中一个问题碰巧比另一个问题“难”,但事实却比另一个问题“更容易解决”。

令为变量的布尔公式,其中为偶数。假设您要选择的两个公式之间有一个选择:n nF(x1,,xn)nn

Φ1=(x1)(x2)(xn1)(xn)F(x1,,xn)

Φ2=(x1)(x2)(xn1(xn)F(x1,,xn)

(也就是说,在,量词交替出现。)Φ2

您认为哪一个更容易解决?类型的公式,或类型的公式?Φ1Φ2

有人会认为,显而易见的选择是,因为它只有可以决定它,而是问题。但是实际上,根据我们最著名的算法,是一个更简单的问题。我们不知道如何以不到步长来求解一般。(如果我们能做到这一点,我们就会有新的公式大小下限!)但是就可以轻松解决任何在随机时,使用随机博弈树搜索!有关参考,请参阅Motwani和Raghavan中的第2章第2.1节。 Ñ P Φ 2 P 小号P Ç ë Φ 2 Φ 1 ˚F 2 Ñ Φ 2 ˚F Ô 2 0.793 ÑΦ1NPΦ2PSPACEΦ2Φ1F2nΦ2FO(2.793n)

直觉是,添加通用量词实际上会约束问题,使其更容易解决而不是更加困难。游戏树搜索算法严重依赖于具有交替量词,并且无法处理任意量词。尽管如此,问题仍然存在,即使在另一种衡量标准下问题看起来“较难”,有时在某些复杂性度量下问题仍可能变得“更简单”。


16
好的答案,很有趣。
Suresh Venkat

在我看来,以上内容很好地说明了“细粒度的复杂性”(Simons Institute于2015年秋季开设的课程)的含义。关键思想之一是,复杂性理论看起来可能完全不同,而不是试图为每个问题找到一个“可能是“完全”问题的(可能离奇的)计算模型,而只是专注于理解最佳运行时间。这个问题的指数。
瑞安·威廉姆斯

37

这很重要,因为与我们能否找到解决方案相比,所面临的风险更大。同样令人感兴趣的是我们是否可以验证解决方案。在问题的难度之间还可以进行其他定性的区分,但是对于NP与较大的复杂性类别,这将是我确定为最重要的类别。

对于决策问题(每个实例的回答为“ ”或“ ”的问题),NP正是这类问题,对于以下问题,我们可以有效地确定一个给定实例为“ ”实例的声称证据,如果我们被呈现一个。例如,如果您对3-SAT实例具有令人满意的变量分配,则该分配使您可以有效地证明该实例是可满足的。很难找到这样令人满意的分配,但是一旦有了一个分配,就可以轻松地向其他人证明该实例是令人满意的,只需让他们验证找到的解决方案即可。

类似地,对于coNP,存在针对“ NO ”实例的有效可检查的证明。并在问题NP  ∩  CONP,你可以两者都做。但是对于PSPACE完全问题,不存在这样的过程—除非您能证明复杂度类的某些相当壮观的等式。


我认为问题在于NP完全问题和PSPACE完全问题的“优化”版本。例如,找到针对SAT和QBF的解决方案之间(就复杂性而言)有什么区别吗?更一般而言,是否存在决策版本为NP完整或PSPACE完整的优化问题的特征?
拉明

@Lamine:我没有发现您在问题中所做的区分(至少在决策和完全优化之间)。也许您的意思是,提问者仅对找到答案所需的资源问题感兴趣,而对解决该问题的其他难度不感兴趣,在这种情况下,我同意我的回答不回答此问题。无论如何,以上是我对这个问题的回答。
Niel de Beaudrap 2011年

5
很好的答案。
戴夫·克拉克

有效验证的能力无助于计算解决方案(除非P = NP)。NP和co-NP允许通过猜测和验证来解决问题。这种方法易于实现,甚至可能更有效,但在最坏的情况下却无济于事。
安德拉斯·萨拉蒙

@András:是的,因此,我强调寻找解决方案并不是我回答的序言中唯一重要的事情。
Niel de Beaudrap 2011年

36

我们不知道如何从(最坏情况)NP完全问题中建立平均情况下的难题,但是我们可以为PSPACE做到这一点(请参阅Köbler&Schuler(1998)),即使在均匀分布上也无法解决问题。除非所有PSPACE都易于计算,否则大多数输入都可以解决。


20

从实际的角度来看,重要的是要记住,NP的完整性并不是实践中许多问题的障碍。SAT求解器和CPLEX(用于整数线性编程)的双重工具功能强大且设计精良,因此通常可以通过将问题定为合适的ILP或简化为SAT来解决NP完全问题的大型实例。

我不知道解决PSPACE问题的类似设计良好的求解器。


11
有一项旨在提高QBF求解器年度竞赛。我没有用太多。
Radu GRIGore 2011年

7

您可能会这样想:数学问题是否具有人类可读的证明,或者其固有地需要“计算机证明”。示例:跳棋的起始位置是否平局?(回答:是的。)国际象棋的起始位置对白人是胜利吗?(答案:未知,但大多数研究生认为这是平局。)

要证明棋盘格的起始位置是平局,最终需要证明计算机确实确实验证了许多特殊情况。如果存在有关国际象棋的证明,则可能需要人类读者接受一台计算机正确验证了甚至更多特殊情况的证据。很有可能没有更短的方法来证明这些陈述。这些是PSPACE中的问题。如果在NP中问题只是“正当的”,那么(直觉上)人类可以将整个证据保留在他/她的脑海中。当然,那个人可能需要成为一个非常专业的数学家。

n1000000


还可以说coNP完全性问题存在(有时)需要“计算机证明”的问题吗?
菲利普·怀特

@Philip White:我认为不一样。在coNP中说“棋子”。要说不,我要做的就是演示一条易于验证的强制行。但是,我们希望,即使存在这样的界限,也可能很难证明它确实是“强迫”的。因此,如果可以在特定方向上解决问题,则无法保证其简单性。“象棋是平局”可能固有地需要计算机来证明它是对还是错。
亚伦·斯特林

5

根据Suresh的评论,实践上似乎有很大的不同。有些启发式方法设法利用实际SAT实例的结构并获得出色的性能(我在这里指的是冲突驱动的从句学习求解器)。相同的启发式方法不会在QBF求解器中产生类似的性能改进。

证明和验证之间的区别也显示出来。一些SAT求解器(例如MiniSAT 1.14和许多其他求解器)会产生证明。在当前的QBF求解器中生成证明并非易事。(下一条陈述来自传闻)QBF竞赛中有很多情况下,求解器显然会产生不同的结果。在没有生成证明的求解器的情况下,我们不知道哪个结果是正确的。


0

如果您查看SAT和国际象棋的实际性能,则存在差异-NP完全问题比PSPACE完全问题更容易处理。如今的SAT求解器可以处理上千个变量,但是在相同的时间内,最好的国际象棋引擎只能计算少于20个动作。

我猜这是由于问题的结构。是的,如果您只列举解决方案,那么SAT的解决速度将非常慢。但是由于它没有量词的替换,人们发现了公式中的结构,因此避免了很多枚举。我认为Ryan Williams忽略了这一点。

使用量词替换,是的,有一些聪明的修剪方法,但结构仍然不如CNF公式丰富。

让我预测未来。SAT求解将通过检查公式并基本上避免搜索而使其变为P,而国际象棋将通过利用游戏树中的搜索而使其变为P。

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.