寻找跟随思想的文献来源


12

我可以肯定,我不是第一个接受即将提出的想法的人。但是,如果我能找到与该想法相关的任何文献,那将是有帮助的。

想法是构造一个图灵机M,其特性是,如果P = NP,则M将在多项式时间内求解3-SAT。(3-SAT的选择是任意的。在NP中实际上可能是任何问题)。

只是要清楚,这并不是P = NP的主张。实际上,我相信相反。我仅声明如果P = NP,则M将提供多项式时间解。如果您正在寻找有效的解决方案,我应该警告说,这远非有效。

M的构造如下:首先,假设所有图灵机都采用规范编码,然后对这些机器应用编号。因此,有一个图灵机编号1,一个数字2等。通用图灵机可以读取所提供机器的格式,然后模拟该机器在单独输入上运行的想法是众所周知的。M将使用通用图灵机依次构建和模拟每台图灵机。

它首先一步一步模拟Turing Machine 1的运行。
然后,它查看Turing Machine 1的输出。
它模拟Turing Machine 1的运行两步,并查看输出,然后继续仿真Turing Machine 2的两步。它继续并以这种方式循环,依次运行图灵机1进行k步,然后运行2进行k步……然后最终运行k进行k步。

每次模拟运行后,它将检查运行的输出。如果输出是满足3-SAT问题实例的变量分配,则M停止处于接受状态。另一方面,如果输出是某种可验证的证明语言中的证明字符串,并且证明问题实例不能令人满意,则M处于拒绝状态。(例如,对于证明语言,我们可以使用具有二阶逻辑的Peano公理和基本的希尔伯特风格的逻辑公理。我将其作为练习让读者弄清楚,如果P = NP,证明语言存在并且可以多项式时间验证)。

在这里,我要说的是,当且仅当P = NP时,M才能在多项式时间内求解3-SAT。最终,该算法将找到一些神奇的图灵机,其编号为K,恰好是3-SAT问题的有效求解器,并且能够提供其成功或失败结果的证明。最终将对某个多项式运行poly(strlen(input))步骤模拟K。M的多项式在最大因子上大约是k的多项式的平方,但是多项式中有一些可怕的常数。

在这里重申我的问题:我想知道是否有文献采用这种思想。我对讨论这个想法本身不太感兴趣。

Answers:


16

似乎这个想法归因于莱文(称为最佳搜寻)。我相信这个事实是众所周知的。尽管使用子集和问题,但在Wikipedia中描述了类似的算法。在来自学术界的本文中,您可以找到关于该主题的一些参考,包括指向原始算法和一些其他最佳搜索算法的指针。

φP=NPφ

注释2:正如Jaroslaw Blasiok在另一个答案中指出的那样,仅假设P = NP,该算法不会决定Sat。


我刚刚找到了Wikipedia参考,的确提到了Levin,但没有引用。可能这只是成为民间传说,但从未在出版的文献中使用过。无论如何,这是有帮助的。谢谢。
比尔省

欢迎。我找到了一个有关该主题的参考网页。我编辑了答案以包括在内。
Mateus de Oliveira Oliveira 2014年

6

对角线运行所有可能的图灵机的想法先前由列昂尼德·莱文(Leonid Levin)在如今著名的列文斯通用搜索(Levins Universal Search)中使用。不幸的是,与非常普遍的误解相反,就我所知,莱文斯通用搜索的变体不能提供多项式时间内解决SAT(决策问题)的显式算法,仅假设P = NP-并且您的算法都不能。

提出推理的警告(通常)在于“留给读者的简单练习”-我无法证明自己是练习,并且我不认为该陈述是正确的,即:

假设P = NP,则存在多项式大小ZFC证明给定布尔公式不满足。

此外:我看不到如何在(更强的)假设“ P = NP在ZFC中可证明”的情况下证明不满足多项式ZFC证明的存在。但是,在更强大的假设下,这变得容易,即:

(*)存在机器M在多项式时间内运行,这可以很好地解决SAT问题。

我相信,这是您的算法在多项式时间内求解SAT的正确假设。上面所说的“可解决SAT”是指:有一台机器M,以及一个ZFC证明M解决了SAT。

请注意,此假设仍然比以下假设稍弱:(**)存在机器M,该机器M可证明在多项式时间内运行,并且可以解决SAT。

在(**)下,可以具有明确的构造来实现甚至更简单的相同目标:枚举所有ZFC证明,直到找到正确的机器M(花费固定时间),然后在给定实例上运行M。

但是,在P = NP的假设下,确实存在一些可以通过多项式验证的证明系统,其中包含针对给定公式的不满足性的简短证明。不幸的是,我们既不知道证明系统,也不知道验证者,并且在这种情况下它没有帮助。

f1(x)

请注意,该方案适用于例如FACTORING问题。这里f只是乘法(仅针对\ pm 1以外的因子定义),B是初等检查。因此,Levins通用搜索将是(高达恒定因子)FACTORING的最佳算法。假定最佳算法比已知的用于素数检查的算法要慢-在另一种情况下,素数检查变得占优势。

NPcoNP


1
如果P = NP,则co-NP = co-P = P = NP。因此,UNSATISFIABILITY在NP中,多项式大小的见证人也在其中-您无需调用图灵机。您不能将那个见证人转换为ZFC证明该公式无法满足的证据吗?我并不了解ZFC证明的原理,但我从各个地方得到的直觉是,除非您处理“怪异的东西”,否则ZFC会对应于您认为您仍然可以证明的所有事物。您听说过集合论。诸如布尔公式和其不满足项的多项式证明之类的有限对象不太可能会很奇怪。
David Richerby,2014年

是的,如果P = NP,则UNSAT在NP中,并且具有多项式大小的见证人。即:零尺寸见证人,所有工作都由验证者完成,对吗?我只有一个主意,如何将这个零大小的见证人转换为ZFC不能满足的证明:给ZFC证明我的机器实际上解决了UNSAT问题,然后在公式上显示了这台机器的运行-那将是一个有效的证明,这对应于OP提出的算法在(*)下工作的事实。但是,如果有一些棘手的机器恰好可以解决SAT,但事实无法证明,该怎么办?不,我相信是这样的情况
雅罗斯瓦夫Błasiok

1
我指的是一个误解:“如果P = NP,那么Levins Universal Search给出了多项式时间算法来解决NP完全问题”或有时被指出:“不可能只有非构造性的P = NP证明,因为文斯算法”。这两个都是错误的-Wikipedia提出了一种方法,该方法在SUBSET SUM的YES实例上的多时停止,但在NO实例上完全不停止-这不是一种决定多时子总和的算法。OP公式更适合此目的,但需要比P = NP更大的假设来确定多重时间的SAT。
雅罗斯瓦夫Błasiok

1
NPcoNP

1
现在,解决这个问题的方法(因为您不明确地知道unSAT问题的验证者),将尝试以我们已经知道并可以验证的某种形式逻辑找到一个简短的证明(假设它是ZFC公理或Peano-我们是更有可能在前者中找到简短的证明),此事是无法令人满意的。但是,如果要证明这种形式逻辑中有这么短的证明,则需要比P = NP更强的假设。
雅罗斯瓦夫Błasiok
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.