说非确定性图灵机可以在多项式时间内解决 NP 的后果是啥?

Posted

技术标签:

【中文标题】说非确定性图灵机可以在多项式时间内解决 NP 的后果是啥?【英文标题】:What are the consequences of saying a non-deterministic Turing Machine can solve NP in polynomial time?说非确定性图灵机可以在多项式时间内解决 NP 的后果是什么? 【发布时间】:2011-04-12 09:56:42 【问题描述】:

这些天我一直在研究 NP 问题、计算复杂性和理论。我相信我终于掌握了图灵机的概念,但我有几个疑问。

我可以接受,非确定性图灵机对于给定的状态和正在读取的符号有几个选项,并且它总是会选择最佳选项,如***所述

NTM 如何“知道”其中哪些 它应该采取的行动?那里有两个 看待它的方式。一是说 机器是“最幸运的” 可能的猜测者”;它总是选择 过渡最终导致 一个接受状态,如果有这样一个 过渡。另一种是想象 机器“分支”成许多 副本,每个副本都遵循以下之一 可能的过渡。而一个 DTM 有一个单一的“计算路径” 因此,一个 NTM 有一个 “计算树”。如果任何一个分支 树以“接受”停止 条件,我们说 NTM 接受 输入。

我不明白的是,既然这是一个假想的机器,那么说它可以在多项式时间内解决 NP 问题,我们有什么收获呢?我的意思是,我还可以理论化一个在 O(1) 中解决 NP 问题的神奇机器,如果它可能永远不存在,我能从中获得什么?

提前致谢。

【问题讨论】:

这是一个老想法。它被称为 Oracle 机器。 【参考方案1】:

非确定性图灵机是一个难以掌握的概念。尝试其他一些观点:

    与其运行一个可能是最幸运的猜测者的神奇图灵机,不如运行一个更神奇的元机器,在平行宇宙中设置无限数量的随机猜测独立图灵机。每个可能的猜测序列都是在某个宇宙中进行的。如果在至少一个宇宙中机器停止并接受输入,这就足够了:问题实例被建立这些平行宇宙的元机器接受。如果在所有宇宙中机器都拒绝或未能停止,则元机器拒绝实例。

    与其进行任何类型的猜测或分支,不如考虑一个人试图说服另一个人该实例应该被接受。第一个人提供非确定性图灵机要做出的一组选择,第二个人检查机器是否接受带有这些选择的输入。如果是这样,第二个人就被说服了;如果没有,第一个人就失败了(这可能是因为实例无法通过任何选择序列被接受,或者因为第一个人选择了糟糕的选择序列)。

    忘记图灵机吧。如果可以用存在主义second-order logic 中的公式来描述,那么问题就存在于 NP 中。也就是说,您采用普通的命题逻辑,允许对命题变量使用任何量词,并在开始时允许在集合、关系和函数上添加存在量词。例如,graph three-colorability 可以用一个公式来描述,该公式以颜色(节点集)上的存在量化开始:

    ∃R∃G∃B

    每个节点都必须着色:

    ∃ R ∃ G ∃ B (∀ x (R(x) ∨ G(x) ∨ B(x)))

    并且没有两个相邻节点可能具有相同的颜色——称为边关系 E:

    ∃ R ∃ G ∃ B (∀ x (R(x) ∨ G(x) ∨ B(x))) ∧ (∀ x,y ¬ (E(x,y) ∧ ((R(x) ∧ R(y)) ∨ (G(x) ∧ G(y)) ∨ (B(x) ∧ B(y))))))

    对二阶变量的存在量化就像一个非确定性的图灵机做出完美的猜测。如果你想说服某人公式 ∃ X (...) 为真,你可以从给出 X 的值开始。多项式时间 NTM 和这些公式不仅“相似”而且实际上等价于 Fagin 定理,它开创了descriptive complexity的领域:复杂性类的特征不是图灵机而是逻辑公式类。

你也说过

我还可以理论化一个在 O(1) 中解决 NP 问题的神奇机器

是的,你可以。这些被称为oracle machines(与 DBMS 无关),它们在复杂性理论中产生了有趣的结果。例如,Baker-Gill-Solovay 定理指出存在预言机 A 和 B,使得对于可以访问 A 的图灵机,P=NP,但对于可以访问 B 的图灵机,P≠NP。 (A 是一个非常强大的预言机,它使非确定性无关紧要;B 的定义有点复杂,并且涉及对角化技巧。)这是一种元结果:任何解决 P 与 NP 问题的证明都必须是敏感的足以定义图灵机,当您添加某种预言机时它会失败。


非确定性图灵机的价值在于它们提供了复杂性类 NP(和其他)的相对简单的计算表征:您可以考虑一个几乎普通的计算树或二阶逻辑公式,而不是计算树或二阶逻辑公式已经(相对)稍微修改的计算机,以便它可以做出完美的猜测。

【讨论】:

+1。我从来没有听说过那个预言定理——听起来很棒。【参考方案2】:

您从中获得的好处是,您可以通过证明 NTM 可以在多项式时间内解决问题来证明问题存在于 NP 中。

换句话说,您可以使用 NTM 找出给定问题是否属于 NP。

【讨论】:

您能详细说明一下吗?如何使用 NTM 证明类似的事情? @***:您构建了一个解决问题的 NTM。然后你证明它是正确的并且它在多项式时间内运行。 你能发布一个例子,一个研究这种东西的链接吗?我完全不知道该怎么做。我不习惯不确定地思考。谢谢! @***:例如,您可以通过非确定性的猜测来确定图是否具有三色。对于 |V|第一轮,您将颜色分配给顶点,然后检查您的着色是否正确。有关更多示例,请参阅 NP 完全问题。 感谢 sdwc,去看看!【参考方案3】:

根据定义,NP 代表非确定性多项式时间,可以在 Wikipedia 中查找。

随机选择和检查(或组装)下一个潜在解决方案的非确定性图灵机的化身将以一定的概率在多项式时间内解决一个 NP 问题(如果它是“最幸运的猜测者”)。

因此,说 NTM 可以 在多项式时间内有效地解决问题意味着该问题在 NP 中。这又等价于NP类问题的定义。

【讨论】:

感谢您的澄清,但您仍然没有回答我的问题......如果不存在这样的幸运猜测,为什么这有什么用......就像说,嘿,如果我能在它发生之前知道彩票的结果我会变得富有。 NTM 必须对其他东西有用。这是我无法理解的。 希望量子计算机(有一些限制)能够同时测试所有潜在的解决方案路径,因此表现得像最幸运的猜测者 NTM。量子计算机使用 qubits 进行计算,其中任何一组 qubits 表示一组相同数量的常规位(叠加)的所有可能组合。 (Peter) Shor 算法 用于分解数字/破解 RSA 加密利用了这一点。 虽然量子计算机的难点在于保护叠加免受退相干(量子位通过与世界的物理交互而变成常规位)并最终通过退相干从中提取正确的解决方案.【参考方案4】:

我认为您的答案就在您的问题中。换句话说,给定一个问题,如果你能找到解决它的 NTM,你就可以证明它是一个 NP 问题。

NP 问题是一类特殊的问题,NTM 只是检查给定问题是否属于该类的工具。

请注意,NTM 不是特定的机器 - 它是一整类机器,它们具有明确定义的规则,它们可以做什么和不可以做什么。为了使用“神奇”的机器,您需要定义它们,并显示它们对应的问题的复杂性类别。

见http://en.wikipedia.org/wiki/Computational_complexity_theory#Complexity_classes 了解更多信息。

【讨论】:

如果 NP 也可以定义为可以用 TM 多时验证的问题,为什么我需要一个甚至不存在的 NTM?谢谢 用 TM 在 polytime 中验证解等效于使用 NTM 在 polytime 中求解。 en.wikipedia.org/wiki/NP_(complexity)#Verifier-based_definition"(见机器定义) 有时提出 NTM 比提出 TM 更容易,但为了证明问题是 NP,两种解决方案都是有效的。【参考方案5】:

来自希伯来语*** - “NTM 主要是一种思考工具,实际上不可能实现这样的机器”。您可以将术语“NTM”替换为“在每一步尝试所有可能步骤的算法”或“在每一步都选择最佳下一步的算法”。我想你理解其余的。 NTM 在这里只是为了帮助我们可视化这样的算法。您可以看到 here 它应该如何帮助您进行可视化(在 Pascal Cuoq 的回答中)。

【讨论】:

“每一步都可以从多个可能的步骤中选择的算法”。任何东西都可以“选择”任何东西。 NTM 只是一个幸运的猜测者,可以在每一步中选择正确的路径。 @OTZ:您也可以将其视为尝试所有可能性(单击我提供的链接)。两个定义是相等的。但你是对的,原来的措辞不好。改了。【参考方案6】:

我们得到的是,如果我们有神通猜测正确的步骤,这将永远是正确的,我们可以在 POLYTIME 解决 NPC 问题。当然,我们不能总是“猜”出正确的步骤。所以是想象的。但正如虚数适用于现实世界的问题一样,结果在理论上也很有用。

以这种方式变形原始问题的一个积极方面是我们可以从不同的角度解决它们。在理论领域,这是一件好事,因为我们有 (1) 更多我们可以采用的方法(因此更多的论文)和 (2) 更多我们可以使用的工具,如果它们可以在其他领域使用的话。

【讨论】:

我在电气工程中一直使用虚数,它们有实际用途和优势。另一方面,我看不出说某事可以在多时神奇地解决的任何好处。我正在寻找的正是这些可以通过 NTM 解决的现实问题。感谢@DanJ,他在谈论 NTM,因此它可以在多时解决。 @*** 我们不能将 NTM 应用于任何现实世界的问题,因为一开始就不可能创建一个。为了一个优势,请阅读我刚刚添加的第二段。 @DanJ 是 NPC。你的态度怎么样。 虚数也不存在,但我们仍然在很多情况下使用它们。我对 NTM 对任何事情都有用的情况很感兴趣。我认为 NTM 对证明某个问题是 NP 很有用,而使用确定性 TM 来证明这样的事情会更难,我现在需要的是一个例子,说明如何用非关税措施。您能想到任何或您知道与此类事物的任何联系吗?谢谢!

以上是关于说非确定性图灵机可以在多项式时间内解决 NP 的后果是啥?的主要内容,如果未能解决你的问题,请参考以下文章

P/NP/NPcomplete/NPhard

Bristol的第7篇密码学

组合优化的一般模型

机器学习周志华p=np是啥意思

显示 NP、NP 完全性或 NP 硬度

Bristol的第5篇密码学