如果P = NP,我们可以获得哥德巴赫猜想等的证明吗?


35

根据我的专业知识,这是一个幼稚的问题;提前道歉。

哥德巴赫猜想和数学中许多其他未解决的问题可以写为谓词演算中的短公式。例如,库克的论文“计算机能否正常发现数学证明?” 将该猜想表述为

n[(n>22|n)rs(P(r)P(s)n=r+s)]

如果我们将注意力集中在多项式证明上,则带有此类证明的定理在NP中。因此,如果P = NP,我们可以确定例如戈德巴赫猜想在多项式时间内是否为真。

我的问题是:我们还能在多项式时间内展示证明吗?

编辑。根据Peter Shor和Kaveh的评论,我应该证明我的主张是:如果哥德巴赫的猜想确实是带有简短证明的定理之一,我们可以确定它是否成立。我们当然不知道哪一个!


8
首先,为了展示戈德巴赫猜想的简短证明(<1000页?),必须有简短证明。P = NP与此无关。
彼得·索尔

4
@ Suresh,@ Kaveh:您似乎弄错了。在这里,我们有一个NP搜索问题的具体实例。这里相关的量词是定理的证明(在适当的形式系统中)。
Kristoffer Arnsfelt Hansen 2010年

2
另一个说法是,我们实际上可以写下一个算法,如果P = NP会在给定语句的长度和最短证明的长度上存在时间多项式的情况下找到给定语句的证明。(该多项式是所有定理的一个界),但是它将是一个“天文”算法。
Kristoffer Arnsfelt Hansen,2010年

4
@Joe:不,我现在可以立即写下算法!(即使不知道P = NP)。这个想法就是所谓的Levin的通用搜索。
Kristoffer Arnsfelt Hansen,2010年

4
@Kristoffer:太好了!不了解LS。我看到Marcus Hutter在LS方面有种种改进:“所有定义明确的问题的最快和最短算法”。国际计算机科学基金会学报,13(3):431-443,2002
Joseph O'Rourke,2010年

Answers:


27

确实!

如果P = NP,我们不仅可以决定是否存在哥德巴赫猜想(或任何其他数学陈述)的长度为n的证明,而且我们还可以高效地找到它!

为什么?因为我们可以问:是否有一个条件以……为前提的证明,那么,是否有一个条件以……为前提的证明,依此类推……

你怎么会知道n?您将按升序尝试所有可能。当我们在第i种可能性中迈出一步时,我们还尝试在每种可能性1 ..(i-1)中迈出一步。


3
这不是Levin的通用搜索算法吗?
Mohammad Al-Turkistany

2
@turkistany:是的,是!
Dana Moshkovitz 2010年

25

达娜回答了这个问题。但是这里有一些实用方面的评论。

请注意,无法确定在ZFC中是否可以证明给定的句子。对此没有影响。(实际上是)意味着很容易找到命题重言式的证明,而不是像GC这样的一阶句子。P=NPP=NPP=coNP

检查固定理论(例如ZFC)中是否存在给定长度为的给定句子(一元)的证明是。因此,如果,则有一个多重时间算法对此进行检查。将为句子长度中的某个固定多项式将导致多重时间算法。NPlP=NPl

实际上(戈德尔在致冯·诺伊曼的著名信中提到了这一点):如果,则存在一个多项式时间算法,该算法给出一阶句子和(一元),该算法可以找到该句子是否具有ZFC中的大小为证明。Godel的想法是,在这种情况下,如果等价确实可行(即,该算法不仅是而是),则可以采用该算法并运行该算法以检查证明可行,但长度很大,将比任何人都无法想出的任何证明都要长,如果算法找不到答案,那么该句子实际上就是P=NPllP=NPPDTime(n2)无法证明。达娜(Dana)提到的技巧在这里也可以找到证明。

实用方法:

  1. P=NP是不够的,我们需要该算法在实践中可行,的算法将无济于事。DTime(10000n10000)

  2. 只有在有一个证据时(即该句子在ZFC中不是不可判定的句子),它才会找到一个证据,而且该证据应尽可能短。

  3. 可能是,但是我们仍然可以在算法上找到这些可行的证明,例如。N P = D T i m e n log nPNPNP=DTime(nlogn)

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.