|
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). |
|