Reti Logiche 1 - uniroma2.it · 22/06/2010 Corso di Reti Logiche 2005/06 14 Ma il sistema oltre a...

Post on 18-Feb-2019

224 views 0 download

Transcript of Reti Logiche 1 - uniroma2.it · 22/06/2010 Corso di Reti Logiche 2005/06 14 Ma il sistema oltre a...

Reti Logiche 1

Prof. B. Buttarazzi

A.A. 2009/2010

ASF

Sommario

• Introduzione alle reti sequnziali

• La definizione di ASF

• ASF di Mealy e Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

2

• ASF di Mealy e Moore

• Diagrammi di stato e Tabelle di flusso

• Automi equivalenti

• Minimizzazione di ASF

• Esempi

Le reti combinatorie sono caratterizzate da un modello che definisce in

modo univoco la corrispondenza tra ingresso e uscite z=f(x)

Introduzione alle reti sequenziali

Reti combinatorie

22/06/2010 Corso di Reti Logiche 2005/06 3

Porte logiche

combinatorie

ingressiuscite

Reti combinatorie

• Una rete combinatoria con n ingressi ed m uscite

realizza m funzioni booleane con n ingressi.

• Assegnando alle variabili binarie x1x2….xn (che

rappresentano i segnali di ingresso) tutte le

22/06/2010 Corso di Reti Logiche 2005/06 4

rappresentano i segnali di ingresso) tutte le

possibili configurazioni di ingresso il

comportamento della rete si specifica tramite la

tabella di verità di ciascuna funzione di uscita

z1z2….zm .

Limite delle Reti Combinatorie

• Una Rete Combinatoria realizza una (o m ) funzione booleana

• ma non è in grado di realizzare un algoritmo

– Ad esempio un addizionatore ripple-carry con 4 FA

22/06/2010 Corso di Reti Logiche 2005/06 5

– Ad esempio un addizionatore ripple-carry con 4 FA realizza la funzione di somma con input parallelo a 4bit

però…….

– nessuna RC è in grado di realizzare da sola l’algoritmo della somma ovvero una generica somma a n-bit con input sequenziale.

Addizionatore per numeri binari rappresentati su 4 bit (e

risultato rappresentato

su 5 bit) ottenuto

dalla connessione di

4 moduli FA.

1 BIT

FULLADDER

Z0

Z1

X0

Y0

X1

0

Esempio di RC

22/06/2010 Corso di Reti Logiche 2005/06 6

4 moduli FA.

Z4

1 BIT

FULLADDER

1 BIT

FULLADDER

1 BIT

FULLADDER

Z2

Z3

X1

Y1

X2

Y2

X3

Y3

Proviamo a calcolare la somma di 2 numeri

rappresentati su 3bit con I/O sequenziale

RC con I/O Sequenziale

22/06/2010 Corso di Reti Logiche 2005/06 7

X = (x2, x1, x0) = 011, Y = (y2, y1, y0) =110

X+Y = (r3, z2, z1, z0) =1001

Somma per dati sequenziali

Questo problema non può essere risolto da una Rete Combinatoria.

Occorre una rete capace di memorizzare il riporto e riassegnarlo

all’ingresso, quindi capace di dare risposte non solo in funzione

dell'ingresso corrente, ma anche dello stato corrente della sua memoria

interna.

22/06/2010 Corso di Reti Logiche 2005/06 8

.

FA

x0

1

0

y0

x1

1

1

y1

x2

0

1

y2

z2

1

0

r3

z1

0

1

r2

z0

1

0

r1

X+Y = 101

•Occorre la memorizzazione del riporto!

•Occorre introdurre linea di ciclo!

Memoria ad 1 bit

FA

x0

1

0

x1

1

1

x2

0

1

z2

1

z1

0

z0

1

0

X+Y = 0101errato!

Somma 3-bit con I/O sequenziale

22/06/2010 Corso di Reti Logiche 2005/06 9

0

y0

1

y1

1

y2

0

r3

1

r2

0

r1

errato!

correttoX+Y = (r3, z2, z1, z0) =1001

Reti Logiche per la somma

a s

a b r s

0 0 0 0

Addizionatore Parallelo

Addizionatore

a s

Addizionatore Seriale

22/06/2010 Corso di Reti Logiche 2005/06 10

Addizionatore

1-bit

a

b

s

r

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Tabella di veritàSchema a Blocchi

Addizionatore

1-bitb r

Memoria

1-bit

Rete Logica Combinatoria Rete Logica Sequenziale

Addizionatore Seriale

x1

x2

Rete

Combinatoria

Full Adder

uscitaingresso

z1

22/06/2010 Corso di Reti Logiche 2005/06 11

L’addizione è ottenuta mandando

in ingresso al Full Adder il riporto calcolato al passo precedente

Y1y1

Full Adder

stato

futuro

stato

presente

Una Rete sequenziale è caratterizzate dal fatto che le uscite non

dipendono solo dall'ingresso all'istante t ma anche dalla sequenza degli

ingressi applicati a partire dalla condizione iniziale.

Rete Sequenziale

x1

xz1

22/06/2010 Corso di Reti Logiche 2005/06 12

x2

xn

z1

z2

zm

Y1

.

.

Yk

y1

.

.

yk

Rete

Combinatoria

uscitaingresso

stato

futuro

stato

presente

In una Rete Sequenziale se indichiamo:

• x le variabili di ingresso

• z le variabili di uscita

• y le variabili che rappresentano lo stato attuale,

• Y le variabili che rappresentano lo stato futuro

Rete Sequenziale

22/06/2010 Corso di Reti Logiche 2005/06 13

• Y le variabili che rappresentano lo stato futuro

allora la relazione tra ingresso e uscita si articola in due funzioni:

Y= δ(x,y)

z = ω(x,y)

funzione di transizione di stato

funzione di uscita

Y= δ(x,y)

z = ω(x,y)Le due funzioni indicano che quando arrivano in ingresso dei segnali (x) l’output z prodotto dal sistema dipende sia dal valore di segnali in ingresso (x) sia dallo stato attuale (y). in cui si trova il sistema

ω

Rete Sequenziale

22/06/2010 Corso di Reti Logiche 2005/06 14

Ma il sistema oltre a produrre l’output z, secondo la funzione di uscita ω, passerà dallo

stato attuale y a quello successivo Y secondo la funzione di transizione δ, che tiene conto del tipo di input e dello stato attuale.

Il numero di elementi di memoria dipende dai diversi stati in cui potrà trovarsi il sistema:

- un elemento di memoria (1 bit) permette di

Rete Sequenziale

22/06/2010 Corso di Reti Logiche 2005/06 15

- un elemento di memoria (1 bit) permette di rappresentare 2 stati (0,1).

- n elementi di memoria (n bit) posso rappresentare 2n

stati distinti.

Per fare l’analisi e la sintesi delle Reti Sequenziali è utile uno strumento formale adatto a descrivere sistemi con memoria.

Automi a stati finiti

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

16

memoria.

L'automa a stati finiti è il modello astratto adatto a rappresentare le reti sequenziali.

Prima di affrontare lo studio delle reti sequenziali analizzeremo, limitatamente agli obiettivi di questo corso, le caratteristiche degli automi a stati finiti.

Introduzione agli Automi

Con il termine automa s’intende un qualunque dispositivo, che esegue in modo autonomo un particolare compito, sulla base di ordini ricevuti.

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

17

particolare compito, sulla base di ordini ricevuti.

• Sono esempi di automi la lavatrice, la lavastoviglie, i sistemi di controllo di apertura/chiusura delle banche, i bancomat, i sistemi di controllo degli ascensori, i distributori automatici di bevande, gettoni telefonici, benzina.

• Sono rappresentabili con automi anche sistemi più astratti

Automi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

18

• Sono rappresentabili con automi anche sistemi più astratti come gli analizzatori di linguaggi, i riconoscitori di sequenze, i traduttori.

• Anche i computer sono automi, in particolare sono automi che possono svolgere un ruolo diverso a seconda del programma che in quel momento sta “girando”nella memoria centrale.

Descrivere un automa significa fornire una indicazione, (supportata dall’uso di schemi,grafi, tabelle) delle modalità di funzionamento dell’automa stesso (cosa fa l'automa).

Automi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

19

Quando descriviamo un automa compiamo un procedimento di astrazione preoccupandoci del solo comportamento logico-funzionale dell'automa e non della sua realizzazione fisica.

Noi ci riferiremo ad una particolare classe di automi, quella degli ASF che, da un punto di vista puramente matematico, rappresenta il modello astratto di un sistema con input ed output discreti, che può trovarsi in uno fra n STATI distinti.

Automa a Stati Finiti

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

20

Lo stato rappresenta una condizione in cui il sistema si trova tenendo conto degli input ricevuti in precedenza e da esso dipende il comportamento del sistema a fronte di input successivi.

Il comportamento di un automa a stati finiti (ASF)

A è descritto dalla quintupla

Automa a Stati Finiti

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

21

A=<I, O, Q, δ, ω >

ove I, O, Q, indicano rispettivamente

• I insieme finito di simboli di input

• O insieme finito di simboli di output

• Q insieme finito di stati interni di cui si assume q ∈Q stato

A=<I, O, Q, δ, ω >

Automi a stati finiti (ASF)

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

22

• Q insieme finito di stati interni di cui si assume q0 ∈Q stato

iniziale (di partenza )

mentre δ, ω sono le funzioni che specificano il comportamento dell’automa.

• δ : I×Q→Q è la funzione di transizione di stato (che ha per dominio

il prodotto cartesiano I×Q (ovvero l'insieme delle coppie xi,qi ) e per

codominio Q,) che serve a specificare il nuovo stato raggiunto

dall’automa;

• ω : I×Q→O è la funzione di uscita, che serve a specificare il

simbolo di uscita prodotto dall’automa.

Esistono automi ove l’informazione prodotta in uscita dipende soltanto dallo stato raggiunto dalla macchina.

(ovvero il valore dell’uscita è già associato allo stato dell’automa vedi Latch prossime lezioni) pertanto in tali casi anziché usare il simbolo ω si userà ω’.

Automi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

23

anziché usare il simbolo ω si userà ω’.

Allora distingueremo i due tipi di automi in:

•Automi di Mealy quelli che fanno uso della funzione di uscita ω

•Automi di Moore quelli che fanno uso della funzione di uscita ω’.

Un automa si dice di Mealy (oppure improprio ) quando è

caratterizzato dal fatto che l’uscita (zt) al tempo t, oltre che

dallo stato (qt), dipende anche dagli ingressi nello stesso

istante, in pratica:zt=ωωωω(xt,qt).

Automi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

24

Un automa si dice di Moore (oppure proprio) quando

l’uscita (zt) al tempo t dipende esclusivamente dal valore

assunto dallo stato al tempo t, in pratica:zt =ωωωω’(qt).

Non si deve pensare che gli automi di Moore siano più limitati di quelli di Mealy(rispetto alle cose che possono fare) in quanto è sempre possibile trasformare ogni automa di Mealy nel corrispondente automa di Moore e viceversa.

• x le variabili di ingresso

• z le variabili di uscita

• y le variabili che rappresentano lo stato attuale,

• Y le variabili che rappresentano lo stato successivo (a quello attuale)

allora la relazione tra ingresso e uscita si articola in due fasi:

Rete SequenzialeIn una rete sequenziale

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

25

allora la relazione tra ingresso e uscita si articola in due fasi:

Y= G(x,y)

z = F(x,y)

funzione di transizione di stato

funzione di uscita

Facendo corrispondere:

I → x,

O → z

Q → y,Y

δ δ δ δ →→→→ G

ω ω ω ω →→→→ F

Rete Sequenziale

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

26

ω ω ω ω →→→→ F

si può osservare la stretta corrispondenza che c’è fra un automa a stati finiti (ASF) A descritto dalla quintupla

A=<I, O, Q, δ, ω >

e una rete sequenziale descritta dalle relazioni ingresso uscita

Y= G(x,y) z = F(x,y)

Le Reti Sequenziali sono esempi di automi di Mealy.

Rappresentazioni di ASF

Per rappresentare il comportamento di un automa ovvero:

•i diversi stati,

•la funzione che calcola, lo stato successivo δ ,

•e la funzione che calcola l'uscita ω ,

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

27

•e la funzione che calcola l'uscita ω ,

generalmente si utilizzano due tipi di rappresentazione equivalenti:

• rappresentazione a grafo: diagramma degli stati;

• rappresentazione a matrice: tabella di flusso;

Nella rappresentazione a grafo, chiamato diagramma

degli stati,

• i nodi rappresentano i possibili stati dell’automa;

Rappresentazione a grafo

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

28

• i rappresentano i possibili ;

• gli archi rappresentano le relazioni di passaggio da

uno stato all’altro, secondo il particolare input.

ASF di Mealy

Nel diagramma degli stati dell’Automa di Mealy ogni nodo

rappresenta uno stato.

Ad ogni arco che collega due nodi (stati) q1 q2 è associata una

coppia x/z, dove x è l’ingresso che provoca il cambiamento dallo

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

29

coppia x/z, dove x è l’ingresso che provoca il cambiamento dallo

stato q1 allo stato q2 e z è l’uscita che ne deriva.

q1 q2

x / z

Il generico arco che collega la coppia di nodi (stati) q1 q2 è

etichettato da una coppia di valori x,z tali che

δ(x,q1) = q2 e ω(x,q1) = z.

x / z

ASF di Mealy

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

30

q1 δ (x, q1)

x / ω(x, q1)

Stato q1 Stato q2

q1 q2

x / z

Nel diagramma degli stati dell’Automa di Moore ogni nodo rappresenta

uno stato cui è associata l’uscita corrispondente

Pertanto ogni stato è rappresentato da una coppia q/z ove q denota il

particolare stato e z è l’uscita ad esso associata.

Es: (qi / ω( qi) )

ASF di Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

31

Es: (qi / ω( qi) )

Ad ogni arco che collega due nodi (stati q1 q2 ) è associata una sola

etichetta x, che rappresenta l’ingresso che provoca il cambiamento dallo

stato q1 allo stato q2.

q1 / ω( q1) δ (x, q1)

x

stato q1 stato q2

Il generico arco che collega la coppia di nodi (stati q1 q2 ) è

etichettato da x tale che

δ(x,q1) = q2 ove q2 è associato all’uscita z2 e z2 = ω( q2)

ASF di Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

32

q1 / ω( q1) δ (x, q1)

x

stato q1 stato q2

Nella rappresentazione a matrice, chiamata tabella di flusso di un ASF di MEALY, ogni casella (incrocio riga-colonna) specifica

ASF di Mealy

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

33

specifica

• qual è il successivo stato e l’output prodotto dall’automa se esso si trova in un determinato stato e riceve un certo input.

Tabella di flusso di un ASF di Mealy

....

....

....

....

....

....

….

….

….

….

i1 i2 …. ….

s1

s2

....

insieme

degli

stati in-1 in

insieme

degli

ingressi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

34

....

....

…. ….

......

......

....

....

....

...

....

...

…. ….

….sk

...

....

Ogni riga della tabella rappresenta uno stato dell'automa

Ogni colonna rappresenta una configurazione in ingresso

In ogni incrocio riga colonna è rappresentato lo stato futuro/ simbolo

d'uscita determinato dalla transizione.

….

….

….

….

i1 i2 …. ….

s1

s

in-1 inii

ingresso

Tabella di flusso di un ASF di Mealy

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

35

....

....

…. ….

....

....

....

....

....

....

....

....

....

....

…. ….

…. ….

….

s2

sk

....

....

sj

stato

presentesp/zp stato futuro/

uscita

Nella rappresentazione a matrice, chiamata tabella di flusso un ASF di MOORE, ogni casella specifica

• qual è il successivo stato (e quindi l’output prodotto

Tabella di flusso di un ASF di Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

36

• qual è il successivo stato (e quindi l’output prodotto dall’automa) se esso si trova in un determinato stato e riceve un certo input.

......

......

......

….

….

….

….

i1 i2 …. ….

s1

s2

...

insieme

degli

stati in z

insieme degli

ingressi

colonna

delle

uscite

Tabella di flusso di un ASF di Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

37

....

....

…. ….

....

....

....

....

....

....

....

....

....

....

…. ….

….sk

....

....

uscite

Ogni riga della tabella rappresenta uno stato dell'automa .

Ogni colonna (tranne l’ultima) rappresenta una configurazione in ingresso

....

....

....

....

....

....

….

….

….

….

i1 i2 u…. ….

s1

s2

....

ii

ingresso

in

Tabella di flusso di un ASF di Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

38

In ogni incrocio riga colonna è

rappresentato solo lo stato futuro,

in quanto il simbolo d'uscita è sull’ultima colonna.

....

....

…. ….

.. .. .. ..

....

....

....

..

....

..

…. ….

….sk

..

....

sjstato

presente

stato futuro

sp uj uscita

Un Automa di Mealy è

un ASF A1=<I, O, Q, δ, ω >•I insieme finito di simboli di input

•O insieme di valori di output

•Q insieme finito di stati interni di cui si assume q0 ∈Q stato di partenza

•δ : I×Q→Q funzione di transizione serve a specificare il nuovo stato

Riassumendo

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

39

•δ : I×Q→Q funzione di transizione serve a specificare il nuovo stato raggiunto dall’automa;

•ω : I×Q→O funzione di uscita, serve a specificare il simbolo di uscita prodotto dall’automa.

dove l’uscita al tempo t, oltre che dallo stato, dipende anche dagli

ingressi nello stesso istante:zt=ωωωω(xt,qt).

Un Automa di Moore è

un ASF A2=<I, O, Q, δ, ω’ >

•I insieme finito di simboli di input

•O insieme di valori di output

•Q insieme finito di stati interni di cui si assume q0 ∈Q stato di partenza

•δ : I×Q→Q funzione di transizione serve a specificare il nuovo stato

Riassumendo

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

40

•δ : I×Q→Q funzione di transizione serve a specificare il nuovo stato raggiunto dall’automa;

•ω’ : Q→O funzione di uscita, serve a specificare il simbolo di uscita prodotto dall’automa.

dove l’uscita al tempo t dipende esclusivamente dal valore assunto dallo

stato:zt =ωωωω’(qt).

Diagrammi degli stati

Mealy

q δ (x, q)

x / ω(x, q)

Automa di MEALY:

L'uscita della rete

dipende dagli ingressi e

dagli stati interni :

z=w(x,q).

Il nodo contiene solo il

Automa di MOORE:

L'uscita della rete

dipende dallo stato

interno: z=w’(q). Il nodo

ha due etichette (q/w(q))

che rappresentano

rispettivamente il nome

Riassumendo

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

41

Mooreq δ (x, q)

q/ω(q) δ (x, q)

x

Il nodo contiene solo il

nome dello stato (q).

Sugli archi ci sono 2

etichette (x/w(X,q) che

rappresentano la

configurazione di

ingresso che determina il

passaggio da uno stato

all'altro e il simbolo

d'uscita.

rispettivamente il nome

dello stato ed il simbolo

d'uscita corrispondente.

Sugli archi vi è solo

un’etichetta (x ) la

configurazione di

ingresso che determina il

passaggio da uno stato

all'altro.

Tabella di Flusso

• Mealy

ingressi x

q δ (x,q) / ω (x,q)

Riassumendo

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

42

• Moore

ingressi x

q δ (x,q) ω(q)

Esercizio

• Dato il diagramma degli stati del seguente

Automa dire di che tipo di Automa si tratta

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

43

q0 q1

B/0

A/0

A/1 B/1

• Dal momento che ciascun nodo contiene solo il nome dello stato (q) e

sugli archi ci sono 2 etichette (x/z) che rappresentano la

configurazione di ingresso che determina il passaggio da uno stato

all'altro e il valore dell'uscita per tale configurazione, si tratta di un

Automa di MEALY ⇒ L'uscita della rete dipende dagli ingressi e

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

44

Automa di MEALY ⇒ L'uscita della rete dipende dagli ingressi e

dagli stati interni : z=w(x,q).

q0 q1

B/0

A/0

A/1 B/1

• Dato il diagramma degli stati del seguente

Automa di Mealy determinare la

corrispondente Tabella di Flusso

Esercizio

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

45

q0 q1

B/0

A/0

A/1 B/1

q0 q1

B/0

A/1 B/1

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

46

A/0

A B

q0 q0/1 q1/0

q1 q0/0 q1/1

• Dato il diagramma degli stati del seguente

Automa di Mealy determinare la

corrispondente Tabella di Flusso

Esercizio

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

47

q0

00/0

01/1

10/1

q1

01/0

10/0

11/1

11/0

00/1

Q0

00/0

01/1

10/1

Q1

01/0

10/0

11/1

11/0

00/1

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

48

00 01 11 10

Q0 Q0/0 Q0/1 Q1/0 Q0/1

Q1 Q0/1 Q1/0 Q1/1 Q1/0

• Data la seguente Tabella di Flusso

determinare il corrispondente diagramma

degli stati.

Esercizio

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

49

01

q0 q0/0 q1/0

q1 q0/0 q1/1

Soluzione

01

q0 q0/0 q1/0

q1 q0/0 q1/1

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

50

q0 q1

1/0

0/0

0/0 1/1

• Dato il diagramma degli stati del seguente

Automa di Moore determinare la

corrispondente Tabella di Flusso

Esercizio

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

51

q0 /100

11

10

q1 /000

10

01

01

11

q /100

q /000

10

01

00 01 11 10 ω

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

52

q0 /100

11

10

q1 /0 10

01

11

q

0

q0 q1 q0 q0 1

q

1

q1 q1 q0 q1 0

Equivalenza

Due stati q e q’ di un automa A si dicono

equivalenti se

per ogni simbolo di ingresso x

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

53

per ogni simbolo di ingresso x

(i)ω (x, q ) = ω (x, q ') (equicomportamento 1-step)

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Stati equivalenti

Nell’automa di Mealy rappresentato si nota che q0 ≡ q2 in quanto:

• applicando la sequenza di simboli in ingresso AAB allo stato q0

il sistema produce in output 110

� ω (A, q0) =1 ω (A, q2) = 1ω (B, q2) = 0

• applicando la sequenza di simboli in ingresso AAB allo stato q2

il sistema produce in output 110

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

54

� ω (A, q2) =1 ω (A, q2) = 1ω (B, q2) = 0

q0q1

A/0

A/1 B/1B/0

q2q3

A/0A/1 B/1

B/0

• In un certo senso, potremmo dire che la presenza degli stati

equivalenti (q0 e q1) in A é ridondante, in quanto gli stati

equivalenti effettuano le stesse transizioni a fronte degli stessi

input.

• Poiché un automa é un modello astratto di una macchina

sequenziale, é intuitivo il fatto che sia conveniente minimizzare

Stati equivalenti

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

55

un automa, ovvero trovare un automa equivalente che abbia il

minimo numero di stati.

• Si noti comunque che ridurre il numero degli stati di un automa

(sostituendo tutti gli stati equivalenti con un unico

rappresentante) equivale a ridurre (con legge logaritmica) il

numero di elementi di memoria nel circuito corrispondente.

• applicando la sequenza di simboli in ingresso AAB allo

stato q0 il sistema produce in output 100

� ω (A, q0) =1 ω (A, q2) = 0ω (B, q2) = 0

• ma applicando la sequenza di simboli in ingresso AAB allo

stato q2 il sistema produce in output 000

ControEsempi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

56

� ω (A, q2) =0 ω (A, q2) = 0ω (B, q2) = 0

q0q1

A/0

A/1 B/1B/0

q2q3

A/0A/0 B/1

B/0

Detti q e q’ due stati equivalenti di

un automa A, qualunque sequenza

di simboli di ingresso applicata ad

A nello stato q oppure ad A nello

stato q’ da luogo alla stessa

sequenza di output.

• Partendo dallo stato q0

� δ (B, q0) = q1

• Partendo dallo stato q2

� δ (B, q2) = q0

ControEsempi

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

57

� δ (B, q2) = q0

q0q1

A/0

A/1 B/1B/0

q2q3

A/0A/1 B/1

B/0

Equivalenza fra ASF

Due automi dello stesso tipo A e A’ sono

equivalenti se per ogni stato s di A esiste uno

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

58

equivalenti se per ogni stato s di A esiste uno

stato s’ di A’ equivalente ad s e viceversa.

Riprenderemo l’aspetto della equivalenza per

la minimizzazione degli automi

Dato un Automa (ovvero data la sua tabella di flusso) il processo di minimizzazione mira ad eliminare gli stati ridondanti dell’automa, eventualmente presenti.

Il processo di minimizzazione degli stati di un automa consiste nei seguenti 3 passi:

Minimizzazione degli stati di un ASF

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

59

seguenti 3 passi:

• Trovare una partizione di stati dell’automa suddivisi in classi di equivalenza avente cardinalità minima.

• Scegliere un solo stato per ciascuna classe della partizione

• Sostituire ciascuna classe con il solo stato (nodo) scelto (utilizzando la tecnica della fusione).

Osservazioni

Per determinare l’automa minimo di un dato automa, a differenza di quanto capita per le funzioni booleane, esistono procedure efficienti

•Algoritmo per partizioni successive

•Metodo triangolare

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

60

Va comunque osservato che tra le due operazioni di minimizzazione è più importante quella delle funzioni booleane, infatti mentre minimizzare un automa significa ridurre il numero degli stati (rapporto tra numero di elementi di memoria e numero degli stati è k / 2k ) per le funzioni booleane risparmiare un operatore significa ridurre di uno il numero di porte.

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

Per descrivere i vari passi dell’ALGORITMO di minimizzazione

utilizzeremo come esempio la seguente tabella di flusso iniziale:

Minimizzazione di un ASF di Mealy

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

61

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,0

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

62

Π0(Q)= {A,B,C,D,E,F}

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Π0(Q)= {A,B,C,D,E,F}

{A}

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

63

1 0 1 0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

64

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 0 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

65

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 0 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C,D}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

66

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 0 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C,D}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

67

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 0 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C,D,F}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

68

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 0 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C,D,F}, {B}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

69

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 1 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C,D,F}, {B}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

70

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 1 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

{A,C,D,F}, {B}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

71

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 1 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

72

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 1 1 0

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione dell’output prodotto

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}

Primo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

73

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

1 1 1 0

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10 Π0(Q)= {A,B,C,D,E,F}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

74

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

A è equivalente a C se per configurazione

di input (00 01 11 01)l’automa transita

nella stessa classe di equivalenza

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

75

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

Vediamo se A è equivalente a C

(per ogni input deve essere δ(x, q )

≡δ (x, q ') )

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10A è equivalente a C se per ogni input

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

76

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

A è equivalente a C se per ogni input

(00 01 11 01)l’automa transita nella

stessa classe

δ(x, q ) ≡δ (x, q ')

00:

δ(00, A ) =A ovvero {αααα}, ΑΑΑΑ

e δ(00, C)= C ovvero {αααα} C

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10A è equivalente a C se per ogni input

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

77

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

A è equivalente a C se per ogni input

(00 01 11 01)l’automa transita nella

stessa classe

01:

δ(01, A ) =E ovvero {γγγγ}, ΑΑΑΑ

e δ(01, C)= B ovvero {γγγγ} C

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10A è equivalente a C se per ogni input

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

78

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

A è equivalente a C se per ogni input

(00 01 11 01)l’automa transita nella

stessa classe

11:

δ(11, A ) =A ovvero {αααα}, ΑΑΑΑ

e

δ(11, C)= C ovvero {αααα} C

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10A è equivalente a C se per ogni input

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

79

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

A è equivalente a C se per ogni input

(00 01 11 01)l’automa transita nella

stessa classe

10:

δ(10, A ) =F ovvero {αααα}, ΑΑΑΑ

e

δ(10, C)= F ovvero {αααα} C

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

80

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

Quindi A è equivalente a C in

quanto per ogni input δ(x, q ) ≡

δ (x, q ')

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

81

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

Ora vediamo se A è equivalente a D

(per ogni input deve essere δ(x, q )

≡δ (x, q ') )

Dai confronti se vede che A ≡ D

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

82

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,O

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

….ripetendo

Dai confronti se vede che A ≡ D

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

00 01 11 10

Π0(Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}= {αααα}, {γγγγ}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

83

00 01 11 10

A A,1 E,0 A,1 F,0

B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,0

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

Ma A non è equivalente a F in

quanto δ(01, A ) =E ovvero {γγγγ},

e

δ(01, F)= F ovvero {αααα}

pertanto devo ulteriormente

partizionare l’insieme

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

84

Π (Q)= {A,B,C,D,E,F}

Π1(Q)= {A,C,D,F}, {B,E}

Π2(Q)= {A,C,D}, {F},{B,E= {αααα}, {ββββ} , {γγγγ}

Eseguo lo stesso controllo sulla classe {B,E} che

non risulta partizionabile, pertanto l’insieme delle

classi equivalenti è:

{A,C,D}, {F} {B,E},

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

85

{A,C,D}, {F} {B,E},

{α}, {β} , {γ}

Tutti gli stati appartenenti ad una stessa classe possono essere sostituiti da uno solo di essi ( rappresentante ) in quanto sufficiente a rappresentarli tutti in una tabella di flusso minima.

Pertanto le classi risultanti sono:

Secondo step

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

86

α:=(Α,C,D)

β:=(Β,Ε)

γ:=(F)

A questo punto è possibile aggiornare la tabella di flusso (sostituire le 3 righe A,C,D con α – le 2 righe B,E con β e F con γ

α:=(A,C,D)

β:=(Β,Ε)

γ:=(F)

00 01 11 10

A A,1 E,0 A,1 F,0

Tabella di flusso

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

87

γ:=(F)B A,1 B,1 D,1 B,0

C C,1 B,0 C,1 F,0

D D,1 E,0 D,1 F,0

E A,1 E,1 C,1 E,0

F C,1 F,0 F,1 F,0

00 01 11 10

α α,1 β,0 α,1 γ,0

β α,1 β,1 α,1 β,0

γ α,1 γ,0 γ,1 γ,0

D D,1 E,0 D,1 F,0

00 01 11 10

α α,1 β,0 α,1 γ,0

La tabella di flusso minima è:

Tabella di flusso

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

88

β α,1 β,1 α,1 β,0

γ α,1 γ,0 γ,1 γ,0

D D,1 E,0 D,1 F,0

E A,1 E,1 C,1 E,0

B C,1 F,0 F,1 F,0

Ogni riga della tabella rappresenta uno stato dell'automa .

Ogni colonna rappresenta una configurazione in ingresso.

Poichè l’automa minimo ha 3 stati (ovvero necessita di

ricordare 3 stati distinti (α,β,γ) ) α,β,γ) ) α,β,γ) ) α,β,γ) ) per la sua implementazione

(sintesi) saranno sufficienti 2 bit, che potremmo codificare nel

Minimizzazione di un ASF di Mealy

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

89

(sintesi) saranno sufficienti 2 bit, che potremmo codificare nel

seguente modo:

α=00, β=01, γ=11.α=00, β=01, γ=11.α=00, β=01, γ=11.α=00, β=01, γ=11.

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ')

(equicomportamento)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

90

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )

(passo induttivo)

0 1 z

A D B 0

B E C 0

La minimizzazione di un automa di Moore è più semplice in quanto

la prima partizione si determina osservando direttamente la colonna z

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

91

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π1(Q)= {A,B,C,D,}, {E,F}= {αααα}, {γγγγ}

0 1 z

A D B 0

B E C 0

Mentre per i passi successivi è identica al caso precedente

Confronto A e B

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

92

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π1(Q)= {A,B,C,D,}, {E,F}= {αααα}, {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

93

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,C,D,}, {B}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

Confronto A e C

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

94

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,C,D,}, {B}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

95

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

Confronto A e D

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

96

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

97

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

Confronto B e C

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

98

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

99

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

Confronto E e F

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

100

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Metodo delle partizioni:

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π0(Q)= {A,B,C,D,E,F}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

101

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

(ii)δ(x, q ) ≡δ (x, q ‘ )(passo induttivo)

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A D B 0

B E C 0

Minimizzazione di un ASF di Moore

Scelgo A,B,E come

rappresentanti delle 3

classi di equivalenza:

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

102

B E C 0

C F B 0

D A B 0

E F A 1

F E D 1

classi di equivalenza:

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

0 1 z

A A B 0

B E B 0

ASF di Moore ridotto

Π2(Q)= {A,D,}, {B,C}, {E,F}=

{αααα}, {ββββ} , {γγγγ}

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

103

B E B 0

E E A 1

0 1

A A/1 B/0

Esercizio

Minimizzare l’automa di cui di seguito è riportata la tabella di flusso

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

104

A A/1 B/0

B C/1 D/0

C C/1 B/0

D B/0 C/1

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

Π0(Q)={A,B,C,D}

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

105

C C/1 B/0

D B/0 C/1

Metodo delle partizioni:(i)ω (x, q ) = ω (x, q ') (equicomportamento)

(ii)δ(x, q ) ≡δ (x, q ')(passo induttivo)

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

Π0(Q)={A,B,C,D}

Π1(Q)={A}

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

106

C C/1 B/0

D B/0 C/1

1 0

(i)ω (x, q ) = ω (x, q ') (equicomportamento)

Partizioniamo l’insieme di stati di partenza in funzione

dell’output prodotto

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

Π0(Q)={A,B,C,D}

Π1(Q)={A,B}

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

107

C C/1 B/0

D B/0 C/1

1 0

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

Π0(Q)={A,B,C,D}

Π1(Q)={A,B,C}

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

108

C C/1 B/0

D B/0 C/1

1 0

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

Π0(Q)={A,B,C,D}

Π1(Q)={A,B,C}

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

109

C C/1 B/0

D B/0 C/1

1 0

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

Π0(Q)={A,B,C,D}

Π1(Q)={A,B,C} , {D}

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

110

C C/1 B/0

D B/0 C/1

0 1

0 1 Π1(Q)={A,B,C}, {D}

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Per ogni partizione creata vedo se è soddisfatta la regola ii

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

111

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

D B/0 C/1

Π (Q)={A,B,C}, {D}

= {αααα}, {γγγγ}

δ(0, A ) =A ovvero {αααα},

eδ(0, B)= C ovvero {αααα}

ma

δ(1, A ) =B ovvero {αααα},

mentre

δ(1, B)= D ovvero {γγγγ}

Quindi A non è equivalente a B anche

(ii)δ(x, q ) ≡δ (x, q ') (passo induttivo)

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

112

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

D B/0 C/1

Quindi A non è equivalente a B anche

se produce lo stesso output pertanto

devo ulteriormente partizionare

l’insieme

Π2(Q)={A,C }, { B}, {D}

{αααα}, {ββββ} , {γγγγ}

1) Cosa deve accadere perché due stati A e B di un automa di Mealy siano equivalenti ?

2) Se viene applicata una stessa sequenza di ingressi a due stati equivalenti di un

Rispondere alle seguenti domande

Esercizio

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

113

2) Se viene applicata una stessa sequenza di ingressi a due stati equivalenti di un automa cosa si ottiene ?

3) Data la seguente tabella di flusso, dire perché A non è equivalente a D

0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

D B/0 C/1

4) Data la seguente tabella di flusso, dire quale tra le seguenti relazioni di equivalenza è vera.

a) A≡C

b) B≡C

Esercizio

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

114

b) B≡C0 1

A A/1 B/0

B C/1 D/0

C C/1 B/0

D B/0 C/1

Esercizio

Sia data la tabella di transizione seguente dove

X={a,b} Y={0,1} Q={q0, q1, …q7 }

Minimizzare l’automa

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

115

a b

___________________________

q0 q1/1 q7/1

q1 q5/1 q3/1

q2 q3/0 q4/1

q3 q2/0 q5/1

q4 q3/1 q2/1

q5 q2/1 q2/1

q6 q2/1 q3/1

q7 q2/0 q0/1

Soluzione

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

116

a b

_______________

qE qF/1 qH/1

qF qD/1 qG/1

qD qG/1 qG/1

qG qG/0 qD/1

qH qG/0 qD/1

Riepilogo 1

• AUTOMI:

sono sistemi astratti in grado di modellare il comportamento delle reti sequenziali,

(in genere un automa è un dispositivo che esegue in modo autonomo un particolare compito, sulla base di ordini ricevuti)

• AUTOMA DI MEALY:

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

117

• AUTOMA DI MEALY:

è caratterizzato dal fatto che l’uscita al tempo t, oltre che dallo stato, dipende anche dagli ingressi nello stesso istante, in pratica:zt=ωωωω(xt,qt).

• AUTOMA DI MOORE:

è caratterizzato dal fatto che l’uscita al tempo t dipende esclusivamente dal valore assunto dallo stato, in pratica:zt=ωωωω’(qt).

• DIAGRAMMI DEGLI STATI:

Riepilogo 2

q δ (x, q)

x / ω(x, q)

Mealy

q/ω(q) δ (x, q)

x

Moore

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

118

• TABELLE DI FLUSSO:

ingressi x

Mealyq δ (x,q) / ω (x,q)

ingressi x

Mooreq δ (x,q) ω(q)

Mealy Moore

• STATI EQUIVALENTI:

Due automi dello stesso tipo A e A’ sono equivalenti se per ogni stato s di A esiste uno stato s’ di A’ equivalente ad s e viceversa.

• MINIMIZZAZIONE ASF:

Il processo di minimizzazione degli stati di un automa

Riepilogo 3

22/06/2010 Corso di Reti Logiche 2009/10

(ASF)

119

Il processo di minimizzazione degli stati di un automa consiste nei seguenti 3 passi:

-trovare una partizione di stati dell’automa suddivisi in

classi di equivalenza avente cardinalità minima.

-scegliere un solo stato per ciascuna classe della partizione

-sostituire ciascuna classe con il solo stato (nodo) scelto

(utilizzando la tecnica della fusione).

L’automa minimo è unico (ha tanti stati quante sono le classi di indistinguibilità)