Reduciendo P vs. NP a SAT

12

La siguiente pregunta utiliza ideas de criptografía aplicadas a la teoría de la complejidad. Dicho esto, es una pregunta puramente teórica de la complejidad, y no se requiere ningún conocimiento criptográfico para responderla.

Deliberadamente escribo esta pregunta de manera informal. A falta de detalles, posiblemente se indique un poco incorrectamente. No dude en señalar las correcciones en sus respuestas.


En el siguiente documento:
Criptografía no maleable, Danny Dolev, Cynthia Dwork y Moni Naor, SIAM Rev. 45, 727 (2003), DOI: 10.1137 / S0036144503429856 ,
los autores escriben:

Supongamos que el investigador A ha obtenido una prueba de que P ≠ NP y desea comunicar este hecho al profesor B. Suponga que, para protegerse, A prueba su afirmación de B de una manera de conocimiento cero ...

Hay varios problemas estándar de NP completo, como la satisfacibilidad (SAT), Graph-Hamiltonicity y Graph-3-Colorability (G3C), para los cuales existen pruebas de conocimiento cero. La forma estándar de probar cualquier teorema de NP es reducirlo primero a una instancia de los problemas de NP completos antes mencionados, y luego realizar la prueba de conocimiento cero.

Esta pregunta se refiere a tal reducción. Suponga que la P vs. NP se liquida de cualquiera de las siguientes maneras:

  • P = NP
  • P ≠ NP
  • P vs. NP es independiente de la teoría de conjuntos axiomáticos estándar.

Deje σ denotar la prueba. Entonces, P vs. NP está en un lenguaje NP (ya que existe una breve prueba de ello). La reducción del teorema (digamos, P ≠ NP) al problema NP-completo (digamos SAT) es independiente de σ. Es decir:

There exists a formula ϕ which is satisfiable if and only if P ≠ NP.

¡Esto está más allá de mi imaginación! Parece que, incluso si se nos da la prueba σ, es poco probable que podamos construir tal fórmula ϕ.

¿Alguien podría arrojar algo de luz sobre esto?

Además, dejemos que L sea un lenguaje NP en el que se encuentra P vs. NP . El lenguaje consiste en infinitos teoremas como P vs. NP , de tamaños arbitrarios.

¿Qué es un candidato para L?
¿Puede L ser NP-completo?

MS Dousti
fuente
No entiendo esta parte: "Deje σ denotar la prueba. Entonces, P vs. NP está en NP (ya que existe una prueba corta para ello). La reducción del teorema (digamos, P ≠ NP) al NP El problema completo (por ejemplo, SAT) es independiente de σ. Es decir: existe una fórmula ϕ que es satisfactoria si y solo si P ≠ NP ". ¿Podrías explicarlo un poco más? No tiene sentido para mí que "P vs NP esté en NP", incluso si lo cambia a "¿hay una prueba de longitud como máximo n en teoría T para P \ neq NP". O hay un n menor, tal prueba de ese tamaño para la pregunta o no existe tal prueba.
Kaveh
1
[continuación] Si no hay ninguno, la función que siempre rechaza es responder la pregunta, y en el otro caso, la función que acepta cualquier número mayor que la longitud de la prueba más pequeña y rechaza cualquier cosa menor que resolverá la pregunta. La pregunta que dada , , tiene una prueba de tamaño n en es NP, pero si arregla no tiene mucho sentido. n φ T φφnφTφ
Kaveh
También tenga en cuenta que la pregunta que "dada una declaración (como ), ¿es demostrable en una teoría primer orden ?" No es decidible en general. P N P TφPNPT
Kaveh
@Kaveh: aclaración añadida.
MS Dousti
algunas ideas interesantes, pero no tiene sentido decir que "la prueba está en NP" o que "existe una prueba corta". es decir, podría haber algún método para hacer esos paralelos, pero tendría que estar más formalmente definido. Parece que lo más cercano a estas ideas sería el marco de pruebas naturales razborov / rudich.
vzn

Respuestas:

20

La forma de ver la prueba de un enunciado matemático (por ejemplo, una resolución de P vs NP) como una pregunta de la forma "es fórmula ... satisfactoria" es la siguiente:

Arreglar algún sistema de axioma. Dada una cadena de longitud n, si la cadena es una prueba de la declaración matemática en el sistema axiomático, es algo que se puede definir de manera directa: la cadena debe consistir en proposiciones. Cada proposición debe ser un axioma o debe seguir a partir de las proposiciones anteriores por una de las reglas de inferencia.

No es un problema definir una fórmula booleana que verifique todo esto. ¡Todo lo que debe saber es la longitud n de la prueba!

Dana Moshkovitz
fuente
9

P vs. NP está en NP (ya que existe una breve prueba de ello)

Eso no tiene mucho sentido para mí. NP es una clase de complejidad para problemas de decisión que tienen instancias arbitrariamente grandes, y P vs. NP no los tiene. Por lo que dices después:

dejemos que L sea un lenguaje NP en el que se encuentra P vs. NP

en su lugar, puede significar que P vs. NP es una instancia de un problema de NP; pero por supuesto que lo es! También es una instancia de un número infinito de problemas P, DTIME (n), etc. En particular, aquí hay dos candidatos DTIME (1) para L, uno de los cuales es correcto: siempre devuelve true; o siempre vuelvo false.

Alexey Romanov
fuente
2
Lea nuevamente la nota al comienzo de la pregunta. Estaba poniendo esto informalmente, y eso lleva a tu confusión. Para formalizar, uno debe considerar una generalización del teorema "P vs. NP". Para infinitamente n, la generalización supone un teorema de longitud n. Los teoremas dan lugar a un lenguaje L, que no puede decidirse en DTIME (1).
MS Dousti
Entonces, una breve prueba / prueba de "P vs. NP" es solo una instancia de "P vs. NP generalizada" (¿quizás una fácil?), Y no se deduce que GPvNP esté en NP.
Alexey Romanov
Votación negativa: entiendo la objeción a la forma en que está redactada la primera declaración citada, ya que los miembros de NP son conjuntos y "P vs. NP" no es un conjunto. Sin embargo, en la segunda objeción, cualquier "problema de NP" es un problema de decisión que siempre se puede formular legítimamente para decidir si una cadena está en un idioma; No veo nada malo con su definición de L. Además, la apelación a los lenguajes DTIME (1) triviales, siempre verdaderos o siempre falsos ignora el punto: si ya conocemos TODAS las declaraciones verdaderas, presumiblemente construimos una mirada. mesa para que la máquina Turing acceda a tiempo constante.
Daniel Apon
[Continúa] Pero suponiendo que L es un lenguaje apropiado (es decir, un conjunto infinito), entonces está asumiendo una tabla infinitamente grande de "declaraciones verdaderas" para acceder, lo que parece romper todo tipo de reglas. O más al punto: ¿Por qué su argumento para DTIME (1) no se generaliza a CUALQUIER lenguaje, no solo al extraño que estamos considerando ahora?
Daniel Apon
1
Gracias a todos. Tenga en cuenta que una de las preguntas que hice fue sobre algún lenguaje L en el que se ajusta "P vs. NP". Es decir, "P vs. NP" es solo una instancia de dicho lenguaje. El lenguaje generaliza la instancia a infinitos teoremas. Es muy poco probable . LDTIME(1)
MS Dousti