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 xMETROXMETRO∃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 xMETROXMETRO∀X .
METROXMETRO∀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 .
ϵ 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 :
LMETROXx ∈ L
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.