Il funzionamento della Macchina di Turing si basa su pochi concetti.
( S1, x ) > ( S2, y, a )
dove S1
e S2
sono stati,
x
e y
sono
lettere, e a
può valere
s
(come sinistra), d
(come
destra) o -
(per indicare nessun
movimento); il significato di questa mossa è il
seguente: "Se la macchina è nello stato S1
e la testina legge la lettera x
, si passi nello stato S2
, si scriva la lettera y
al posto di x
e si
muova il nastro di una casella nella direzione indicata da
a
".
Una volta avviata, la macchina continua l'esecuzione del programma fintanto che esiste una mossa che riporta come primo elemento lo stato attuale della macchina e come secondo la lettera letta dalla testina. Se non c'è una mossa di questo tipo, la macchina si ferma. Valgono inoltre le seguenti regole:
S1
e S2
) possono
essere composti solo dai caratteri
ABCDEFGHIJKLMNOPQRSTUVXYWZ0123456789
x
e y
) possono
essere solo ABCDEFGHIJKLMNOPQRSTUVXYWZ
. La
cella vuota si indica con il simbolo *
a
) sono uno dei caratteri
d
, s
, -
indicanti
rispettivamente uno spostamento del nastro di una casella
verso destra, verso sinistra e nessun movimento. Per esempio: l'istruzione ( 0,* ) > ( 1,C,s )
significa:"Se la macchina è nello stato
0
e la testina legge una casella vuota, si passi
nello stato 1
, si scriva la lettera
C
e si muova il nastro di una casella verso
sinistra".