Perché la completezza di Turing è giusta?


15

Sto usando un computer digitale per scrivere questo messaggio. Tale macchina ha una proprietà che, se ci pensate, è in realtà abbastanza notevole: è una macchina che, se programmata in modo appropriato, può eseguire qualsiasi calcolo possibile .

Naturalmente, le macchine calcolatrici di un tipo o dell'altro risalgono all'antichità. Le persone hanno costruito macchine che eseguono addizioni e sottrazioni (ad esempio un abaco), moltiplicazioni e divisioni (ad esempio la regola delle diapositive) e macchine più specifiche del dominio come i calcolatori per le posizioni dei pianeti.

La cosa sorprendente di un computer è che può eseguire qualsiasi calcolo. Qualsiasi calcolo. E tutto senza dover ricablare la macchina. Oggi tutti danno per scontata questa idea, ma se ti fermi a pensarci, è sorprendente che un tale dispositivo sia possibile.

Ho due domande reali :

  1. Quando l'umanità ha capito che una simile macchina era possibile? Ci sono mai stati seri dubbi sul fatto che si possa fare? Quando è stato risolto? (In particolare, è stato risolto prima o dopo la prima effettiva attuazione?)

  2. In che modo i matematici hanno dimostrato che una macchina completa di Turing può davvero calcolare tutto?

Quel secondo è complicato. Ogni formalismo sembra avere alcune cose che non possono essere calcolate. Attualmente la "funzione calcolabile" è definita come "tutto ciò che una macchina di Turing può calcolare". Ma come facciamo a sapere che non esiste una macchina leggermente più potente in grado di calcolare più cose? Come facciamo a sapere che le macchine di Turing sono l'astrazione corretta?


7
I computer (e i loro modelli teorici, come le macchine di Turing) NON POSSONO calcolare tutto. Dai un'occhiata ad esempio al problema dell'arresto .

2
Risposta alla seconda domanda: non lo dimostriamo; è una questione di definizione; si scopre che ciò che riteniamo intuitivamente "calcolabile" è calcolabile dalle macchine di Turing (o qualcosa di equivalente). Questa affermazione è nota come tesi di Church-Turing .
sdcvvc,


2
Macchine come il tuo PC con memoria finita non sono equivalenti a Turing. Le macchine di Turing hanno un nastro illimitato, il che significa che più a lungo continua un calcolo, più memoria possono potenzialmente utilizzare. I PC non possono eseguire calcoli che richiedono tempo limitato ma richiedono una quantità di memoria maggiore di quella disponibile.
Mike Samuel,

3
@MikeSamuel questa è una distinzione pedante e simile a dire "c'è un numero finito di particelle nell'universo, quindi tutto è stato finito". È un'affermazione vera, ma non utile. Raramente è utile modellare un computer del mondo reale come una macchina a stati finiti.
Artem Kaznatcheev,

Risposte:


17

L'umanità formalizzò il calcolo e sviluppò due sistemi per esso nel 1936 con le carte fondamentali della chiesa di Alonzo su -calculusλ e Alan Turing (che oggi, il 23 giugno 2012, avrebbe 100 anni se non per circostanze spregevoli che avrebbero portato alla sua scomparsa precoce) ciò che divenne noto come macchine di Turing. Entrambi i matematici stavano risolvendo il problema di Entscheidungs .

Sebbene l'articolo di Church fosse stato pubblicato un po 'prima, Turing non ne era consapevole quando ha sviluppato le sue idee e l'approccio di Turing si è rivelato più utile per la progettazione di macchine del mondo reale. Questo perché ha mostrato come progettare una macchina di Turing universale che potrebbe essere programmata per eseguire qualsiasi calcolo. Questa macchina universale, con un'architettura concreta basata sul lavoro di John von Neumann, è l'idea di base dietro la macchina su cui stai leggendo la mia risposta.

Come hai notato, calcolabile è definito come "calcolabile su una macchina di Turing" e tutti gli altri modelli di calcolo ragionevoli hanno dimostrato di essere equivalenti in termini di potenza. La convinzione che tutti i modelli di calcolo ragionevoli siano equivalenti in quali problemi decisionali possono risolvere è nota come tesi di Church-Turing . Nella sua forma originale, è quasi completamente creduto dalla comunità istruita. In realtà non è del tutto chiaro cosa significherebbe dimostrare / confutare la tesi di Church-Turing ; in molti modi diventa una domanda empirica.

λ oggetto di dibattito accademico . Si noti che in termini di nozione grossolana di ciò che è calcolabile (al contrario di in modo efficiente calcolabile) il calcolo quantistico è ancora equivalente al modello di Turing.


1
Il documento di Turing del 1936, rispetto al lavoro di Church all'epoca, era molto più convincente nella sua tesi secondo cui qualsiasi funzione numerica che può essere calcolata algoritmicamente da un essere umano può essere calcolata da una macchina di Turing. I formalismi della Chiesa non avevano ovviamente quella proprietà, e fino ad oggi la riduzione di altri sistemi computazionali alle macchine di Turing è di vitale importanza a causa dell'analisi originale di Turing su ciò che le macchine di Turing possono calcolare.
Carl Mummert,

1
@CarlMummert Sono assolutamente d'accordo, ma il lavoro di Church deve essere menzionato per completezza. Inoltre, non è affatto insignificante, mentre la maggior parte della Teoria A è costruita attorno alle TM, la Teoria B è molto più amica di lambda-calc. Quindi è anche parzialmente una differenza di culture.
Artem Kaznatcheev,

Aspetta, quindi stai dicendo che non è stato dimostrato che non esiste un sistema computazionale più potente? È solo un presupposto ?
MathematicalOrchid,

@MathematicalOrchid tutti i ragionevoli modelli di calcolo (ragionevoli circa mezzo: in una sola volta solo lavorando sui tratti finiti di oggetti e solo facendo una di un numero finito di opzioni) che mi è familiare hanno dimostrato equivalente a macchine di Turing.
Artem Kaznatcheev,

2
@MathematicalOrchid Per fornire una risposta potenzialmente più semplice alla tua domanda di follow-up: giusto, nessuno ha dimostrato che non esiste un modello di calcolo ragionevole più potente di una TM. "Assunzione" è una parola per questo; "l'ipotesi" è un'altra. Potremmo svegliarci domani e vedere un nuovo modello migliore di elaborazione sulla CNN. È improbabile, ma possibile.
Patrick87,

-2

C'è una ragione per cui si chiama Turing Machine, ed è perché è stata inventata da Alan Turing. Ha fatto un articolo del 1936 su questo, stabilendo questi concetti. Se vuoi saperne di più sulle macchine di Turing, controlla la carta. È stato seriamente dubitato, prima che ne progettasse e costruisse uno che crepasse l'Enigma, che questo concetto potesse effettivamente funzionare. Tuttavia gli inglesi erano piuttosto disperati e lui era un genio, quindi si fidarono di lui e questo ripagò in modo massiccio.

Tuttavia, quando ci pensi un po 'di più, non è davvero così sorprendente. Molto prima di Turing era noto che tutta la matematica poteva essere ridotta a un insieme di assiomi. Tutto quello che dovresti fare è dare al set di istruzioni la capacità di eseguire questi assiomi, e il gioco è fatto.


Turing non progettò né costruì enigma (sebbene progettasse un altro computer che non fu mai costruito). Il tuo secondo paragrafo è ben fatto: molta eccitazione intorno al tempo di Turing (e in effetti questo era il punto del suo articolo) relativo ai limiti del calcolo.
Marcin,

Ci siamo fidati di lui? Solo fino a quando non è stato pubblicamente dimostrato di essere un omosessuale, quindi l'abbiamo ucciso per questo. Inoltre è stato dimostrato che ci sono una serie di problemi che possono essere dichiarati in qualsiasi quadro assiomatico che non possono mai essere dimostrati con quegli assiomi.

@TonyHopkinson: lo so. Tuttavia, il compito della TM non è di calcolare tutto , ma solo di calcolare ciò che può essere calcolato. La tua affermazione dice solo che ci sono alcuni calcoli che non possono essere dimostrati corretti. Ciò non significa che non possano essere fatti.

@Marcin: non ho mai implicato che Turing abbia progettato o costruito l'Enigma. Ho detto che ha giocato un ruolo critico nella macchina che ha rotto l'Enigma.

7
Questa risposta è sbagliata . Turing non progettò una TM per rompere l'enigma, aiutò a progettare il Bombe che era una macchina specializzata per attaccare il codice Enigma e non universale. Inoltre, non era noto che la matematica potesse essere ridotta a una serie di assiomi. In effetti, nel 1931 Godel dimostrò il contrario ed è sulle idee di questa prova che si basava il lavoro di Turing. Anche il commento di apertura sulla lettura del documento originale di Turing è fuorviante. Anche se il documento è fantastico, se vuoi solo imparare le basi è meglio un moderno libro di testo come Sipser.
Artem Kaznatcheev,
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.