La Macchina di Turing


Introduzione

Questa pagina offre una implementazione in javascript di un simulatore di macchine di Turing.

La macchina di Turing è un modello di calcolo, ed è stata definita da Alan M. Turing nel suo famoso paper del 1936 (ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM).

Maggiori informazioni teoriche rispetto alla macchina di Turing sono presenti alla fine della seguente pagina. Inoltre, per aiutare a capire meglio il funzionamento del simulatore sono stati preparati i seguenti esempi:


Simulatore

A seguire, in ordine: la tabella che contiene le istruzioni che governano il comportamento della macchina di Turing che si vuole simulare; il nastro contenente l'input della macchina; la posizione della testina; il pannello di controllo e il pulsante di avvio.

Stato corrente Simbolo letto Nuovo stato Simbolo scritto Movimento
Stato Interno:
Velocità (ms):
Passi eseguiti:

Note Tecniche

Seguono alcune note tecniche sull'implementazione dei vari componenti della macchina:


Descrizione Teorica

Nella sua essenza, un modello di calcolo è la descrizione matematica di una macchina in grado di eseguire degli algoritmi. Di modelli di calcolo nel corso degli anni ne sono stati definiti tantissimi. Tra questi però la macchina di Turing è unica, in quanto, nella sua semplicità, riesce a catturare in modo intuitivo il concetto di calcolabilità.

Per questi, e tanti altri motivi, la macchina di Turing continua ad essere studiata da tutti gli studenti di informatica teorica, e Alan M. Turing è considerato uno dei padri fondatori dell'informatica.

Una macchina di Turing è formata dai seguenti componenti: