La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Macchine non completamente specificate

Presentazioni simili


Presentazione sul tema: "Macchine non completamente specificate"— Transcript della presentazione:

1 Macchine non completamente specificate

2 Calcolatori Elettronici - Politecnico di Milano
Sommario Macchine non completamente specificate Compatibilità Riduzione del numero degli stati Metodo generale Calcolatori Elettronici - Politecnico di Milano

3 Macchine non completamente specificate
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 l è 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 Ia si ottengono le stesse sequenze d'uscita ovunque queste siano specificate La compatibilità tra si e sj si indica con: si  sj Calcolatori Elettronici - Politecnico di Milano

4 Macchine non completamente specificate
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 u u u sequenza sj: u1 u2 u u6 u sequenza sk: u1 u u u6 u valori d'uscita diversi Calcolatori Elettronici - Politecnico di Milano

5 Riduzione del numero degli stati
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 ia valgono le due seguenti relazioni: l ( si, ia ) = l (sj, ia ) Se ambedue sono specificati Se uno o entrambi non sono specificati l'uguaglianza si ritiene soddisfatta d ( si, ia )  d ( sj, ia ) Se uno o entrambi non sono specificati la compatibilità si ritiene soddisfatta Calcolatori Elettronici - Politecnico di Milano

6 Riduzione del numero degli stati
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 diversi Se gli stati prossimi sono già stati verificati come non compatibili 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 Calcolatori Elettronici - Politecnico di Milano

7 Riduzione del numero degli stati
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 Calcolatori Elettronici - Politecnico di Milano

8 Esempio - Riduzione del numero degli stati
Tabella delle implicazioni Tablla degli stati Grafo di compatibilità de  de x x ab ad ab ae ac a b c d b c d e bc 0 1 a e/0 a/0 b d/0 b/0 c e/- c/- d a/1 a/1 e a/- b/- a b c d e d,e a,b a,e a,c b,c Calcolatori Elettronici - Politecnico di Milano

9 Riduzione del numero degli stati
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 Calcolatori Elettronici - Politecnico di Milano

10 Riduzione del numero degli stati
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 Calcolatori Elettronici - Politecnico di Milano

11 Esempio - Riduzione del numero degli stati
Per prima cosa si individuano le classi di massima compatibilità: a c e a,b a,e b,c a b c d,e a b c d e d,e a,b a,e a,c b,c c d e a,b a,e - a,c 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 Calcolatori Elettronici - Politecnico di Milano

12 Esempio - Riduzione del numero degli stati
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 c e a,b a,e b,c a b c d,e a b c d,e c d e a,b a,e - a,c c d e a,b a,e - a,c Calcolatori Elettronici - Politecnico di Milano

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 c d 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 Calcolatori Elettronici - Politecnico di Milano

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 e a,b c d 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 Calcolatori Elettronici - Politecnico di Milano

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 Tablla degli stati Tablla ridotta 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/- 0 1 s0 s3/0 s0/0 s3 s0/1 s0/1 s0 = {a, b, c} s3 = {d, e} Calcolatori Elettronici - Politecnico di Milano

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 d f 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 Calcolatori Elettronici - Politecnico di Milano

17 Esempio – 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 è 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} Calcolatori Elettronici - Politecnico di Milano

18 Esempio – 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 Calcolatori Elettronici - Politecnico di Milano

19 Esempio – 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 Calcolatori Elettronici - Politecnico di Milano

20 Esempio – 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 Calcolatori Elettronici - Politecnico di Milano

21 Esempio – 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 Calcolatori Elettronici - Politecnico di Milano

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 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 Calcolatori Elettronici - Politecnico di Milano

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 Calcolatori Elettronici - Politecnico di Milano

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 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} Calcolatori Elettronici - Politecnico di Milano

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 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 Calcolatori Elettronici - Politecnico di Milano

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 Calcolatori Elettronici - Politecnico di Milano

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 Calcolatori Elettronici - Politecnico di Milano

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 Calcolatori Elettronici - Politecnico di Milano

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) {c,d} (a,g)(d,e) 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 Calcolatori Elettronici - Politecnico di Milano

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) {c,d} (a,g)(d,e) {a,g} 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 Calcolatori Elettronici - Politecnico di Milano

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 Calcolatori Elettronici - Politecnico di Milano

32 Esempio – Metodo generale
Lo stato c compare in 6 classi ma si nota che la classe {b,c} non introduce nuovi vincoli {a,b,d,e} {d,e,h} (a,d)(a,b) {f,g} (e,h) {b,c} 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 Calcolatori Elettronici - Politecnico di Milano

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 Calcolatori Elettronici - Politecnico di Milano

34 Esempio – Metodo generale
L’albero (incompleto) con radice {a,b,d,e} è il seguente: {a,b,d,e} {d,h} {d,e,h} (a,d)(a,b) {c,g} (c,d)(f,g) {c,f,g} (c,d)(e,h) {f,g} (e,h) {c,f} (c,d) {f} {c,f,g} (c,d)(e,h) {f,g} (e,h) {c,f} (c,d) {d,e,h} (a,d)(a,b) {d,e,h} (a,d)(a,b) {c,d} (a,g)(d,e) {b,c} {b,c,d} (a,b)(a,g)(d,e) {b,c,d} (a,b)(a,g)(d,e) {c,d} (a,g)(d,e) {b,c} {c,d} (a,g)(d,e) {a,g} {a,g} {a,g} {a,g} {a,g} Calcolatori Elettronici - Politecnico di Milano


Scaricare ppt "Macchine non completamente specificate"

Presentazioni simili


Annunci Google