L'autoapplicazione non è un ingrediente necessario della dimostrazione
In poche parole
Se esiste una macchina di Turing che risolve il problema di arresto, da quella macchina possiamo costruire un'altra macchina di Turing L con un comportamento di arresto (funzione caratteristica di arresto) che non può essere il comportamento di arresto di qualsiasi macchina di Turing.HL
Il paradosso basato sulla funzione auto-applicata (chiamato L in questa risposta - scusate le incoerenze della notazione) non è un ingrediente necessario della dimostrazione, ma un dispositivo utilizzabile con la costruzione di una contraddizione specifica, nascondendo ciò che sembra essere il "reale scopo "della costruzione. Questo è probabilmente il motivo per cui non è intuitivo.DL
Sembra più diretto dimostrare che esiste un numero illimitato di comportamenti di arresto (non più delle macchine di Turing), che possono essere definiti come funzioni di arresto caratteristiche associate a ciascuna macchina di Turing. Si può definire costruttivamente una funzione di arresto caratteristica non presente nell'elenco, e costruire da essa, e da una macchina
che risolve il problema di arresto, una macchina L che ha quella nuova funzione di arresto caratteristica. Ma poiché, per costruzione, non è la caratteristica funzione di arresto di una macchina di Turing, L non può esserlo. Poiché L è costruito da H usando le tecniche di costruzione della macchina di Turing, H non può essere una macchina di Turing.HLLLHH
L'auto-applicazione di a se stesso, usata in molte prove, è un modo per mostrare la contraddizione. Funziona solo quando l'impossibile funzione di arresto caratteristico è costruita dalla diagonale dell'elenco di Turing ha permesso funzioni di arresto caratteristico, capovolgendo questa diagonale (scambiando 0 e 1 ). Ma ci sono infiniti altri modi per costruire una nuova caratteristica funzione di arresto. Quindi la non-Turing-ness non può più essere evidenziata con un paradosso bugiardo (almeno non semplicemente). La costruzione ad auto-applicazione non è intuitiva perché non è essenziale, ma sembra liscia quando viene estratta dal cappello magico.L01
Fondamentalmente, non è una macchina di Turing perché è progettata dall'inizio per avere un comportamento di arresto che non è quello di una macchina di Turing e che può essere mostrato più direttamente, quindi in modo più intuitivo.L
Nota : può darsi che, per qualsiasi scelta costruttiva della funzione di arresto caratteristico impossibile, vi sia un riordino calcolabile dell'enumerazione della macchina di Turing in modo che diventi la diagonale (non lo so). Ma, imho, questo non cambia il fatto che l'auto-applicazione è una tecnica di prova indiretta che nasconde un fatto più intuitivo e interessante.
Analisi dettagliata delle prove
Non sarò storico (ma grazie a quelli che lo sono, mi diverto), ma sto solo cercando di lavorare sul lato intuitivo.
Penso che la presentazione di @vzn , che ho incontrato molto tempo fa (avevo dimenticato), in realtà è piuttosto intuitiva e spiega persino il nome diagonalizzazione. Lo sto ripetendo nei dettagli solo perché sento che @vzn non ha enfatizzato abbastanza la sua semplicità.
Il mio scopo è di avere un modo intuitivo per recuperare la prova, conoscendo quella di Cantor. Il problema con molte versioni della dimostrazione è che le costruzioni sembrano essere estratte da un cappello magico.
La prova che do non è esattamente la stessa della domanda, ma è corretta, per quanto posso vedere. Se non ho commesso un errore, è abbastanza intuitivo dal momento che potrei recuperarlo dopo più anni di quanto mi importi, lavorando su questioni molto diverse.
Il caso dei sottoinsiemi di (Cantor)N
SjCj(i)1i∈Sj0
TT[i,j]=Cj(i)
DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
D
DN
Questo è certamente, secondo la domanda iniziale, abbastanza intuitivo. Possiamo rendere intuitiva la prova del problema dell'arresto?
Il caso del problema di arresto (Turing)
MjHj(i)1Mji0
TT[i,j]=Hj(i)
DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
D
D
THj
HH(i,j)Hj(i)
HLDLHL(i)H(i,i)H(i,i)1L(i)
LHDLH
Ho deliberatamente imitato la prima prova e sono entrato in piccoli dettagli
La mia sensazione è che i passaggi vengano naturalmente in questo modo, specialmente se si considera la prova di Cantor ragionevolmente intuitiva.
Il primo elenca i costrutti litigiosi. Quindi si prende e modifica la diagonale come un modo conveniente di toccarli tutti per ottenere un comportamento non giustificato, quindi si ottiene una contraddizione esibendo un oggetto che ha il comportamento non giustificato ... se alcune ipotesi dovessero essere vere: esistenza di l'enumerazione di Cantor e l'esistenza di un oracolo di arresto calcolabile per Turing.
DTTLDL(i)HH(i,i)
Confronto con la "altra" prova
LD
Lo costruiamo solo in modo tale che abbia una caratteristica funzione di arresto che non corrisponda a nessuna macchina di Turing, e ne ricaviamo direttamente una contraddizione. Questo ci dà la libertà di non usare la diagonale (per quello che vale).
LjLL=MjLL(jL)T[jL,jL]=H(jL,jL)=1L(jL)L(jL)T[jL,jL]=H(jL,jL)=0L(jL)LL non può essere una macchina di Turing perché è costruita per avere una caratteristica funzione di arresto che non è quella di una macchina di Turing.
Un aspetto secondario è che questa solita dimostrazione sarebbe molto più dolorosa se non scegliessimo la diagonale, mentre l'approccio diretto usato sopra non ha alcun problema. Se ciò possa essere utile, non lo so.