当前,在大输入的一般情况下,解决问题或问题是不可行的。但是,两者都可以在指数时间和多项式空间中求解。P S P A C E
由于我们无法构建不确定的或“幸运的”计算机,因此如果问题是 -complete或 -complete,对我们有什么影响?P S P A C E
当前,在大输入的一般情况下,解决问题或问题是不可行的。但是,两者都可以在指数时间和多项式空间中求解。P S P A C E
由于我们无法构建不确定的或“幸运的”计算机,因此如果问题是 -complete或 -complete,对我们有什么影响?P S P A C E
Answers:
我已经考虑了很多很好的问题:问题是 -complete还是 -complete 这个事实是否会影响问题的最坏情况下的时间复杂性?P S P A C E更令人费解的是,这样的区分是否真的会影响实践中问题的“典型案例”复杂性?
直觉表明,无论您使用何种复杂性度量,问题都比完全困难。但是情况是微妙的。例如,当且仅当(可满足性,规范问题)在次指数时间内,才可能是(量化布尔公式,规范的问题)在次指数时间内。(一个方向很明显;另一个方向将是一个主要结果!)如果这是正确的,那么也许从“我只是想解决这个问题”的角度来看,问题是否是 -complete 并不重要或N P Q B F P S P A C E S A T N P P S P A C E N P-complete:无论哪种方式,针对一个的次指数算法都意味着针对另一个的次指数算法。
让我成为魔鬼的拥护者,并举一个例子,其中一个问题碰巧比另一个问题“难”,但事实却比另一个问题“更容易解决”。
令为变量的布尔公式,其中为偶数。假设您要选择的两个公式之间有一个选择:n n
。
(也就是说,在,量词交替出现。)
您认为哪一个更容易解决?类型的公式,或类型的公式?
有人会认为,显而易见的选择是,因为它只有可以决定它,而是问题。但是实际上,根据我们最著名的算法,是一个更简单的问题。我们不知道如何以不到步长来求解一般。(如果我们能做到这一点,我们就会有新的公式大小下限!)但是就可以轻松解决任何在随机时,使用随机博弈树搜索!有关参考,请参阅Motwani和Raghavan中的第2章第2.1节。 Ñ P Φ 2 P 小号P 甲Ç ë Φ 2 Φ 1 ˚F 2 Ñ Φ 2 ˚F Ô (2 0.793 Ñ)
直觉是,添加通用量词实际上会约束问题,使其更容易解决而不是更加困难。游戏树搜索算法严重依赖于具有交替量词,并且无法处理任意量词。尽管如此,问题仍然存在,即使在另一种衡量标准下问题看起来“较难”,有时在某些复杂性度量下问题仍可能变得“更简单”。
这很重要,因为与我们能否找到解决方案相比,所面临的风险更大。同样令人感兴趣的是我们是否可以验证解决方案。在问题的难度之间还可以进行其他定性的区分,但是对于NP与较大的复杂性类别,这将是我确定为最重要的类别。
对于决策问题(每个实例的回答为“ 是 ”或“ 否 ”的问题),NP正是这类问题,对于以下问题,我们可以有效地确定一个给定实例为“ 是 ”实例的声称证据,如果我们被呈现一个。例如,如果您对3-SAT实例具有令人满意的变量分配,则该分配使您可以有效地证明该实例是可满足的。很难找到这样令人满意的分配,但是一旦有了一个分配,就可以轻松地向其他人证明该实例是令人满意的,只需让他们验证找到的解决方案即可。
类似地,对于coNP,存在针对“ NO ”实例的有效可检查的证明。并在问题NP ∩ CONP,你可以两者都做。但是对于PSPACE完全问题,不存在这样的过程—除非您能证明复杂度类的某些相当壮观的等式。
我们不知道如何从(最坏情况)NP完全问题中建立平均情况下的难题,但是我们可以为PSPACE做到这一点(请参阅Köbler&Schuler(1998)),即使在均匀分布上也无法解决问题。除非所有PSPACE都易于计算,否则大多数输入都可以解决。
从实际的角度来看,重要的是要记住,NP的完整性并不是实践中许多问题的障碍。SAT求解器和CPLEX(用于整数线性编程)的双重工具功能强大且设计精良,因此通常可以通过将问题定为合适的ILP或简化为SAT来解决NP完全问题的大型实例。
我不知道解决PSPACE问题的类似设计良好的求解器。
您可能会这样想:数学问题是否具有人类可读的证明,或者其固有地需要“计算机证明”。示例:跳棋的起始位置是否平局?(回答:是的。)国际象棋的起始位置对白人是胜利吗?(答案:未知,但大多数研究生认为这是平局。)
要证明棋盘格的起始位置是平局,最终需要证明计算机确实确实验证了许多特殊情况。如果存在有关国际象棋的证明,则可能需要人类读者接受一台计算机正确验证了甚至更多特殊情况的证据。很有可能没有更短的方法来证明这些陈述。这些是PSPACE中的问题。如果在NP中问题只是“正当的”,那么(直觉上)人类可以将整个证据保留在他/她的脑海中。当然,那个人可能需要成为一个非常专业的数学家。
如果您查看SAT和国际象棋的实际性能,则存在差异-NP完全问题比PSPACE完全问题更容易处理。如今的SAT求解器可以处理上千个变量,但是在相同的时间内,最好的国际象棋引擎只能计算少于20个动作。
我猜这是由于问题的结构。是的,如果您只列举解决方案,那么SAT的解决速度将非常慢。但是由于它没有量词的替换,人们发现了公式中的结构,因此避免了很多枚举。我认为Ryan Williams忽略了这一点。
使用量词替换,是的,有一些聪明的修剪方法,但结构仍然不如CNF公式丰富。
让我预测未来。SAT求解将通过检查公式并基本上避免搜索而使其变为P,而国际象棋将通过利用游戏树中的搜索而使其变为P。