Sunteți pe pagina 1din 4

2.

1 Automate finite
Din punct de vedere istoric, automatele finit au fost introduse pentru a modela
reelele neuronale dar au o mulime de aplicaii i n alte domenii cum ar fi: analiza
lexicala (faza iniial a unui compilator), descrierea editoarelor de texte i a altor
programe de procesare a textelor, modelarea circuitelor logice i altele.
Automatul finit este un un model pentru un calculator cu o cantitate extreme de
limitat de memorie. !om vede c, dei are o memorie foarte mic, un astfel de calculator
poate sa fac o serie de lucruri utile cum ar fi cele enumerate mai sus.
Definiia 2.1.1 "n automat finit determinist, notat M=(Q, , , q
0
, F), este format din:
# $ o mulime finit nevid (mulimea strilor)%
& $ un alfaet finit de intrare%
$ o aplicaie numit funcie de tranziie, care ataeaz fiecrei cominaii 'stare,
simol de intrare( o nou stare
# & # : )
;
# *
+

starea iniial%
# ,
mulimea strilor finale.
Din punct de vedere practic un automat finit este format dintr$un control finit, care se
poate afla ntr$una din strile mulimii Q, dintr$o and de intrare mprit n celule n
care sunt scrise un numr finit de simoluri din , i un cap de citire care se mic pe
anda de intrare secvenial de la st-nga la dreapta (de fapt anda de intrare se mic n
dreptul capului de citire de la dreapta la st-nga ).
.niial controlul finit se afl n starea *
+
iar capul de citire analizeaz cel mai din st-nga
simol scris pe anda de intrare. .nterpretarea lui
p a) )(*, =
pentru q,pQ i a, este
aceea c automatul M, aflat n starea q i analiz-nd simolul a pe anda de intrare, i
sc/im starea n p i i mut capul de citire cu o celul la dreapta.
0$ar putea ca funcia de tranziie s nu fie peste tot definit, adic s existe p P i a
astfel nc-t (p,a)=. 1n cazul n care automatul se afl n aceast stare p i capul de citire
vizeaz simolul a pe anda de intrare se spune c automatul se loc/eaz fiindca nu este
definit micarea urmtoare.
Aplicaia se poate extinde la
2
& # , prin )
3
:

=
=
, & a , & x a) x), (*, )
3
)( xa) (*, )
3
* 4) (*, )
3
2
semnificaia lui p x) (*, )
3
= fiind aceea c M, pornind s analizeze secvena x din starea
q, a5unge n starea p n momentul n care capul de citire depete secvena x.
Observaia 2.1.1 1n continuare vom folosi notaia i pentru
3
.
a+ a6 7 ai 7 an 7
Figura .!.!
89:;<9= ,.:.;
Definiia 2.1.2 "n cuv-nt x este a""eptat sau re"unos"ut de un automat finit >, dac,
p x) , )(*
+
=
pentru
, p
.
#im$a%u& a""eptat de automatul M se noteaz
{ } , x) , )(* x ;(>)
+
=
.
Definiia 2.1.3 :umim "onfigura'ie instantanee perec/ea (q,x), format din starea
# *
n care se afl automatul finit i irul de caractere
2
& x rmas necitit pe anda
de intrare, unde capul de citire vizeaz cel mai din st-nga simol al lui x.
Dac automatul finit folosete tranziia
p a) )(*, =
, atunci vom nota modificarea
configuraiei astfel:
) a (*,
?
) , p (
.
Exemplul 2.1.1 0pecificarea unui automat finit M se poate face prin definirea funciei
(ntr$un tael) sau printr$o diagram( de stare sau de tran)i'ie. Diagrama de tranziie este
un graf orientat n care nodurile sunt strile automatului iar arcele (q,p) sunt etic/etate cu
a dac (q,a)=p este o tranziie din automatul M.
@,ie, de exemplu, automatul finit
A B* , , A * , * , * , B* # , A 6 , + B
,) , * ), &, (#, >
+ C D 6 +
+
= = =
=
,ie irul de intrare 6+66++6+% atunci putem urmri execuia automatului astfel:
, , * ,+) )(* ,6+) )(* ,+6+) )(* ,++6+) )(*
,6++6+) )(* ,66++6+) )(* ,+66++6+) )(* ,6+66++6+) )(*
+ 6 C D C
6 C D +
= = = = =
= = = =
deci 6+66++6+
;(>)
.
1n mod ec/ivalent, ntr$un calcul de configuraii se scrie:
(*
+
,6+66++6+) ? (*
D
,+66++6+) ? (*
C
,66++6+) ? (*
6
,6++6+) ? (*
C
,++6+) ?
(*
D
,+6+)
? (*
C
,6+) ? (*
6
,+) ? (*
+
,4) unde *
+
,,

deci s$a oinut din nou c 6+66++6+
;(>)
.
0e poate demonstra c automatul finit > de mai sus accept irurile cu numr par
de 0 i numr par de !.E
Definiia 2.1.4 "n automat finit nedeterminist, notat M=(Q, , *,q
0
, F), este format din
Q, , q
0
, F F prezentate n definiia D.6.6, dar funcia de tranziie este aici
#) ( & # : )G P .
Deci
a) (*, )G
este o mulime de stri i nu o singur stare.
Hi aici )I se poate extinde la

& # astfel:
)&+6#*
+
*
6
*
D
*
6
*
+
*
C
*
D
*
C
*
+
*
C
*
D
*
6
sau:
Figura .!.
*
+
*
6
*
D
*
C
0tart
+
+
+
+
6 6
6 6

=
=

. a , & x , a) (p, )G xa) (*, )G


B*A 4) (*, )G
x) (*, )G p

Acum )I se poate extinde la

#) ( P
astfel:

J
6 i
i J D 6
x) , (p )G x) A, p ,..., p , (Bp )G
=
=
Definiia 2.1.5 "n cuv-nt x este a""eptat sau re"unos"ut de un automat finit
nedeterminist M dac
, x) , )(*
+

, adic dac M pornind din starea q
0
i analiz-nd
cuv-ntul x poate a5unge ntr$o stare final.
=ima5ul acceptat de un automat finit nedeterminist este format din mulimea
cuvintelor acceptate +(M) pentru care exist o secven care conduce la acceptare:
+(M) = ,- . *(q,-) / F 0
Exemplul 2.1.2 ,ie automatul finit descris n figura D.6.C cu a5utorul diagramei de
tranziie% n acest caz +(M) este mulimea cuvintelor care au sau doi de zero consecutivi
sau doi de unu consecutivi.
@
0 urmrim funcionarea acestui automat pentru c-teva situaii diferite:
a) Dac irul de intrare este 0!0!, automatul va face toate ncercrile de tranziii posiile,
nainte de a trage concluzia c acest cuv-nt nu e recunoscut (nu duce automatul ntr$o
stare final):
(*
+
,+6+6)? (*
+
,6+6)? (*
+
,+6)? (*
+
,6)? (*
+
,4) ,
, *
+

(*
+
,+6+6)? (*
+
,6+6)? (*
+
,+6)? (*
+
,6)? (*
6
,4) ,
, *
6

(*
+
,+6+6)? (*
+
,6+6)? (*
+
,+6)? (*
C
,6)? locare (
= ) 6 , (*
C

)
(*
+
,+6+6)? (*
+
,6+6)? (*
6
,+6)? locare (
= ) 6 , (*
6

)
(*
+
,+6+6)? (*
C
,6+6)? locare (
= ) 6 , (*
C

)
Figura .!.1
*
+
0tart
*
C
*
K
*
6
*
D
+,6
+,6 +,6
6
6
+ +
) Dac irul de intrare este 0!!0, automatul va accepta acest cuvnt n momentul
depistrii unui calcul de configuraii ce duce automatul ntr$o stare final (indiferent c-te
ncercri nereuite face, automatul accept irul de intrare la nregistrarea unui succes):
(*
+
,+66+)? (*
+
,66+)? (*
+
,6+)? (*
+
,+)? (*
+
,4) ,
, *
+

(*
+
,+66+)? (*
+
,66+)? (*
+
,6+)? (*
+
,+)? (*
C
,4) ,
, *
C

(*
+
,+66+)? (*
+
,66+)? (*
+
,6+)? (*
6
,+)? locare (
= ) 6 , (*
6

)
(*
+
,+66+)? (*
+
,66+)? (*
6
,6+)? (*
D
,+)? (*
D
,4) ,
, *
D
succes L
(*
+
,+66+)? (*
C
,66+)? locare (
= ) 6 , (*
C

)
c) 8onfiguraiile instantanee ce determin acceptarea n cazul cuv-ntului de intrare
0!00!! sunt:
(*
+
,+6++66)? (*
+
,6++66)? (*
+
,++66)? (*
C
,+66)? (*
K
,66)? (*
K
,6)? (*
K
,4)
i
(*
+
,+6++66)? (*
+
,6++66)? (*
+
,++66)? (*
+
,+66)? (*
+
,66)? (*
6
,6)? (*
D
,4)
Amele arat faptul c irul de intrare poate fi citit de pe and a5ung-nd ntr$o stare
final (*
D
sau *
K
), fiind deci recunoscut. Mste suficient gsirea uneia dintre ele, c-nd se
stailete acceptarea cuv-ntului de ctre automat.
Nentru aceeai intrare propus anterior, pot fi OncercateP i alte posiile transformri de
configuraii, dar care nu termin citirea ntr$o stare final sau nici mcar nu permit
finalizarea citirii enzii (a5ung la locare, c-nd simolul de pe and i starea automatului
finit nu sunt compatiile d.p.d.v. al funciei de tranziie, cum ar fi cazul citirii simolului
+ ntr$un moment n care automatul se afl n starea *
6
, deoarece se oserv c
= ,+) )(*
6
).