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 bun model pentru un calculator cu o cantitate extreme de
limitat de memorie. Vom 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 Un automat finit determinist, notat M=(Q, , , q0, F), este format din:
Q - o mulime finit nevid (mulimea strilor);
- un alfabet finit de intrare;
- o aplicaie numit funcie de tranziie, care ataeaz fiecrei combinaii <stare,
simbol de intrare> o nou stare : Q Q ;
q 0 Q starea iniial;
F Q 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 band de intrare mprit n celule n
care sunt scrise un numr finit de simboluri din , i un cap de citire care se mic pe
banda de intrare secvenial de la stnga la dreapta (de fapt banda de intrare se mic n
dreptul capului de citire de la dreapta la stnga ).
a0

a1

ai

an

CONTROL FINIT

Figura 2.1.1

Iniial controlul finit se afl n starea q 0 iar capul de citire analizeaz cel mai din stnga
simbol scris pe banda de intrare. Interpretarea lui (q, a) p pentru q,pQ i a, este
aceea c automatul M, aflat n starea q i analiznd simbolul a pe banda de intrare, i
schimb starea n p i i mut capul de citire cu o celul la dreapta.
S-ar putea ca funcia de tranziie s nu fie peste tot definit, adic s existe p P i a
astfel nct (p,a)=. n cazul n care automatul se afl n aceast stare p i capul de citire
vizeaz simbolul a pe banda de intrare se spune c automatul se blocheaz fiindca nu este
definit micarea urmtoare.
:
Aplicaia se poate extinde la Q * , prin

(q, ) q

(q, xa) ( (q, x), a) x * , a ,

semnificaia lui (q, x) p fiind aceea c M, pornind s analizeze secvena x din starea
q, ajunge n starea p n momentul n care capul de citire depete secvena x.
Observaia 2.1.1 n continuare vom folosi notaia i pentru .

Definiia 2.1.2 Un cuvnt x este acceptat sau recunoscut de un automat finit M, dac,
(q 0 , x) p pentru p F .
Limbajul acceptat de automatul M se noteaz T(M) x (q 0 , x) F .
Definiia 2.1.3
Numim configuraie instantanee perechea (q,x), format din starea
q Q n care se afl automatul finit i irul de caractere x * rmas necitit pe banda de
intrare, unde capul de citire vizeaz cel mai din stnga simbol al lui x.
Dac automatul finit folosete tranziia (q, a) p , atunci vom nota modificarea
configuraiei astfel: (q, a ) ( p, ) .
Exemplul 2.1.1 Specificarea unui automat finit M se poate face prin definirea funciei
(ntr-un tabel) sau printr-o diagram de stare sau de tranziie. Diagrama de tranziie este
un graf orientat n care nodurile sunt strile automatului iar arcele (q,p) sunt etichetate cu
a dac (q,a)=p este o tranziie din automatul M.
Fie, de exemplu, automatul finit

01Qq0q1q2q1q0q3q2q3q0q3q2q1

M (Q, , , q 0 , F)
{0,1} , Q {q 0 , q 1 , q 2 , q 3 } , F {q 0 }

sau:
0

Start

q0
1

q
0

1
q
2

0
0

q
3

Figura 2.1.2
Fie irul de intrare 10110010; atunci putem urmri execuia automatului astfel:

(q 0 ,10110010) (q 2 ,0110010) (q 3 ,110010) (q1 ,10010)

(q 3 ,0010) (q 2 ,010) (q 3 ,10) (q1 ,0) q 0 F ,


deci 10110010 T(M) .

n mod echivalent, ntr-un calcul de configuraii se scrie:


(q0,10110010) (q2,0110010) (q3,110010) (q1,10010) (q3,0010)
(q2,010)
(q3,10) (q1,0) (q0,) unde q0 F,
deci s-a obinut din nou c 10110010 T(M) .
Se poate demonstra c automatul finit M de mai sus accept irurile cu numr par
de 0 i numr par de 1.
Definiia 2.1.4 Un automat finit nedeterminist, notat M=(Q, , ,q0, F), este format din
Q, , q0, F prezentate n definiia 2.1.1, dar funcia de tranziie este aici
': Q P (Q) .
Deci ' (q, a) este o mulime de stri i nu o singur stare.
i aici se poate extinde la Q astfel:

' (q, ) {q}


' (q, xa) ' (p, a) , x , a .

p'(q, x)

Acum se poate extinde la P (Q) astfel:


k

' ({p1 , p 2 ,..., p k }, x) ' (p i , x)


i 1

Definiia 2.1.5 Un cuvnt x este acceptat sau recunoscut de un automat finit


nedeterminist M dac (q 0 , x) F , adic dac M pornind din starea q0 i analiznd
cuvntul x poate ajunge ntr-o stare final.
Limbajul acceptat de un automat finit nedeterminist este format din mulimea
cuvintelor acceptate T(M) pentru care exist o secven care conduce la acceptare:
T(M) = {w | (q,w) F }
Exemplul 2.1.2 Fie automatul finit descris n figura 2.1.3 cu ajutorul diagramei de
tranziie; n acest caz T(M) este mulimea cuvintelor care au sau doi de zero consecutivi
sau doi de unu consecutivi.

0,1
Start

q0

0,1
0

q4

1
q
1

1
0,1

q2

Figura 2.1.3
S urmrim funcionarea acestui automat pentru cteva situaii diferite:
a) Dac irul de intrare este 0101, automatul va face toate ncercrile de tranziii posibile,
nainte de a trage concluzia c acest cuvnt nu e recunoscut (nu duce automatul ntr-o
stare final):
(q0,0101) (q0,101) (q0,01) (q0,1) (q0,) , q 0 F
(q0,0101) (q0,101) (q0,01) (q0,1) (q1,) , q 1 F
(q0,0101) (q0,101) (q0,01) (q3,1) blocare ( (q 3 ,1) )
(q0,0101) (q0,101) (q1,01) blocare ( (q1 ,1) )
(q0,0101) (q3,101) blocare ( (q 3 ,1) )
b) Dac irul de intrare este 0110, automatul va accepta acest cuvnt n momentul
depistrii unui calcul de configuraii ce duce automatul ntr-o stare final (indiferent cte
ncercri nereuite face, automatul accept irul de intrare la nregistrarea unui succes):

(q0,0110) (q0,110) (q0,10) (q0,0) (q0,) , q 0 F


(q0,0110) (q0,110) (q0,10) (q0,0) (q3,) , q 3 F
(q0,0110) (q0,110) (q0,10) (q1,0) blocare ( (q1 ,1) )
(q0,0110) (q0,110) (q1,10) (q2,0) (q2,) , q 2 F succes !
(q0,0110) (q3,110) blocare ( (q 3 ,1) )
c) Configuraiile instantanee ce determin acceptarea n cazul cuvntului de intrare
010011 sunt:
(q0,010011) (q0,10011) (q0,0011) (q3,011) (q4,11) (q4,1) (q4,)
i
(q0,010011) (q0,10011) (q0,0011) (q0,011) (q0,11) (q1,1) (q2,)
Ambele arat faptul c irul de intrare poate fi citit de pe band ajungnd ntr-o stare
final (q2 sau q4), fiind deci recunoscut. Este suficient gsirea uneia dintre ele, cnd se
stabilete acceptarea cuvntului de ctre automat.
Pentru aceeai intrare propus anterior, pot fi ncercate i alte posibile transformri de
configuraii, dar care nu termin citirea ntr-o stare final sau nici mcar nu permit
finalizarea citirii benzii (ajung la blocare, cnd simbolul de pe band i starea automatului
finit nu sunt compatibile d.p.d.v. al funciei de tranziie, cum ar fi cazul citirii simbolului 0
ntr-un moment n care automatul se afl n starea q 1, deoarece se observ c
(q1 ,0) ).

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