Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

La macchina

Precedente
SUPERIORE
Successiva

Alan Turing, nel progettare il suo esecutore, pensava alle capacità minime che tutti gli uomini possiedono: riconoscere dei simboli, scrivere un simbolo come conseguenza dell'osservazione di un altro simbolo. Lo stesso simbolo può indicare un'azione diversa in "momenti" diversi; cioè lo stesso esecutore può comportarsi in modo diverso a seconda dello stato in cui si trova.

Le azioni di osservazione e di scrittura dei simboli avvengono su un nastro, potenzialmente infinito, tramite una testina che scorre nei due sensi (ma di un solo passo alla volta).

I simboli sono, per semplicità due: 0 (zero) e 1 (uno), oppure b (blank) e 1 (uno).

Le regole che l'esecutore deve applicare sono scritte in una tabella (delle transizioni di stato) che costituisce il programma nell'unità di controllo (il cervello?…).

Le istruzioni (regole di comportamento...) prendono la forma di quintuple

(Sa, Cin, Sf, Cout, D)

oppure

(STATO attuale, CARATTERE in) --> (STATO futuro, CARATTERE out, DIREZIONE)

In funzione dello stato attuale e del carattere letto dalla testina cambia stato, scrivi un carattere e sposta la testina.

Esempio

A1B2d ' (A, 1) --> (B, 2, d)

Cioè: se sei nello stato A con un 1 sotto la testina allora  passa allo stato B,  scrivi 2 e sposta la testina a destra

Lo stato di partenza è sempre 0 (zero) e per indicare all'esecutore che il lavoro ha avuto termine si indica una transizione in uno stato di Halt (H, h).

La macchina - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva