È possibile che il problema di arresto sia risolvibile per tutti gli input tranne il codice della macchina?


9

Questa domanda mi è venuta in mente riguardo al problema dell'arresto e non sono riuscito a trovare una buona risposta online, chiedendomi se qualcuno può aiutare.

È possibile che il problema di arresto sia decidibile per qualsiasi TM su qualsiasi input purché l'ingresso non sia il TM stesso? Fondamentalmente:

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'

Ciò apparentemente risolve la contraddizione. Quando chiamiamo i paradossi Halts "(Halts"), non possiamo aspettarci comportamenti coerenti, ma tutte le altre chiamate a Halts (e Halts) sono legittime e risolvibili.

Capisco che questo non è molto intuitivo. Se alcuni pattern nei bit potessero rivelare il comportamento di tutti i programmi possibili, perché dovrebbe cadere improvvisamente quando TM e input corrispondono? Ma possiamo matematicamente eliminarlo come una possibilità?

E questo ridotto problema di arresto non sarebbe per nulla interessante. Anche se ci fosse qualche programma significativo che prendesse il proprio codice come input, potrebbe essere banalmente riscritto per funzionare su input leggermente diversi. Naturalmente questo suggerimento rende ancora meno comprensibile il motivo per cui potrebbe esistere una soluzione di arresto con questo avvertimento, ma ancora una volta, possiamo davvero eliminare matematicamente questa possibilità?

Grazie per qualsiasi aiuto.


7
La decidibilità non è influenzata da cambiamenti finiti.

ci sono un numero infinito di TM equivalenti e non esiste un modo (decidibile) per rilevare TM equivalenti (cioè è essenzialmente lo stesso del problema di arresto stesso). tuttavia ci sono alcune "scappatoie" complesse; provare Informatica Chat per ulteriori analisi del problema della terminazione relative al THM automatizzato dimostrando ecc ... potrebbe provare a cucinare questo in una risposta ...
VZN

Ho ritoccato la mia domanda per essere un po 'più chiaro, scusate se ho fuorviato qualcuno.
CS101,

La risposta è no, come in questa risposta cstheory.stackexchange.com/questions/2853/…
Mohammad Alaggan,

Risposte:


4

GH!HHG(!H)


Grazie. Dopo aver letto la risposta di @David Richerby ho iniziato a pensare che questa fosse la risposta. Se siamo in grado di costruire una Q 'funzionalmente equivalente per tutti i programmi Q, allora possiamo ancora una volta decidere l'ablabilità per tutti i problemi, non solo quelli fuori dalla diagonale. Vedo che è quello che stai dicendo.
CS101,

12

HQMHM(M)QQQ(Q)

È possibile che il problema di arresto sia decidibile per qualsiasi TM su qualsiasi input purché l'ingresso non sia il TM stesso?

HHQ,QH

HQQwQ(w)Q(w)H


3
Il solo ultimo paragrafo può essere sufficiente per rispondere alla domanda: non è possibile codificare in modo rigido tutte le codifiche di macchine equivalenti, indipendentemente dall'adattamento finito (basato sulla semantica) che si desidera eseguire. (Questo non vuol dire che il resto del tuo post non valga la pena leggerlo!)
Raffaello

Grazie per la risposta. L'indecidibilità del fatto che i programmi siano o meno funzionalmente equivalenti non è forse derivata dall'indecidibilità del problema di arresto? Perché questo non dovrebbe essere un ragionamento circolare?
CS101,

1
HALTHALT

Mi sono confuso, ho dimenticato che il problema dell'arresto completo è sempre lo stesso per la mia congettura. Grazie.
CS101,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.