2. L’automa è un modello di calcolo molto semplice da
utilizzare, adatto a descrivere un gran numero di
problemi di varia natura. In sintesi è un dispositivo che
legge una stringa di input e la elabora secondo un banale
meccanismo di elaborazione e una memoria limitata,
producendo delle uscite.
Sono esempi di automi: la lavatrice, la lavastoviglie, il
frullatore, il bancomat, i sistemi di controllo degli
ascensori, i distributori automatici di bevande, i
distributori automatici di carburante.
CHE COSA SONO GLI AUTOMI
3. Un automa è un sistema con le seguenti caratteristiche:
• dinamico: evolve nel tempo; invariante: la risposta del
sistema a una sollecitazione è la stessa indipendentemente
dall’istante di tempo in cui è applicata;
• discreto nell’avanzamento: quando è discreto l’insieme dei
tempi, cioè il sistema può essere analizzato in precisi istanti
di tempo, e nelle interazioni le funzioni di transizione e
trasformazione sono discrete;
• gli insiemi degli ingressi e delle uscite sono composti da un
numero finito di elementi. Un automa a stati finiti (ASF) è un
automa in cui anche l’insieme degli stati è composto da un
numero finito di elementi.
CHE COSA SONO GLI AUTOMI
4. Gli automi a stati finiti possono essere
rappresentati in tre modi:
• Tramite diagramma degli stati (modello
grafico);
• Tramite una tabella di transizione (modello
matematico);
• Tramite un programma (modello logico).
COME SI RAPPRESENTANO GLI AUTOMI
5. Il diagramma degli stati è una rappresentazione grafica di
un automa costituita da bolle e archi.
DIAGRAMMA DEGLI STATI
a bolla rappresenta
uno stato
Descrizione di uno
stato iniziale
L’arco rappresenta una
relazione di passaggio
Descrizione di
uno stato finale
6. TABELLA DI TRANSIZIONE
Le tabelle di transizione sono tabelle con un numero di
righe pari al numero degli stati dell’automa e un numero
di colonne pari al numero dei diversi ingressi. Le celle
contengono una coppia formata dallo stato successivo e
dall’uscita da emettere.
7. L’ASCENSORE
Stati
Livelli interpretati come Stati:
(s0,s1,s2)
Ingressi/Comandi
Comando, pulsantiera a 3 bottoni =
livelli richiesti, interpretati come
Ingressi (i0,i1,i2)
Uscite/Azioni
Azione: salire, scendere, restare.
Interpretate come Uscite (+1,-1,0)
Prendiamo l’esempio di un ascensore che si
muove su 3 piani.
9. L’ASCENSORE
La tabella di transizione sarà la seguente:
si i0 i1 i2
s0 s0 s1 s2
s1 s0 s1 s2
s2 s0 s1 s2
10. L’ASCENSORE
Quindi l’ascensore si può trovare in 3 stati che corrispondono ai
piani. I passaggi di piano corrispondono quindi alle transizioni di
stato e gli input per svolgere queste transizioni vengono dalla
pulsantiera.
Se per esempio ci si trova al primo piano (s1) e si preme il pulsante
2 (i2) arriveremo al secondo piano (s2) con un’azione di +1.
Se ci si trova al piano terra (s0) e si preme il pulsante 2 (i2),
avremo una transizione dal piano terra al primo piano (s0)+1=(s1),
e poi nuovamente una transizione dal primo piano al secondo
(s1)+1=(s2).
11. LA CASSAFORTE
Stati
Man mano che si indovinano i numeri, la
cassaforte assume lo stato in cui aspetta
la prima (s1), la seconda (s2) e la terza
(s3) cifra, fino allo stato di sblocco (s3) o
di blocco in caso di errore (s4) in cui si
aspetta una chiave elettronica che sblocca
la cassaforte.
Ingressi/Comandi
Comando: pulsantiera a 9 bottoni, cifra
premuta come ingresso: i0, i1, i2, i3, i4, i5,
i6, i7, i8, i9. l’inserimento della chiave è
i10 e porta a q3. La chiusura della
cassaforte è i11 e porta da s3 a s0.
Uscite/Azioni
Azione: passare alla prossima cifra, aprire,
bloccare, ritornare all’attesa della prima
cifra.
Prendiamo anche l’esempio di una cassaforte con
combinazione 265
12. LA CASSAFORTE
Il diagramma degli stati sarà il seguente:
S1
Attesa
seconda cifra
S4
Blocco
S2
Attesa terza
cifra
S0
Attesa prima
cifra
S3
Apertura
i0,i1,i3,i4,i5,i6,i7,i8,i9
i2
i6
I5/apertura
i10/apertura
i10/apertura
I10/apertura
i11
14. LA CASSAFORTE
Allo stato s0, la cassaforte aspetta l’inserimento della prima cifra
che dovrà essere 2 (corrispondente a i2); se viene inserita un’altra
cifra va al blocco (s4); se viene inserito il due passa allo stato di
attesa della seconda cifra che è 6 (i6); se si sbaglia va al blocco, se
si indovina va all’attesa della terza cifra che è 5 (i5); se si indovina
apre la cassaforte (s3), se si sbaglia va in blocco.
In qualsiasi stato ci si trovi (s0,s1,s2,s4), se viene inserita la chiave
elettronica (i10), si apre la cassaforte; se invece ci si trova già allo
stato di apertura, qualsiasi input si inserisce
(i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10) la cassaforte rimane aperta (s3).
Se si chiude la cassaforte (i11), questa ritornerà all’attesa della
prima cifra (s0); questo si può fare, ovviamente, solo con la
cassaforte aperta (s3).