Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di...
-
Upload
fortunata-loi -
Category
Documents
-
view
215 -
download
0
Transcript of Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di...
Università degli studi di Università degli studi di ParmaParmaDipartimento di Ingegneria dell’InformazioneDipartimento di Ingegneria dell’Informazione
PolitecnicoPolitecnicodi Milanodi Milano
Reti Logiche AReti Logiche A
Macchine non completamente specificate Macchine non completamente specificate Versione preliminareVersione preliminare
DocenteDocente
prof. William FORNACIARIprof. William FORNACIARI [email protected]@elet.polimi.it
www.elet.polimi.it/~fornaciawww.elet.polimi.it/~fornacia
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 22 - -
SommarioSommario
Macchine non completamente specificate
Compatibilità
Riduzione del numero degli stati
Metodo generale
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 33 - -
Sono macchine in cui per alcune configurazioni degli ingressi e stati correnti non sono specificati gli stati futuri e/o le configurazioni d'uscitaUna sequenza di ingresso si dice applicabile se:
Per ogni simbolo d'ingresso della sequenza, La funzione stato prossimo è specificata, tranne, al più, l'ultimo
Due stati si e sj si dicono compatibili se
Partendo da si e da sj
Usando ogni possibile sequenza di ingresso applicabile Isi ottengono le stesse sequenze d'uscita ovunque queste siano specificate
La compatibilità tra si e sj si indica con: si sj
Macchine non completamente specificateMacchine non completamente specificate
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 44 - -
La compatibilità è una relazione meno forte di quella di indistinguibilità. Non vale la proprietà transitiva cioè se si sj e sj sk può non essere si sk
Si consideri a tale proposito il seguente esempio:
sequenza si: u1 u2 - u4 - - u7 . . .
sequenza sj: u1 u2 u3 - - u6 u7 . . .
sequenza sk: u1 u2 - u8 - u6 u7 . . .
valori d'uscita diversi
Macchine non completamente specificateMacchine non completamente specificate
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 55 - -
La regola di Paull - Unger è stata estesa per trattare il caso delle macchine non completamente specificateDue stati sono compatibili se e solo se, per ogni simbolo di ingresso ivalgono le due seguenti relazioni:
( si, i) = (sj, i) Se ambedue sono specificatiSe uno o entrambi non sono specificati l'uguaglianza si ritiene soddisfatta
( si, i) ( sj, i) Se ambedue sono specificati Se uno o entrambi non sono specificati la compatibilità si ritiene soddisfatta
Riduzione del numero degli statiRiduzione del numero degli stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 66 - -
Poiché gli insiemi S ed I hanno cardinalità finita, dopo un certo numero di passi ci si troverà in una delle due condizioni:si sj
Se i simboli d'uscita sono diversiSe gli stati prossimi sono già stati verificati come non compatibili
si sj
Se i simboli d'uscita sono ugualiSe gli stati prossimi sono già stati verificati come compatibiliSe gli stati prossimi sono già stati parte della sequenza di controllo
Riduzione del numero degli statiRiduzione del numero degli stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 77 - -
Le relazioni di compatibilità possono essere identificate grazie alla Tabella delle ImplicazioniOgni elemento della tabella contiene:
Il simbolo di compatibilità, se gli stati corrispondenti sono compatibiliLe coppie di stati a cui si rimanda la verifica, se non è possibile pronunciarsi sulla compatibilità degli stati corrispondenti
La relazione di compatibilità non è transitiva: i vincoli vanno mantenuti anche nelle successive fasi della minimizzazioneNon si può immediatamente concludere che tutte le compatibilità sono soddisfatteE’ necessaria una analisi ulteriore della tabella delle implicazioni
Riduzione del numero degli statiRiduzione del numero degli stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 88 - -
a
b
cd
e
d,e
d,e
a,b
a,b
a,ea,c
a,eb,c
Esempio - Riduzione del numero degli Esempio - Riduzione del numero degli statistati
0 1
a e/0 a/0
b d/0 b/0
c e/- c/-
d a/1 a/1
e a/- b/-
Tablla deglistati
Tabella delleimplicazioni
de
de
x x
ab ad ab
aeac
a b c d
b
c
d
eaebc
Grafo dicompatibilità
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 99 - -
Classe di compatibilità: Insieme di stati compatibili fra di loro a coppieSul grafo di compatibilità una classe di compatibilità e rappresentata da un poligono completo
Classe di massima compatibilità: Classe di compatibilità non contenuta in nessun altra classeSul grafo di compatibilità una classe di massima compatibilità è individuata da un poligono completo non contenuto in nessun altro
Insieme di classi di compatibilità chiuso:Per ogni classe dell'insieme tutti gli stati futuri ad essa relativi sono contenuti in almeno una classe dell'insieme, cioè, tutti i vincoli sono rispettati
Copertura della tabella degli stati:Insieme di classi di compatibilità per cui ogni stato della tabella è contenuto in almeno una classe
Riduzione del numero degli statiRiduzione del numero degli stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1010 - -
Risolvere il problema della minimizzazione del numero di stati significa:
Trovare il più piccolo insieme chiuso di classi di compatibilitàVerificare che l’insieme trovato copre l’insieme degli stati su cui è definita la macchina
L'insieme di tutte le classi di massima compatibilità è chiuso e copre l’insieme S degli stati.Associando un nuovo stato ad una classe di massima compatibilità si ottiene una nuova macchina con un numero di stati:
Possibilmente minore di quello della macchina di partenzaNon necessariamente minimo
Le classi di compatibilità non sono sempre disgiunte
Riduzione del numero degli statiRiduzione del numero degli stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1111 - -
Esempio - Riduzione del numero degli Esempio - Riduzione del numero degli statistati
a
b
cd
e
d,e
d,e
a,b
a,b
a,ea,c
a,eb,c
a
b
c
d,e
d,e
a
c
e
a,b
a,eb,c
cd
e
a,b
a,e - a,c
Per prima cosa si individuano le classi di massima compatibilità:
• Una copertura ammissibile è data dall’insieme delle classi di massima compatibilità:• s0 = {a, b, c}• s1 = {a, c, e}• s2 = {c, d, e}
• Tale copertura non è necessariamente minima
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1212 - -
Esempio - Riduzione del numero degli Esempio - Riduzione del numero degli statistati
a
b
c
d,e
d,e
a
c
e
a,b
a,eb,c
cd
e
a,b
a,e - a,c
Le classi che compongono la copertura proposta condividono diversi statiSi cerca un insieme più piccolo di classi di massima compatibilità che copra la la macchina dataSi nota che gli stati nella classe {a, c, e} sono già coperti dalle due classi restanti
a
b
c
d,e
d,e
cd
e
a,b
a,e - a,c
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1313 - -
Esempio - Riduzione del numero degli Esempio - Riduzione del numero degli statistati
Le classi identificate sono dunque:• s0 = {a, b, c}• s2 = {c, d, e}
Si deve verificare che tali classi formano un insieme chiuso:a
b
c
d,e
d,e
cd
e
a,b
a,ea,c• Le due classi s0={a, b, c} ed s2={c, d, e} non formano un insieme
chiuso in quanto il vincolo (a,e) da cui dipende dc non è contenuto né in s0 né in s2
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1414 - -
Esempio - Riduzione del numero degli Esempio - Riduzione del numero degli statistati
Lo stato è già coperto dalla classe s0 per cui è possibile escluderlo dalla classe s2Le classi risultanti da questa ultima scelta sono dunque:• s0 = {a, b, c}• s3 = {d, e}
a
b
c
d,e
d,e
cd
e
a,b
• Le due classi s0={a, b, c} ed s3={d, e} formano un insieme chiuso: tutti i vincoli sono soddisfatti da un classe dell’insieme
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1515 - -
Esempio - Riduzione del numero degli Esempio - Riduzione del numero degli statistati
Sulla base di:Tabella degli stati della macchina inizialeInsieme chiuso delle classi di compatibilità
Si determina la nuova tabella degli stati corrispondente alla macchina ridotta
0 1
a e/0 a/0
b d/0 b/0
c e/- c/-
d a/1 a/1
e a/- b/-
Tablla deglistati
s0 = {a, b, c} s3 = {d, e}
0 1
s0 s3/0 s0/0
s3 s0/1 s0/1
Tablla ridottadegli stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1616 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si consideri il seguente esempio più complessoPer prima cosa si determinano le classi di massima compatibilità:
e
a
b
c
df
g
had
ab de
be abde
ae
agde
ab ad
cd
cd,fg
ab ad
eh
{a,b,d,e} Ø
{b,c,d} (a,b)(a,g)(d,e)
{c,f,g} (c,d) (e,h)
{d,e,h} (a,b) (a,d)
{a,g} Ø
Classi di massima compatibilità Vincoli
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1717 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si individuano le classi prime di compatibilitàSi consideri la classe C0={a,b,d,e}Dato che l’insieme dei vincoli è vuoto, tale classe esclude tutte le sottoclassi C0,i infatti:
C0,i C0
P0,i Questa è una proprietà generale di tutte le classi di massima compatibilità il cui insieme dei vincoli è vuotoLe sottoclassi seguenti non sono quindi prime:
{a,b,d}, {a,b,e}, {a,d,e}, {b,d,e} {a,b}, {a,d}, {a,e}, {b,d}, {b,e}, {d,e} {a}, {b}, {d}, {e}
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1818 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si consideri la classe C1={b,c,d}Le sottoclassi ed i relativi vincoli sono:
{b,c} prima{b,d} (a,b)(d,e) esclusa da C0
{c,d} (a,g)(d,e) prima{b} esclusa da C0
{c} esclusa da {b,c}{d} esclusa da C0
Restano le due sottoclassi:{b,c} {c,d} (a,g)(d,e)
b
c
d
ab de ag
de
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 1919 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si consideri la classe C2={c,f,g}
Le sottoclassi ed i relativi vincoli sono:{c,f} (c,d) prima{c,g} (c,d)(f,g) prima{f,g} (e,h) prima{c} esclusa da {b,c}{f} prima{g} esclusa da C4={a,g}
Restano le quattro sottoclassi:{c,f} (c,d){c,g} (c,d)(f,g) {f,g} (e,h){f}
c
f
g
cd
cd,fg
eh
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2020 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si consideri la classe C3={d,e,h}Le sottoclassi ed i relativi vincoli sono:
{d,e} esclusa da C0
{d,h} prima{e,h} (a,b)(a,d) esclusa da C3
{d} esclusa da C0
{e} esclusa da C0
{h} esclusa da {d,h}
Restano le sola sottoclasse:{d,h}
e
d
h
ab ad
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2121 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si consideri la classe C4={a,g}
Essendo vuoto l’insieme dei vincoli, le sottoclassi non sono prime per la proprietà già vista
a
g
• Si costruisce quindi una tabella che raccoglie tutte le classi prime (massime e non) che sono state individuate nei passi precedenti
• Sulla base della tabella si procede alla selezione dell’insieme minimo di tali classi che siano una copertura per la macchina data
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2222 - -
Esempio – Metodo generaleEsempio – Metodo generale
La tabella è la seguente:
{a,b,d,e} Ø
{b,c,d} (a,b)(a,g)(d,e)
{c,f,g} (c,d) (e,h)
{d,e,h} (a,b) (a,d) {a,g} Ø {d,h} Ø
{c,f} (c,d)
{c,g} (c,d) (f,g)
{f,g} (e,h)
{b,c} Ø
{c,d} (a,g)(d,e)
{f} Ø
Classi prime Vincoli
a 2 classi
b 3 classi
c 6 classi
d 5 classi
e 2 classi
f 4 classi
g 4 classi
h 2 classi
Stati Vincoli
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2323 - -
Esempio – Metodo generaleEsempio – Metodo generale
Il metodo per l’individuazione della copertura minima si basa sulla costruzione degli alberi di coperturaIl metodo si divide in tre passi:
Scelta delle radici degli alberiCostruzione degli alberiIndividuazione dei cammini chiusiScelta del cammino chiuso minimo
Su ogni albero possono essere individuati più camminiUn cammino chiuso corrisponde ad una insieme chiuso di classi di compatibilità primeUn cammino chiuso è quindi una copertura
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2424 - -
Esempio – Metodo generaleEsempio – Metodo generale
Le radici sono scelte secondo il seguente metodo:Si scelgono gli stati con un numero minimo di vincoli (cioè gli stati che appartengono al minimo numero di classi prime di compatibilitàLe radici degli alberi sono le classi di compatibilità cui gli stati scelti appartengono
a 2 classi
b 3 classi
c 6 classi
d 5 classi
e 2 classi
f 4 classi
g 4 classi
h 2 classi
Stati Vincoli
{a,b,d,e},{a,g}
{a,b,d,e},{d,e,h}
{d,e,h},{d,h}
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2525 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si consideri la costruzione dell’albero con radice {a,b,d,e}
{a,b,d,e}
• Tale scelta copre gli stati a,b,d ed e
a 2 classi
b 3 classi
c 6 classi
d 5 classi
e 2 classi
f 4 classi
g 4 classi
h 2 classi
Stati Vincoli
Già coperti da {a,b,d,e}
Lo stato h è quello non coperto che compare nel numero minore di classi
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2626 - -
Esempio – Metodo generaleEsempio – Metodo generale
Lo stato h compare nelle due classi {d,e,h} ed {d,h}Si aggiungono all’albero due nodi corrispondenti alle due classiSi consideri ora solo il percorso formato con la classe {d,h}
{a,b,d,e}
{d,h}
• Ancora, degli stati rimasti si selezionano quelli che compaiono nel numero minore di classi: f e g
• Le classi in cui compaiono sono {c,f,g},{c,f},{c,g},{f,g}, {f}• Si seleziona la classe {c,f,g} poiché:
• Copre entrambi gli stati• Copre anche lo stato aggiuntivo c
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2727 - -
Esempio – Metodo generaleEsempio – Metodo generale
Il percorso diviene quindi:
{a,b,d,e}
{d,h}
{C,f,g}
(c,d)(e,h)
• Il nodo aggiunto al percorso ha un insieme dei vincoli non vuoto• I vincoli introdotti non sono coperti da nessuna delle classi nel
percorso, inclusa la classe appena aggiunta• E’ quindi necessario aggiungere tutte le possibili combinazioni di
classi che coprono tali vincoli• Il vincolo (e,h) è coperto dalla classe {d,e,h} • La classe {d,e,h} è aggiunta al percorso
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2828 - -
Esempio – Metodo generaleEsempio – Metodo generale
Il percorso diviene quindi:
{a,b,d,e}
{d,h}
{C,f,g}
(c,d)(e,h){d,e,h}
(a,d)(a,b)
• I nuovi vincoli introdotti sono soddisfatti dalla classe {a,b,d,e}, già presente nella catena
• Resta da soddisfare il vincolo:• (c,d) dal nodo precedente
• Tale vincolo è coperto dalle classi {c,d} e {b,c,d}• La scelta è arbitraria
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 2929 - -
Esempio – Metodo generaleEsempio – Metodo generale
Selezionando {c,d} Il percorso diviene quindi:
{a,b,d,e}
{d,h}
{C,f,g}
(c,d)(e,h){d,e,h}
(a,d)(a,b)
• Alcuni dei nuovi vincoli introdotti sono già coperti dalle classi presenti nel percorso
• Resta da soddisfare il vincolo:• (a,g) introdotto dalla nuova classe
• Tale vincolo è coperto dalla classe {a,g} che va quindi aggiunta al percorso
{c,d}
(a,g)(d,e)
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 3030 - -
Esempio – Metodo generaleEsempio – Metodo generale
Il percorso diviene quindi:
{a,b,d,e}
{d,h}
{c,f,g}
(c,d)(e,h){d,e,h}
(a,d)(a,b)
• La classe aggiunta non introduce nuovi vincoli• Il procedimento di costruzione del percorso termina poiché:
• Tutti i vincoli sono soddisfatti dalle classi della catena• Tutti gli stati sono coperti dalle classi della catena
{c,d}
(a,g)(d,e)
{a,g}
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 3131 - -
Esempio – Metodo generaleEsempio – Metodo generale
La scelta della classe {d,h} al secondo passo è stata arbitrariaLa classe {d,e,h} costituisce una alternativa equivalenteIn questo caso il percorso è:
{a,b,d,e}
{d,e,h}
(a,d)(a,b)
• I vincoli sono soddisfatti ma gli stati c, f e g non sono coperti• Si seleziona f (4 vincoli) e la classe {f,g}
{a,b,d,e}
{d,e,h}
(a,d)(a,b)
{f,g}
(e,h)
• Il vincolo è soddisfatti ma lo stato c non è coperto
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 3232 - -
Esempio – Metodo generaleEsempio – Metodo generale
Lo stato c compare in 6 classi ma si nota che la classe {b,c} non introduce nuovi vincoli
{b,c}
{a,b,d,e}
{d,e,h}
(a,d)(a,b)
{f,g}
(e,h)
• Tutti gli stati sono coperti• Tutti i vincoli introdotti sono soddisfatti dalle classi che
compongono il percorso• Il procedimento di costruzione termina• Questo nuovo percorso utilizza solo 4 classi per cui la nuova
macchina è composta da soli 4 stati
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 3333 - -
Esempio – Metodo generaleEsempio – Metodo generale
Si considerino i percorsi appena analizzatiLa scelta della radice è arbitraria in quanto esistono diverse classi i cui stati hanno il numero minore di vincoli di appartenenzaLa scelta delle classi successive non sempre risulta obbligata
Il procedimento per la determinazione della macchina minima prevede la costruzione di tutti i percorsi possibiliIl risultato consiste in un insieme di alberi con differenti radiciLa macchina minima è ottenuta selezionando le classi che costituiscono il percorso più breve tra tutti quelli possibili sugli alberi costruitiAlcuni percorsi possono essere identici a meno dell’ordinamentoLa macchina minima può non essere unica
FSM non compl. specificateFSM non compl. specificate © 2001/02 - William Fornaciari© 2001/02 - William Fornaciari- - 3434 - -
Esempio – Metodo generaleEsempio – Metodo generale
L’albero (incompleto) con radice {a,b,d,e} è il seguente:
{a,b,d,e}
{d,e,h}
(a,d)(a,b)
{d,e,h}
(a,d)(a,b)
{d,h}
{c,f,g}
(c,d)(e,h)
{c,g}
(c,d)(f,g)
{f,g}
(e,h)
{c,f}
(c,d)
{d,e,h}
(a,d)(a,b)
{b,c,d}
(a,b)(a,g)(d,e)
{c,d}
(a,g)(d,e)
{a,g}
{a,g}
{b,c}
{c,d}
(a,g)(d,e)
{a,g}
{f}
{c,f,g}
(c,d)(e,h)
{f,g}
(e,h)
{c,f}
(c,d)
{c,d}
(a,g)(d,e)
{b,c}
{b,c,d}
(a,b)(a,g)(d,e)
{a,g}
{a,g}