Enable JQuery execution.
Abilitare l'esecuzione di JQuery
Use an SVG enabled browser (eg Chrome, Firefox) for a proper visualization of the content.
See instructions here.
Per una corretta fruizione dei contenuti del sito deve essere utilizzato un browser abilitato alla visualizzazione di SVG (es. Chrome, Firefox).
Vedere le istruzioni qui.

Simulatore della Macchina di Turing

 

Immagine3

Versione 2

Download

Programmi eseguibili (versione 2.0 del 29/09/2022)

Versione Linux

Versione Win64

 

Scaricare ed estrarre il file eseguibile.

Potrebbe essere necessario assegnare i permessi di esecuzione una volta estratti i programmi.

 

Esempi

Nel programma sono incluse alcune macchine di Turing di esempio

 

Immagine4

 

Programma

Il programma è in formato testuale leggibile e facilmente manipolabile dall'utente.

 

La prima riga ha il seguente formato:

 

I=<simbolo>,<simbolo>,<simbolo>,...

 

Ad esempio:

 

I=1, 0, 0, 1, 1

 

Segue il programma vero e proprio

Le istruzioni sono scritte nella forma:

 

(<stato corrente>, <simbolo letto>, <stato futuro>, <simbolo scritto>, <spostamento>)

 

Ad esempio:

 

(MUOVEDX,0,MUOVEDX,0,>)

(MUOVEDX,1,MUOVEDX,1,>)

(MUOVEDX,_,INCREMENTA,_,<)

(INCREMENTA,0,STOP,1,-)

(INCREMENTA,1,INCREMENTA,0,<)

(INCREMENTA,_,STOP,1,-)

 

Stato

Può essere costituito da uno o più dei seguenti caratteri:

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789

 

Simbolo

Può essere costituito da uno o più dei seguenti caratteri:

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789

oppure uno solo dei seguenti caratteri

!#$%&'*+-./:;<=>?@[\]^{|}_

 

Per indicare "cella vuota" utilizzare il carattere _ (underscore)

 

Spostamento

> indica lo spostamento a destra

< indica lo spostamento a destra

- indica di non muoversi

 

Esecuzione

Per eseguire il programma passare alla seconda pagina

 

Immagine5

Nella parte alta si vede il programma con le istruzioni scomposte nelle loro componenti

Viene evidenziata la prossima istruzione applicabile.

 

L'esecuzione della simulazione è controllabile passo-passo oppure si può avanzare automaticamente a velocità regolabile.

 

Il nastro è rappresentato nella parte inferiore. Ogni rettangolo rappresenta una cella.

La testina di lettura scrittura è evidenziata.

 

E' possibile muovere la testina o far scorrere il nastro utilizzando gli appositi pulsanti.

Cliccando su una cella è possibile modificare la posizione della testina.

 

Nella parte sinistra è riportato l'elenco degli stati, ed è evidenziato lo stato corrente.

Cliccando su uno stato è possibile modificare lo stato corrente.

 

Generazione grafi

Immagine2

E' possibile generare un file .dot per la generazione del grafo corrispondente alla macchina.

Se il programma dot è disponibile, viene automaticamente generata l'immagine corrispondente.

 

Immagine6

Il programma dot fa parte del pacchetto GraphViz

 

 

 

 

Versione 1

Download

Programmi eseguibili (versione aggiornata 1.5 del 30/09/2020)

Versione Linux

Versione Win64

 

Scaricare ed estrarre il file eseguibile.

Potrebbe essere necessario assegnare i permessi di esecuzione una volta estratti i programmi.

 

Esempi

Nel file archivio sono presenti la descrizione della MdT (programma) e un file di dati di esempio

 

M.d.T. che inverte un numero binario

 

M.d.T. che incrementa un numero binario

 

M.d.T. che somma due numeri binari

 

 

Istruzioni

L'inserimento di un programma e dei simboli del nastro è agevolato tramite l'utilizzo di combobox che si autoalimentano durante l'inserimento.

All'inserimento di un valore mai usato prima le liste associate alle caselle vengono aggiornate in modo tale da risparmiare all'utente ulteriori digitazioni potendo limitarsi a selezionare il valore desiderato.

Il programma viene salvato in formato testuale leggibile e facilmente manipolabile dall'utente che non voglia servirsi dell'interfaccia grafica.

L'esecuzione della simulazione è controllabile passo-passo oppure si può avanzare a velocità regolabile.

 

Stato

Può essere costituito da uno o più dei seguenti caratteri:

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789

 

Simbolo

Può essere costituito da uno o più dei seguenti caratteri:

abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789

oppure uno solo dei seguenti caratteri

!#$%&'*+-./:;<=>?@[\]^{|}_

 

Per indicare "cella vuota" lasciare la casella vuota. Nel programma testuale indicare la cella vuota con il carattere _ (underscore)

 

Spostamento

> indica lo spostamento a destra

< indica lo spostamento a destra

- indica di non muoversi

 

 

Programma di esempio che illustra il formato testuale utilizzato

(MUOVEDX,0,MUOVEDX,0,>)

(MUOVEDX,1,MUOVEDX,1,>)

(MUOVEDX,_,INCREMENTA,_,<)

(INCREMENTA,0,STOP,1,-)

(INCREMENTA,1,INCREMENTA,0,<)

(INCREMENTA,_,STOP,1,-)

 

Immagine1

 

 

 

Avvertenze

I programmi sono realizzati per un uso didattico. Non sono stati sottoposti a rigidi controlli sul funzionamento, quindi potrebbero verificarsi degli errori. La segnalazione è gradita.

Contatto

Per comunicare con me vedere le istruzioni nella pagina "contatto".

 

Segnalazione di problemi

Se si notano problemi nel funzionamento o nell'usabilità, riceverò con piacere le segnalazioni e cercherò di sistemare eventuali problemi quanto prima.

 

Suggerimenti

Ricevo con piacere eventuali suggerimenti per migliorare l'utilizzo dei programma

 

Sicurezza

Per quanto mi riguarda applico la massima attenzione per evitare che i programmi contengano malware. Tuttavia non esiste la sicurezza assoluta, mai, in nessun caso. Il sito stesso potrebbe venire violato a mia insaputa e gli eseguibili compromessi.

Si consiglia sempre di effettuare una scansione degli eseguibili con un software antivirus una volta scaricati.