Sunteți pe pagina 1din 8

2.

3 Minimizarea unui automa finit


Definiia 2.3.1 O relaie binar R pe mulimea S se numete relaie de echivalen dac
ea este:
1) Reflexiv
S) x (xRx,
2) Simetric
yRx) (xRy
3) Tranzitiv
xRz) yRz (xRy,
O relaie de eci!alen peste S "mparte mulimea S "n clase de eci!alen, submulimi
dis#uncte S
i
ast$el "nc%t

'

i
i
i
S S
xRy S y x,
&
Observaia 2.3.3 Se p'ate c'nstrui un cel mai mic aut'mat care accept un limba# T(M),
prin eliminarea stril'r inaccesibile i c'masarea cel'r redundante& Strile redundante sunt
determinate prin partii'narea stril'r aut'matului "n clase de eci!alen ast$el "nc%t
$iecare clas c'nine stri care nu se p't distin(e "ntre ele i este at%t de mare c%t este
p'sibil&
Definiia 2.3.4 )ie
)) , * +, ,, (-, .
/

un aut'mat $init determinist i q


1
,q
2
d'u stri
distincte& Spunem c

, x distinge q
1
de q
2
dac:
x) , (*
1
0
1

2) , (*
3
x) , (*
2
0
1

2) , (*
3
i una i numai una dintre strile *
3
i *
3
este stare $inal adic:
*
3
) *
3
)
i *
3
) *
3
)&
Definiia 2.3.5 Spunem c q
1
i q
2
sunt knedistincti!ile (
2
4
1
* *
) dac i numai dac nu
exist x, cu|x| k, ast$el "nc%t x distin(e q
1
de q
2
&
Definiia 2.3.6 Spunem c *
1
si *
2
sunt nedistincti!ile (*
1
*
2
) dac sunt k5nedistinctibile
pentru k"&
Definiia 2.3.7 O stare q este inaccesi!il dac nu exist x ast$el "nc%t
x) , (*
/
0
2) (*,
&
Definiia 2.3.8 M este un a#t$mat red#s dac nici ' stare nu este inaccesibil i nu exist
d'u stri nedistinctibile&
Teorema 2.3.3 %ie
)) , * +, ,, (-, .
/

#n a#t$mat finit determinist c# n stri& Strile q


1
'i
q
2
s#nt nedistincti!ile dac 'i n#mai dac s#nt (n2)nedistincti!ile&
6 7em'nstraie:
8mplicaia direct
) 9 (9
este e!ident: s dem'nstrm implicaia in!ers
) 9 (9
:
a) 7ac % are " sau n stri dem'nstraia este imediat&
b) ;resupunem c " < card(%) < n&
<'m dem'nstra c
/ 1 3 n 2 n
&&&

&
Obser!m c pentru q
1
,q
2
( a!em:
( )

'

,
_



a) , +(* a) , +(* , a * * * * (2)
) respecti!, sau, ) * , * ) = - sau ) 2) , +(* 2), , +(* * * (1)
2
1 5 4
1 2
1 5 4
1
4
1
2 1 2 1
/
1
Relaia
/

partii'neaz ( "n d'u clase de eci!alen: % i )*%&


7ac
( ) ( ) 4 1 4

+
atunci
( ) 1 +

k
este ' ra$inare a lui
( ) k

i c'nine cel puin ' clas de


eci!alen "n plus&
;entru c sunt cel mult n51 stri "n ) sau -=) , cel mult n52 ra$inri a lui
/

& >adar,
este prima relaie
( ) k

pentru care
( ) ( ) 4 1 4

+
&?
Observaia 2.3.4 7'u stri sunt distinctibile dac ele se p't distin(e pe un ir de intrare
de lun(ime mai mic dec%t numrul stril'r&
Algoritmi pentru minimizarea automatului finit
(A) Algoritm de minimizare 1
)ie .@(-,,,*
/
,))& Se c'nstruiete .A redus parcur(%nd urmt'rii trei pai:
A.1 Se elimin "nt%i n'durile inaccesibile (c'n$'rm al('ritmului (B))
A.2 Se c'nstruiesc relaiile de eci!alen
,&&& ,
1 /

p%n c%nd relaia se stabilizeaz
adic
( ) ( ) 1 4 4 +

&
>le(em
( ) 4

&
A.3 Se c'nstruiete .A@(-A, , A, *
/
, )A) unde -A e mulimea clasel'r de eci!alen
ale lui -, ast$el:
A(C*D,a)@CpD dac (*,a)@p
*
/
A
@C*
/
D
)A@{ C*D | *) }
(B) Algoritm de eliminare a strilor inaccesibile. ;entru eliminarea stril'r
inaccesibile se p'ate $'l'si 'rice al('ritm din te'ria (ra$uril'r de eliminare a n'duril'r
inaccesibiel din n'dul reprezent%nd starea iniial, unde a!em:
Intrare 5 Era$ul ((,) cu (q,+),a (q,a),+
5 q
"
(
Ieire .ulimea de n'duri (-( ast$el "nc%t exist un drum de la q
"
la +(-&
>l('ritmul marceaz succesi! n'durile accesibile din q
"
printr5un drum& >st$el, (sete
n'durile accesibile i le elimin pe celelalte& ;rezentm "n c'ntinuare d'u !ariante ale
acestui al('ritm:
Varianta I
B
I
.1 8niializeaz (-,.q
"
/ i marceaz q
/
cu "&
B
I
.2 ;entru q(- caut +- ast$el "nc%t exist un arc (q,+)0 marceaz + cu 1F
marca l#i q (dac + nu e marcat) i adau( pe q la (-: reia pasul 1
2
2&
7ac q(- i + ast$el "nc%t (q,+), + este marcat atunci stop&
Sau:
Varianta a II-a
B
II
.1 8niializeaz 3,{q
"
}, marceaz q
"
&
B
II
.2 7ac 3 e !id stop &
7ac nu, ale(e primul element q din 3 i "l sc'ate din 3&
B
II
.3 ;entru +( ast$el "nc%t (q,+), dac + nu e marcat, marceaz + i adau( + "n
capul listei 3& Salt la pasul 1
22
2&
<'m arta "n c'ntinuare c aut'matul 'binut prin al('ritmul de minimizare este
aut'matul cu numr minim de stri&
Teorema 2.3.4. 4#t$mat#l M- definit de alg$ritm#l de minimizare (4) este a#t$mat#l c#
cel mai mic n#mr de stri acce+t5nd 3(M)&
6 7em'nstraie:
;resupunem c exist un aut'mat M--, care are mai puine stri dec%t M- i c
3(M6),3(M)&
;entru c $iecare clas de eci!alen indus de relaia de eci!alen nedistinctibilitatea,
, este ne!id, rezult c $iecare stare din M- este accesibil&
;entru c M6 are mai puine stri dec%t M- rezult c 7,x d'u cu!inte ast$el "nc%t:
G) , * (
/

0
1
.H

2) (*,
x) , * (
/

0
1
.H

2) (*,
unde
/
*
este starea iniial a lui M6&
7ar 7 i x c'nduc M- "n stri di$erite, deci 7 i x c'nduc M "n stri di$erite, i atunci:
G) , (*
/
0
1
.

2) (p,
x) , (*
/
0
1
.

2) (r,
stri care s#nt distincti!ile, adic y1 ast$el "nc%t (p,y)) i (r,y) )
(*
/
,Gy)) i (*
/
,xy))
GyI(.) iar xyI(.), pe c%nd H(*
/
,Gy)@H(*
/
,xy)
deci 78 i x8 sunt de'dat "n T(M6),T(M) c'ntradicie&
?
Exemplul 2.3.1 S se c'nstruiasc aut'matul $init redus pentru aut'matul $init . din
)i(ura 2&3&1 &
6
>plicm al('ritmul (>)&
Pasul A.1 I'ate n'durile sunt accesibile&
Pasul A.2 J'nstruim relaiile de eci!alen&
8niializare ( "5nedistinctibilitate ):
K * , * , * , L* K, * , L* / 4
3 3 2 1 M /
/

>nalizm 15nedistinctibilitatea:
M
1
/
/
3 M
1 /
/
M M
M /
* *

* b) , +(*
* b) , +(*
e(ale) (ciar
* a) , +(*
* a) , +(*

(rm%n "n aceeai clas)


2
1
1
/
M 2
3 1
/
2 2
3 1
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

(se !'r separa "n clase di$erite)


Start
%ig#ra 2&9&1
*
3
*
/
*
1
*
M
*
3
*
2
a
a
a
b
b
b
a
a
b
b
b
a
3
1
1
/
/ 3
3 1
/
3 3
3 1
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

(se !'r separa "n clase di$erite)


Ntiind de#a c q
1
se separ de q
2
i de q
:
, trebuie !zut dac q
2
i q
:
rm%n t'tui "mpreun:
3
1
2
/
/ 3
M 2
/
3 3
2 2
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

(rm%n "n aceeai clas de eci!alen)


Oltima stare neanalizat este q
9
0 din cele !zute de#a, aceasta ar putea aparine $ie clasei
care c'nine pe q
1
, sau celei care c'nine pe q
2
i q
:
, sau unei clase n'i& Pn urmt'rul calcul
se !ede c prima este !arianta !alabil:
3
1
1
/
2 3
3 1
/
1 3
3 1
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

>adar, s5a 'binut:


K * , L* K, * , L* K, * , L* 1 4
3 2 3 1 M /
1

S analizm 25nedistinctibilitatea:
M
2
/
1
3 M
1 /
1
M M
M /
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

3
2
1
1
2 3
3 1
1
1 3
3 1
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

3
2
2
1
/ 3
M 2
1
3 3
2 2
* *

* b) , +(*
* b) , +(*
* a) , +(*
* a) , +(*

Se 'bser! c nici una dintre clasele 15nedistinctibile nu s5a "mprit "n subclase& 7eci
relaia s5a stabilizat i s5a 'binut:
K * , L* K, * , L* K, * , L* 2 4
3 2 3 1 M /
2

7e'arece

2 1

, relaia de eci!alen este determinat&
Pasul A. >ut'matul redus are 3 stri (c'respunz%nd cel'r trei clase de eci!alen)
reprezentate de
K * , * , L*
2 1 /
i este descris "n )i(ura 2&3&2 &
?
Obser!m c m'dul "n care se c'nstruiesc relaiile de 45eci!alen este destul de
c'mplicat& ;rezentm acum ' alt !ariant CQD de al('ritm de de minimizare&
(C) Algoritm de minimizare 2
)ie .@(-,,,*
/
,))& >l('ritmul !a marca perecile de strri (p,*&)& O perece (p,*) !a $i
marcat "n m'mentul "n care se desc'per c p i * nu sunt eci!alente& Se c'nstruiete
.A redus parcur(%nd urmt'rii cinci pai:
C.1 Se elimin "nt%i n'durile inaccesibile (c'n$'rm al('ritmului (B))
C.2 Se scrie tabelul tutur'r perecil'r (+,q), iniial nemarcate&
C.3 Se marcez (+,q) dac + % i * ) sau in!ers&
C.4 Se repet urmt'arele p%n c%nd nu se mai scimb nimic "n table:
7ac exist ' perece nemarcat (+,q) ast$el "nc%t ((+,a), (q,a)) este marcat
pentru un a , atunci marceaz perecea (+,q)&
C.5 ;erecile nemarcate (p,*) sunt perecile eci!alente&
Exemplul 2.3.2 S minimizm automatul definit de urmtorul tabel al
funciei de tranzitie, unde strile finale sunt 1, 2, i 5:
a b
/ 1 2
1 3 3
2 3 3
3 M M
3 M M
M M M
!1. I'ate n'durile sunt accesibile deci trecem la :
J2& Iabelul iniial este cu t'ate perecile nemarcate&
/
R
1
R R
2
R R R
3
R R R R
3

Start
%ig#ra 2&9&2
*
/
*
1
*
2
a
a
a b
b
b
R R R R R
M
J3& .arcez perecile: (stare $inal, stare ne$inal)&
/
S 1
S
R
2
R
S S 3
R
S S
R
3
S
R

R
S S M
J3& (i) >le(em acum ' perece nemarcat, (",:)& ;entru intrarea a, " i : trimit
aut'matul "n 1 i ;, n'tat (",:) < (1,;)& 7e'arece perecea (1,;) nu este marcat, nu
!'m marca nici (",:)& Ju intrarea !, a!em (",:) < (2,;), care t't nemarcat estedeci nu
!'m marca perecea (",:) nici acum& J'ntinuam s !eri$icm perecile i 'bser!m c
pentru perecea (1,;) simb'lul a realizeaz
(1,;) < (:,;), unde perecea (:,;) este marcat&, deci marcm perecea (1,;)&
<eri$ic%nd t'ate perecile nemarcate se 'bine tabelul urmt'r=
/
S 1
S
R
2
R
S S 3
R
S S
R
3
S S S S S M
(ii) >cum mai $acem ' trecere prin tabel $iindc s5a m'di$icat linia strii M& <'m
'bine:
/
S 1
S
R
2
S S S 3
S S S
R
3
S S S S S M
Iabel care nu se mai m'di$ic&
C5. Strile echivalente sunt date de perechile nemarcate: 1,2! i
",#!, deci automatul redus va fi:
a b
/ 1 1
1 3 3
3 M M
M M M