Reti Logiche Sequenziali 00.e Cenni sugli Automi a stati finiti Automa a stati finiti: definizione Un automa a stati finiti deterministico (DFA Deterministic Finite Automaton) è una quintupla (Q, Σ, δ, q i, F) dove: Q è un insieme finito di k 2 stati {,, q k-1 } Σ è un alfabeto finito di l 1 simboli d ingresso {s 0, s 1,, s l-1 } δ è la funzione di transizione di stato δ: QxΣ Q δ(q, s) è lo stato futuro in cui l automa si porterà se, a partire dallo stato q, il simbolo di ingresso è s q i Qèlo stato iniziale F Q è il sottoinsieme degli m 1 stati finali (di accettazione) F = {q f0, q f1, q f(m-1) } Architettura degli Elaboratori 20 1
Esempio: distributore di caffè 1. Un caffè costa 40c 2. Si accettano monete da e da 3. Raggiunti 40c (o 50c, se si sbaglia, non dà resto) prepara il caffè 2 Quanti stati servono? Uno per ogni quantità di soldi parziale raggiunta 0c 30c 40c Architettura degli Elaboratori 20 DFA del caffè (1/2) 0c 0c 0c 0c (0c) 3 q 3, Q = {,,,, } Σ = {0c,, } δ = [vedi tabella successiva] q i = F = { } Architettura degli Elaboratori 20
DFA del caffè (2/2) 0c 0c 0c 0c (0c) 4 q 3, δ = Input 0c Stato corrente -- -- -- Architettura degli Elaboratori 20 Il sistema ha anche un uscita uscita 5 Nell esempio l uscita (binaria) è rappresentata dal comando di preparazione del caffè In generale un DFA deve includere la possibilità di generare uscite: diventa una macchina a stati finiti (deterministica) Esistono due definizioni che si dimostrano sostanzialmente equivalenti: la macchina di Mealy e la macchina di Moore Architettura degli Elaboratori 20
La macchina di Mealy Una macchina di Mealy èuna sestupla (Q, Σ, Δ, δ, λ, q i ) dove Q, Σ, δ, e q i hanno lo stesso significato del DFA, Δ è un alfabeto finito di n 1 simboli d uscita {d 0, d 1, d n-1 } λ è la funzione di uscita λ : QxΣ Δ λ(q, s) è il valore dell uscita che la macchina produrrà nella transizione dallo stato q con simbolo di ingresso s La macchina ha generalmente un funzionamento continuativo e pertanto non vengono esplicitati stati finali (di accettazione; hanno più senso in altre applicazioni del DFA) Architettura degli Elaboratori 20 6 Macchina Mealy del caffè /0 7 0c/0 0c/0 0c/0 0c/0 q /0 /0 /0 3 /0 /1, /1 Il valore dell ingresso e la corrispondente uscita etichettano ogni transizione Lo stato finale diventa inutile: l uscita a 1 si ha al ritorno allo stato iniziale Architettura degli Elaboratori 20
La macchina di Moore Una macchina di Moore è una sestupla (Q, Σ, Δ, δ, λ, q i ) dove Q, Σ, Δ, δ, q i hanno lo stesso significato di quella di Mealy, λ è la funzione di uscita λ : Q Δ λ(q) è il valore dell uscita quando la macchina si trova nello stato q Si può dimostrare che data una macchina di Mealy (Moore) è possibile trovare una macchina di Moore (Mealy) equivalente nel comportamento ingresso/uscita A parità di problema, la soluzione con la macchina di Moore può necessitare di più stati rispetto alla soluzione con la macchina di Mealy perché quest ultima è in grado di produrre uscite diverse a partire dallo stesso stato con ingressi diversi Architettura degli Elaboratori 20 8 Macchina Moore del caffè 9 0c 0c 0c 0c /0 /0 /0 /0, /1 Siamo tornati a 5 stati: ci serve per produrre l uscita 1 prima di tornare allo stato iniziale 0c Architettura degli Elaboratori 20
Esercizio proposto Realizzare, sia in forma di macchina di Mealy che di Moore, il controllo di un ascensore di un edificio con piano terra e primo piano L ingresso è costituito dall impostazione della tastiera (N=nessun tasto premuto, T=premuto tasto Terra, P=premuto tasto Primo piano) e dalla posizione corrente dell ascensore (T=posizione di Terra, I=posizione intermedia tra i piani, P=posizione di Primo piano) L uscita è costituita dal comando da fornire al controllo dell ascensore (F=fermo, A=verso l alto, B=verso il basso) Dopo aver progettato le macchine usando i simboli descritti sopra, si ipotizzi una codifica binaria per lo stato, gli ingressi e le uscite In base a questa codifica si definiscano le funzioni di transizione di stato e d uscita per le 2 macchine Architettura degli Elaboratori 20 Fine 00.e Cenni sugli Automi a stati finiti