Il problema di Halting potrebbe essere "risolto" sfuggendo a una descrizione di livello superiore del calcolo?


21

Di recente ho sentito un'interessante analogia che afferma che la prova di Turing dell'indecidibilità del problema di arresto è molto simile al paradosso del barbiere di Russell.

Quindi mi sono chiesto: i matematici alla fine sono riusciti a rendere coerente la teoria degli insiemi passando dalla formulazione ingenua del campo di Cantor a un sistema più complesso di assiomi (teoria degli insiemi ZFC), facendo importanti esclusioni (restrizioni) e aggiunte lungo il percorso.

Quindi sarebbe forse possibile provare a fornire una descrizione astratta del calcolo generale che è più potente e più espressiva delle macchine di Turing, e con la quale si potrebbe ottenere una prova esistenziale o forse anche un algoritmo per risolvere il problema di arresto per una macchina di Turing arbitraria?


1
Benvenuti nello scambio di stack di informatica. Si prega di leggere cs.stackexchange.com/tour.se non lo si è ancora fatto. --- Cosa hai provato per un modello più potente di TM? Cosa ti sta bloccando?
babou,

2
@babou Al contrario, hai bisogno di un modello meno potente.
Yuval Filmus,

2
@YuvalFilmus Bene, l'OP chiede un modello più potente, non più debole. --- con scuse per H2CO3 ... La mia domanda era in realtà uno scherzo in quanto è una domanda standard quando le persone sottopongono i loro compiti come una domanda. Ovviamente non era appropriato qui, poiché nessuno si aspetta che tu possa trovare un modello del genere. Spero che non lo prenda troppo acido.
babou,

1
Potresti leggere di Hypercomputation en.wikipedia.org/wiki/Hypercomputation .
Eric Towers,

Risposte:


15

Non puoi davvero confrontare. La teoria degli insiemi ingenui aveva dei paradossi eliminati dalla teoria degli insiemi ZFC. La teoria deve essere migliorata per coerenza, poiché un presupposto di base del lavoro scientifico è che la coerenza è realizzabile (altrimenti il ​​ragionamento diventa un affare casuale). Suppongo che i matematici si aspettassero che fosse possibile e lavorò per risolvere il problema.

Non esiste una situazione del genere con la teoria del calcolo e il problema di arresto. Non c'è paradosso, nessuna incoerenza. Accade solo che non esiste una macchina di Turing in grado di risolvere il problema di arresto della TM. È semplicemente un teorema, non un paradosso.

Quindi potrebbe essere che una svolta nella nostra comprensione dell'universo porterà a modelli di calcolo oltre ciò che possiamo immaginare ora. L'unico evento del genere, in una forma molto debole, che rimane nel regno della TM, è stato probabilmente il calcolo quantistico. A parte questo esempio molto debole che tocca la complessità (quanto tempo ci vuole?) Piuttosto che la calcolabilità (è fattibile?), Dubito che chiunque su questo pianeta abbia la minima idea che ci si possa aspettare una calcolabilità oltre la TM.

Inoltre, il problema dell'arresto è una diretta conseguenza del fatto che le macchine di Turing sono descrivibili da un pezzo di testo finito, una sequenza di simboli. Questo è vero per tutta la nostra conoscenza (per quanto ne sappiamo), ed è per questo che discorso e libri sono così importanti. Questo è vero per tutte le nostre tecniche per descrivere prove e calcoli.

Quindi, anche se dovessimo trovare un modo per estendere il modo in cui calcoliamo, diciamo con le macchine T +. O significherebbe che abbiamo trovato un modo per esprimere la conoscenza oltre a scrivere un documento finito, nel qual caso l'intera faccenda cade dalla mia giurisdizione (pretendo un'incompetenza assoluta) e probabilmente quella di chiunque altro. Oppure sarebbe ancora esprimibile in documenti finiti, nel qual caso avrebbe il suo problema di arresto per le macchine T +. E faresti di nuovo la domanda.

In realtà quella situazione esiste al contrario. Alcuni tipi di macchine sono più deboli delle macchine di Turing, come Linear Bounded Automata (LBA). Tuttavia, sono piuttosto potenti, ma si può dimostrare esattamente come si fa per TM che LBA non può risolvere il problema di arresto per LBA. Ma TM può risolverlo per LBA.

Infine, puoi immaginare modelli computazionali più potenti introducendo oracle, ovvero dispositivi che possono dare risposte a problemi specifici e che possono essere chiamati da un TM per le risposte, ma purtroppo non esiste fisicamente. Tale TM estesa agli oracoli è un esempio della macchina T + che ho considerato sopra. Alcuni di loro possono risolvere il problema di arresto della TM (astrattamente, non per davvero), ma non possono risolvere il proprio problema di Halting, neppure astrattamente.


Supponendo che ZFC sia coerente, è ancora incompleto, cioè ci sono frasi che non possiamo né provare né smentire da ZFC, e questo è intimamente correlato all'irrisolvibilità del problema di arresto, se l'arresto fosse risolvibile potremmo provare o confutare tutte le frasi. Questa è matematica e non si tratta di un'incoerenza da risolvere, ma anche di un teorema (Gödel)
Hernan_eche,

@Hernan_eche Bene ... sì e ... cosa ...? Se pensi che l'incoerenza non sia peggio dell'incompletezza, questo è il tuo giudizio personale. Dubito che la maggior parte dei matematici sarebbe d'accordo. Potrebbe non piacerti TM che non termina. Ma vorresti che terminassero sempre, dicendo a volte sì e a volte no, sullo stesso input. Cosa faresti della risposta? E se pensi al non determinismo ... pensaci due volte.
babou,

Ho commentato solo per chiarire che Informatica e Matematica combattono gli stessi problemi, per evitare che i lettori interpretino erroneamente la risposta come se la matematica fosse risolta i suoi problemi di base con ZFC e fermare il problema fosse solo un problema di informatica, non è così, c'è una corrispondenza uno a uno tra incompletezza e arresto del problema, è lo stesso problema. Non penso che l'incompletezza sia peggiore o migliore dell'incoerenza, ma penso che l'incompletezza diventerà incoerenza se si desidera costruire sistemi di ordine superiore.
Hernan_eche,

17

Bene, puoi sempre considerare una macchina di Turing dotata di un oracolo per il normale problema di arresto della macchina di Turing. Cioè, la tua nuova macchina ha un nastro speciale, sul quale può scrivere la descrizione di una normale macchina Turing e il suo input e chiedere se quella macchina si ferma su quell'input. In un solo passaggio, ottieni una risposta e puoi usarla per eseguire ulteriori calcoli. (Non importa se è in un singolo passaggio o meno: sarebbe sufficiente se fosse garantito che fosse in un numero finito di passaggi.)

Tuttavia, ci sono due problemi con questo approccio.

  1. Le macchine di Turing dotate di un simile oracolo non possono decidere il proprio problema di arresto: la prova di Turing della indecidibilità del normale problema di arresto può essere facilmente modificata in questa nuova impostazione. In effetti, esiste una gerarchia infinita, nota come "gradi di Turing", generata dando al livello successivo della gerarchia un oracolo per l'arresto del problema del precedente.

  2. Nessuno ha mai suggerito un modo in cui un simile oracolo potesse essere implementato fisicamente. Va tutto bene come dispositivo teorico, ma nessuno ha idea di come costruirne uno.

Inoltre, si noti che ZFC è, in un certo senso, più debole dell'ingenua teoria degli insiemi, non più forte. ZFC non può esprimere il paradosso di Russell, mentre la teoria degli insiemi ingenui può farlo. Come tale, una migliore analogia sarebbe quella di chiedere se il problema dell'arresto sia decidibile per modelli di calcolo più deboli rispetto alle macchine di Turing. Ad esempio, il problema dell'arresto per gli automi finiti deterministici (DFA) è decidibile, poiché i DFA si arrestano per ogni input.


Penso che il suo problema di arresto sia risolvibile da qualsiasi famiglia di automi, se è banale, cioè si fermano tutti o nessuno di essi (il che può essere considerato strano in questo caso).
babou,

1
@babou: che dire degli automi in cui la macchina 0 gira per sempre, la macchina 1 emette FALSO se il suo input è 0 altrimenti emette VERO e poi si ferma. Tutte le altre macchine producono FALSO e poi si fermano. È una famiglia di automi in cui il programma 1 risolve il problema di arresto non banale? O questa non è nemmeno una famiglia di automi, a causa della mancanza di proprietà, ad es. Qualsiasi tipo di composizione?
Steve Jessop,

@SteveJessop Bene, tu (e Davis Richerby) probabilmente avete ragione in un certo senso. Ciò che mi preoccupa è che questo è un esempio inventato. Costruisci una famiglia molto debole in modo tale che una macchina della famiglia sia una decisione decisiva per tutta la famiglia. Ma, come sospetti di te stesso (vedi la tua osservazione sulla composizione), potrebbero esserci alcune proprietà di chiusura di base che mancano in modo che il problema possa essere banalizzato. Non ho una risposta pronta e concordo sul fatto che la mia osservazione ha bisogno di più qualifiche su ciò che costituisce una famiglia di automi, ma il tuo contro-esempio non mi lascia convinto.
babou,

3

Avvertenza: una risposta filosofica / non rigorosa

Questo potrebbe diventare un po '"filosofico", ma penso che si adatti allo spirito della tua domanda.

Una macchina non ripetibile

Una pietra angolare della prova del problema di arresto è che una macchina di Turing si comporta come una funzione: per lo stesso input fornisce sempre lo stesso output. Se si rimuove questa proprietà, non è necessario affrontare il problema di arresto "generale", nel senso che la macchina può scoprire le proprie proprietà. Ma perdi anche molte delle proprietà teoriche desiderabili di una tale macchina.

Rimozione delle proprietà

È un po 'come passare dalla teoria degli insiemi alla teoria delle categorie: perdi alcuni dei "paradossi" perdendo i limiti. Ma il risultato è molto più difficile da gestire.

In questo caso significa: non avresti idea se la macchina ti presenta il risultato "corretto". Non appena puoi sempre decidere quale risultato è corretto, devi affrontare una sorta di "problema di arresto" applicando la macchina a se stesso e costruendo una contraddizione. Quindi una macchina del genere non sarebbe probabilmente molto utile.


1
Grazie, quella "macchina non ripetibile" suona abbastanza interessante, in realtà. Non mi sento abbastanza competente da dire comodamente un po 'di saggezza sui programmi intelligenti di autoispezione (perché il mio istinto è che sono ancora espressibili come macchine di Turing), ma sento che potrebbero benissimo essere utili per una serie di problemi.
H2CO3,

1
Come darebbe un esempio di non ripetibilità? Un come definiresti l'arresto in quel caso. Una delle maggiori difficoltà è che, quando si tenta di definire uno strano modello di calcolo, di solito quelli gedanken, è necessario definire il significato dell'arresto e il tipo di input che la macchina decisiva dovrebbe analizzare, e forse alcune altre cose non banali. Vedi ad esempio il caso del non determinismo . Per non parlare del problema di quello che può essere considerato un modello computazionale (probabilmente non una collezione di macchine ad hoc).
babou,

1
@ H2CO3 Una macchina non ripetibile è solo una sorta di "esperimento di Gedanken" su quale proprietà devi sacrificare per uscire dal "problema generale di arresto" (costruendo una contraddizione lasciando che la macchina si controlli). Otterrai una macchina che a volte è giusta, ma non sai quando. È come il programma che calcola i numeri della lotteria per la prossima settimana. Posso facilmente fornirti un tale programma. La parte difficile è che decidi tu, quale dei tanti programmi che ti darò è quello giusto ...
stefan.schwetschke

2

Il problema dell'arresto non è stato formulato per esprimere i limiti delle macchine di Turing, ma piuttosto per esprimere un limite di tutti i sistemi logici che possono essere espressi usando un numero finito di simboli. Una volta che un sistema logico ha la capacità di esprimere le soluzioni a problemi di una certa complessità, avrà anche la capacità di esprimere problemi che non può risolvere. Qualsiasi estensione di un sistema logico sufficiente per esprimere soluzioni a tutti i problemi che prima non poteva risolvere includerà anche la capacità di esprimere nuovi problemi che non è in grado di risolvere.

Data una specifica specifica "Enhanced Turing Machine", sarebbe possibile specificare una "Super Enhanced Turing Machine" che potrebbe esaminare un programma per l'ETM e segnalare se si fermerebbe, ma SETM sarebbe in grado di analizzare solo i programmi per l'ETM: non sarebbe in grado di analizzare i programmi SETM. Non c'è modo di definire una macchina in grado di analizzare i programmi da sola e determinare se si interrompono perché l'atto di aggiungere nuove funzionalità creerebbe nuovi requisiti per un autoanalizzatore e non c'è modo di far "raggiungere" le caratteristiche con i requisiti .


1

Tali macchine sono state concepite e sono chiamate macchine super-Turing . Sono diverse le principali classi di macchine super-turing

  • Macchine a numeri reali (es. Computer analogici)
  • Macchine di Turing a tempo infinito
  • Turing machine non deterministica

Non tutte le macchine super-turing sono in grado di risolvere il problema di arresto (in particolare le macchine turing non deterministiche). Tuttavia, sono state create le macchine concettuali, almeno negli esperimenti mentali.

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.