¿Los atributos indecidibles de P plantean una obstrucción para decidir P versus NP? (respuesta: tal vez)

20

Se hacen cinco preguntas vinculadas, y se espera una sola respuesta integrada:

  • P1: ¿Existen lenguajes que son reconocidos únicamente por aquellas máquinas de Turing en  cuyos exponentes de tiempo de ejecución son indecidibles ?PLP
  • P2: ¿Pueden construirse finitos ejemplos de estas máquinas de Turing?
  • P3: ¿Se pueden crear instancias concretas de estas máquinas de Turing? ( p . ej. , mediante oráculos que los "adivinan" en lugar de construirlos finitamente).
  • P4: ¿Qué otros atributos de P (además de los exponentes de tiempo de ejecución) se sabe actualmente que son indecidibles? ¿Para qué atributos de está abierta esta pregunta?P
  • P5: ¿Los atributos indecidibles de plantean una obstrucción a la capacidad de decisión de ?P N PPPNP

Observe cuidadosamente la palabra "únicamente" en Q1 (que excluye la respuesta sugerida de Lance Fortnow).


Conclusiones y conversión a Wiki de la comunidad

  • La pregunta formulada, "¿Los atributos indecidibles de P suponen una obstrucción para decidir P versus NP?", Es abierta y se cree que es difícil, al igual que numerosas preguntas específicas (como Q1-4 anteriores) que están naturalmente asociadas a ella.

  • La monografía de 1978 de Juris Hartmanis, Computaciones factibles y propiedades de complejidad comprobables, proporciona una buena entrada a la literatura y (aparentemente) no se ha publicado ninguna revisión desde Hartmanis.

  • Esta clase de preguntas está suficientemente inexplorada para que el desafío de encontrar pruebas rigurosas esté íntimamente mezclado con el desafío de elegir buenas definiciones iniciales.

  • Los comentarios reflexivos y los bocetos de prueba perspicaces proporcionados por Travis Service y Alex ten Brink son reconocidos y apreciados.

Debido a que la pregunta está abierta, y porque se está discutiendo en múltiples hilos matemáticos de weblog ( 1 , 2 , 3 , 4 , 5 , 6 ), esta pregunta se ha marcado para su conversión a Wiki de la comunidad.


Actualización II y resumen

Me he dado cuenta de que la monografía de 1978 de Juris Harmanis Cálculos factibles y propiedades de complejidad comprobables pueden leerse como una respuesta en profundidad a Q1–5 . Además, los bocetos de prueba (excelente) Q1 y Q4 proporcionados a continuación por Travis Service y Alex ten Brink proporcionan una afirmación moderna y una extensión de las conclusiones generales de Hartmanis que:

Los resultados sobre la complejidad de los cálculos cambian radicalmente si consideramos solo las propiedades de los cálculos que pueden probarse formalmente (énfasis de Hartmanis) ...

Por lo tanto, deberíamos esperar que los resultados sobre la optimización de todos los programas que computan la misma función que un programa dado difieran de los resultados de optimización sobre todos los programas que pueden probarse formalmente que son equivalentes al programa dado. ...

[Deberíamos] considerar la posibilidad de que este famoso problema [ ] no pueda resolverse en una teoría matemática formalizada, como la teoría de conjuntos.P=?NP

Eventualmente espero publicar, como una "respuesta" formal de TCS StackExchange , más citas de la monografía de Hartmanis (notablemente previsible).

Es evidente tanto por la monografía de Hartmanis como por las respuestas proporcionadas por Travis y Alex, que Q1-5 están considerablemente más allá del estado actual de la teoría de la complejidad. Además, estas preguntas / respuestas son evidentemente lo suficientemente sutiles como para requerir ajustes de definición cuidadosos y justificar exposiciones de longitud de monografía ... que espero que no desanime a las personas a publicar más respuestas. :)

Para una discusión técnica adicional, vea la respuesta de Joel David Hamkins en MathOverflow a la pregunta ¿Puede un problema ser simultáneamente tiempo polinómico e indecidible? (recomendado por Alex ten Brink).

Si en la monografía de Hartmanis se sustituye por "cálculo de funciones" la frase "simulación de dinámica", el resultado puede leerse como un tratado sobre los límites teóricos de la complejidad de la ingeniería de sistemas ... esta es la razón práctica por la que los ingenieros se preocupan por estos cuestiones.

Oded Goldreich expresó recientemente una opinión contraria a la de Hartmanis en una carta al editor del CACM titulada "Sobre la complejidad computacional" :

Desafortunadamente, actualmente carecemos de buenas respuestas teóricas a la mayoría de las preguntas naturales con respecto a la computación eficiente. Este no es el caso porque hacemos las preguntas equivocadas, sino porque estas preguntas son muy difíciles.

Es (por supuesto) perfectamente concebible que tanto las opiniones de Hartmanis como las de Goldreich demuestren ser correctas, por ejemplo, una prueba formal de la indecidibilidad de la separabilidad de PvsNP podría considerarse razonablemente como validación de ambos puntos de vista.


Actualización I

Los comentarios pensativos (a continuación) de Travis Service y Alex ten Brink sugieren (en efecto) que en la Q1 la frase "indecidible" no es sinónimo de "no verificable" y que las respuestas a la Q2-5 pueden depender de esta distinción. No está del todo claro (para mí) qué opción de definición conduciría a los teoremas más fuertes y, además, capturar mejor nuestra intuición de la clase P. Las respuestas y comentarios que aborden esta pregunta son bienvenidos.

Un comentario de Felix Klein en su Matemática elemental desde un punto de vista avanzado: Geometría (1939) viene a la mente:

Otro ejemplo de un concepto que ocurre con más o menos precisión en la percepción ingenua del espacio, que debemos agregar como suplemento a nuestro sistema de geometría, es la noción de una curva (arbitraria) . Cada persona cree que sabe qué es una curva hasta que haya aprendido tantas matemáticas que las innumerables anormalidades posibles las confunden.

Al igual que con las curvas, con los lenguajes aceptados por las máquinas de Turing en  ... lo que una vez me pareció (para mí) la más simple y natural de todas las clases de complejidad ahora me confunde por los atributos (incontables) no verificables y / o indecidibles de sus miembros. . La gran motivación para preguntar Q1–5 fue encontrar un camino a través de este matorral confuso, ¡pero las respuestas dadas hasta ahora (por Travis Service y Alex ten Brink) han proporcionado más motivos para la confusión!P

La generación de matemáticos de Klein trabajó arduamente para encontrar buenas definiciones para las curvas y otros elementos fundamentales de la teoría de conjuntos, la geometría y el análisis. Se puede encontrar una descripción general de nivel elemental en la discusión de Wikipedia sobre la Esfera con Cuernos de Alexander

      Imagen de la esfera con cuernos de Alejandro
      Una incrustación de una esfera en R3

Durante el siglo XX, el análisis de "variedades salvajes" como la esfera de Alexander ayudó a aclarar las distinciones entre las variedades topológicas, las variedades continuas por partes y las variedades diferenciales. Del mismo modo, en el siglo XXI, quizás los refinamientos de las definiciones asociadas a ayudarán a domar los lenguajes salvajes y las máquinas Turing salvajes de ... aunque especificar refinamientos adecuados no será una tarea fácil.PPP


Antecedentes

Estas preguntas vinculadas surgen de las preguntas wiki de la comunidad MathOverflow " ¿Cuáles son los problemas indecidibles de Turing más atractivos en matemáticas? " Y " ¿Qué nociones se usan pero no están claramente definidas en las matemáticas modernas? " En particular, Colin Tan solicitó que la pregunta anterior publicado como una pregunta separada.

Para obtener información técnica, consulte la pregunta de TCS StackExchange " ¿Los límites de tiempo de ejecución en P son decidibles? ", En particular la prueba concisa de Emanuele Viola de que la respuesta es "no". Tenga en cuenta también que Juris Hartmanis prueba resultados similares en su monografía Cálculos factibles y propiedades de complejidad comprobables (1978).

El weblog de Lance Fortnow / Bill GASARCH de esta semana Computational Complexity está organizando su encuesta " ¿ o no?P=NP " : La quinta y última pregunta formulada invita a comentar la pregunta de Fortnow / GASARCH.

revs John Sidles
fuente
1
Como señala @Alex ten Brink, las máquinas de Turing de las que hablas en Q1 no están bien definidas. Creo que debes pensar en los y los en tu pregunta en lugar de la prueba de Viola.
Sasho Nikolov
@Shasho, gracias ... se ha agregado un reconocimiento y un resumen de los puntos de Alex (y también los puntos de Travis Service) a la pregunta formulada.
John Sidles
1
Tenga en cuenta que la prueba de Emanuele Viola se aplica a una gama muy amplia de problemas: una versión generalizada prueba para cualquier función construible en el tiempo con f ( n ) = ω ( n log n ) y g ( n ) = ω ( f ( n ) ) que es imposible para un TM por el cual se promete que se detiene en t ( n ) tiempo y también que t ( n ) = O (f,gf(n)=ω(nlogn)g(n)=ω(f(n))t(n) , para decidir si t ( n ) = ω ( f ( n ) ) y t ( n ) = O ( g ( n ) ) . Realmente no veo el enlace a P vs N P aquí. t(n)=O(f(n))t(n)=ω(f(n))t(n)=O(g(n))PNP
Alex ten Brink
2
Para mí, el enlace a P vs NP surge por analogía con la geometría. Las definiciones que formalizan la noción de un continuo se estratifican ampliamente de las variedades de Kahler a las variedades de Riemann a las variedades lisas a las variedades topológicas a los conjuntos de puntos (con muchas más distinciones), y formalizar estas distinciones fue esencial para el progreso en las matemáticas. Del mismo modo, el conjunto de máquinas de Turing en P y el conjunto de lenguajes que estas máquinas aceptan, aparentemente incluye algoritmos "salvajes" cuyo papel en la teoría de la complejidad es (¿quizás?) Ampliamente análogo a los conjuntos de puntos "exóticos" en geometría y topología.
John Sidles
1
@John, he visto indicios de estos pensamientos en los comentarios de tu blog (varios anteriores ... tal vez mucho antes), y estoy muy contento de ver hasta qué punto has progresado en la línea. ¡Frio!
Daniel Apon

Respuestas:

15

Para la pregunta 1 la respuesta es no. Sea un lenguaje en P y sea M cualquier tiempo polinomial que sea una máquina de Turing que reconozca L (cuyo tiempo de ejecución se supone indecidible). Para cada k N, sea M k la máquina de Turing que en la entrada x de longitud n primeros bucles para n k pasos, luego ejecuta M en x para n k + k pasos y acepta si M acepta x (dentro de esos n k + kLPMLkNMkxnnkMxnk+kMxnk+kpasos) y rechaza lo contrario. El tiempo de ejecución de es Θ ( n k ) para cada k .MkΘ(nk)k

Dado que ejecuta en tiempo polinómico, hay algo de k N tal que M se ejecuta en O ( n k ) (incluso si no sabemos qué es k ) y, por lo tanto, para todos los k lo suficientemente grandes, M k reconoce L y tiene un tiempo de ejecución decidible.MkNMO(nk)kkMkL

EDITAR

Creo que la siguiente respuesta está más en el espíritu de lo que el póster original pretendía con la pregunta 1.

Teorema: existe un lenguaje tal que si N es una máquina de Turing que decide L , al menos uno de los siguientes es cierto:LPNL

1) No existe una prueba de que acepta L , oNL

2) No existe una prueba de que detenga en f ( n ) pasos (para cualquier función f ( n ) ).Nf(n)f(n)

Boceto de prueba: Sea una máquina de Turing que no se detenga en la cinta en blanco y para la cual no exista una prueba de que M no se detenga en la cinta en blanco (Independence resulta en Computer Science por Hartmanis y Hopcroft muestra que tal M puede ser encontrado efectivamente).MMM

Deje .L={n:nn s.t. M halts in n steps when run blank tape}

Como no se detiene, L es, de hecho, el lenguaje vacío, pero no hay prueba de ello (ya que eso demostraría que M no se detiene).MLM

Que sea ​​cualquier máquina de Turing. Si existe una prueba de que N decide L y una prueba de que N se ejecuta en f ( n ) pasos, la ejecución de N cuando se ejecuta en la entrada 1 proporciona una prueba de que M se detiene (es decir, si N acepta) o que M lo hace no detener (es decir, si N rechaza). Por lo tanto, si N decide provably L entonces N tiempo de ejecución 's no es decidible y viceversa.NNLNf(n)N1MNMNNLN

Servicio Travis
fuente
55
Travis responde la pregunta reformulada, pero esta es una situación extraña en la que hay un exponente comprobable, pero solo para máquinas que no puede probar resuelve el problema.
Lance Fortnow
Esta es una buena respuesta a Q1 ... y estoy completamente de acuerdo con Lance en que este algoritmo es un miembro muy extraño de la clase P. Parte de la motivación de la pregunta era capturar la intuición (a través de definiciones que son buenas para probar el teorema ) que los algoritmos en P que "nos importan" (en cierto sentido) son los algoritmos cuyo rendimiento podemos "verificar" (en cierto sentido) ... ¡este ejemplo anula completamente ese propósito! ¡Buena respuesta! :)
John Sidles
Este buen comentario (en el que todavía estoy pensando) me recordó el comentario de Felix Klein: "Un concepto que ocurre con más o menos precisión en la percepción ingenua del espacio, que debemos agregar como suplemento a nuestro sistema de geometría, es la noción de una curva (arbitraria) . Cada persona cree que sabe qué es una curva hasta que haya aprendido tantas matemáticas que las innumerables anormalidades posibles las confunden ". El punto es que para avanzar en P versus NP, quizás un paso clave es refinar la definición de P para excluir "innumerables posibles anomalías".
John Sidles
2
Tu respuesta es muy interesante. Sin embargo, el predicado 1 podría describirse con mayor precisión como 'No existe una prueba de que acepte L a partir de la definición a continuación', ya que puedo construir fácilmente una TM que decida L (que es el lenguaje vacío) y demostrar que siempre se detiene y decide el idioma vacío. Aprendí algo bueno otra vez, y voy a revisar esa referencia que mencionaste: DNLL
Alex ten Brink
La edición de Travis de su ya buena respuesta proporciona aún más en qué pensar. Dado que este proceso llevará un tiempo (para mí), me gustaría expresar mi agradecimiento y agradecimiento ahora (y observaciones técnicas más adelante) tanto a Travis (Servicio) como a Alex (diez Brink). Aunque son estudiantes, sus comentarios (en mi humilde opinión) han sido maduros e interesantes. Es bien sabido que Alan Turing concibió su "On Computable Numbers, with a Application to the Entscheidungsproblem " entre sus 21 y 23 años; así los estudiantes han atacado problemas similares con éxito ... podemos esperar lo mismo para Alex y Travis.
John Sidles
13

Sí, puede construir una máquina que requiera tiempo DTIME ( ) -DTIME ( n i ) donde i es el número de pasos que una máquina de Turing específica para detener en una cinta en blanco. Fácil de construir y construcciones similares son válidas para casi cualquier aspecto no trivial de P. Nos dice poco acerca de si P v NP es indecidible: no hay problema para probar P EXP a pesar de los mismos problemas.ni+1nii

Lance Fortnow
fuente
Sí ... ese truco es la esencia de las pruebas de Emanuele Viola y Juris Harmanis de la indecidibilidad de tiempo de ejecución de P (por ejemplo). Por otro lado, es trivial el caso de que las máquinas de Turing que se construyen con este truco reconocen todos los lenguajes L que también son reconocidos por las máquinas de Turing en P cuyos tiempos de ejecución son decidibles. Es por eso que Q1 está redactado (¡con cuidado!) Como una pregunta sobre los idiomas en lugar de sobre las máquinas de Turing ... precisamente para excluir la construcción Hartmanis / Viola ... sin obstruir (según su comentario) las pruebas existentes de que P \ ne EXP.
John Sidles
... y solo para mencionar, esos lenguajes L que son reconocidos únicamente por máquinas de Turing cuyos exponentes de tiempo de ejecución eran indecidibles, son lenguajes interesantes desde un punto de vista teórico de la complejidad (y criptográfico) ... aparentemente existen en un Godel -esque "región gris" entre algorítmicamente compresible (pero por definición no es verificable) e incompresible (y aún así, por definición, tampoco en esa clase).
John Sidles
8

Después de pensar más sobre el tema, creo que encontré una (posible) respuesta para su Q4 .

  • P4: ¿Qué otros atributos de (además de los exponentes de tiempo de ejecución) se sabe actualmente que son indecidibles? ¿Para qué atributos de P está abierta esta pregunta?PP

Probé una variación en el teorema de Rice que responde a su pregunta para la mayoría de las propiedades. Esta vez intentaré explicarme más claramente (la respuesta de Travis Service fue mucho más clara y más general que mi respuesta anterior).

Teorema: para cualquier propiedad que tenga un conjunto no vacío de infinitos idiomas decidibles (pero no en idiomas finitos), es indecidible si una máquina de Turing decide un idioma con esa propiedad, cuando se promete que E siempre se detiene en O ( f ( n ) ) tiempo, donde f ( n ) = Ω ( n log n ) y f ( n ) = Ω ( g ( n ) ) , donde g ( nEEO(f(n))f(n)=Ω(nlogn)f(n)=Ω(g(n)) es el tiempo de ejecución para que una máquina de Turing decida algún idioma con esa propiedad.g(n)

Recuerde que una máquina de Turing (TM a partir de ahora) decide un idioma si acepta todas las cadenas en el idioma y rechaza todas las cadenas fuera del idioma. Tenga en cuenta que podemos tomar a ser algo más que un polinomio, por lo que el teorema es más general que acaba de P .f(n)P

SSSSRS

PSP

S

P(E)EPESE(A,i)AiAAi

SsSSCsCg(n)

function H(x)
h := simulate A on i for |X| steps and return whether it halted
if h == 'halted' then
    reject
else
    if C(x) accepts then
        accept
    else
        reject
    fi
fi

O(nlogn)

P(H)AiAitHX|X|tHSP(H)

AiCsSP(H)P(H)

Alex ten Brink
fuente
Este es un argumento muy poderoso y flexible, y me tomará un tiempo comprenderlo ... hay un dicho entre los granjeros en el centro de los Estados Unidos: "¡Siento que a un cerdo se le muestra un reloj de pulsera!" Parece (según su argumento) que P está rico en atributos indecidibles; lo que tengo problemas para comprender es si los lenguajes L reconocidos por P de manera similar están dotados de atributos indecidibles ... el ejercicio de construir lenguajes de ejemplo concretos que tengan atributos naturales indecidibles es particularmente frustrante (para mí). Gracias por una excelente respuesta que invita a la reflexión.
John Sidles
1
PP
Alex, definitivamente confieso estar confundido ... ¡pero no por eso! Lo que me gustaría construir, o (menos deseablemente) probar la existencia / inexistencia de, sería (por ejemplo) un lenguaje L en P que tiene la propiedad de que cada máquina de Turing que acepta L no está verificable en P o no es verificable aceptar L. Estos idiomas L pertenecerían a P "oracularmente" ... la posibilidad de que P incluya idiomas puramente oraculares es confusa para mí ... especialmente porque no es para nada obvio (para mí) cómo tales lenguajes puramente oraculares podrían alguna vez ser concretamente muestreado y exhibido.
John Sidles
Ah, sí ... y para hacer la pregunta inversa (también confusa) ... para un lenguaje dado L en NP que posiblemente sea aceptado únicamente por máquinas de Turing oraculares ... por qué método de prueba podríamos establecer que L no es reconocido por cualquiera de las máquinas de Turing oraculares de P ... y así separar a P de NP? O supongamos que probamos la existencia de un lenguaje L en NP no reconocido por ninguna máquina de Turing en P ... con la restricción de que L era puramente oracular ... y no podríamos exhibir ese lenguaje ... si estuviéramos satisfechos que P! = NP? ¡Estas preguntas son confusas!
John Sidles
4

Puedo responder tu Q1 en negativo, respondiendo así Q2 y Q3 en negativo. Sin embargo, no estoy seguro acerca de Q4 o Q5 .

  • LP

MTMT

TkTO(nk)MkTTk T

LPTO(nk)kLMkT

LPTLT

LPMTLTL

LPLO(nk)Mnnk+1nk+2L

MPLLkM

Aparentemente, este tipo de pensamiento sobre la indecidibilidad es bastante común, recuerdo una publicación (¿blog?) Sobre un tema muy similar: la pregunta era "¿es decidible si Pi tiene un 'último cero'", por lo que si Pi deja de tener ceros en su representación decimal si baja lo suficiente esa representación. Actualmente no sabemos si este es el caso. Es posible que ni siquiera podamos probarlo, o incluso que sea independiente de nuestros sistemas axiomáticos (y por lo tanto no demostrable). Pero, dado que la respuesta es verdadera o falsa, una TM que devuelve verdadero y una TM que devuelve falso deciden el problema en cualquier caso y, por lo tanto, el problema es decidible.

Veré si puedo encontrar esa publicación en Internet en alguna parte.

Editar:

Lo encontré en Mathoverflow .

Alex ten Brink
fuente
su comentario y la cuenta de Travis Service son excelentes. Parece que en Q1 la frase "indecidible" no es sinónimo de "no verificable decidible" ... y no está del todo claro (para mí) qué definición (a) conduce a los mejores teoremas y (b) captura mejor nuestro intuición de la clase P. Las observaciones sobre esta pregunta son bienvenidas.
John Sidles
Gracias Alex por el enlace (a la pregunta de MOF "¿Puede un problema ser simultáneamente polinomial e indecidible?") ... He editado la publicación principal para incluir ese enlace.
John Sidles