¿Es posible que el problema de detención se pueda resolver para todas las entradas excepto el código de la máquina?

9

Se me ocurrió esta pregunta sobre el problema de detención y no pude encontrar una buena respuesta en línea, preguntándome si alguien puede ayudar.

¿Es posible que el problema de detención sea decidible para cualquier TM en cualquier entrada, siempre que la entrada no sea la propia TM? Básicamente:

Halts(TM, I)
    IF TM == I:
        Undecidable, return a random result/throw an exception, whatever
    ELSE:
        Solve the problem

Halts'(X)
    IF Halts(X, X):
        Loop infinitely
    ELSE:
        Print 'done'

Esto aparentemente resuelve la contradicción. Cuando llamamos a las paradas paradójicas '(paradas'), no podemos esperar un comportamiento consistente, pero todas las otras llamadas a paradas (y paradas ') son legítimas y solucionables.

Entiendo que esto es muy poco intuitivo. Si algún patrón en los bits pudiera revelar el comportamiento de todos los programas posibles, ¿por qué se desmoronaría de repente cuando la TM y la entrada coincidan? ¿Pero podemos eliminar matemáticamente esto como una posibilidad?

Y este reducido problema de detención no sería nada interesante. Incluso si hubiera algún programa significativo que tomara su propio código como entrada, trivialmente podría reescribirse para trabajar en una entrada ligeramente diferente. Por supuesto, esta sugerencia hace que sea aún menos comprensible por qué podría existir una solución de detención con esta advertencia, pero de nuevo, ¿podemos realmente eliminar matemáticamente esta posibilidad?

Gracias por cualquier ayuda.

CS101
fuente
77
La capacidad de decidibilidad no se ve afectada por los cambios finitos.
hay un número infinito de TM equivalentes, y no hay forma (decidible) de detectar TM equivalentes (es decir, es esencialmente lo mismo que el problema de detención en sí). sin embargo, hay algunas "lagunas" complejas; intente Computer Science Chat para un análisis más detallado del problema de detención relacionado con la prueba automatizada de pruebas, etc., podría intentar convertir esto en una respuesta ...
vzn
Retoqué mi pregunta para ser un poco más clara, perdón si engaño a alguien.
CS101
La respuesta es no, como en esta respuesta cstheory.stackexchange.com/questions/2853/…
Mohammad Alaggan

Respuestas:

4

Pero podemos evitar fácilmente su restricción. Suponga un programa que invierte los bits de la entrada y llama a su sobre el resultado, luego defina con todos los bits invertidos (es decir, 0 para 1s, 1s para 0s). Entonces podemos llamar a su con y volvemos al problema original.solH!HHsol(!H)

Jack Aidley
fuente
Gracias. Después de leer la respuesta de @David Richerby, comencé a pensar que esta es la respuesta. Si podemos construir una Q 'funcionalmente equivalente para todos los programas Q, entonces podemos decidir una vez más la capacidad de detención para todos los problemas, no solo los que están fuera de la diagonal. Veo que esto es lo que estás diciendo.
CS101
12

HQMETROHMETRO(METRO)QQQ(Q)

¿Es posible que el problema de detención sea decidible para cualquier TM en cualquier entrada, siempre que la entrada no sea la propia TM?

HHQ,QH

HQQwQ(w)Q(w)H

David Richerby
fuente
3
El último párrafo por sí solo puede ser suficiente para responder a la pregunta: no puede codificar todas las codificaciones de máquinas equivalentes sin importar qué adaptación finita (basada en la semántica) desee realizar. (¡Eso no quiere decir que no valga la pena leer el resto de tu publicación!)
Raphael
Gracias por la respuesta. ¿No es la indecidibilidad de si los programas son funcionalmente equivalentes derivados de la indecidibilidad del problema de detención? ¿Por qué esto no sería un razonamiento circular?
CS101
1
HUNALTHUNALT
Confundido, olvidé que el problema de detención total sigue siendo el mismo según mi conjetura. Gracias.
CS101