Respuesta: no conocida
Muchas gracias a todos los que ayudaron a refinar esta pregunta y las definiciones asociadas.
Las definiciones de esta wiki proporcionaron el punto de partida para la wiki TCS más reciente " ¿Contiene P lenguajes cuya existencia es independiente de PA o ZFC? (Wiki de la comunidad TCS) ".
Se prefiere el wiki más reciente porque sus definiciones y nomenclatura son sustancialmente más sofisticadas que las de este wiki más antiguo.
En particular, la nomenclatura de esta wiki más antigua incomprensible lenguajes comprensibles y TMs es suplantada en la nueva wiki por críptico gnostic . Además de los detalles de definición, que sin embargo son importantes, los dos wikis abordan una clase similar de preguntas.⇔
Más respuestas son bienvenidas
Se aceptan más respuestas (no hace falta decirlo), y es probable que sea apropiado realizar más ajustes de definición. Una lección principal ha sido que esta clase de preguntas es difícil de formular y aún más difícil de responder rigurosamente.
Como antecedentes, la respuesta de Sasho Nikolov fue calificada como "aceptada", ya que proporcionó una formulación que capturó la intención de la pregunta: la respuesta a la pregunta es (aparentemente) desconocida.
La valiosa respuesta de Philip White motivó la definición gradual de TMs que son incomprensibles, versus fuertemente incomprensibles, versus canónicamente incomprensibles (según la lista "definiciones graduadas de incomprensibilidad" a continuación).
La siguiente declaración de la pregunta incorpora provisionalmente valiosas ideas y sugerencias proporcionadas por Tsuyoshi Ito, Marzio De Biasi, Huck Bennett, Ricky Demer, Peter Shor, y también una valiosa publicación en el blog de Luca Trevisan .
Definicion formal
Las máquinas de Turing incomprensibles se definen (dentro de ZFC) de la siguiente manera:
D1 Dada una máquina de Turing M que probablemente se detiene para todas las cadenas de entrada, M se llama incomprensible si la siguiente afirmación no es demostrable ni refutable para al menos un número real semidefinido positivo :
Declaración: el tiempo de ejecución de M es con respecto a la longitud de entradan
Por el contrario, M se llama comprensible si no es incomprensible.
Decidible ambiguo
La entrada de Wikipedia " Problema indecidible: ejemplos de declaraciones indecidibles " revisa de manera concisa los diferentes sentidos del término "indecidible" que son habituales en la literatura teórica de la prueba versus la teoría de la computabilidad. Con el fin de evitar la ambigüedad, las definiciones y preguntas formuladas emplean exclusivamente la terminología "ni demostrable ni refutable".
Otras referencias a este respecto son las notas del curso de Jeremy Avigad " Incompleteza a través del problema de detención ", el ensayo del blog de Scott Aaronson " El teorema de Rosser a través de las máquinas de Turing " y la publicación del blog de Luca Trevisan. Dos preguntas interesantes .
Sobre la existencia de máquinas de Turing incomprensibles
La existencia de máquinas incomprensibles de Turing se deriva concretamente de una construcción de Emmanuele Viola y, en general, del marco teórico de la complejidad de Juris Hartmanis. En particular, la construcción de Viola proporciona, a través de los métodos de las notas del curso de Jeremy Avigad (según tengo entendido), el siguiente lema:
Lema [Implicación de Viola]
(si un lenguaje L es aceptado por un TM comprensible) (L es aceptado por un TM incomprensible).
Respetando la naturalidad al definir la incomprensibilidad
Es natural preguntarse si la implicación inversa a la Implicación de Viola es verdadera.
Las consideraciones de naturalidad requieren que la implicación inversa se plantee cuidadosamente, ya que el comentario de Philip White a continuación muestra cómo reducir trivialmente TMs incomprensibles a TMs comprensibles a través de polilimitadores , que son módulos computacionales que (en efecto) "rellenan" el tiempo de ejecución de una máquina incomprensible. como para reducirlo a una máquina comprensible.
En particular, es natural exigir que no " enmascaremos estéticamente viejos elementos de incomprensibilidad introduciendo nuevos elementos de incomprensibilidad ". El desafío clave asociado con la pregunta formulada es "¿Existe una definición natural de incomprensibilidad?" ... que (dada la discusión aquí de TCS) quizás deberíamos considerar como una meta-pregunta no trivial que puede tener más de una respuesta natural.
Con miras a este principio rector de la naturalidad, las definiciones graduadas de incomprensibilidad se especifican de la siguiente manera.
Definiciones graduadas de incomprensibilidad
D2 Decimos que una máquina de Turing M es eficiente si tiene un exponente de tiempo de ejecución tal que el lenguaje L que M acepta no sea aceptado por ninguna otra TM que tenga un exponente de tiempo de ejecución menor que .r
D3 Decimos que un lenguaje L es incomprensible si es aceptado por (a) al menos una máquina de Turing M es eficiente e incomprensible, y además (b) no hay un TM eficiente y comprensible que pueda ser comprobado (en ZFC) L.
D4 Decimos que una TM incomprensible es fuertemente incomprensible si el lenguaje que acepta es incomprensible.
D5 Decimos que una TM fuertemente incomprensible es canónicamente incomprensible si es eficiente.
Estas definiciones aseguran que cada lenguaje incomprensible sea aceptado por al menos una TM que es canónicamente incomprensible, y además, en vista de D3 (a) y D3 (b) , no existe una reducción trivial de polilimitadores de una TM canónicamente incomprensible a una TM comprensible que probablemente reconoce el mismo idioma.
Las tres preguntas formuladas
Q1 ¿La clase de complejidad P contiene lenguajes incomprensibles?
P2 ¿Se puede representar concretamente al menos un idioma incomprensible? (Si es así, proporcione un ejemplo constructivo).
P3 ¿Se puede representar concretamente al menos una TM canónicamente incomprensible? (Si es así, proporcione un ejemplo constructivo).
Motivación
Las propiedades incomprensibles de la clase de complejidad P obstruyen la comprensión de una amplia clase de problemas que (para el proponente original de esta pregunta ) incluyen el Rompecabezas de isleños de ojos azules de Terry Tao, el Juego de elección de urna de Dick Lipton y Ken Regan , y su hibridación en El contexto de la paradoja de Newcomb a través del juego Newcomb de ventaja equilibrada .
Como dice la monografía de Juris Hartmanis Cálculos factibles y propiedades de complejidad demostrables (1978):
Los resultados sobre la complejidad de los algoritmos cambian radicalmente si consideramos solo las propiedades de los cálculos que pueden probarse formalmente.
La lucha por construir definiciones y postulados bien planteados que capturen la visión de Hartmanis nos ayuda a comprender mejor que la clase de complejidad P tiene algunos lenguajes extremadamente peculiares, que son reconocidos por máquinas Turing extremadamente peculiares, cuyas propiedades somos (en la actualidad ) muy lejos de agarrar. Llama la atención que, en un sentido completamente riguroso, actualmente no se sabe si la clase de complejidad P es comprensible.
Muchas gracias a todos los que han contribuido con comentarios y respuestas.
fuente
Respuestas:
(Me retiro como ya no es relevante la parte de la respuesta que solo explica por qué no hay instancias indecidibles de un problema / no hay algoritmos de polytime con límite de tiempo no controlable)
Ahora la pregunta ha cambiado a una pregunta sobre TMs cuyo tiempo de ejecución es demostrable en alguna teoría lógica. Para cualquier teoría lógica (lo suficientemente potente) , existe una máquina cuyo tiempo de ejecución es polinómica pero tanto la frase "el tiempo de ejecución de es polinómica" y su negación no se puede probar en . En particular, eso significa que hay Polytime TMs cuyo tiempo de ejecución limitado no se puede probar en ZFC. Esto debería seguir a la reducción de Viola con algunos trucos adicionales como en la publicación del blog de Scott. Pero en lugar de resolver esto, mira el último comentario de Luca en esta publicación de blog . En cierto modo, Luca responde tu pregunta aquí. Él muestra que:M M TT M M T
Por lo tanto, parece que la respuesta a su pregunta es "no": cualquier lenguaje decidible en polytime por alguna máquina es decidido por una máquina polytime demostrable. Pero tal vez tu pregunta debería ser:
Sospecho que la respuesta es sí, pero en este momento no tengo más tiempo para dedicarlo.
fuente
Solo un comentario extenso tratando de interpretar la pregunta.
Dada una máquina de Turing queM M r QM,r
se promete detenerse detiene en todas las cadenas de entrada; se llama incomprensible si y solo si al menos unonúmero real semidefinido positivoentero el siguientepreguntael problema de decisión es indecidible (es decir, es imposible construir un algoritmo único que siempre conduzca a una respuesta correcta de sí o no):OPCIÓN 1
M n r nQM,r(n) = "¿ detiene en menos de pasos en todas las entradas de longitud ?"M nr n
Trivialmente decidible (finito cadenas y siempre se detiene por hipótesis) no hay TM incomprensibles M ⇒2n M ⇒
OPCION 2
M O ( n r )QM,r = "¿ es el tiempo de ejecución ?"M O(nr)
Trivialmente decidible (1 o 0) no hay TM incomprensibles⇒
Y si pregunta: "Ok, pero ¿podemos calcular el valor 1 o 0 para construir el algoritmo que responde a la pregunta de la Opción 2?", Entonces volvemos a esto:
M O ( n r ) MQr(M) = "¿ es el tiempo de ejecución ?" que es indecidible (usando la definición estándar de indecidible) como lo muestra Emanuele. Pero en esta versión, M es una entrada del problema y no la fija para la que está definiendo la noción de " incomprensible ".M O(nr) M
fuente
La respuesta a su pregunta # 1 es definitivamente "no". Como creo que alguien señaló en la sección de comentarios (muy extensa), podría agregar fácilmente una "polilimitación" a una máquina. Es decir, incluso si no sabe qué es r, si adivina un número entero mayor que r (esto es definitivamente posible, obviamente), podría configurar una máquina aérea que simule su máquina de Turing "incomprensible" y forzarla para dejar de funcionar en tiempo polinómico ... sin cambiar el idioma que acepta la máquina de Turing. De esta manera, podría convertir cualquier máquina de Turing de tiempo polinomial "incomprensible" en una máquina de Turing de tiempo polinomial "comprensible", lo que significa que no hay lenguaje en P que pueda decidirse por máquinas de Turing exclusivamente "incomprensibles".
Espero que esto ayude. A menos que haya malinterpretado completamente su pregunta y su intención, mi respuesta es ciertamente correcta; No es en absoluto una pregunta abierta.
fuente