Sunteți pe pagina 1din 13

Capitolul 8

Automate cu stri finite


un automat cu stri finite se definete formal prin cvintuplul

A = X Y Q

, unde

X = x x, ,..., x
2

- mulimea configuraiilor binare de intrare,

Y = y y, ,..., y

- mulimea configuraiilor binare de ieire,

Q = q q, ,..., q

- mulimea configuraiilor binare de stare,

: X
Q Q - funcia de tranziie a strilor,
: X
Q Y - funcia de tranziie a ieirilor.
Y automatul este de tip Mealy, iar dac
dac : X
Q

:Q Y este de tip Moore


spaiul timpului este discret
i este format din mulimea
multiplilor de T , unde T este perioada semnalului de ceas care
produce o modificare a strii circuitului.
automatele sunt imediate (ieirile se modific imediat ce se

modific intrrile sau strile) sau cu ntrziere (ieirile se


modific cu o ntrziere de o perioad de ceas fa de
modificarea intrrilor sau a strilor)
X
Q

CLK

CLC

elemente de prelucrare

REGISTRU

elemente de memorare

Y
CLK

X
Q

CLC

REGISTRU

X
Q

CLC

CLK

CLC 1

CLK

REGISTRU

CLC 1

REGISTRU
1

CLK

REGISTRU

Y
CLC 2

CLC 2
Y

REGISTRU
2

CLK

Mealy imediat

Mealy cu ntrziere

Moore imediat

Moore cu ntrziere

Fig. 8.2 Structuri fundamentale de automate finite


x1
q1y1

x4

x1y2
q2y2

x3

x2

x4

y1

q1

q2

x3y2

x2y1

Moore

Mealy
x2

x1

x2y1

q3y

q4y1

x1
q2

q1

x1

y2

x2y3

x2
x1

x1 y2

q4y3
x2
Moore

Mealy

Fig. 8.3 Transformarea automatelor finite


problema fundamental care se pune la sinteza automatelor finite
este cea a optimizrii; se poate aciona numai asupra mulimii
strilor, deci efecte importante de minimizare global se pot

obine prin reducerea strilor i codificarea optim a lor


ASSN-8

8.1. Reducerea numrului de stri


dou stri Q i

Q ale unui automat

echivalente dac

Q xkQ xk

A = X Y Q

sunt

Q x

pentru orice secven finit posibil de intrare

Q xk

xk.

metoda tabelului implicaiilor reduce numrul strilor


automatelor complet specificate prin partiionarea mulimii

strilor n clase de echivalen:


tabelul conine un numr de compartimente (egal cu numrul
tuturor perechilor posibile de stri) aranjate ntr-un tabel

triunghiular; n fiecare compartiment se trece:


simbolul

dac strile din perechea respectiv sunt

evident neechivalente

simbolul dac strile din perechea respectiv sunt

evident echivalente

implicaiile privind echivalena succesorilor, dac strile


din perechea respectiv sunt
1-echivalente
(adic

Q xkQ xk ).
exemplu:
starea prezent
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8

Fi

starea urmtoare/ieire
x1
x2
x3
x1
Q1/0
Q4/1

Q3/0

Q4/0

Q6/1

Q2/0

Q5/0

Q7/1

Q2/0

Q5/1

Q3/0

Q4/1

Q2/1

Q4/0

Q8/1

Q5/1

Q2/0

Q5/0
Q4/0

Q4/0

Q5/1

Q6/0

Q1/0

Q6/1

Q1/0

Q6/1

Q7/1
Q7/1

g. 8.4Automat
finit

Q7/1

Q6/1
Q4/0
Q4/0

complet
specificat

Q2

Q3
Q4
Q5

Q7= Q8

Q6

Q4=Q5

Q7

Q2= Q4

Q8

Q2=Q5
Q2=Q4
Q7=Q8

Q4= Q6

Q1

Q3

Q2

Q4

Q6

Q5

Q7

Fig. 8.5 Tabelul triunghiular al implicaiilor


strile Q i Q sunt neechivalente, deci i Q i
neechivalente
4

Q sunt cert

pentru determinarea claselor de echivalen se grupeaz


perechile de stri echivalente n baza proprietii de

tranzitivitate a relaiei de echivalen


Q Q Q, , Q , Q ,
5

Q Q este partiia n clase


8

de echivalen pentru automatul definit n figura 8.4.

Automatul redus minim are numai 5 stri.


dou stri

Q i

Q ale unui automat incomplet specificat

A = X Y Q


Q xk

sunt compatibile dac

Q xk

i Q xk
pentru orice secven finit posibil de
Q xk
intrare xk.
determinarea claselor de compatibiliti se face tot cu tabelul
implicaiilor, dar aici lipsete proprietatea de tranzitivitate
(pentru ca o stare s fie compatibil cu strile unei clase de
compatibiliti, ea trebuie s fie compatibil cu fiecare din strile
clasei respective, n parte)
ASSN-8

exemplu:

starea urmtoare/ieire
starea prezent
Q1

x1x2x3x1

-/-

Q3/0
-/Q2/0
-/Q1/0

Q2
Q3
Q4
Q5

Q2/1
Q6/1
Q3/1

Q6/0
Q2/Q4/-

Q3/1

Q6
Q7

Q4/1
Q6/-/Q2/0
Q4/- /0
- /1

Q2/0

Q2/Q3/1
-/Q3/- /0
Q3/1
Q5/0

Fig. 8.6 Automat finit incomplet specificat


Q2QQ42~~QQ63
Q3Q2~Q3Q2~Q6
Q2~Q3

Q4

Q2~Q6Q3~Q6
Q1~Q2QQ32~~QQ64

Q5 Q1~Q3
Q6

Q2~Q3

Q7QQ22~~Q

Q1~Q2

Q4~Q6
Q2

Q53

Q4

Q3

Q4~Q6

Q6

Q5

Q1

Fig. 8.7 Tabelul triunghiular al implicaiilor


strile Q i Q sunt incompatibile, deci i strile
n mod cert incompatibile
3

Q i Q sunt
3

strile Q , Q , Q fac parte din aceeai clas de compatibiliti,


i

numai dac Q ~ Q , Q ~ Q i Q ~ Q
i

totalitatea claselor de compatibiliti maxime formeaz o


acoperire a mulimii strilor automatului:

Q Q Q, ,

Q Q Q , Q Q Q,

i Q Q Q
7

ASSN-8

o clas de compatibiliti C a unei acoperiri implic existena


i

altor clase de compatibiliti

C n cadrul acoperirii (stri


j

succesoare care nu aparin clasei C )


i

)C

)C

)C

)C

Compatibiliti
maxime (

)C

Mulimi
implicate (

{Q , Q , Q } {Q , Q , Q } {Q , Q , Q } {Q , QQ, Q }
{Q , Q } {Q , Q , Q }
Q
1

{,Q}
2

{,Q}
{Q , Q }

{Q , Q }
4

Fig. 8.8 Clase de compatibiliti maxime i implicaiile lor


o clas de compatibiliti
C dintr-o acoperire dat poate fi
j
C
exclus de o alt clas
C , dac
, iar clasa exclus
C
j

Ci

implic mai multe clase de compatibiliti, adic

I C

I
clasele de compatibiliti care nu sunt excluse de alte clase de
compatibiliti ale aceluiai automat incomplet specificat se
numesc clase de compatibiliti prime
(

)C

10

11

Compatibiliti
prime (
Mulimi

)C

{Q , Q } {Q , Q }{Q , Q } {Q , Q } {Q , Q } {Q , Q } {Q , Q }
{Q , Q } {Q , Q }
1

implicate (
jQ
4,Q6}

{Q , Q }{Q , Q } {Q , Q }
2

{Q , Q }
4

Fig. 8.9 Clase de compatibiliti prime i implicaiile lor


prin nlturarea unei stri din clasa C se formeaz clasele C ,
C i C ; clasa C formeaz clasele noi C i C ; clasa C
1

formeaz numai clasa

C (claseleQ Q
4

10

iQ Q sunt
6

excluse de C ), iar clasa C formeaz numai clasa C


3

11

acoperirea minim are numai 3 elemente: clasa


C pentru c
este singura care l conine pe
Q , C care este implicat de
3

C i C care implic clasele


3

C i C
1

8.2. Codificarea strilor


problema fundamental n sinteza automatelor finite este
codificarea optim a strilor
Q1Q2

dac A = 01 , B = 10 i C = 11:
Q = x

Q = x + Q+

dac A = 01 , B = 00 i C = 11:

Q = x
0

. (Q

+Q )

Q = x + Q+
2

1+ Q2

Fig. 8.10 Dou codificri posibile pentru un automat finit


o codificare aleatoare a strilor poate oferi o soluie corect
(numai dac x - sincron), dar complexitatea CLC-ului ar putea

fi mult prea mare


o codificare binar minimal a celor
m stri ale automatului
redus minim se poate face folosind coduri cu
r bii, conform

m 2r

relaiei 2
numrul de codificri distincte posibile este: N

2r!

r1

2r m !

starea urmtoare / ieire


starea prezent
S1

x1x2= 00
S1/ 0

x1x2= 01
S2/ 0

x1x2= 11
S3/ 1

x1x2= 10
S2/ 1

S2

S2/ 0

S3/ 1

S1/ 0

S3/ 1

S3

S3/ 0

S1/ 1

S1/ 1

S1/ 1

Fig. 8.11 Exemplu de tabel al tranziiilor i ieirilor

se codific cele 3 stri S ale automatului cu 2 cifre binare


i

ab,

unde a b

0 1 , iar, i 1 2,3

starea urmtoare / ieire

starea prezent

( Q1+Q2+/ y )

(Q1Q2)

x1x2= 00

x1x2= 01

x1x2= 11

x1x2= 10

a1b1

a1b1/ 0

a2b2/ 0

a3b3/ 1

a2b2/ 1

a2b2

a2b2/ 0

a3b3/ 1

a1b1/ 0

a3b3/ 1

a3b3

a3b3/ 0

a1b1/ 1

a1b1/ 1

a1b1/ 1

Fig. 8.12 Tabelul binar al tranziiilor i ieirilor


pentru k 0

folosim notaia simbolic :

Q
i

pentru k

expresiile strilor urmtoare ale variabilelor binare de stare:

Q
1

aQQx
x

aQQx
x

QQxx
12

12

12

Q Q x x
2

12

Q Q2
12

Q Q x x

12

12

a Q Q x x3Q Q x x

QQxx
12

a E a E a E
1

QQxx

12

Q b E b E b E
1

QQxx

Q Q x x
2

12
3

Regula 1: Strile prezente care au aceeai stare urmtoare,


pentru aceleai intrri, primesc coduri adiacente.

12

expresiile strilor urmtoare se pot scrie sub forma:

a x x a x x a x x

QQaxx
1

axx

112

axx

a x x

QQaxx

112
a x x a x x a x x

QQaxx

112

Regula 2: Strile urmtoare unei stri prezente, care se afl pe


coloane cu intrri adiacente, primesc coduri adiacente.
ieirea y se scrie sub forma:

Q Qb3x x Q Qa1 1
y x x Q Q 2
2
ab

Q Qb Q Qb

Q Qb3

x x Q Q1

ASSN-8

Regula 3: Strile prezente, care au n coresponden ieiri


identice pentru aceleai intrri, primesc coduri adiacente.
expresiilor strilor urmtoare
pentru simplificarea

se

recomand ca strile care apar mai des ca stare urmtoare s


primeasc coduri ce conin mai multe zerouri
Regula 4: Codurile cu mai multe zerouri se atribuie strilor care

apar o singur dat pe mai multe coloane.


regula 1 recomand coduri adiacente pentru strile
S i
regula 2 recomand coduri adiacente pentru
S i S , S i
S i S , regula 3 recomand coduri adiacente pentru
S i
2

S i
2

S , iar regula 4 recomand codul 00 pentru starea


3

rezult codurile

S 01,

S 10

adiacen pentru S i
1

i S 00 , dar condiia de
3

S nu s-a putut respecta


2

starea prezent

S,
S,
S,

+/y)

starea urmtoare / ieire ( Q1Q2


x1x2= 00 x1x2= 01 x1x2= 11 x1x2= 10
00 / 0
01 / 1
01 / 1
01 / 1
10 / 0
00 / 1
10 / 1
01 / 0
-/-/-/-/01 / 1
00 / 1
01 / 0
10 / 0

( Q1Q2)
00
01
11
10

Fig. 8.13 Tabelul tranziiilor rezultat n urma codificrii propuse


expresiile obinute cu aceste coduri sunt:
Q Q x x Q x x Q x x
Q Q x x Q Q x x Q Q x x Q x x
y Q x x Q x x x x
1

212

12

Regula 5: Strile circuitului ntre care exist tranziii primesc


coduri adiacente.
ASSN-8

S-ar putea să vă placă și