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 de autómatas que puede ser no determinista, el problema de detención de puede definirse como:
¿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 x
(Esto no es lo mismo que decir que el cálculo de con la entrada finalizará).x
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.
Respuestas:
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 :x M
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.M x
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.
fuente
El problema de detención es el problema por excelencia -completo, ya que puede expresarse como:Σ1
Esto sugiere que su definición es correcta. En general, cada definición completa es "correcta".Σ1
fuente
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.
fuente
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.
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):
La única definición que sugerí adecuada es la detención existencial .
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 xMETRO X METRO∃ X .
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 xMETRO X METRO∀ X .
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 .
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 :
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.
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.
fuente