La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Calcolatori Elettronici - Politecnico di Milano Macchine non completamente specificate.

Presentazioni simili


Presentazione sul tema: "Calcolatori Elettronici - Politecnico di Milano Macchine non completamente specificate."— Transcript della presentazione:

1 Calcolatori Elettronici - Politecnico di Milano Macchine non completamente specificate

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

3 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 u 7... sequenza s j : u 1 u 2 u 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 x x ab ad ab ae ac a b c d b c d e ae bc Grafo di compatibilità

9 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano Risolvere il problema della minimizzazione del numero di stati significa: Trovare il più piccolo insieme chiuso di classi di compatibilità Verificare che linsieme trovato copre linsieme degli stati su cui è definita la macchina L'insieme di tutte le classi di massima compatibilità è chiuso e copre linsieme 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 Calcolatori Elettronici - Politecnico di Milano 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 dallinsieme delle classi di massima compatibilità: s0 = {a, b, c} s1 = {a, c, e} s2 = {c, d, e} Tale copertura non è necessariamente minima

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

15 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano Esempio – Metodo generale Si individuano le classi prime di compatibilità Si consideri la classe C 0 ={a,b,d,e} Dato che linsieme 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano Esempio – Metodo generale Si consideri la classe C 4 ={a,g} Essendo vuoto linsieme 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 dellinsieme minimo di tali classi che siano una copertura per la macchina data

22 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano Esempio – Metodo generale Il metodo per lindividuazione 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano Esempio – Metodo generale Si consideri la costruzione dellalbero 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 Calcolatori Elettronici - Politecnico di Milano Esempio – Metodo generale Lo stato h compare nelle due classi {d,e,h} ed {d,h} Si aggiungono allalbero 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 Calcolatori Elettronici - Politecnico di Milano 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 dellordinamento La macchina minima può non essere unica

34 Calcolatori Elettronici - Politecnico di Milano Esempio – Metodo generale Lalbero (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 "Calcolatori Elettronici - Politecnico di Milano Macchine non completamente specificate."

Presentazioni simili


Annunci Google