La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.

Presentazioni simili


Presentazione sul tema: "Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate."— Transcript della presentazione:

1 Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate Versione preliminare Docente prof. William FORNACIARI fornacia@elet.polimi.it fornacia@elet.polimi.itwww.elet.polimi.it/~fornacia

2 FSM non compl. specificate© 2001/02 - William Fornaciari- 2 - Sommario Macchine non completamente specificate Compatibilità Riduzione del numero degli stati Metodo generale

3 FSM non compl. specificate© 2001/02 - William Fornaciari- 3 - Sono macchine in cui per alcune configurazioni degli ingressi e stati correnti non sono specificati gli stati futuri e/o le configurazioni d'uscita Una 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 s i e s j si dicono compatibili se Partendo da s i e da s j Usando ogni possibile sequenza di ingresso applicabile I  si ottengono le stesse sequenze d'uscita ovunque queste siano specificate La compatibilità tra s i e s j si indica con: s i  s j Macchine non completamente specificate

4 FSM non compl. specificate© 2001/02 - William Fornaciari- 4 - La compatibilità è una relazione meno forte di quella di indistinguibilità. Non vale la proprietà transitiva cioè se s i  s j e s j  s k può non essere s i  s k Si consideri a tale proposito il seguente esempio: sequenza s i : u 1 u 2 - u 4 - - u 7... sequenza s j : u 1 u 2 u 3 - - u 6 u 7... sequenza s k : u 1 u 2 - u 8 - u 6 u 7... valori d'uscita diversi Macchine non completamente specificate

5 FSM non compl. specificate© 2001/02 - William Fornaciari- 5 - La regola di Paull - Unger è stata estesa per trattare il caso delle macchine non completamente specificate Due stati sono compatibili se e solo se, per ogni simbolo di ingresso i   valgono le due seguenti relazioni:  ( s i, i  ) =  (s j, i  ) Se ambedue sono specificati Se uno o entrambi non sono specificati l'uguaglianza si ritiene soddisfatta  ( s i, i  )  ( s j, i  ) Se ambedue sono specificati Se uno o entrambi non sono specificati la compatibilità si ritiene soddisfatta Riduzione del numero degli stati

6 FSM non compl. specificate© 2001/02 - William Fornaciari- 6 - Poiché gli insiemi S ed I hanno cardinalità finita, dopo un certo numero di passi ci si troverà in una delle due condizioni: s i  s j Se i simboli d'uscita sono diversi Se gli stati prossimi sono già stati verificati come non compatibili s i  s j Se i simboli d'uscita sono uguali Se gli stati prossimi sono già stati verificati come compatibili Se gli stati prossimi sono già stati parte della sequenza di controllo Riduzione del numero degli stati

7 FSM non compl. specificate© 2001/02 - William Fornaciari- 7 - Le relazioni di compatibilità possono essere identificate grazie alla Tabella delle Implicazioni Ogni elemento della tabella contiene: Il simbolo di compatibilità, se gli stati corrispondenti sono compatibili Le 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 minimizzazione Non si può immediatamente concludere che tutte le compatibilità sono soddisfatte E’ necessaria una analisi ulteriore della tabella delle implicazioni Riduzione del numero degli stati

8 FSM non compl. specificate© 2001/02 - William Fornaciari- 8 - a b cd e d,e a,b a,e a,c a,e b,c Esempio - Riduzione del numero degli stati 0 1 a e/0 a/0 b d/0 b/0 c e/- c/- d a/1 a/1 e a/- b/- Tablla degli stati Tabella delle implicazioni de  de x x ab ad ab ae ac a b c d b c d e ae bc Grafo di compatibilità

9 FSM non compl. specificate© 2001/02 - William Fornaciari- 9 - Classe di compatibilità: Insieme di stati compatibili fra di loro a coppie Sul 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 classe Sul 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 stati

10 FSM non compl. specificate© 2001/02 - William Fornaciari- 10 - 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 partenza Non necessariamente minimo Le classi di compatibilità non sono sempre disgiunte Riduzione del numero degli stati

11 FSM non compl. specificate© 2001/02 - William Fornaciari- 11 - Esempio - Riduzione del numero degli stati a b cd e d,e a,b a,e a,c a,e b,c a b c d,e a c e a,b a,e b,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

12 FSM non compl. specificate© 2001/02 - William Fornaciari- 12 - Esempio - Riduzione del numero degli stati a b c d,e a c e a,b a,e b,c cd e a,b a,e - a,c Le classi che compongono la copertura proposta condividono diversi stati Si cerca un insieme più piccolo di classi di massima compatibilità che copra la la macchina data Si nota che gli stati nella classe {a, c, e} sono già coperti dalle due classi restanti a b c d,e cd e a,b a,e - a,c

13 FSM non compl. specificate© 2001/02 - William Fornaciari- 13 - Esempio - Riduzione del numero degli stati 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 cd e a,b a,e a,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 d  c non è contenuto né in s0 né in s2

14 FSM non compl. specificate© 2001/02 - William Fornaciari- 14 - Esempio - Riduzione del numero degli stati Lo stato è già coperto dalla classe s0 per cui è possibile escluderlo dalla classe s2 Le classi risultanti da questa ultima scelta sono dunque: s0 = {a, b, c} s3 = {d, e} a b c d,e c d 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

15 FSM non compl. specificate© 2001/02 - William Fornaciari- 15 - Esempio - Riduzione del numero degli stati Sulla base di: Tabella degli stati della macchina iniziale Insieme 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 degli stati s0 = {a, b, c} s3 = {d, e} 0 1 s0 s3/0 s0/0 s3 s0/1 s0/1 Tablla ridotta degli stati

16 FSM non compl. specificate© 2001/02 - William Fornaciari- 16 - Esempio – Metodo generale Si consideri il seguente esempio più complesso Per prima cosa si determinano le classi di massima compatibilità: e a b c df g h ad ab de be ab de ae ag de 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

17 FSM non compl. specificate© 2001/02 - William Fornaciari- 17 - Esempio – Metodo generale Si individuano le classi prime di compatibilità Si consideri la classe C 0 ={a,b,d,e} Dato che l’insieme dei vincoli è vuoto, tale classe esclude tutte le sottoclassi C 0,i infatti: C 0,i  C 0 P 0,i   Questa è una proprietà generale di tutte le classi di massima compatibilità il cui insieme dei vincoli è vuoto Le 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}

18 FSM non compl. specificate© 2001/02 - William Fornaciari- 18 - Esempio – Metodo generale Si consideri la classe C 1 ={b,c,d} Le sottoclassi ed i relativi vincoli sono: {b,c}  prima {b,d}(a,b)(d,e)esclusa da C 0 {c,d}(a,g)(d,e)prima {b}  esclusa da C 0 {c}  esclusa da {b,c} {d}  esclusa da C 0 Restano le due sottoclassi: {b,c}  {c,d}(a,g)(d,e) b c d ab de ag de

19 FSM non compl. specificate© 2001/02 - William Fornaciari- 19 - Esempio – Metodo generale Si consideri la classe C 2 ={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 C 4 ={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

20 FSM non compl. specificate© 2001/02 - William Fornaciari- 20 - Esempio – Metodo generale Si consideri la classe C 3 ={d,e,h} Le sottoclassi ed i relativi vincoli sono: {d,e}  esclusa da C 0 {d,h}  prima {e,h}(a,b)(a,d)esclusa da C 3 {d}  esclusa da C 0 {e}  esclusa da C 0 {h}  esclusa da {d,h} Restano le sola sottoclasse: {d,h}  e d h ab ad

21 FSM non compl. specificate© 2001/02 - William Fornaciari- 21 - Esempio – Metodo generale Si consideri la classe C 4 ={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

22 FSM non compl. specificate© 2001/02 - William Fornaciari- 22 - Esempio – 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 primeVincoli a2 classi b3 classi c6 classi d5 classi e2 classi f4 classi g4 classi h2 classi StatiVincoli

23 FSM non compl. specificate© 2001/02 - William Fornaciari- 23 - Esempio – Metodo generale Il metodo per l’individuazione della copertura minima si basa sulla costruzione degli alberi di copertura Il metodo si divide in tre passi: Scelta delle radici degli alberi Costruzione degli alberi Individuazione dei cammini chiusi Scelta del cammino chiuso minimo Su ogni albero possono essere individuati più cammini Un cammino chiuso corrisponde ad una insieme chiuso di classi di compatibilità prime Un cammino chiuso è quindi una copertura

24 FSM non compl. specificate© 2001/02 - William Fornaciari- 24 - Esempio – 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 a2 classi b3 classi c6 classi d5 classi e2 classi f4 classi g4 classi h2 classi StatiVincoli {a,b,d,e},{a,g} {a,b,d,e},{d,e,h} {d,e,h},{d,h}

25 FSM non compl. specificate© 2001/02 - William Fornaciari- 25 - Esempio – 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 a2 classi b3 classi c6 classi d5 classi e2 classi f4 classi g4 classi h2 classi StatiVincoli Già coperti da {a,b,d,e} Lo stato h è quello non coperto che compare nel numero minore di classi

26 FSM non compl. specificate© 2001/02 - William Fornaciari- 26 - Esempio – Metodo generale Lo stato h compare nelle due classi {d,e,h} ed {d,h} Si aggiungono all’albero due nodi corrispondenti alle due classi Si 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

27 FSM non compl. specificate© 2001/02 - William Fornaciari- 27 - Esempio – 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

28 FSM non compl. specificate© 2001/02 - William Fornaciari- 28 - Esempio – 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

29 FSM non compl. specificate© 2001/02 - William Fornaciari- 29 - Esempio – 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)

30 FSM non compl. specificate© 2001/02 - William Fornaciari- 30 - Esempio – 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} 

31 FSM non compl. specificate© 2001/02 - William Fornaciari- 31 - Esempio – Metodo generale La scelta della classe {d,h} al secondo passo è stata arbitraria La classe {d,e,h} costituisce una alternativa equivalente In 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

32 FSM non compl. specificate© 2001/02 - William Fornaciari- 32 - Esempio – 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

33 FSM non compl. specificate© 2001/02 - William Fornaciari- 33 - Esempio – Metodo generale Si considerino i percorsi appena analizzati La scelta della radice è arbitraria in quanto esistono diverse classi i cui stati hanno il numero minore di vincoli di appartenenza La scelta delle classi successive non sempre risulta obbligata Il procedimento per la determinazione della macchina minima prevede la costruzione di tutti i percorsi possibili Il risultato consiste in un insieme di alberi con differenti radici La macchina minima è ottenuta selezionando le classi che costituiscono il percorso più breve tra tutti quelli possibili sugli alberi costruiti Alcuni percorsi possono essere identici a meno dell’ordinamento La macchina minima può non essere unica

34 FSM non compl. specificate© 2001/02 - William Fornaciari- 34 - Esempio – 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} 


Scaricare ppt "Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate."

Presentazioni simili


Annunci Google