Se P = NP, poderíamos obter provas da conjectura de Goldbach, etc.?

35

Esta é uma pergunta ingênua, fora dos meus conhecimentos; desculpas antecipadamente.

A conjectura de Goldbach e muitas outras questões não resolvidas em matemática podem ser escritas como fórmulas curtas no cálculo de predicados. Por exemplo, o artigo de Cook "Os computadores podem descobrir rotineiramente provas matemáticas?" formula essa conjectura como

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

Se restringirmos a atenção a provas polinomialmente longas, os teoremas com tais provas estarão em NP. Portanto, se P = NP, poderíamos determinar se, por exemplo, a conjectura de Goldbach é verdadeira no tempo polinomial.

Minha pergunta é: também poderíamos exibir uma prova em tempo polinomial?

Edit . De acordo com os comentários de Peter Shor e Kaveh, eu deveria ter qualificado minha afirmação de que poderíamos determinar se a conjectura de Goldbach é verdadeira se é realmente um dos teoremas com uma breve prova. O que, é claro, não sabemos!

Joseph O'Rourke
fonte
8
Primeiro, para exibir uma prova curta (<1000 páginas?) Da conjectura de Goldbach, deve haver uma prova curta. P = NP não tem influência nisso.
quer
4
@Suresh, @Kaveh: Você parece estar entendendo errado. Aqui temos uma instância concreta de um problema de pesquisa NP. O quantificador que é relevante aqui é a existência de uma prova (em um sistema formal adequado) do teorema.
Kristoffer Arnsfelt Hansen
2
Outra observação é que podemos realmente escrever um algoritmo, que se P = NP encontrará uma prova para uma determinada afirmação, se existir no polinômio de tempo no comprimento da afirmação e no comprimento da prova mais curta. (esse polinômio é um limite que vale para todos os teoremas); no entanto, será um algoritmo "astronômico".
Kristoffer Arnsfelt Hansen
4
@ Joe: Não, eu posso escrever o algoritmo agora mesmo! (Mesmo sem saber se P = NP). A idéia é o que é conhecido como busca universal de Levin.
Kristoffer Arnsfelt Hansen
4
@Kristoffer: Cool! Não sabia sobre LS. Vejo que Marcus Hutter tem uma espécie de aprimoramento no LS: "O algoritmo mais rápido e mais curto para todos os problemas bem definidos". International Journal of Foundations of Computer Science, 13 (3): 431-443, 2002.
Joseph O'Rourke

Respostas:

27

De fato!

Se P = NP, não apenas podemos decidir se existe uma prova de comprimento n para a Conjectura de Goldbach (ou qualquer outra afirmação matemática), mas também podemos encontrá-la com eficiência!

Por quê? Porque podemos perguntar: existe uma prova condicionada ao fato de o primeiro bit ser ..., então, existe uma prova condicionada ao fato dos dois primeiros bits serem ...., e assim por diante ...

E como você saberia n? Você apenas tentará todas as possibilidades, em ordem crescente. Quando damos um passo na i-ésima possibilidade, também tentamos um passo em cada uma das possibilidades 1 .. (i-1).

Dana Moshkovitz
fonte
3
Não é esse algoritmo de busca universal de Levin?
Mohammad Al-Turkistany
2
@turkistany: sim, é!
Dana Moshkovitz
25

Dana respondeu à pergunta. Mas aqui estão alguns comentários sobre o lado prático.

Observe que é indecidível verificar se uma determinada sentença é comprovável no ZFC. não tem conseqüências nisso. P = N P (na verdade P = C O N P ) significa que é fácil de encontrar provas para tautologias proposicionalP=NPP=NPP=coNP , frases não de primeira ordem, como GC.

NPeuP=NPeu

P=NPeueuP=NPPDTEume(n2)), então é possível pegar esse algoritmo e executá-lo para verificar se há provas de um tamanho viável, mas muito grande, que será maior do que qualquer prova que qualquer ser humano possa apresentar e, se o algoritmo não encontrar uma resposta, o sentença é praticamente impossível de provar. O truque que Dana mencionou também funcionará aqui para encontrar a prova.

Para fins práticos:

  1. P=NPDTEume(10000n10000)

  2. ele encontrará uma prova apenas se houver uma (ou seja, a sentença não é uma frase indecidível no ZFC); além disso, a prova deve ser possível de forma curta.

  3. PNPNP=DTEume(nregistron)

Kaveh
fonte
(n10)