Definición del problema de detención para autómatas no deterministas


18

La definición principal de Turing machine (TM), al menos en mi propio libro de texto de referencia (Hopcroft + Ullman 1979) es determinista.

Por lo tanto, mi propia comprensión del problema de detención es principalmente para TM determinista, aunque soy consciente de que puede considerarse para otros tipos de autómatas.

También noté que el determinismo a menudo está más o menos implícito en la forma en que las personas a menudo se refieren a TM o al problema de detención. La página de wikipedia sobre el problema de detención es un buen ejemplo de eso.

Pero, parece que no hay razón para tal limitación. Dada una familia F de autómatas que puede ser no determinista, el problema de detención de puede definirse como:F

¿Existe un procedimiento de decisión uniforme tal que, dado un autómata y una entrada , pueda decidir si hay un cálculo de detención de en la entrada ? x A xUNFXUNX

(Esto no es lo mismo que decir que el cálculo de con la entrada finalizará).xUNX

De hecho, esa parece ser la única forma de dar algún sentido a las discusiones sobre el problema de detención de los autómatas limitados lineales (LBA), que son principalmente autómatas no deterministas.

Entonces, mi pregunta es si estoy en lo correcto y si hay una razón (y qué razón) para este tratamiento aparentemente de segunda clase del problema de detención de autómatas no deterministas.


Si cree que algo está mal en esta pregunta, sería tan amable de decir qué es, para que todos podamos beneficiarnos de su conocimiento y mejorar la publicación para todos los usuarios. Gracias.
babou

Respuestas:


12

Hay algunas razones por las que creo que ponemos menos esfuerzo en el problema de Detención de los modelos no deterministas.

La primera es que, de hecho, hay dos problemas de detención relevantes para un modelo ND. Dada una entrada una máquina no determinista M :xM

  • ¿Existe una ejecución válida de en x que se detiene?Mx
  • ¿Existe una ejecución válida de en x que no se detenga? es decir, ¿se detienen todas las ejecuciones válidas?Mx

Para máquinas deterministas, son idénticas, ya que hay exactamente una ejecución válida de en una entrada x . Pero para máquinas no deterministas, puede haber múltiples ejecuciones. El que le interesa depende de su aplicación.MX

En segundo lugar, los modelos no deterministas ya no son realistas: suponen que tienes una caja mágica que te indica qué camino tomar o que tienes alguna forma de paralelismo infinito. Dado que las máquinas de Turing no deterministas y deterministas son equivalentes en potencia, en la mayoría de los casos simplemente convierte la máquina en una determinista antes de preocuparse por detenerse.

Como una extensión de esto, no nos importa porque probar algo sobre una máquina no determinista es al menos tan difícil como probar algo sobre una máquina determinista equivalente. Ya sabemos que no hay una solución al problema de detención determinista, por lo que todo lo que es realmente útil es probar otros problemas indecidibles a través de reducciones. Y siempre será menos trabajo reducir el problema de detención determinista, ya que es más fácil que su contraparte no determinista.


Usted declara: " Pero para máquinas no deterministas, puede haber varias ejecuciones. La que le interesa depende de su aplicación " . ¿Podría ilustrar esa afirmación con un ejemplo? Luego dice " simplemente convierte la máquina en una determinista antes de preocuparse por detenerse ". ¿Cómo se hace eso para un LBA?
babou

Los LBA son un subconjunto de máquinas de Turing no deterministas, por lo que siempre se pueden convertir en máquinas de Turing deterministas utilizando el método habitual. Sospecho que hay una construcción especial que se puede usar para convertir a una máquina con propiedades específicas, por lo que podemos mantener la capacidad de razonamiento adicional que obtenemos de los LBA. Creo que se verá como un algoritmo de retroceso donde se usa espacio lineal, excepto que la pila de llamadas podría ser exponencialmente grande (no estoy seguro, tendría que buscarlo).
jmite

Para rutas múltiples, considere dos máquinas , una que siempre se detiene en la entrada x y otra que nunca lo hace para x . Podemos hacer un nuevo LBA M que comience eligiendo de forma no determinista un valor booleano. Si elige verdadero, ejecuta M 1 en la entrada x. Si elige falso, ejecuta M 2 en x . Cada elección de verdadero y falso es una "carrera" diferente. ¿Esta máquina se detiene por x ? Existe una ruta donde se detiene en x , pero no se detiene para todas las rutas que leen x . METRO1,METRO2XXMETROMETRO1METRO2XXXX
jmite

1
@HendrikJan Parece que la detención de NLBA se aborda más bien con el teorema de Savitch . Pero cambia el límite lineal en cuadrático.
babou

1
@Raphael, lo que quiero decir con esto es que, para mostrar el problema indecidible, demuestras que puedes usar P para simular otro problema indecidible. Dado que existe un mapeo inyectivo trivial de DTM a NTM, cualquier reducción de la detención de NTM también es una reducción de la detención de DTM. Por lo general, sería menos difícil reducir la detención de DTM, ya que es un problema menos difícil lo que está tratando de simular. PAGPAG
jmite

4

El problema de detención es el problema por excelencia -completo, ya que puede expresarse como:Σ1

.H(P,x)c s. t. c is a halting computing of P on x

Esto sugiere que su definición es correcta. En general, cada definición completa es "correcta".Σ1


Desafortunadamente, no sé casi nada sobre la jerarquía aritmética. ¿Estoy en lo cierto al entender que representa problemas semi-decidibles? ¿Qué pasa con: K ( P , x ) c , c  es una computación de  P  en  xΣ1. Pregunto porque las cuantificaciones existenciales y universales parecen terminar en diferentes clases, pero todo es confuso para mí. Ktambién es semi-decidible. K(PAG,X)C,C es una computación de PAG en XC se está deteniendoK
babou

Eso es lo que temía que respondieras. Pregunté porque creo que tengo un procedimiento de semi decisión para ello. Entonces, o mi prueba es incorrecta, o formalicé mi problema incorrectamente. Básicamente, es la sugerencia de jmite que la detención no determinista en la entrada podría definirse al requerir que todos los cálculos en x se detengan. Y creía que hasta ahora tenía una semi decisión para eso. xx
babou

En realidad, su definición no es buena por otra razón: ¿qué quiere decir con " está deteniendo"? O quieres decir que c , que a priori es solo un cálculo incompleto, en realidad está completo. En ese caso, K ( P , x ) nunca es cierto, ya que puede tomar c como el cálculo vacío. En cualquier otro caso, no está claro que la descripción de c sea ​​finita, y tampoco está claro que el predicado " c se esté deteniendo" sea computable. ccK(P,x)ccc
Yuval Filmus

De hecho, el problema está en pero probablemente no en Π 1 -completo. Π1Π1
Yuval Filmus

Gracias, y perdón por mi lectura ingenua. Pensé que la que usaste significaba cálculos "completos", lo que aparentemente es un error en el dominio cuantificado. Supongo que uno solo puede usar dominios contables y el conjunto de cálculos no detenidos de una TM no determinista no califica. También supongo que los cuantificadores nos dicen cuán mala puede ser la computabilidad, pero no ofrecen garantía de que sea tan mala. Parece que la propuesta de jmite no se expresa fácilmente de manera directa en el "formato" requerido, pero mi procedimiento de semi-decisión puede ser correcto. c
babou

2

Usted dice que existe un "tratamiento aparente de segunda clase" del problema de detención para máquinas no deterministas. parece que el no determinismo no se consideró históricamente hasta mucho después de la creación de Turings de la TM determinista y esto puede tener algo que ver con el enfoque de investigación en el área. sin embargo, el punto principal aquí es que el problema no determinista puede reducirse fácilmente al problema determinista, por lo que uno solo necesita estudiar el problema determinista "sin pérdida de generalidad".

Además, para contrarrestar la idea de "segunda clase" aquí hay al menos un documento de referencia que estudia el problema de detención de máquinas no deterministas y encuentra conexiones útiles / profundas. alguna evidencia circunstancial en el sentido de que la investigación de CS es tan vasta / especializada, a veces se ha realizado una investigación inicial en la mayoría de las áreas, incluso aparentemente estrecha, y puede enfocarse casi sin sentido o dividir el cabello para clasificar diferentes problemas en su importancia. y por el contrario, el no determinismo parece un concepto muy profundo / ubicuo / transversal en CS (preguntas clave clave como P vs NP están en él) y es probable que ese aspecto continúe por mucho tiempo en el futuro.

Resumen. El problema parametrizado p-Halt toma como entrada una máquina de Turing no determinista M y un número natural n, siendo el tamaño de M el parámetro. Pregunta si cada ejecución de aceptación de M en una cinta de entrada vacía requiere más de n pasos. Este problema está en la clase XPuni, la clase "XP uniforme", si hay un algoritmo que lo decide, que para la máquina fija M se ejecuta en el tiempo polinomial en n. Resulta que varios problemas abiertos de diferentes áreas de la informática teórica están relacionados o incluso son equivalentes a p-Halt ∈ XPuni. Así, esta declaración forma un puente que permite derivar equivalencias entre declaraciones de diferentes áreas (teoría de la prueba, teoría de la complejidad, complejidad descriptiva, ...) que a primera vista parecen no estar relacionadas. Como muestra nuestra presentación,


2

En una palabra

Parece que no hay una buena razón para descuidar el problema de detención en entornos que no son el clásico de las máquinas deterministas de Turing, aparte del hecho de que el problema de detención clásico responde a algunas preguntas matemáticas importantes (como el problema Entscheidungs ), mientras que las variantes son solo cuestiones técnicas interesantes (?), pero con menos impacto en las bases.

UNX

De acuerdo con la respuesta de jmite, esta detención no determinista se puede definir como correspondiente a la existencia de al menos un cálculo de detención ( detención existencial ), o alternativamente a requerir que todos los cálculos posibles se detengan ( detención universal ). Estas dos definiciones corresponden a dos definiciones diferentes del problema de detención no determinista.

Demuestro que, para las máquinas de Turing, las dos definiciones corresponden a dos formas distintas de determinar la máquina haciendo cola de milano. A partir de esto, infiero que las dos variantes del problema de detención no determinista son equivalentes de Turing al problema de detención determinista clásico .

Sin embargo, también muestro que cada una de estas definiciones de detención está directamente relacionada con una definición correspondiente del lenguaje reconocido por una máquina de Turing, y esta relación puede expresarse simplemente con la condición de elegir definiciones consistentes.

Por lo tanto, dada la definición habitual del lenguaje reconocida por un autómata no determinista, la definición natural de detención no determinista es detención existencial, como se propone en la pregunta original.

La mayor parte de este análisis se extiende naturalmente a otros tipos de autómatas, aunque las construcciones de cola de milano a menudo no están disponibles en familias menos potentes que las máquinas Turing.

Introducción

Estoy escribiendo esto como respuesta, ya que responde parcialmente a mi pregunta después de pensarlo más, teniendo en cuenta las respuestas existentes. Además, editar mi pregunta después de tres respuestas podría en este caso confundir los problemas, y preferiría dejar la pregunta tal como estaba escrita originalmente para evitar eso.

Primero discuto algunos de mis desacuerdos con las respuestas dadas. El punto no es menospreciar los intentos justos de responder mi pregunta (mi agradecimiento por todas las respuestas), sino llegar al fondo de los problemas discutiendo o disputando puntos técnicos.

Creo que la pregunta original apenas necesita contexto o motivación. El problema de detención es una de las principales preguntas que hacemos sobre los autómatas, por un lado, y el no determinismo es una característica muy común y útil de muchos autómatas, por otro lado. Además, el no determinismo no es solo un dispositivo teórico común para simplificar las pruebas, sino una característica esencial de algunas familias de autómatas, como el autómata lineal (LBA), al menos en el momento de escribir este artículo.

Por lo tanto, es bastante natural preguntarse si el problema de detención tiene un significado, o un significado preferido, cuál y por qué, en el caso de autómatas no deterministas.

¿Se aborda bien el problema de la detención no terminista?

Mi pregunta se pregunta por qué el problema de los autómatas no deterministas parece recibir un tratamiento de segunda clase , lo que generó un voto negativo y una respuesta de vzn. La respuesta de vzn , que es realmente un comentario más largo, insiste en que "el no determinismo parece un concepto muy profundo / ubicuo / transversal en CS", que nunca dudé. También da una referencia a algunas investigaciones sobre la detención de máquinas no deterministas, lo cual no es sorprendente, pero realmente no aborda mi punto. Lo que quiero decir es que no recuerdo haber visto realmente una definición del problema de detención dirigido en máquinas no deterministas, aunque leí algo de literatura en el campo. AFAIK no lo aborda en mi libro de texto de referencia (Hopcroft + Ullman 1979). A menudo parece implícito en la mente de las personas que están considerando autómatas deterministas, generalmente Turing máquinas, cuya definición de referencia es determinista.

Por ejemplo, en la pregunta ¿Por qué el problema de detención es decidible para LBA? , Yuval Filmus olvidó en su respuesta que los LBA son dispositivos no deterministas, pero guardó brillantemente su respuesta con un comentario de 4 palabras .

Como último testigo del hecho de que este problema no se aborda bien en general (a pesar de algunas investigaciones especializadas), diría que el tema debe discutirse aquí.

La respuesta de jmite es la única que realmente intenta explicar por qué podría no estar bien abordada. Su primer argumento es que hay dos definiciones posibles, pero creo que esta situación debería alentar más análisis para determinar qué definición sería la más adecuada. Intento hacer eso a continuación.

También sugiere que, dado que una TM no determinista siempre puede convertirse en una determinista equivalente, no tiene mucho sentido preocuparse por el tema de la detención en el caso no determinista. No estoy completamente convencido, pero muchos pueden percibirlo como una buena razón. Sin embargo, el argumento no se aplica a los autómatas limitados lineales (LBA), porque todavía es un problema abierto si los LBA deterministas son equivalentes a los LBA no deterministas. Y hay otras familias de autómatas para las cuales la subfamilia determinista es más débil que toda la familia no determinista (PDA por ejemplo).

También estoy en desacuerdo con el último punto, afirmando que no deberíamos preocuparnos por la detención no determinista porque las pruebas son más fáciles con las máquinas deterministas. Raphael se opuso a eso en un comentario : "Por lo general, encuentro reducciones a problemas más difíciles más fáciles ". De hecho, para muchos tipos de autómatas, la versión no determinista sirve principalmente para simplificar las pruebas, como la reducción a ese tipo de autómata. Tener además dos formas de detención que se pueden utilizar, como lo sugiere el propio jmite, podría incluso considerarse una ventaja, ya que brinda más flexibilidad para abordar los problemas.

Sobre la definición del problema de detención no determinista

Nota: el uso de la palabra "universal" en el siguiente texto se refiere a la cuantificación universal , NO a las máquinas universales de Turing

La respuesta de jmite es la más detallada.

Esta respuesta conjetura que los autómatas no deterministas fomentan menos esfuerzo en el problema de detención porque se puede definir de dos maneras diferentes (la terminología es mía):

  • METROX

  • METROX

La única definición que sugerí adecuada es la detención existencial .

X

Prueba : esto se prueba fácilmente con el lema de König , ya que el número de posibles opciones no deterministas en cada paso está limitado por un autómata dado. Si hubiera infinitos cálculos detenidos, podríamos etiquetar cada configuración con cada una de las rutas computacionales que conducen a ella, lo que haría un gráfico de cálculo con infinitos nodos, pero solo ramificaciones no deterministas finitas en cada nodo. Según el lema de König, esto implica la existencia de una ruta de cálculo infinita, que corresponde a un cálculo sin interrupciones.

El caso de las máquinas de Turing (no deterministas)

Así que ahora, examinemos la detención en el caso de la máquina de Turing no determinista (NTM).

Para analizar las dos definiciones, la más simple es considerar las versiones deterministas de máquinas no deterministas, que se pueden lograr, como lo recuerda Hendrik Jan , al combinar todos los cálculos posibles.

Pero hay (al menos) dos formas de encajar los cálculos para la determinación, aunque generalmente solo se considera una:

  • Determinación existencial de cola de milano que simula todos los cálculos en paralelo y termina cuando termina uno de los cálculos simulados.

  • Determinación universal de cola de milano que simula todos los cálculos en paralelo y termina solo cuando terminan todos los cálculos simulados. Pero posiblemente puede enumerar de alguna manera los cálculos finales, o contarlos.

Proposición 2 :

  • Una TM no determinista se está deteniendo existencialmente en la entrada x si su determinación existencial de encajamiento M es una TM que se detiene en la entrada xMETROXMETROX .

  • Una TM no determinista se detiene universalmente en la entrada x si su determinación universal de acoplamiento a la cola M es una TM que se detiene en la entrada xMETROXMETROX .

METROXMETROX

Teorema 3 : El problema de detención para TM determinista, y los problemas de detención existenciales y universales para TM no determinista son equivalentes de Turing.

Prueba : Esto resulta de la proposición 2 y del hecho de que las TM deterministas son un subconjunto de TM no deterministas, donde tanto la detención existencial como la universal se reducen a una simple detención determinista.

Por lo tanto, desde el punto de vista de la computabilidad, y me siento tentado a decir desde el punto de vista de un símbolo, parece que realmente no importa qué definición se elija, existencial o universal, para el problema de detención no determinista.

¿Por qué elegir una definición de detención de NTM y cuál?

Sin embargo, ¿tiene mucho sentido un proceso de determinación que no conserve el lenguaje reconocido por el autómata original?

La esencia del uso del no determinismo en el reconocimiento del lenguaje es que supone un oráculo que se supone que adivina un camino computacional correcto siempre que haya uno que conduzca a la aceptación, una visión fundamentalmente existencial .

ϵ ocurran transición de en los estados de falla). Esto también es cierto para los autómatas deterministas, siempre que haya un símbolo especial que marque el final de la entrada, como se hace generalmente para LBA.

Por lo tanto, la aceptación por detención puede verse como una forma canónica de aceptación para autómatas no deterministas.

Considerando esta visión canónica, el problema de detención también puede expresarse de manera equivalente como el problema de reconocimiento :

LMETROXXL

METROXXMETRO reconoce es verdadera tanto para la TM determinista como para las no deterministas, siempre que consideremos la definición existencial de la detención no determinista.

Sin embargo, en el caso de la detención universal, se pierde esta estrecha relación. Se puede hacer una declaración similar, pero para un idioma diferente al reconocido por la NTM (o alternativamente para una definición diferente y universal de lo que es la lengua reconocida por una NTM).

Cuando se desarrolla una teoría, es esencial utilizar definiciones consistentes para enfatizar las estructuras y las relaciones en su forma más simple y perspicaz. Está bastante claro que, en el presente caso, la coherencia con otras definiciones sugiere que la detención existencial es la definición natural de detención para las máquinas de Turing no deterministas.

XX

El caso de otras familias de autómatas.

Partes del análisis anterior no se pueden extender a la mayoría de las familias de autómatas no deterministas. Por ejemplo, un atomizador pushdown (PDA) puede definir lenguajes que no pueden ser reconocidos por un PDA determinista. Lo mismo puede ser cierto para los LBA. Otras partes pueden extenderse a todas las familias no deterministas.

Con respecto a la definición de detención no determinista, aunque el razonamiento utilizado en el caso de la máquina de Turing puede no ser utilizable, parece que la única opción sensata es adoptar una definición que sea consistente con la utilizada para las máquinas de Turing no deterministas, de ahí la definición existencial .

La definición del problema de detención para estas familias de autómatas no deterministas sigue y conforma la definición propuesta en la pregunta.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.