¿Por qué el problema de detención es decidible para LBA?

13

He leído en Wikipedia y algunos otros textos que

El problema de detención es [...] decidible para autómatas lineales (LBA) [y] máquinas deterministas con memoria finita.

Pero antes se escribe que el problema de detención es un problema indecidible y, por lo tanto, TM no puede resolverlo. Dado que LBA se define como un tipo de TM, ¿no debería ser lo mismo para ellos?

usuario5507
fuente
99
Puede usar una TM para determinar si un LBA se detiene en una entrada dada al verificar si se detiene, digamos, O (2 ^ 2 ^ n) pasos por simulación. Cualquier LBA que trabaje por más tiempo está atascado en un bucle infinito. ¡Esto no significa que los LBA puedan resolver el problema de detención de las MT generales!
Yonatan N
Los autómatas finitos también son un tipo de TM.
Raphael
@Raphael No puede editar preguntas como esa. Cambiaste el significado de la pregunta, haciendo que mi respuesta existente fuera del tema, mientras que la otra respuesta estaba fuera del tema y ahora está en el tema.
babou
@babou No veo cómo cambié el significado de la pregunta, y no veo cómo ninguna de las dos preguntas respondía a la pregunta (a pesar de que utilizan enfoques diferentes).
Raphael
@Rap La pregunta original es más sobre el discurso lógico que sobre la justificación formal de las propiedades de LBA, y eso es lo que eliminó del título. Para mí está claro que, aunque podría demostrarse que la detención es decidible para los LBA, el OP se pregunta cómo puede ser compatible con otras declaraciones sobre la inclusión de LBA en TM y la indecidibilidad de la detención para TM (¿puedo editar de nuevo?) . Por cierto, no intento menospreciar la respuesta de Yuval. Espero que obtenga la mayoría de los votos, porque eso es lo que persiguen los lectores (lo cual es un problema pedagógico en sí mismo), incluso si no me complazco.
babou

Respuestas:

18

El problema de detención se puede resolver para cualquier máquina de Turing que use una cantidad limitada de espacio conocida, mediante una generalización del argumento dado por Yonatan N. Si la cantidad de espacio es , el tamaño del alfabeto es A y el número de estados es Q , entonces el número de posibles configuraciones es Q S A S . Si la máquina se detiene, debe detenerse dentro de los pasos Q S A S , ya que, de lo contrario, según el principio del casillero, tiene una configuración repetida y, por lo tanto, está atrapada en un bucle infinito. Por lo tanto, para determinar si la máquina se detiene, simplemente la ejecutamos para Q S A SSUNQQSUNSQSUNSQSUNS pasos y ver si se detiene dentro de ese marco de tiempo.

Yuval Filmus
fuente
¿Por qué ese argumento funciona para máquinas no deterministas?
Raphael
1
Debido al teorema de Savitch.
Yuval Filmus
No sabía (o recuerdo) del teorema de Savitch que no sea el nombre (nunca tuve mucha complejidad). Pero no estoy seguro de que pueda usarse de esa manera, ya que se aplica a los procedimientos de decisión, es decir, detener los cálculos, mientras que la capacidad de decisión de la detención es precisamente lo que debe probarse. La prueba podría adaptarse para incluir las semidecisiones delimitadas por el espacio, pero parece más simple demostrar por separado que la detención es decidible para la TM delimitada por el espacio, convirtiendo así las semidecisiones delimitadas por el espacio en decisiones completas. Esto está cerca de lo que hace Hopcroft-Ullman-79 en su lema 12-1, antes de probar el teorema de Savitch.
babou
1
Podría ser que no entiendo esto, pero ¿es la respuesta literalmente ejecutar el programa y ver si se atasca en un bucle infinito o no?
Mikayla Maki
1
@TrentonMaki Sí, eso es exactamente así.
Yuval Filmus
10

Pareces atrapado con un problema lógico.

Por el hecho de que hay libros que no puedes leer, no puedes inferir que no puedes leer ningún libro.

Decir que el problema de detención es indecidible para Turing Machines (TM) solo significa que hay máquinas para las cuales no hay forma de determinar si se detienen o no mediante algún procedimiento uniforme que siempre se detendrá.

Sin embargo, hay máquinas de Turing que se detienen. Ahora tome un subconjunto de Máquinas de Turing, llamadas las Máquinas de Turing de Niza (NTM), de modo que solo contenga Máquinas de Turing que se detengan si y solo si la cinta contiene un número par de símbolos. Si se sabe que una máquina M es de ese conjunto, tiene una manera simple de decidir si M se detendrá: verificará si el número de símbolos de cinta es par (solo requiere dos dedos).

Pero ese procedimiento no funcionará para TM que no están en el conjunto NTM. (¡demasiado!)

Por lo tanto, el problema de detención es decidible para el NTM, pero no para el TM en general, a pesar de que el conjunto NTM está incluido en el conjunto TM.

Esto es realmente crítico, y a veces olvidado, al interpretar el resultado de indecidibilidad.

Es muy posible que se pueda demostrar que una propiedad importante es indecidible para una familia muy grande de objetos matemáticos o computacionales.

Esto no significa que deba dejar de buscar una solución, sino que no encontrará una para toda la familia.

Lo que puede hacer es identificar subfamilias relevantes para las cuales resolver el problema sigue siendo importante e intentar proporcionar algoritmos para decidir si la propiedad es válida para los miembros de esa familia más pequeña.

Por lo general, la detención es indecidible para TM en general, pero es decidible, a menudo de manera muy simple, para familias grandes y útiles de autómatas, que pueden considerarse como casos especiales de TM.

babou
fuente
3
"Decir que el problema de detención es indecidible para Turing Machines (TM) solo significa que hay máquinas para las cuales no hay forma de determinar si se detienen o no mediante algún procedimiento que siempre se detendrá". - No del todo cierto. Para cualquier TM dado, el problema de detención es decidible. El problema de decisión general es indecidible, es decir, no hay un algoritmo único que se ocupe de todas las TM. (Creo que esto debe hacerse muy, muy claro para los principiantes. Cf el problema pi .)
Raphael
Un ejemplo más inmediato es el conjunto de todas las TM que siempre tienen. El tuyo agrega un poco de sabor extra porque se encuentra fuera de la jerarquía normal.
Raphael
Correcto. Debería haber dicho "procedimiento uniforme", pero estaba implícito en mi mente ya que dije "procedimiento que siempre se detendrá", lo que implica que puedo usarlo en cualquier entrada, es decir, cualquier máquina. Pero es cierto que un procedimiento podría funcionar correctamente para una máquina y hacer cualquier cosa por otras máquinas. Bueno ... - - - - - - - - Con respecto al segundo comentario, eso es lo que escribí al principio. Luego cambié de opinión porque pensé que mi ejemplo sería más fácil de entender intuitivamente, ya que la selección de máquinas no depende tan directamente de la propiedad que se decidirá (aunque está cerca).
babou
2

En resumen, A LBA tiene un número finito de configuraciones, digamos D. Por lo tanto, podemos ejecutar pasos D y concluir el resultado. Si se ejecuta por más de D pasos, por principio de casillero, podemos decir que está atrapado en un bucle infinito.

SiluPanda
fuente
1
¿Qué agrega esto sobre la respuesta existente ? Esto parece repetirlo, con menos detalle. Si bien agradezco que esté intentando contribuir, preferimos que evite repetir las respuestas existentes y, en cambio, se concentre en responder preguntas que aún no tienen una buena respuesta.
DW