Sunteți pe pagina 1din 55

LtMBA.

IE FORMALE 9I TEORIA AUTOMATELOR

E:
. lv

cffi[ruwil
NowuNil GENEMffi DE ffioRilA tilMtszuEtoR FoRnmffi
in
acest

st;

pt

D
se

o
gt,

capitol, o serie de noliuni folosite in teoria limbajelor formale cum ar fi: D Introducem, alfabet, simbol, cuvdnt, subcuvdnt, prefix, sufftx, cuvdnt vid. No[iunea de limbai formal se defineSte apoi tn mai multe feluri, echivafente intre ele, pornind, de la sisteme de rescrtere, pind la gramatici generative Si analitice. In continuare se prezintd i ierarhizare a gramaticilor, numitd lerarhia lui ChomslT. gi se D definesc operaliile cu limbaje. Capitolul I se tncheie cu probleme propuse spre rezolvare. es
Pt

fi 1.1 Notiunea de limbai

a
Noliunea de limbaj se inlnegte atdt in lingvisticd" unde se referd la limbajele naturale, cdt 9i in st informatic5, unde se referd la limbajele de programare. O limbd naturald se defrnigte, co-nform dicfionarului, aa o mullime de cuvinte gi de metode de E, L combinare a lor, folositd Si inleleasd de o comunitate umand consi.derabild. scrise tn a,cel limbai. Un limbii de programare se definegte ca o mullime de pragrame O limb6 natgral5 sau un limbaj de programare pot fi considerate ca mullimi de secvenfe, adicE ginri nl gi finite de elemente ale unui anumit vocabular debazd^ pentru a putea studia proprietilile acestor limbaje a fost necesari formalizarea nofiunii de limbaj, A construirea unei Lorii matematice riguroase a limbajelor. O astfel de teorie este suficient de general[ pentru 2. a include gi timbajele naturale gi timUa3ete de programaxe, precum gi o mullime de alte limbaje, formdnd la
1i numitele limbajeformale. pentru a putea dehni noliunea de limbaj formal vom introduce o serie de noliuni gi notalii folosite u frecvent in aceast[ ff alfabet sauvocabular, Y, este o mullime finite, nevid[ de elemente. nin"ttt" t.,l.t 3. Definitia 1.1.2llnelement al alfabetului V se numegte literd sa'u simbol. 'io cele ce urmeazi vom folosi ca simboluri cifrele, literele latine gi grecegti mari gi mici qi simboluri speciale cum ar fr $, #. Exemplul 1.1.1Exemple de alfabete sunt: -irlfabetul lain: {A, B, C, ..., Z} -alfabetirl grecesc: {a, F, }4 ..., co} alfabetul binac {0, 1}. Definiyia 1.1.3 IJn cavdnt peste alfab ettl/. Y.este qn gir fiai! constind din zero sau mai multe simboluri ale lui Y,unde un acelagi simbol poate sd apar[ de mai multe ori. u Notdm cu 2 sau e, cuvdntul vid, formatdin zero simboluri. C{ inclusir Dacl V este un alfabet atunci prm T* vom nota mullimea tuturor cuvintelor peste L cuv6ntul vid l.,iar If Y* - { 1 }.

un loc

aga

ii

teorie.

Exemplul 1.1.2DacdY:{0, I }atunci V*:&,0, 1,00,01, 10, II,...


pi

j
cuvinte peste un alfabet.

li

'

lf :{0, 1,00,01, 10, I1,00b,... }. Evident V* qi t' sunt mullimi infinite deoarece eie conlin cuvinte de lungime oricdt de mare.
cle

Defi,nilia 1.1.4IJn limbaj este o mu[ime

-t

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

sensul definiliilor de mai sus, este:diclionarul limbii Exemplul /.r..1 inti.-un limbaj naturai atfatnetul, in este mu{imea tuturor frazelot..intr-u1 limbaj de programare respective, cuvintelesunt frazele , iw liniaiul 'riitoturii, este mullimea tuturor sunt instrucliunile limbajuhij cuvintele sunt programele iar limbaiul

mullimea cuvintelor se introduce o operalie numit[ concatenarei concatenareauveste totuncuvint dinV*'cue Def.n4ia l.l.SDacitugivsuntdou6cuvinte drn.V* atunci ,.'Jfllt. prin aldturarea simboluriior lui v dupa ultimul simbol al lui .. )^_-.. este comutativ[ (in nu aa*^ ni,ident operalia de concatenare este asociativl, u(vw):(uv)w, dar Obsemagia de concatenarei ul.:)tt=u' g"o"rul uv*vu)iar cuvantulvid ),este element neutru relativ la operalia recursiv asffel: fi. 'iitr"igio 1.1.6 Puterea a i-a a cuvdntului u, notatd lti, este definit6

programelor. r- e

u.

t.IJ

u
$,

(1)

SE

Definilia
este o

1.1.7 Lungimeaunuicuvant u,notatd

)' ui*l ='uitl


uo

lg(u)

sau

, ! -r J^ -: cuvantului z qi lzl, este num[rul de simboluri ale

11

prin definitji b0) = 0, x,fiind cuvantul format din zero simboluri. : exist6 cuvintele d Fi P astfel incit v Defi.nilia l.I.g rJncuvant u este subcuvdnt al lui v dacd gi numai daci ? se numeqte suftx al lui v' un aup.Dacd a: ),atunci u se ilrme$te prefa al lui v iat dacd F: l atunci dacd' u E{A'v}' subcuvdnt z al lui v se nume$ te subcwdnt propriu al lui v numai .- . de cuvinte. se pun atunci Majoritatea il*uujrrot care ne intereslaza vor confine o mullime infinitd

aplicalie

lg: Y* -+ N

chestiuni importante: l. Cum se poste reprezenta un limbai? sale, deqi la un Dac[ limbajul Lste finit atunci el s-ar putea reprezenta prin enum erarea cuvintelor este infinit apare problema tr num[r mare de ,orriot. enunerarea poate fi complicata. Dacd insl limbajul gdsirii unei reprezent[ri finite pentru limbaj. rj Apare atunci o altii Pro-blem6: ru 2.- Existd o reprezennbfinitd pentru orice limbai? mulfime numErabild' Un Evident mullime-a Z* a tuturor cuvinteloi peste un alfabet frlrit Y este o It pdrfilor lui Y*, limbaj este o submu$ime a lui V*, decimullimea totoor limbajelor peste Y este mul{imea : Jt: adic[ o mullime nenumdrabild. mu[imeareprezentilrrlor finite Degi nu am definit inc6 o reprezentzrefinit6 a unui limbaj, se pare cd finite ale limbajelor' este numdrabild t4l deci ar rcniltaCa existii mai multe limbaje decdt reprezentai 3. Ce se poate spune d.espre straeturg acelor clase de timbaie care admit reprezentdrift'nite? Aceasta este una'din principalele problemele de care ne vom ocupa in u] SE consider6m uru..at"uu ti-tuJ. peste alfabetul {o, b}' ' t 7I un{ h} -r r -(a;ba,aaba,bbbb] l'2-l U; UUt uuuu, uuuu t

tei

continuare'

Ls:{ d.lP numdrPriml

11e
l

iil/

nu aparilii ale simbolului a in cuventul a' Considerin 1 ei rimbajul vid @, care anume L conline nici un cuv6nt. Se observa cd Q * {X} petmc[ limbajul {1, } conlne un cuvant 9i caia limba3ele Lj, Limbajele LtriLzfiind finite rc poi i"pr"t"otuprin enumerarea cuvintelor lorpe Iagi L5 sunt infinite gi au fost caracteizate de o proprietate pe ca-re lrlbYie sE o satisfacd toate cuvintele limbajului. o asrfel de proprietat" ,p"iipci ertu uit;i:ioc de baza de definke"a'unui limbaj infinit. generativ 9i de a considera Uo alt mod de u arn"i un limbaj infinit este de a infoduce un mecanism
unde

N, (u) estenumlnrl

Lt={ at b' I i num[r natural l ' -'( u e {a,b}' I N"(u):N6(u) } --'!^1f;:'":,:;;;::'J.ffijt"rui


de

cur

cuvintele produse de acest . r 1 --,limbaj Astfel un li-L- se poate Se poate, de asemenea, construi un mecanism analitic, de recunoaqteredefini ca mullimea tuturor cuvintelor rbcunoscute de un astfel de mecanism. rescriere' Mecanismele generative gi analitice se,pot defini in termenii unui sistem de
a

mecanism.

LIMBAJE FORMALE $I TEORIA AUTOMATELOR

limbaje in exemplele urmdtoare. Exemplul 1.1.4FieZ un iimbaj peste atrfabetul {o, b} definit dupd cum urmeazd:
SE considerdm.cdteva moduri de defrnire ale unor

'

Llr
Un
L

ixemplal 1.1.5 Fie L' definitdupd cum vrmeazd: (t )"eL' (ii) Oaiex eL',atunci axb eL' gi bxaeL' (iii) Dacd' x1 L, x2 eL' atttnci xtxz L' (iv) Nici im alt cuvtnt nu apar,tine lui L'. Si aici se poate demonstra c6. L':Ls. Exemplul 1.1.6 Fie L" lrn limbaj constdnd din toate cuvintele care

Se poate demonsha prin dubld incluziune c[ limbajul Z construit conform acestor reguli este chia nol limbajul La= { a'D' I i num6r nafinaI }. Se observI .a G)-(iii) constiiuie un mecanism generativ pe cind Lr este definit de o proprietate SJ specific[.
De.

(i) le L (ii) Dacdx eL atunci axb e L (iii) Nici un alt cuvdnt nu aparline lui Z.

alf, cul
GIU

se pot reduce La 2 ptlr- inlocuirea

grB

subcuvintelor abpnn L Astfel cuvintele ?u, ab, abab Si aabbab eL". Evident L"cJ'5 dar L"*L5 pentru c6, de exemphl baeL". Definilia aceasta poate fi consideratd caun mecanism de recunoagtere sau analitic. in exemplele datl anumite subcuvinte sunt rescrise. in conformitate cu definigia urmitoare, o

re5

;:ir;ffi,'Llf#::#;:"#:;,:::"r#S,llii?1"1ilxff:
finite de perechi ordonate rescriere sau produclii gi se noteazd a+8. Un cuvdnt I peste Y genereazd direct cuvintul

-ot1i-r

!), unde z este un a,rabet ei F peste I/. Elementele (a,p) ale lui F sunt numite reguli de cuvinte
(v,
V

Dq
o

de

L(
Ex Ex

&Al

dacd gi numai dacd exist6 cuvintele tt, v, a,

B astfelincdt: x:y&v, y:u\v,

iar

at-+flt eF,

adicd subcuvdntul a al lui .r este inlocuit prin subcuvecrfirl P-

Un cuvtnt a peste V genereazd P (ilmai mulfi pagi) (a+ B) dacitqi numai dacd existd un $ir finit de Ex Cuvinte d0, dt , -.., ak, k > A, t$de a.:a., aff Si ai I di+L pentru 0 < i < k-| . Secvenla os:+ o1?"'- o1 Se G va numi derivalie a lui p din a in confarmitate cu sistemul de rescriere, SR. O: O0:+ O13 O2?""+ Ok:P

+ este o relalie binar[ pe I/+ iar :+ este inchiderea reflexiv[ gi tranzitiv[ a relaliei =, Num6ru1 k se numegte lungimea derivaliei sau numdr de pagiAstfel relalia

Un sistem d. r.r.ti.te poate fi transformat intr-un mecanism generativ prin submu{imi Ax g /*, numit6 mullimea de axiome, gi considerdnd limbajul

specifiearea unei si

Similar un

L,(SR, Ax):{ P I a+f , aeAx } sistem de r?scriere poate fi privit ca un mijloc analitic sau de recunoastere, considerdnd
-a

(1)

Se

Formula (t; repiezintt ii*t4of g"o"# de ierechea (SR, Ax), iar formula (2) repreVintii limbajul ,Er {0, recunoscut sau acceptat de perechea (S& Ax). Obsemalia 1..1.3 De cele mai multe ori mullimea Ax este formatd dintr-un singur simbol (simbolul iniliaf P. '"- ""-- -- :' Seiu afe o stnrctufd foarte simph-." Obsemalia 1.1.4 De cele mai multe ai V se irnparte in doud submullimi:V1, mu$imea terminalelot, Vt *. mullimea neterminalelor sau a variabileior gi limbajul se definegte ca o submultime alui Y7 Revenind la exemplele anterioare, in exemplul I.1.6, L" se poate defini, in tennenii unui sistem de rescriere ca L" : L^(SR,{)'}), unde V={a,b} iar F:{ab-$"}. in exemplul I.1.4, L:Lr$R,{x})n{a,b}*, unde SR:({a,b'x}, {x-+}", x-+axb}). -3
-

limbajul @ -

L"(SR,

A*):{ a I a+

fl,

f eA, }

LIMBA.'E FORMALE 9I TEORIA AUTOMATELOR

Limbajul

L'

unde

", Sistemele de rescriere sunt de asemenea denumite sisteme semi - Thue. Dintre cele mai cunoscute sister.ne de rescriere fac parte: algoritmul normal in
^sR

: ( { o,r,' ;},

dinexemplul 1.1.5 este definit acum ui

i;'!;!!#f

lu *

x -+xx } )

sens

Markov[l6], sistemele

11;

norrnale Post si gramaticile generative.

aIe
:

1.2 Gramatici generative

Vom defini un tip de mecanism care joacdun rol important in teoria limbajelor formale. Definilia 1.2.1 O gramaticd generativd este un quadruplu ordonat G:(Vn, V1,S,P), unde Za,' gi Z1 sunt , alfabete finite disjuncte SeVu gi P este o mu{ime finitn de perechi ordonate (u,v), astfel incdt y este un cuvint din Y*, unde V=Vt{uV7 gi z este un cuvdnt dn I/* care confine cel pulin o literd din Vy. ', Elementele lui Yrformeazl, mullimea neterminalelor sau variabilelor, iar cele ale lui YT.formeazd , mulfimea terrninalelor; ,S se numegte simbolul inilial, iar P sunt reguli de rescriere, producfii. De fapt o :ea gramaticd este un sistem de rescriere (Y, P) numit sistem de rescriere indus de G. Noliunile de derivare direct6 sau derivare core'spund celor introduse in cadrul unui sistem de i

lL

rescnere.

Limbajul L(G) gercrat de G este definit de:

L(G):{ wl w eV

*,

,f; Definilia 1.2.2 Doud gramatici, G gi Gt, se numesc gramatici echivalente atunci gi numai atunci cdnd L(G)=L(G). a Exemplul l.2.l Limbajul L : I aibi I i eN ] este generat de gramatica generativl
({S}, {o,b}, S, {S+), S-+aSb}) Exemplul Limbajul L = { w lw e{a,b}+, N,(w):N6(w) I este generat de gramatica generativ6 l G = ({S}, {o,b}, S, {S+L S+asb, S+bSa, ^S+^tSl/ Vom da in continuare cdteva exemple de gramatici conform cu [21]. d, Exemplul 1.2.31211. s" G ({5, B, C}, {a, b, c}, S, P}),unde mu[imea P este format6 din: S-+aSBL bC-+bc S-+aBC cC-+Cc CB+BC aB-->ab
4,,

+w }

l;<

G:

bB
l

+bb

IE

: i
1

S[ incerc6m o deriva]ie in gramatica G: S + aSBC + aaSBCBC = aaaSBCBCBC + aaaaBCBCBCBC + aaaaBBCCBCBC +* aaaaBBBBCCCC = aaaabBBBCCCC = aaaabbBBCCC + aaaabbbBCCCC +aaaabbbbcccc +aaaabbbbcCCC +aaaabbbbcccC =aaaabbbbccCC =aaaabbbbcccc Se poate demonstrd cdL(G):{a"bn"n I n>I}
.

d' Exemplul 1.2.4. I2ll Fie limbaj ul L={ ww I w e{0,1}* }. Gramatica G definitd de: G=({as,x1,x2,rcj}, {0,1}, x6, Pl), unde P este: l
rll
.l'_

P:

Vt,
i

xj1)"

xs)x1x2xj xg2))"

x1x21ix1!i I yi-+jy I
)

pentru fiecare i

Si

j dn

Y::::"' lx2)X2l

{0,1}
=

.:

de

Aceast6 gramaticd genereazd.limbajul xs 4 x62x3) 0xry6xj= 0xp20xj

t.

Se ?ncercdm o derivalie ?n aceastd gramaticd:

= 0lxpfixs +
-4-

0lxt}yfis

0Ixt1xzLxs

LTMBAJE FORMALE 9t TEORIA AUTOMATELOR

+ 01xpz01xj + 0l0\xs l OlOl vom avea urmdtoarele reguli gramaticale care se Exemplul 1.2.5[21] Pentnr limbajul L={o'" I ">I] : I * 3 +... + (2n- I), unde toate simbolurile cu exceplia lui a sunt simboluri bazeazd. pe identitat ea n2
neterminale:

P.' x6)a
xg-)axx22 X2Z1AA

){x1)x1)sx

!zl+l/z
I'tX)tXt

)tx1+!$x

xa+aa
ya-+aa

4t1xr! Wt+!t!
Ax1)axx!x2

x2z1l$xz
Sd incercIm gi aici cdteva.deriva{ii:

xzl)x!z

(
a

l afiQtx!!2xz - $ac!x)t)tx2z+ ancycyyaa + axryxyaaa = axxyxaaaa + axxyaaaaa + axxaaaaaa + axaaaaaaa = aaaaaaaaa: a9 = o3". Exemplul 1.2.6. [21] Pentru generarea limbajului L : { o2 | nil }vomavea urmdtoarele P: x6flxl zy)xxy
w+yz
x+a
Vom constnri

xOlofrC2Z=6aa=aaaa x6 4 ax.x2z - a.x!1!xz * axglxz+ aw)tx2!!xz) ax.xlxlzlxz

I ( { (
(

reguli:

+ aanY 4acNY =aaaaY = aaaa Exemplul1.2.7 Fie G:({S,B}, {0,1},,S, P/ unde


.l

n-+ffiz v-+2 o derivafie in aceasta gramatici pentr,u fl : 2, ponrind de la simbolul inifial xo=fry +yzy +yxxy +ycncxy +xxry =axxxy + =yzxy=yxx4)

x6

Limbajul generat de G este L(G) : {QIf I ,>0}. Exemplific5m deriva}ia unui cuvant din limbaj pentru n:3. S +08 +0IS =0IAB =01015 ='0I0I0B +010101 : (01)3 Exernplul 1.2.8 Fie gramatica G:({S,A,B},{a,b},5,P), unde mullimea regulilor P:{S->aSb, S-+ab}. Este ugor de demonsfrat cl,limbajul generat de gramatica G este L(G) : {o'b' I n>0}. i Pentru n : 4 ob,tinem urmltoarea derivafie: l . ^S=+ aSb + aasbb+ aaasbbb = aaaabbbb : aaba Gramaticile generative pot fi clasificate prin impunerea de restriclii asupra formei regulilor. '

" + Irs [" -+

I's -+

oB

I l
s

i1
o

Definilia 1.2.4 (Ierarhia lui Chomslcy) Pentru i e{0,1,2,3},

gramatici generati vE, G:(Ty, V7, S, P) este de np i dacd gi numai dacd regulile de rescriere din P indeplinesc restricfiile de tip (i): (0)Nici o restrictie. (llReguli dependente de context (DC): Fiecare reguld din P este de farma u1Au2-*r1wn2 , unde21, u2V*,AeTygiwelt* cuo singur[exceplieposibilE S-+X,, carepoate sdapard dac6,S nu apare in dreapta nici unei reguli din P. Q)Reguli independente de context (IDC): Fiecare regul[ din P este de forma -'--i' A ^+w iiA e Tx'$i w e t/. (3) Re7uli regulate @): Fiecare reguid este de una din urm6toarele dou[ forme A-+ aB sau I 1a ,unde A, B eVw Si aeVy*.
o

fi
1

g
ft
!t

LIMBAJE FORMALE 9l TEORIA AUTOMATELOR

Gramaticile de tip 1 se numesc dependente de context sau contextuale, gramaticile de tip 2 se numesc independente de context, iar grattaticile de tip 3 se mai numesc gi regulate sav cu numdr finit de

t'{i6"orc[

Dac[ not6m ca Li familia limbajelor de tip famiiiile de limbaje:

orice gramaticl de tip .3 este gi de tip gramaticdde tiP ,l este de tiP 0.

2,

once gramaticdde tip 2 este gi de tip ./, 9i orice

(i)

avem, evident, urrndtoarea incluziune intre

Se va demonsffa ulterior c[ incluziunea este proprie, deci c[ prin restrictiile (0)-(3) se obline intradevtu o ierarhizare a familiilor de limbaje DeJiniyia 1.5 O gramaticd este cu lungime crescdtoare sau monotond dacd gi numai dacl regula u-)v sarisface condilia lul( lvl cu o singurS excepfie posibil[ S-+)", carc, dacd apare in mullimea reguiilor, afunci S nu apare in partea dreaptl a nici unei reguli Obsemalia 1.2.2 Gramaticile dependeate de context sunt gramatici cu lungime crescltoare. Se poate demonstra cd gnmaticile cu lungime crescdtoare gi gramaticile dependente de context sunt echivalente. Obsewalia 1.2.3 Gramaticiie din exemplele 1.2.3, 1.2.4,gi 1.2.6 sunt gramaticimonotone deci, conform observatiei l.2.2,limbajele generate sunt dependente de context. Gramatica din exemplul1.2.5 este o gramaticdde tip 0 (existd reguli care nu sunt monotone, ca de exemplu regula xfi24'), gramatica din exemplul 1.2.8 este independent5 de context iar ceadin exemplul1.2.7 este regulatl sau de tip 3. Exemplul 1.2.10 Din punct de vedere lingvistic, gramaticile sunt folosite pentru analtrza frazelor. Si Vu = { F, A, Y, Pn, S, S,f, (variabile care considerdm urm6toarea gramattcd analiticl IDC unde repteztnti, respective: .fr*o, articol, verb, predicat nominal, substantiv, subiect), Vr : {o, fata, este, tiboranta|, ood" fiecare din aceste cuvinte ale limbii romine rcprezintd" un simbol al alfabetului

hsLzLteLo

terminalelor. Regulile gramaticii sunt: { A -+ o,S ->fatd, S + laborantd, V + este, Sn-+ AS, Fruzele generate sunt: ofata este laborantd o laborantd estefatd

Pr+

VS,

F-+

S^P,

U,

o laborantd este laborantd Fiecare dn fraze este corect[ gramatfcal dar unele s-ar putea sd nu aibd nici un in]eles. Exemplul 1.2.11Se numepte palindrom un cuvdnq care este identic c6nd este citit de la stinga la dreapta sau de la dreapta la stinga. Astfel in limba romdna exist[ palindroamele: capac, coc, cuc, lupul, ele, etc.

t . o c

ofatd

estefatd

Not6m cu
generat de

reflectatul sau oglinditul unui cuvAnt y, adic6. cuvdntul ale cirui simboluri sunt in ordine inversd fafd de y. Limbajul { fi I y e Yr* } este in mul}imea palindroamelor cu V7={a1, ..., ct,},gi poate fi

gramatica:

G:({S}, Vv S, {S-+)", S+atSat, S->a2Sa2, ..., S-+a,Sa,}). ln exemplul. anterior existd regula S-+), iar ,S apare gi in dreapta altor reguli. Vom ar6ta c[ existd ca pentru orice asteiel de gramatic[ exist6 o gramatic[ echivalenti in care S nu apare in dreapta nici unei
reguli.

'rl. ,
.

Teorema 1.2.1. Dacd G =

(*

I/n

S,

P) este

o gramaticd

DC, atunci existd altd gramaticq DC, G1, car

- **-"V- " Demonstratie

reguli ale lui Gr Dacd G este IDC sau R atunci Si G 1 este IDC, respectiv R.
:

Fie & EVnLtVr. Construim gramatica Gp{Vl,p{S}, Vr, St, P1 f, unde P1 confine toate regulile din P gi in plus toate regulile de forma St+d,vnde S-+a eP : P;PLJ{I1-+ul S-+a eP } Observdm cd. St EVwuVr deci nu apare in dreapta nici unei producfii din G gi nici in dreapta vreunei produclii noi adlugatein P.

-6-

LtMBA.'E FORMALE $I TEORlA AUTOMATELOR

Sd demonstrdm acum cd

L(G):L(G),
fi
:

a) Presupunem cd wel,(G)rdeci existl o derivafie in gramatica G de forma


regulE folosit6 este de fgrma S-+adeci derivalia va

S+w. Atunci p
I
(

S+ a+w GG

Prin definilia lui P1?varn : S11a ePr $i deci:


Pentru cd taate regulile lui P sunt in

St* d
Gl

Pt renilt[ c[ orice derivafie din G este gi o derivalie in


I
I

Gt deci

g+w
Gl

Combindnd cele doud derivalii se obline: St2 Deci

o2 * , Gt
Gl

p e L(G),

de unde rentltA clt L(G)cL(Gil.

b) Presupunem acum cI weL(G1), deci exist6 derivalia Sr=, in gramatic a Gt.Pilma reguld folosiH{ este de forma Sr+4pentnr un anume a.Fteniltl din construclia gramaticii Gt cd S-+aeste o regulS din{
P gi deci S+o" in gramatica G. Acum ct+w este o derivalie in gramatica Gt
51, cdcifolosegte numai

..i

dar nu poate avea simboluli,

regulile din Pl care sunt gi in P. Rezultd

G si atunci G este

S+o=*,

"a

o+w

este o derivalie

in gramaticai
I

adicl weL(G).

Evideni.a ,lgolif, uaa,rgut, U f prot n a obline Pr sunt de acelagi tip cu regulile lui P deci daci' DC (iDC sau R) atunci pi G7 este DC (IDC sau R). A

Teorema 1.2.2. Dacd L este un limbaj DC, IDC sau R, atunci Ei Lufi"] gi L\{r"} sunt limbaje DC, IDC respectiv R VDemonstratie : Dacd L este un limbaj DC, IDC sau R, din teorema 1.2.3 rezultL cE existi o gramaticl G, care poate fi DC, IDC sau R, in care simbolul inilial, ,S, nu apare in partea dreaptd a nici unei reguli de.rescriere. in plus singura regu16 in care membrul drept poate fi,1 este de forma ^S---+.1. Atunci pentru limbajul L\{f} se scoate regula ,S*1, iar pentru limbajul Lu{A} se adugd tot regula ,S-+,1. Toate aceste modific5ri nu au nici o influen!5 asupm restului cuvintelor generate de G pentru cI simbolul inif,al nu mai aparc ln partea dreapti a nici unei reguli de rescriere. A
^S

{
I

61.3 Ooerqlii cu timhaie


Pentrtr c[ timbajele sunt mul1imi, ren:Jtaci se pot folosi toate operaliile cu mulfimi ,lroor.otu. Reuniunea a douii limbaje L1UL2:{ w I w eL1 sau w eL2 } Intersecfie a doui limbaje L1nL2={ w lw eL1 Eiw eL2 } Diferenfa a doui tinitale L1V2={ w lw eL1 Si w eL2 }

2'.

Complementara uniri limbaj relativ la un alphabet V C{L):V*\L In afarl de aceste'operafii se pot introduce o serig de operalii specifice limbajelor : Concatenater L doui limbaje Lfl2:{uvlueLyveL2 Limbajele O Si fi") reprezinti'elementul zero Si respectiv elementul unitate relativ la.concateuarea L{).}:fi.}L:L limbajelor: L@=QL=Q Concatenarea se mai numegte gi produs. Puterea unui limbaj se definegte recursivprin:

Lo: {x} Li*l : Li L


Produsul Kleene (sau tnchiderea Kleene) este definit prin reuniunea tuturor puterilor lui

I:

-7

LIMBA"JE FORMALE 9I TEORIA AUTOMATELOR


'@

L' = UL'
i=0

inchiderea Kleene 2 - liberi este

r -0r
i=l

L2V;{v luv eL1, u eL2} Derivata stingi a unui limbaj relativ la cuvintul v este }iL:{u lvueL} adicd citul st6ng

Cafd sting

a douil

limbaje

este limbajul format din sufixele cuvintelot din

Lt care au prefixul in Lz:


al

+i

LA

u
u.
J<
:

limbajelor {v}V. Cafd drept a doui limbaje este limbajul format din prefixele cuvdntelor din Ll cusufixul in Z: LtILz = { vl vu Ll pentu u eL2 } Derivata dreapti a unui limbaj relativ la cuvintul z este edL: {v lvu eL} adic6. cdtul drept al Iimbajelor L/{u}. Reflectaful sau oglinditul unui limbaj l= 1 i I u eL ). Substitufia unui limbaj se definegte astfel: Va eI/ defrnim o (a) un limbaj peste Vo iar apoi se aplic[ propriet[file:

ofl):2,
o(uv): o(u) o(v)
deci
V u, v

e l/*
rcY

este o

aplicalie o: V*-+ P6Ir''5, vnde I|'=UV,

t(

ia

ili
:

Substitulia unui limbaj Z este atunci: o(L):{ v lv edu) pentru u eL } Dac[ o(a) estb un singur cuv6nt uo, afrinci substitufia se numegte homomorfism h:v*-+Y'*. rJn homomorfism se numegte ),-libl.r dacl nici unul din cuvintele 4a):uonu este 2Una din problemele pe care le vom studia in oapitolele urmltoare este problema inchiderii familiilor de limbaje de tip i, h (i :.0, 1, 2, 3), relative la operaliile introduse.

1.
.i
vG

fi1.4

Exercitii
a. n:2; b. n=3; a. n:4. d. n:5.

1.S[ se construiasci o derivafie in gramatica.din exemplul 1.2.3 pentru:

2. S[ se construiascb o derivalie in gramatica din exemplul 1.2.4 pentru cuvintele:

a.0001100011;
10101010; 1111011110. 3. S[ se construiasc[ o derivalie in gramatica din exemplul 1.2.5 pentru:

b.'

c.

ea

a. n= l; b. r= ?; c. n=4'

LIMBAJE FORMALE $I TEORIA AUTOMATELOR

GAPIT@LUI il[
LilMtsAJE REGUTATE $[

FINITE
t

i
:
t

Capttolul II este dedicat limbajelor de tip 3, numite Si limbaje regulate. Se prezintd trei modurti de reprezentare ale limbajelor regulate: gramaticile de tip 3, automatele finite (deterministe gii nedeterministe) gi expresiile regulate. Pentru automatele finite deterministe se prezintd un algoritm dei minimizare. Se demonstreazd cd cele trei moduri de reprezentare sunt ecltivalente gi se studiazdi proprietdltle familiei limbajelor de tip 3, dintre care fac parte: letna de pompare Si proprietdlile dei inchidere alefamiliei limabjelor regulate la opera{iile introduse in capitolul I. Capitolul II se fncheie cul probleme propuse spre rezolvare.

tn capitolul anterior am definit nofiunea de limbaj regulat sau limbaj de tip J, ca fiind limbajul generari de o gramatic6 de tip 3, adicd de o gramaticd G:(Vg,V1,S,P), unde regulile din P sunt de'forma :

A-+aB

sau A--+a

Aici A gi.B, sunt simboluri neterminaleiar a este un sl.mbol Vgn0dgfiniinceleceurmeazEunsistemana1iticpentru1imbajeleregulate9ianumeautomate1efinite.

terminal.

fi 2.1 Automate finite


Din punct de vedere istoric, automatele finit au fost introduse pln{u a modela relelele neuronale: dar an o mulfime de aplicalii gi in alte domenii cum ar fi,: analiza lbxicala (faza inr,tiald a unui compilator), descrierea editoarelor de texte gi a altor programe de procesare a textelor, modelarea circuitelor logice gi altele. Automatul finit este un bun model pentru un calculator cu o cantitate extreme de limitatii de memorie. Vom vede c[, degi are o memorie foarte micd, un asffel de calculator poate sa fac[ o serie de lucruri utile cum ar fi cele enumerate mai sus. Definipia 2.1.1 lJn automatfinit determinist,notat M:(Q, I, 6, Q0, F), este format din: Q - o mullime finitd nevidi (mullimea st5rilor); l E. - un alfabet finit de intrare; 6 - o .aplicagie numitE funclie de tranzilie ) cate ataseazd fieclrei combinafii (stare,'simbol de intrar* o noui stare 6 : Q x X + Q;

eQ stareainif,aH; F q Q mulgimea stirilor finale.


Qo

Din punct de vedere practic un automat finit este format dint-un control finit, care se poate afla lntr-unar din stdrile mullimii Q, dnfr-o band6 de inhare imparlite in celule in care sunt scrise un num6r finit de' simboluri din ,, gi un cap de citire care se migcl pe banda de intrare secvenlial de la stAnga la dreapta; (de fapt banda de intare se migcd in dreptul capului de citire de la dreapta la st0nga ). t
a0
?1

4
CONTROL FINIT

Fi'gura 2.1.1

-9 -

*
t)

LIMBAJE FORMALE $I TEORIA AUTOMATELOR

rt

pe Tni[ialconfrolul finit se afl[ in starea go iarcapul de citire anahzeazd cel mai din stAnga simbol scris aceea cE autornatul M, aflatin banda de inhare. Interpretarea lui 6(qra) =p pentru q,peQ gi aeZ, este in p gi i;i mutd capul de citire cu starea q gi analizdnd simbolul a pebanda de intrare, igi schimbd starea

funcfia de tranzilie d sE nu fie peste tot definitd , adicd sE existe p P Si a eE asffel incflt 61p,i1=O. incazulincareautomatulseafl6inaceastl starcp gicapuldecitire vizeazd, simbolulape b;"i^de intrare se spune cI automatul se bloche azd firndcanu este definitE migcarea urm5toare.
S-ar putea ca

o celuld la dreaPta.

Aplica,tiad'se poate extinde


,l

la Q x X., prin 5

l^

la(q,l)

=q

I
o

[S(q,xa)=6(6(q,x),a) V xeE',aE,
?n

7
o

semnificalia lui $iq, x). = p fiind aceea cd M, pornind sd analizeze secvenla x din starea g, ajunge starea p in morrentul in care capul de citire depdgegte secvenla x.
Observalia

't

2.1.1 in continuare vom folosi notafia d 9i pentru 6. Dejinilia 2.1.2 Un cuv0nt x este acceptat sau recunoscut de un automat finit M, dac6, 6(q,X)=P pentru p F. LimbajulacceptatdeautomatulMsenoteazd T1M; = {tl8(q o,$ e F}. De/iniyia 2.1.3 Numim confi.guralie instantanee perecbea (q,x), formati din starea q Q in care se
afld automatul finit gi girul de caractere x eE' rdmas necitit pe banda de intrare, unde capul de citire vizeazL cel mai din st6nga simbol al lui x. Dac[ automatul finit folosegte tanzifa 6(q,a) p, atunci vom nota modificarea configuraliei

asrfel: (q,aa)

.,a.

Exemplul 2.1.1 Specificarea unui automat finit M se poate face prin definirea funcliei d (lntr-un tabel) sau prinh-o diagramd de stare sau de tranzilie. Diagrama de tranzilie este un graf orientat in care no.durile sunt stiirile automatului iar arcele (q,p) sttnt etichetate cu a dacd 6(q,a)=p este o tranzife din

I @,o)

automattlM.

(Q' E' 6' q o F) v Fie, de exemplu, automatul frnit lt = ' '*"1.-rn1r. rr-f^ A ^ ^ I E-la l- - {0,1}, Q = {qo,q t,\r,gr}, F = {q o}
E
6

{o'

9r
$o

w
Ql
9o

a
ta

Qt
q2

9r
'92

le
IA

9s

9r

Figura 2.1.2

Fie girul de

infare 10110010; atunci putem urm[ri execulia automatului astfel: 6(qo, 1 0 1 1 00 1 0)= 6(qr,0 1 I 00 I 0F 5(%, 1 1 00 10)=-6(q', 1 001 0) =

= 5(%,0010)= E(qr,010) = 6(9s,10) = 6(qt,0) = go F, :l deci 10110010 T(M) In mod echivalent, intr-un calcul de configulalii se scrie:
l

-t0i
I

LTMBAJE FORMALE $l TEORIA AUTOMATELOR

(q6,10110010) F (qr,0t10010)

l- (qr,r10010)

(q1,100i0; undeqoe

deci

s-aob!inutur,",ll?iiltit:ti,fo5o"^'

F'

iq3,oo10) l- (q2,010)
:

Se poate demonstra'ci automatul finit M de mai sus acceptd girurile cu num6r par de 0 gi num parde 1.A Delinilia 2.1.4 Un automat finit nedeterminist, notat M=(Q, E, 6',00, F), este forma! dtn 8, E, q6, F prezentate in definilia 2.1.1, dar func,tia de tranzilie este aici

6':QxE+P
Deci 6'(q,a) $i aici 5'
este o
se poate

(Q).

mullime de stdri gi nu o singurd stare.

extinde la Q x

X'
x)

asffel:

1q'(n,;i = U5'(p,u) , vxE',aeE [pe6'(*

[6'(q,

r) = {q}

Acum 6'

se poate

extinde

la P(Q x X' astfel:


k

6'({p t,pz,...,pn}, x) = U6'(p,,x)


i=t

t
I

i
t

Definilia 2.1.5 Un cuv6nt .r este acceptat sa'u recunoscut de un automat finit nedeterminist M dacit', E(qo,x) flf +O,adicd dacl Mpornind din starea Qos;ianaluiind cuvAntul xpoate ajunge inh-o starei Limbajul acceptat de un automat finit nedeterminist este format din mullimea cuvinteloli ! acceptate T(IvI) pentu care existii o secven!5 care conduce la {w eEl 6'(q,w) fi F *<D} Exemplul 2.1.2 Fie automatul finit descris in figura 2.1.3 cu ajutorul diagramei de tranzifie; tn acest caz T(A[) este mullimea cuvintelor care au sau doi de zero coi:secutivi sau doi de unu consecuJivi.

finald.

f(M:

acceptare:

Y\

n
a

L'
l
i

F
D

(.

Figura 2-I-3 urmdrin firnclionarea acestui automat pentru cdteva situalii diferite: a)Dacd girul de intrare este 0101, automatul vaface toate incerclrile de tranzilii posibile, ?nainte de trage conclazia cd, acest cuvflnt nu.e recunoscut (nuduce automaful intr-o stare finald):. - -. , (q0,0101) l- (qo,ror) l- {oo,gr; l. {eo,ry F {to,r; , q0 e F
SE
a

9i

,D
d

(qs,10t) l- (qo,or) l- (qo,r) l- (q,,r,) , qr eF (qo,0t0t) l- (qo,tot) F (qo,ot) l. (qr,t) | blo.ar. ( d(q,
(q6,0101)

J)

: A)
St

- 11-

r
LIMBAJE FORMALE $I TEORIA AUTOMATELOR

(q6,0101) l- (qo,tot) lt
I
E

(qr,ot)

blocare ( d(q, ,L)

- A)

(q0,0101)

(q3,101)

f blocar" (d(qr,l) = Q)

TT
:

b) Dacd girul de intrare este 01 i,0, automatul va accepta acest cuvint in momentul depistirii unui calcul de confrgwalii ce duce automatul intr-o stare final[ (indiferent cite incercdri nereugite face, automatul accept6. girul de intrare la inregisfiarea unui succes): (q0,01r0) | (qo,lt0) | (q0,10) F {ao,o; l- {eo,r; , q0 eF

| (qo,l0) l- (qo,o) l- (qr,r) , !1, E F (q0,0110) f (q6,110) | (qs,10) l- (qr,o) f blocare (d(q, ,l) -A) (q0,0110) F (qo,t t0) | (qr,l0) l- (qr,o) l- (qr,r) , Q, F :+ succes ! (q0,01t0) | (q3,110) | blocare ( d(q, ,I) - A)
(q0,01

ro)

(qo,lt0)

c) '

Configuraliile instahtanee ce determind acceptareailt cazalcuvAntului de intrare (q"oroor t; l- (qo,toot 1) | (qs,0011) l- (q;,011) F (qn,t 1) l- (qr,t) l- (qo,r.)

0I00ll stnt:

a i
:

iI'

(q0,010011) | (q6,100r r) | (q0,0011) | (q6,01r) F (qo,l l) F (qt,t) l- (qr,r) Ambele aratf. faphtl cd girul de intrare poate fi citit de pe bandd ajungAnd intr-o stare finald (q2 sau g+), fiind deci recunoscut. Este suficientE gdsirea uneia dintre ele, cind se stabilegte acceptarea cuvdntului de cEffe automat. Pentru aceeagi intrare propus6 anterior, pot fi "incercate" gi alte posibile transformlri de configurafii, dar care nu termin6 citirea intr-o stare finalI sau nici m[car nu permit frnalizarca citirii benzi (ajung la blocare, c6nd simbolul de pe band6 gi starea automatului finit nu sunt compatibile d.p.d.v. al funcliei de mnziyie, cum ar fi, cazul citirii simbolului 0 intr-un moment in care automatul se afld in starea q1,
deoarece se

'

9i

observl

c[ 6(q,,0) = Al

L
si automatete finite

rL

2.2

Leqdtura dintre qrymatiqite reqqlate

.r I

'

Vom demonstra in cele ce urmeazd cd limbajele de tip 3 sunt echivalente cu limbajele

recunoscute de automslsls finite (numite gi mu$imi regulate).

Teorema 2.2.1 Fie L o mullime de cuvinte acceptate de un automat i automatfinit determinist care acceptd

L.

finit

nedeterminist. Atunci existd un

Y Demonstratie: Fie M = 1Q;"0, Qo, F) un automat finit nedeterminist care accep ti L, adicl" L=T(M. Definim M': (Q'rEr6'rqto rF') un automat finit determinist dupi cum urmeaz6: Qt=P(Q)' noile stlri (M' plstreazd urma stdrilor in care poate fi M la un moment dat)
l

,'

Q'= {[g,,er,..., gr]


J

lq,.

Q, o < k < card(Ql

];

q; = [qo ] ; ann]ina ar -,,rin o stare finol, Air r. F'C Q', F'+Q, conline cel pufin n craro final[ din 4

9i

definim tranzifiile:

6'([q,
a,

,e2,...,g.,],a)-[p,,p ,..-,p;1 <+ s({q,,er,--.,g,},d)={p,,Pr,...,P;}


dn Q'zr9-zu_{{ql
gste calculat

d' este aplicat unui element Z=[q1, q2!....,qb J -D:"gi{g.ad la fiecare stare a lui p din Z:[qtqz,. . . ,fuJ: 6'([q, ,92,.--, Qu ], a) = [P,,Pr,"', P;]

prin aplicarea lui

o, .
Se aratd

k_

!J

6(q,, a), I =

1,

j
:

prin inducfie asupra lungimii girului de intrare x c[


tL - 1a -

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

(2.2.1)
- pentru

6'(ql,x)

lxl:0, ql =lqo ] + afirm alii

[e,,e, ,...t,gi] <+ 5(qo,X) = {q,,{r,...,9,}


12.2.1) este adevdratl;

1.
I

- presupunem cE Q.2.1) este.adevdrat[ pentru lxl S

t;

sE studiem

atunci intrarea "xa'', unde a e X

lxal<t+1 t 6'(ql,xa) = 6'(6'(ql, x), a) Conformipotezeiinducfiei, 5'(qi,x) = [p,,p2,..., p.;]

6(qo,x) = {p,,pr,..., pi}

r'
s

(,

Prindefinifie,6'([p,,p2,...,p1i,a)=[r,,rr,...,fr]
Astfel, 6'(ql,X&) =
stare a

6({p,,P2,...,P;},a)={!,rr,...,f*}

fr,rr,...,ro] <+ 6(qo,xa) = {r,,r, ,...,tk}

Pentru a completa demonsta! ia mai avem de addugat ce 6'(qi, x)

F'

exact cdnd 6(qo

x) conline

lui Q care
Agadar

este in F.

TM:T(M). L
M = ({Qo,g,}, {0,1 },
6, go, {q,

Exemptul 2.2.1 Considerim automatul finit

}),

[u(n ',0) = {q o,g, } u(n,,1) = {q,} J a1q-"01 = s 1 L6(q ,,1) = {q 0,9, }


Sd se consfruiascd automatul

A
a)

finit determinist M', echivalent

cu

M'

Y
SE reprezentdm automatul

M sub form6

de diagram6 de tranzilie:

A
0,1

A
Pr

Construim

M' conform Teoremei 2.2.1 : M' = ( {[q o],[q,],[q o,g,]], {0,1} ,6', [qo] , {[q,],[qo,q']]

b)

6'([qo],0) =[qo,9r] 5'([qo],1) =[qr] 5'([q,],0) - (D 6'([q t ],1) = [q o, gr ]


6'([q'0,Q,],0) = [q o, gr] 6'([q o,e,],1) = [q o,gr]
Deci automatul. M'.vaavea diagramatranzillilor ca in figura 2-2.2:
de

Dr

Di
Te

L(

v
Pn

Figura 2.2.2

De

- 13 -

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

Fie G=(Vx, V7, S, P) o grarnaticd de tip 3. Atunci existd un automat finit nedeterminist M = (Q,X,6,qo,F) cu T(lr[):L(G). Y Demonstratie: consffuim Q = V* u{T}, T v*; q o - S ; nu apare la dreapta nici unei reguli; dacd Dacd S + ), e P, afunci F = {S, T} 9i S
Teorema 2.2.2

S-+ Le P,afunciP'= {T} ; 6(T, a) = A , Y & e V, ;


Dacdl" "*-*

[e+aeP zes^ If [a V'B e V"J

atunci Te5(B,a);
atunci ceD@,

Dace{B+a!eP} [aeV- B,CeV*J


Dac[ exist5 Atunci

i;

B e V N care nu apare in membrul st6ng al nici unei reguli din P, atunci 6(8, a)=A, VaVr'

a)
pentnr

M simuleazl derivaliile in G. SE ar[t6m c[, inh-adevdr, T(A'I):L(G): L(G) ,n> 1-Atunci: Fiex =&t&2...4 "e ... + &r&,-.;& S =+ a,A, I o-rAo-r = a,8,"'T.n-r&o anumite variabile Ai din Vy.Dn construclia automatului M avem:

A,e6(5, a,) , e 6(A ,,dr)

A e D(A o_r,&o)
Agadar:

(s, afl2...%) l- (ar, az...u) l- .. l- (Ao.r, a'; Rdicecuvdntul x= ata2...a e TOD . " Pentu cLx a fost din L(G) L(c) c rM)
:

| 1e,4
astfel incat:

b)

Fie

x e T(M) , I x l>

1
De

[e, e 61s, a,) la, e D(A ,,ar) tt'-' 01a o_r,oo) lre
a

1 =) existi stdrile SAr,"'Au'1,T [t t a,A, e P


1...

LA"_,+ aep
o-r1
o

deci are loc deiivalia: S + arA, ?

= x e L(G) =) T(M) c Din (a) ri (b) + T(M) = L(G) . A


aici
Teorema Z.Z.S fnntd dat un automat

r&rAr:+ ...:+ ataz..-a o-rAo-r - ataz"'l


L(G)

L(G):TM.

finit

determinist M, existd o gramaticd G de tip 3 astfet tncdt

Vfustr4ie:
o q aP e 6(q,o) : P (ii) Q---+a e d(q,a):pF
---+

Presupunem

Definim

M = (Q, E,6, Qo,F) - automat finit deterministo gramaticd de tip 3, G = (Q,X,9o,P) astfel incdt:

-14-

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

Demonstralia este similard cu cea din Teorem a 2.2.2. in plus dacl

1,

T(M)

atunci

:)

9o F . A

Teorema 2.2.4 Ctasa limbajelor de tip 3 este echivalentd cu clasa limbaielor acceptate de auto

finite.
Demonstralia este evidentd din Teoremele 2.2.1,2.2.2 5i2.2.3
.

Observalia 2.2.1 Dupd unii autori clasa limbajelor acceptate de automatele finite se numegte cl limbajelor regulate. Datorit[ teoremei anterioare (2.2.4), s16sa limbajelor de tip 3 se numeqte gi c mullimilor regulate. Exemplul2.2.2 Fie G:({S,B}, {0,1}, E P) unde -+ on

P:

[s

lB-+oB

a) b) c) u)

s[ recunoascd L(G); Pornind dela M sd se construiascd automatul finit determinist, Mt, echivalent cu M: Sd se construiasc6 gram atica G'care sd genereze f(M).
SE se construiasc6 automatul

lP-o

le+ts
finit, M;
care

Y Construcfie:

:({S,B,A}, {0,1},

Coofo.- Teoremei 2.2.2, construim automatul finit care sd recunoascd limbalul L(G),

6(A,1) Sd reprezent5m in figura urm6tore diagrama tranzifilor din automatul

6(5,0) = {B} 6(5,1) -@

6, S,

{A}), unde:

5(8,0) = {A, 6(8,1) = tS)

B}

5(A,o)

Figura 2.2.3
Este ugor de verificat cd T(M):L(G) este limbajul cuvintelor peste alfabetul {0,1} care ?ncep $i se termina cu o sgccesiune de cel pulin doi 0 gi orice iparilie a simbolului 1 este urmti de succesiirni de 0' b) Pornind de la M, sd construim conform Teoremei 2.2.1, un automat finit determinisf, ]4v
I
s I

echivalentcuM

Mi = ( e, {0,1}, 6',[5], {[A]]

Q = {[S], [B], [A],

tt Bl]

(in Q nu sunt necesare gi

stlrile 15,

Al, [S, B], [S, A, B]

I
)
I

6'([S],0) = [B]
9:(il'9__=_

I
I

i
:

6'([8],0) = [8, A]

I
,rn ,.
l

9:0_Bl,ll__=_Isj _ * 6'([A],0) = 6'([4],1) = STA" Bf,Oi-= fe AL 6'([A, B],1) : [S]


Pornind ae latvt,,

---

(D

lt

ro-rr*i-b;;"-;".*;-i.or.*u
- 15 -

2.2.3:G':({Sl,[B],[A],[A,B]],{0,1},[S], F)

I:

*
IF 1l

LIMBAJE FORMALE $I TEORIA AUTOMATELOR

-+

{ .I t o\
T

* *
;
i

P: ]f"t LIo,
A

[ts] -+ otsl

v* t

tl

olA, Bl , tBl -+ 1[S] , [B] -+ 0 -+ o[A, Bl , [A, B] -+ 1[S] , [A, B] -+

't I

{i

a,-

Gramatica G' este mult mai complicatl decdt gramatica G ini!ia16, degi ele sunt gi ,.niuulrotr gi evident cd dacd, pornim de la ea se poate construi un automat finit mai complicat, echivalent cu automatele de mai sus. Se pune atunci problema dac[ pomind de la un automat finit nu putem micaora numdrul de stiri s'* dac6 atunci cdnd se implementeazd vn automat finit nedeterminist se poate obfine o reprezentare in m.moti. optimal6. Aceast[ ultim[ problemi este de mare importanfa in construclia compilatoarelor 5i probleme, gi anume de este abordatdin Uzl, t14]. ln continuare nu vom ocupa de prima dintre aceste micgorarea numlrului de st[ri ale unui automat finit determinist.

7bsemalia

2.2.2

De/inilia 2.3.1 O relalie binarl

1) Reflexivd (xRx, Vx e S) 2) Simetricd (xRy =+ yltx) 3) Tranzitivd (xRy, yRz + xRz)


,S;
I tJ

-R

pe mullimea,S se numegte rela{ie de echivalenld dacd ea este:

O relafie de echivalenfa peste .9 imparte mullimea S in clase de echivalen{i, submullimi disjuncte


astlel incat

[x,yeSrexRy -----. )ls=ust


-

Se poate construi un cel mai mic automat care acqeptS un limbaj T(M), prm eliminarea st5rilor inaccesibile gi comasarea'celor redundante. St5rile redunbante sunt determinate prin partilionarea stirilor automatului in clase de echivalen!5 astfel incit fiecare clasilonEine stiri care nu se pot distinge lntre ele gi este atit de mare cdt este posibil. Definigia 2.3.4 Fie M:(Q,X,6,go,F) rrn automat finit deterrnintsts;i qt,qz dou[ stiri distincte.
Ob:servayia

2.3.3

L]

Spunem cE

x e E' distinge q1 de q2 dacd: -

(q' l) ") l-.- (q.,x) (q'x) l-(q,,

SE

gi una gi

numai una dinfe

stirile

qs $i q+ este stare finald

adicd:

It,

:tedistinctibile.
Teorema 2.3.3

j+ E =+ g: F. Definiyia 2.3.5 Spunem cd qt |i4: sunt k-nedistinctibite (qrlnrl dacS gi numai dacl nu exist6 x, cu lx lsk,astfel Incitxdistinge qr de Qz. Definilia 2.3.6 Spunem cd q1 si il2 sunt nedistinctibile (qr:gz) dacn sunl f-nedistinctibile pentru VkflDefiniyia 2.3.7 O stare q este iitaccesibild daci nu existii x asffel incit (qo, x) l- (q,X). . Definiyia 2.3.t M este vn automat redus dacd nici o stare nu este inaccesibilE gi nu existi doud stdri

pi

.greFeq+eF

"

*.

Fie M=(Q,X,6,qo,F) un autdmatfinit determinist cu n stdri. Stdrile qt Si q2 sunt

nedistinctibile dacd Si numai dacd suint (n-2)-nedistinctibile. V Demonstrafie: Irnplicalia directE ("-+") este evident[; sd demonstrdm implicalia invers[

("")'

t6l

t /

a t.'vr

L}MBAJE FORMALE SI TEORIA AUTOMATELOR

a)

DacL

b)

F are 0 sau n stdri demonstrafia Presupunem cd 0 <card(F) <n,


n-2 a-3

este

imediat[.
I

Vom demonstra cd =C = C. = C ...= C = Observdm c5 pentru Q t,Qz eQavem:

1,"

(o

1._.

lftl
0

q,
Qr

iq
*
=9

<+(s(q,,1.),5(q,1,) e FsauQ\F

Q*Qz e Fsau,respectiv,e F )

L(2)
(t+r)

o[

( k-r
n, =92

n va e 8,6(q,,a) =6(q,a) )
(t)

k-r

i
I:

Rela{ia = partif,oneazd Q in dou[ clase de echivalen]i: F gi K\F. ' -

DacE

= * = atunci =
(r)

(t)'

(t*r)

este o rafinare a

lui =

gi conline cel

pulin o clasd de echivalen!5 in plus.


0

Penh-u cE sunt cel mult

pentru care = = = .A relagie Observayia 2.3.4 Doud stdri sunt distinctibile dac[ ele se pot distinge pe un gir de intrare de lungime mai micd decdt numIrul stirilor.

(t+r,)

n-l

stdri in F sau Q\F ,


(k)

=f

cel mult n-2 raftndn a

lui =.

Agadar,

este prirna,

6 2.4 Alqoritmi pentru minimizarea automatutui finit

(A) Aleoritm

de

minimizarellI

t
algoritmului

FieM:(Q,I,6,qo,F).SeconstruiegteM,redusparcurg6ndurmdtoriitreipa9i:
A*1
Se elimind int6i nodurile inaccesibile (conform

(B)
se stabilizeazd adicd
d,

0l

4.2

Se construiesc relaiiile.de

(r)
=.

echivalenfi =,=,... p6nI cdnd relalia


qo,

A.3
astfel:

Alegem = =

Se construiegte M'=1Q', X,

F') unde Q' e neu$imea claselor de echivalenfi ale lui

6(q,aFp

gmFpu
Bt.z

inaccesibile. Pentru eliminarea st[rilor inaccesibile ]se poate folosi orice algoritm din teoria grafurilor de eliminare a nodurilor inaccesibiel din nodul reprezentdnd starea ini!ia16, unde avem: Intrare - Graful (Q,D cu f(q,p):a fiq,a):p - QoeQ Iegire Mulf,mea de noduri Q'4. astfel incit existi un drum dela qsla Vp eQ'. Algoritmul marcheazd succesiv nodurile accesibile dh qo printr-un drum. Asffel, glsegte nodurile accesibile i le elimin6 oe celelalte" Prezentim in continuare dou6 variante ale acestui aleon Varianta I

(B) Alsoritm de eliminare a stirilor

I
A
F:
Pr

eazd
Vq

Q':{qq}

qi marcheazd qs

il

0.

Pentru

eQ' cauttr peQ astfel incdt existl un arc (q,p) eA

marcheazdp cu 1* marca

In

la Q'; reiapasul d2. Dacd Vq eQ' $i Vp astfelincdt (q,p) e{ p este marcat atunci sto
(dac6, p nu e marcat) gi adaugS pe q
Ar

-17 -

G iF ,?'

**
,#
,t

LTMBAJE FORMALE Sl TEORIA AUTOMATELOR

,t

Inifialueaz4 L: {qo}, marcbeazd q6. Btt.2 DacdL e vid ston Dacdnu, alege primul elem-ent q din L gi il scoate din I. Bfr.3 Pentru Vp eQ astfei incirt (q,p) ef, dacd p nu e marcat , mareb.eazFt p gi adaugd p in capul listei Z. Salt la pax:i- F2. Tom ardta in continuare cI automatul obtinut pnn algoritmul de minimizare este automatul cu numlr

8".1

minim de st5ri.
Teorema 2.4.1. Automatul M' definit de algoritrnul de minimizary (A) este automatul cu cel mai mic numdr de stdri acceptdnd L(M). V Demonstrafie: Presupunem cE existl un automat M", care are mai puline st6ri decdt M' gi cd. L(M"):11141 pentru c6 frecarc clas[ de echivalenlE indus6 de relafia de echivalenld nedistinctibilitatea, =, este nevid6, rezaltd cd fiecare stare din M' este accesibiid. Pentru cd M" are mai puline st6ri decdt M' rdnitd ci Jw,x dou[ cuvinte astfel incit:

E,
a'

(q'J, (q l,
unde

qi

este

*) l_."" (q,I) ") F-*" (q,I) M". starea ini!ia16 alui


M'it.

Dar w gi x conduc

st6ri diferite, deci w

Si

x conduc

Min

stdn diferite, gi atunci:

(qo,*) F-" (p,1,) (qo,x) l-'" (r,I)

astfel incit 6fu,y)eF gi 6(r,y) e F stdri care sunt distinctibile, adici 3ye :+ 6(qs,wy)eF 9i 6(qe,xy)eF + wy\Qd) iarxyeT(M), pe cdnd 5"(qo,wy):6"(qo,xy) dgciwy gi ry sunt aiUOutl in T(M"):T(M + contradicfie.

I*

],l
i

Exemplul2.4.l

SE se construiascd

automatul finit redus pentru automatul finit M din Figura 2.4.1

-:
LL
r:

r0

Figura 2.4.1
le

A.1. Paiut.t.Z
al

t)
:

V Aplicdm algorimul (A). Pasul Toate nodurile sunt accesibile. Construim relaliile de echivalenp. In{ializare ( O-nedistinctibilitate

--a
l

Analizdm I -nedistinctibilitatea: l8
-

+.

l
l l

LIMBAJE FORMALE 9l TEORIA AUTIM;* fFI frR

egale)

= ,,,,, ] 6(q,,a)=qol I r 6(q u) = qrJ= >3 I'LQz '


|

(rdmAn in aceeagi clasd)

(se vor separa in clase diferite)

r 6(q'a)=qr| ,t . t= I' aQr 6(q,,b)=grIg


l

6(q,,b) = 6(q = q,)',b) 6(q,,a) = n.

n,i;

I:

(se vor separa in clase diferite)

r
i
totugi impreun[:
I

,,b) = ,l= $tiind deja cE {r se separl,


6(q
q

')

de qz gi de qs, trebuie
'l

vdntt

dacd. q2 Si q3 rdmdn

l- o lo^ (ra-aoh aceeagi clas6 de echivalen!6) 6(q,,b)=q,]:I " rr


6(q'b)
varianta valabili:

6(q,,a) = 6(Q'a) = Q' I=

n,I:
9oJ

)
i

tlltima stare neanaltzatil este qti din cele vdntte deja, aceasta ar putea aparline fie clasei care conline pe Qt, sau celei care conline pe Qz Si qs, sau unei clase noi. in urmdtorul calcul se vede eX prima este;
i

5(g,,a) =

q.l:

6(q n,a) = q'

F: |

o
a(

'
;

6(q,,b)=q,i: l*Q'=eo 5(qo,b)=q,l )


Sd analizfuh 2-nedistincti bil itatea:.

((
Fi m

'

UI

ic
,

6(qo,u) =

qrl] I:

6(q'a) = qrJ
6(qo,b) = q, 6(q'b) = qo)
5(q o,a) = g,J

c c c

9o =Qs
I ati I le,

6(q,,u) = qrJ]
I

LI

6(q,,b)=,1,
6(q o,b) =

qrJ

I]

3 9t=9e

'Es rhr ;-

t ''-19-

LIMBA.JE FORMALE $I TEORIA AUTOMATELOR

5(q,,a)=qrll 5(q'a)=g,) 6(q,b) = q,1]

o_ LZ

IJ =o-

6(q,,b) = qr| Se observ6 cI nici una dintre ciasele 1-nedistinctibile nu s-a impdrlit in subclase. Deci relalia

l=

s.a

lz
Deoarece

pasul

A.3

= = = ,rela[ia de echivalen!5 }

este determinatd.

{qo, Q,, Q,

Automatul redus are 3 stiri (corespunzind celor trei clase de echivalen!6) reprezentate de $i este de'icris in Figura 2.4-2 .

Figura 2.4.2

\
Observh c[ modul in care se construiesc relaliile de k-echivalen]i acum o alti variant6 [7] de algoritm de de pinimizare.
este destul de complicat. PrezentEm

{C} Aleoritm de minimizare[7] j Fie M:(Q,X,6,qo,F). Algoritnnul va marca perechile de str6ri (p,q.). O pereche (p,q) va fi marcati in momentul in care se descoperd cd p $i q nu sunt echivalente. Se construiegte M' redus parcurgdnd
urmdtorii cinci

pagi:

C.l C.2 C.3 C.4 C.5

Se elimini int6i nodurile inaccesibile (conform algoritmului Se scrie tibelul tutuor perechilor (p,q), ni$alnemarcate.
Se marchezd (p,q)

(B))

fu6p eF gi q F sau invers.

pdni c6nd nu se mai schimb[ nimic in table: Dac[ existii o pereche nemarcatii (p,q) astfelinc6't (6(p,a), 6(q,o)) este marcatil pentru vn a e 2
Se repetii urmdtoarele

atunci marcheaz[ perechea (p,q).

Perechile neinarcate (p,q) sunt perechile echivalente

Exemplul

2.4.1
1,2,

Sd Si 5:

minimiz6m automatul dsfinit de urmitorul tabel al funcfiei de tanzitie, unde stdrile

-20-

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

CL. Toate nodurile sunt accesibile deci trecem la : C2. Tabelul inilial este cu toate perechile nenarcate.

-l - -2 -3 --4
5

C3. Marchezdperechile: (stare fina16, stare nefina16). 0

X1
X

I
2

-X X3 -X x -4 x -XX
C4.

I
5

(i) Aiegem acum o pereche nemarcat[, (0,3). Pentru intrarea a,0 Si J trimit automatul in 1 9i 5, notat (0,,3) + (1,5).Deoarece perechea (1,5) nu este marcatS, nu vom marca nici (0,3). Cu intrarea D, avem (0,3) -- (2,5), care tot nemarcat6 estedeci nu vom marca perechea (0,3) nici acum. Continuam si verificdm perechile gi observim cE pentru perechea (1,5) simbohil a realizeazd (1,5) + 13,51, vndeperechea (3,5) estemircati..,deci marcFm perechea (1,5). Verificdnd toate perechile nemarcate se obfine tabelul urm[tor.'

d
x.

'0

xl
2
5

:
-

-X X3

-x x -4 xx XX X
0. 'x1 x -2

(ii) Acum mai facem o trecere prin tabel fiindc[ s-a modificat linia starii 5. Vom obline:'

s,

x.x x - 4 x x.xx x
0

X X.X 3

Tabel care nu se mai modificl. date C5. Stirile echivalente sunt da de


a
1

nemarcate:

1,2) gi (3,4), deci automatul reduSva

fi:

(a

b
1

tb
(c

3
5 5

(d
(e
ca

3 5

5
5

(f
-21 -

3S,"
++

il
,i 'i

::
Lem

LIMBA.'E FORMALE 9l TEORTA AUTOMATELOR

Itimi

Aceast6 lemd dI o.carac.terizare amullimii regulate gi anume fiind datd o mullime 9i un cuvAnt cuvint care se poate repeta de oric6te ori suficient de lung, se poate. gdsi un subcuvdnt nevid al acestui regulati datd. astfel incat cuvantul oblinut prin repetare rdmdne in mullimea

Teorema2.S.l.FieLomulyimeregulatd.Atunciexistdoconstantdp,astfeltncdtdaclduncuvdntweL $lwl4 atunciw poatefi scris w=ry2, unde:

-0<wlg
Fie

- xyiz

eL, V14.

M:(Q,Z\,qo,F) un automat finit cu n stdn astfel inedt T(M):L.Fie p:n. lui wi Dac6w T(M Siw2n,atunci consider6m configurafiile succesive ale lui M,inacceptarea + j cel pufin n +/ configuralii, deci trebuie s[ fie cel pulin doud stiri identicep = Qi= qi astfel inctt:

V Demonstratie:

(qo,w) F. (qt,y/) l. (%,') l-- (t,x) De aici reniltdcdw=np'Siw':yz gi deci w=xyz. Fie j cel mai mic indice pentru carc qi: qi de unde qi 0 <Lyl
Dar atunci
:

-<n-

(q,,,*y'r)
Pentrui=0:

F-

(p,y'r)

F-

(p,y'-'r)

l-- ... F.

(p,")

F-

(t,l)

DecixyizeT(IvI), W>0.

\.i

\
i
I

Pentnr ca lema de pompare dE o caracteizare a mullimilor regulate ea poate fi folositi 9i pentnr a demonsta c6limbajele care nu respecte lema de pompale nu sunt , Exemplul2.5.l Folosind teorema de pompare (2.5.1), sd ss arate cd mullimea { a'bi / i>t S nu este o mu$ime regulatd.

(qo,x") F. 6,") f'(r,1.). A

regulate.

Presupunem cA

astfel incdt pentru w eL : lwl2p, w=xyz, lyV-<p giw':xyiz eL. dacdy:d.cujg,atunci + ai*ibi eT(M, ceeace contrazice stnrctura limbajului deci este imposibil; McE y:g, atunci + ai|*i eT(ltl) ceeace contrazice din nou structura limbajului deci este imposibil; a'bkdbt ef(M dnnou imposibil dacl, y:slbk ca jS Si kg,atunci

lp

+1aibil>t1nueomu$meregulat[pentruc6nurespectd1emadepompare.A
:

fi 2.6 gramatici regulate si expresii reaulate


:
I

urm6torul exemplu in care folosim operaliile cu limbaje definite in $ 1-3: Exemplul 2.6.1 Fie urm[toarele doud alfabete: L= {A,8,. . . )Z,a,b,. . .,2), al fabetul literelor mari 9i mici C:{0,1,...,9}, atfabetul cifrelor din baza 10. Cu acest'e alfabete, pe care le putem chiar considera limbaje formate din cuvinte de lungime l, putem construi numeroas6 alte limbaje, cum ar fi.:
Se cohsider6m

; :f
I

(a) (b) (c) (d) (e) (0

L U C : mullimea literelor gi a cifrelor; LC = multimea cuvintelor de lungime Z,formate din

multimea cuvintelor formate din exact:patru'litere; multimea cuvintelor formate din oricdte'litere (inclusiv cuvflntul vid); mullimea cuvintelor de lungime cel pulin 1, formate din litere 9i cifre, primul L(L U C 1. caracter fiind obligatoriu o literd; C- = muliimea girurilor numerice forrnate din cel pulin o cifrd.

L* :

La

literi urmati

de o cifrd;

aa

;
h

LIMBr''.JE FORMALE

9l TEORIA AUTOMATELOR j
I

descriere al lim Modul de reprezentate al iimbajelor de mai sus svgercazd un alt mod de ; de tip 3 gi anume cu ajutorul expresiilor reguiate' care poate fi construitl cu urmdtoarele reguli: Oeymi;ia Z.fl Se nunegte expresie regulatd o expresie A esteo ."p..ri, regutJe indicind mu$imea vid6' l. 2. l. este o e*presie regu-lata indicind limbajul forrnat doar din cuvdntul vid, { tr'}. 3. Dacd a V' atunci a este o expresie regulatS indicdnd limbajul format dintr-un cuv0nt! de iungime /, construit cu simbolul a 9i anumehmbajul {a}. 4. Dacd e1 gi e2 sunt expresii iegulate indicind limbajele Lt Fi L2, atunci urmltoarele,
expresii suat regulate:

( !

inchiderea Kleene (ef), tndicend L" Observayia 2.6.1 Parantezele ( ) pot fi eliminate in urmltoarcle canti:

4 b) c)

Alternarea (eillG), indicind


Concatenarea

LrULr; (eilG), indicind Lr'Lrt

(l) : (ill : o
I

({})

: {}

Observapia 2.6.2 a) Operaliile de alternare, l, concatenare, ., 9i inchidere, *, au precedenla descrescind de la cea mai mare , *. ,la cea mai mic6 , | . b) Toate operafiile sunt asociative iaraltemarea este 9i comutativd. pentru a le transforma Existd un numdr de reguli algebrice pentnr expresii regulate care pot fi folosite i in alte expresii echivalente, conform tabelului Tabelut 2.6.1

urmdtor.

Reeuli
rls:slr rl(sltF(rls)lt
(rs)f,=r(st)

r(slt|(rs)l(rt) /slt\e(sr\l(fr)

rl=
r":(rlX.)l

l'.I==T

Descriere Alternarea este comutativi Alternarea este asociativ6 ConCatenarea este asociativd Concatenarea este distributivl la stdnga si la dreaptafath de alternare Cuvdntul vid este element neutru pentru concatenare

r=r

Idempotenta inchiderii (produs Klee4g) sunt analogi cu forma BNF de dsscriere

Sit
'

limbajelor (sunt simboluri ale metalimbajului). Exemplul 2.6.2 Exemple de expresii regulate a) 'Expr.sia 110 reprezrnti fimbajul lormat dinn-un singur cuvdnt {110}' b) Expresia 0lI rdprezntLlimbajul {q,I}c) Expresia l'reprezint5 timbajul {I' I i70,112,...}.

'

a*b* reprezinti limbajU {a'b" lm,n > 0}; i (ab)+ reprezintii limbajur ftaU;-lm > : 0 (aalablbalbb)* reprezinti mullimea girurilorpeste {4b} de lungime par6. .' egalitatea a dou[-expresii regulate.-a'--'-----*--*--Vom defini'in continuare timbait i Def.nilia 2.6.3 Dou1expresii regulate snnt efale(:) *u echivalente dacdele reprezint[ ac-elaqi peste alfab eail {0} formate dilr Exemplul 2.6.4 00* : 0a0*10 (ele reprezio6 ur.iugi limbaj, al girurilor cel pulin un simbol 0).

d) e)

A
si

0);

ti

-23-

ffi

'1"

i.

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

0ff
}'.,!

2-6.s Elementele unui limbaj de progr p"l,l .d;li]::t^:.:l iJe"t{t;"atii p .:i ai expresiilor requrate' tnt-'::f,l} ll
Exemptul

:t

:l

cdrei reguii sunt: 'iluia"a cu'o literd,poati fi descris de gramatica regulatd ale '!::!f:::?,'.!.::" [s -+ aA lbA lcA 1... 1'zAla lb lc 1... lz to aA'lbA'lcA I ...lz| l0A i1A 1... leA la lb lc l"'l' l0l1l"' le

:niy:y:::'::y: din titere mici si cifre'

{,,,
"l

regulatI: . .:p) (alblcl . . . lzl0lll . . . le)* putbm folosi <riterd> pentm a scurta'reprezentarea expresia put6nd fi scrisd in acest caz astfel" <l i t er d> (<l i t er d>l< c ifr d> *
si de expresia o' -- -'-[ulild

rui

alblcl...lz

si <cifrd> pentu 0111...19,

este o Expresiile regulate pot fi utilizate in ecualii gi deci pot fi evaluate. De exempla, A:aAla ecualie cu o expresie regulati valid[. pentru a ptezJnta o metoda de a converti g gramaticd regulatd intr-o expresie regulat[,

consider[m gramaticaregulatd care genere [S -+


aS

az| limbajul {a*ba"ln,m > 1}'

0i

t.

regulile lnlocuind operatorul de rescriere "+" cu unul de echivalenlE (":'; gi combinAnd toate de altetnarc, gramatica care au acelagi membru steng intr-o singurd expresie prin folosirea operatorului poate fi scris[ ca o mullime de ecualii:

le*uc lc+ac [c-u

ls -+

ag

lB=bc

[s=aS1ae

Prin rezolvarea acestui sistem de ecuafii, se obline o expresie regulatd cu un singur simbol terminal, carcrcpreziinti acelagi limbaj ca 9ircel generat de gramatica^regulat[ pentru C are 56 rezoliim mai ?ntdi Lcualiitl oernit. do. prin ele insele. in acest sistem, ecualia solulia: C: a*a.Verific[m prin tnlocuirea acestei solu$ in ecuagia pentru C. Se ob]ine

[c = acla

a*a:
sau

aa*ula,

altfel scris
a*a. poate fi inlocuiti tn a doua ecuafie, oblinind sistemul: Solulia pentru C
a(S lB) Js =

a*a: (a a* | l,) a, dar a a* | l, = a* pi deci se verificd a*a=


: L

lB=ba*a
Apoi B poate fi inlocuit in pn4a ecualie

S=a(Slba*a)

sau expresia echivalent5:

S: aS I aba*a

J' d: '

S= a*aba*a
care

este;

";p;;.;egulatd p r"r"ita*in continuare algoritrnul

reprezentdnd acelagi limbaj ca qi limbajul generat de gramatica. iniliald. de trecere de la o gramaticb regulatl la o expresie regulat[.

Algoritm de transformare IEXFRESII REGULATE]


-24-

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

Infrare
Iesire

O gramaticdregalatd G, avand regulile Expresia regalatl, echivalent6 cu G.

X,

V, V {aX,,a}, cu X1, simbol inifial.

Pas 1. Transformarea tn ecualii regulate:


- Pentnr fiecare

| I l L

lui G, -Dacd ecualia X; nu a fost inrlializatd

regul[

X,

lp

Execut[:

defineSte X, = V l " Altfel schimbd X, = o prin


r

at*ci

X, = al V, unde o este partea X, = o,X, lVi, unde y,

definitd anteriora

luiXl)

Pas 2. Aducerea informd intermediard a sistemului de ecualii: - Pentru fiecare i:12,...,D-1, Execut6:

- Transforml ecuafia Xi in forma


90,,

este de

forma

lF,*,,,X,*, 1...19*,X. iar o1 gi fiecare pj,t sunt expresii regulate peste V1. - Pentru fieoare j:i4l,i+2,...,n, Execut[:

f,inlocuie$e
Pas 3. Rezolvarea ecualitlor:
- Pentru fiecare

X ru (4)*V,

in ecualia pentru

X.;.

i:n,n-l,. ..,2,1, Execut6:

- Transformdecua[iaXi din forma

X, = o,X, lyf

, unde

vl

este o expresie regulat6 peste

vr, in

4 =(o,)*{.

- Penku fiecare

j:i-1,i-2,...,2,1, Execut[:

inlocuiegte solulia

(o,)*rf,

lui Xi in ecuafia pentru

{.

Pas 4. Stabilirea soluliei:


-

Solulia.rtr

(q)*{

0bsemalia 2.7.1 , a) Primul pas al algorihului transformd gramatica regulati intr-o mullime de ecualii de X, = b, 16, 1... 16. lV;X,l,VrX,. l... lVrXr

forma:

i i

i
l i
.

unde fiecare

6;rVi e V..

b)

Pasul al doilea al algoritmului transform6 fiecare ecualie ia forma:

c)

1ucruposibilefectudndoseriedetransformdrialgebrice.:

X,=o,X,lpr., lBi*r.iXi*rl"'Ip*iXo.,

'

in pasul al treilea se face substitulia inapoi pentru arezolvamullimea de ecuafii. Solulia pentru Xui este ugor de' glsit pentru c[ aceastd ecualie este de forma Xo = o"X" lpo,, gi deci solu,tia estc',
Xo = oo *Fo,o. AceastE solufie se poate inlocui apoi in fiecare din ecualiile precedente din sistem, acolo. unde apare Xr. ln general, indatd ce ecuafia pentru Xi a fost rczolvatl gi inlocuit[ in ecualiile precedentei renflt c[ este rezolvati gi ecuafia pentru X;-1, caro are numai variabilele Xi gi Xi-1 in membrul drept, iari X; a fost inlocuit. Exemplul
gramatica:

2.8.1

C = ({S, A,

Folosind algorimul IE)(PREStr REGULATE], sd transformlm B }, {a, b, c}, S, P ),"unde P este format6 din-regulile:

in expresie regulati

-25 -

I
&

'f.

Erl LIMBA"'E FORMALE 9I TEORIA AUTOMATELOR


'"I T

t t t

lslA + aA ]e -+ un lA u

[s -+

aA

ln-.
Y

ls -r te

Pasl. jA=aAlbBla

[S=aela

[B-bBlc
Pas2. Nu este,necesat

Pas3.

i=3 =ll B=b*c ;-z =ll o=aAlbb*cla t-, *cl{a}a ll A={a}bb :_, * ll S =a(a*bb*cla*a)la r=r =ll t
=a.a*bb*claa*ala
{a"b'c ln,m > 1}U {u" lo > r}.r

Pas 4.

Solulie: S: aa*bb*c I aa*. Limbajul reprezentat de aceastd expresie regulatd este

Exemplal 2.8.2 Folosind algoriffiul [E)GREStr REGULATE], sd transformdm in expresie regulat5 gramatica 6 = ({S,a,B,C}{a,b,clS,P), unde P este formatd din regulile:

le-ua
Jn-+an

l.s

-+ ae

lB+bC

lc+ca
lC+c
Y
Pas

l.

ccBlc. Este neiesar atunci pasul2 pentru transfomarea tn form[ intennediar[:

|.S=aA
I

pas2. JA=aAlaB

lB=bC

Pas3'

i=4 =ll t=(cb)*c


+ll
=ll
B = b(cb)* c

[C = cbC lc ll c=cbC lc

i=3

i=2

d = {a}aB

A=a*ab(cb) *c
-26-

LIMBAJE FORMALE 9r TEORIA AUTOMATELOR

= aaa*b{cb)*c sau, eclivalent, S : aaa*bc(bc)*. Limbajul reprezentat de ac expresie regulati este {a" (bc)' I n > 2,m > f}. r
Pas 4. Solufie: S

S=aA S=aa*ab(cb) *c

2.8

Echivalenta dintre expresiile requlate si automatele finite nedeterministe

Expresiile regulate sunt importante pentru construirea unur generator de analizor lexical, cars folosegte ca intrare expresii regulate. Vom prezenta in cele ce urmeaz6 metode de generare a unui acceptor cu numir finit dg sted dintr-o expresie rcgalatl sau generarea unei expresii regulate dinn-un automat finit nedeterminist. Vou ardta deci cd expresiile regulate gi mullimile acceptate de automate finite nedeterministe sunt echivalente, deci cl mul1imile regulate gi expresiile regulate reprezintl aceleagi mulfimi. Pentru construcliile ce vor urma, este necesar6 urm[toarea defini1ie. DeJinilia 2.9.1 Un automat finit nedeterviinist cu )"-tranzi[ii este un ansarnblu M:(Q, X, 6, qo, F) ale c[rui componente au aceleagi semnificalii ca la un automat finit oarecare, doar cd funcfia de tranzilie
este

definiti asffel:

Avem o ).-*anzilie inte doui configurafii (p,*) l- (q,w) dacd gi numai dac6' q e 6(p,l), p Q, w E'. ln reprezentarea grafrcd, o asffel de tranzilie, practic fbrd citirea benzii de intrare la acel
pas, aratd astfel:

6:Q x (r U {r})-+ P(Q.

@T
.ii

Figura 2.9.1

Teorema 2.8.1. Multimea cuvintelor recunoscute de automatele finite cu }.-tranzifii este aceiagi cui mullimea cuvintelor rlcunoscute de automulsls fi nite nedeterministe.

i
L

; YDemonstratie S. -uA ip tSt ,e automatele finite nedeterministe cu L-tranzifii sunt echivalente cu cele ftri l.-tranzifii. i Vom da aici un.exemplu de utilizare a homomorfismului pentru a da o altl demonstralie [7] a acestei; afirmalii. Fie'automatul finit cu l,-tranzifii M : (Q, E, 6, do, F), unde consider6m l, un-simbol care nu; esteinE.Consider6macumautomatulfinitnedeterministM',pestea1fabefulEu{}"}: M' = (Q, Xv{},},5, qo, F), Definirn dcum acceptarea pentnr automatul cu cu l.-tranzifii dupe cum urmeazE: pentnr orice I i din X*, automatul M accepti x daci existdy in (Xv{},})* astfel incdt: - M' acceptdy relativ h dsfinilia accept6rii unui automat finit nedeterminist; , - x este oblinut din y prin qtetgerea tuturor apariliilor simbolului L; atunci x : h(y), unde: i h: (Drt$j)* + E*, t --'-n'-'"* t estehcimomorfrsmul definif db :'''
I

h(o)=apenffuaeZ
h(1) =
acest fel L(lf4) h(LOI')). Dar multimea qi L(M) este o mu{ime regulatd. A rezulta ce

in

)".

L(M')

este

regulatl 9i conform teoremei 2.9.11

'ta

-27 -

LTMBAJE FORMALE 9l TEORIA AUTOMATELOR

Algoritrnul de conversie

unei expresii regUlate intr-un AFN este

urmitorul:

Algoritmul z.g.l. Construclia unui automat

finit nedeterminist cu b-tranzifii pentru o

ltftare: 'leqire: 'rtrtoaa, l.

eipresie regulatd.

o expresie regulata r peste un alfabet

-,-,j (2) Construim ly', parcurgdnd arborele sintactic de jos in saq, aplicind regulile (1) si (3) unde: rorti"aoa automatele oblinute la fiecare nod, cu ajutorul regulei pentru 1,, construim

vnAFN,l{pentru

limbajuJL(r)

I,

sub forma unui arbore sintactic'

li

automatut-n_n

a,/-

cu j noua stare

iniliali gi/noua

stare finald. Automatul va recunoaqte

limbajul {X}.

2.

pentru ae

I,

construim automatul

ffi

3.

cu I noua stare inifialI dace N(s) $i

gi/noua stare finalI. Automatul va recunoaqte limbajul {a}. N(0 sunt AFN pentru expresiile regulate s 9i t atunci: a) Pentnr expresia regulat6 slf construim urmitorul automat N(slo

iniliale cu r'noua stare iniliald a lui N(slr) gi/noua stare final[. Avem ]"-tanzilii de la i la fostele 516i Astfel, automatul N(sl4 ale lui N(s) gi N(r) $i i,_ranzifii ae ia fostete geri finale ale lui N(s) gi N(r)

lal

recunoagte

L(s) U L0).

b) Pentru expresia regulati sl construim urmdtorul automat N(sf)

, i , i

N(r) a starea inifiala pentru N(s) a devenit starea ini$ale penfru N(t_4 9i starea Pj"tto N(r) Orve*i starea finala fentru Nt"rl. Starea finalE pentru N(s) este identificat[ cu starea ini!ia16 pentru li oo* rtur" ctea6'in NGt igi pierde statutul de stare inilial[ sau finald. Astfel, aufsmatul N(sr)
unde

i,

Tli

recunoagte

'c)

limbajril L(s)L(l).

Penku.*pi"titit giath s* constnrim

automatul N(s*)

,i t;
t
t

-28

LIMBA.JE FORMALE $I TEORIA AUTOMATELOR

cu i noua stare iniliala pi/noua stare final[ pentru N(s*). StErile iniliah gi finald pentn: N(,si igi pierrii acest statut. Asffel automatul N(s*) recunoagte limbajul L(s)*. Exemplul 2.11. SE folosim algoritmul ?.3. pentru a construi AFN N(r) din expresi:: regulati r(alb)* abb. Arborele sintactic al expresiei regulate date este:

PentrusimbolulaaYem: sm
Pentru simbolul b avem: Pentru alb avem:

Parcurgdnd acum arborele vom avea:

ru-re
/-:.. I

)
(

\ ;!
Pentru (alb)* avem:
I

t.
I

t'

Contindnd acest proies, in final vom obline automatul urmltor:

\
-29 I
I
t\

tG=f ry

:r

LTMBA.JE FORMALE

9l TEORIA AUToMATELOR

,"F
e
)

* '|'
astfel sunt nedeterministe cu 1.-tranzilii' Toate automatele construite

'-[

finit expresie requ\td R, existd un automat Teorema 2.8,1 Fiind datd o de R. nririr*t"ist si cu ).-tranzilii, care acceptd limbaiul generat Y Demonstratie: ale expresiilor regulate. construclia - se face piin induclie in raport cu fiecare din cele bei operalii de stare definite mai sus. A formaldse deduce din diagramele
limbajul L, existd Fiind dat un automat cu numdrfinit de stdri, determinist, care acceptd r"prrsie regulatd care reprezintd limbaiul L' V iemonstratie: intr-o gramaticr de tip 3, dup[ - se aplic[ algoritrnu] de transformare a automatului finit determinist a expresiei regulate echivalente' A care se apiic[ acesteia algorimul de determinare
Teorema 2.g.2. -o

F cu numdr

de stdri'

o parte importantd o Vom studia o serie de propriet[li ale limbajelor regulate dintre..care nveguttela operatiile cu limbaje introduce in $ formeazdpropritifile de inchidere ate amiliei limbajetbr tip J, recunoscute de automatele finite 1.3. Penff' ca UnbajJ, J, tip 3 pot fi generate d9 fa'ma]itidt von folosi oricare dintre aceste ,uo t.pt.r.ntate de expresii regUlate, in demonstafii
Teorenta2.9.lC|asa1imbaje1ordetip3este?nchis6inraportcureuniunea. Y Demonsiratie: sau folosind gramaticile generative Demonstralia se poate face folosind automate finite nedeterministe un exercifiu). de tip 3. Alegr. i"u de a doua variantl GrimapoaJe.gorytitui \ Gz: FieL1, Lz dott1limbaje de tip 3 generate de gramati cile Gr,

Jo,=(v$,,v+,,,s,,p,)
')

presupunem ce

a variabilelor astfel incat 6a caz confrar, se poate face o redenumire construim: condilia s[ fie indeplinitn fiindcd variabilele nu apar in cuvintele limbajului) 9i G, = (votu v,f' U { s, },vf" U vf',s,,&),

lo,=(vf',vf',s,,P,)
V$) n
Vnlt,

;unde{t,o,):L,riit
l.L(G,)=L,i{r}

*A

uod.

.I

Is,

* u$''U vo'
:

lP,=t,UPrU{s,-+olS,roeP,sauS r)QtP,}
L, (S, + ], e P, sau S,

Dac[ ], e L, U
Fie

]" ]. e Pr) atunci la mullimea regulilor se adaugl S, -+ '

w L,.Atunci:

(weL,)

= (t,a"i*) * ('?*, S,J o'r,)'


w L2.
*t

Similarpentru

: Dacia?W,oS:, ..i--**--"Gi

,
ir

atunci

o+ Gl

sau c,?w
tJ2

duPd

cum

o e (v$'}

UV.f")

sau

ae(vf,Uvf)).r
Teoremu 2.g.2. Clasa

limbaielor de tip 3 este inchisd in raport cu complementarea'

V Demonstralie:

-30-

LIMBAJE FORMALE 9r TEORIA AUTOMATELOR

Sd arit6m aceasti proprietate folosind automate

automatfinitdeterqdnist, astfel inceiT(M--L.Fie E, Construim

finite deterministe. Fie M = (Q, E,6, qo,F) E gis onoud stare (s eQ). '
unde:

M, = (a U {s},X,,5,,g0,(Q \ F) U {s}),

pentru q e Q, a e E, \
pentru a e E, M1

este construit addugdnd o stare "capcand" la mullimea st6rilor, stare in care automaful intr6 pentru orice simbol care nu e in X gi rdmAne in ea indifferent de simbolul de intrare citit, iar apoi schimbdnd stirile finale cu cele nefinale.

Un cuvdnt din X, \
acceptat de

T(M)

este sau un cuvdnt din

Q \ F, sau este un cuvdnt care conline simboluri din X; \ E gi in momentul depist5rii ungi astfel de simbol Mt nffi in starea s in care rdmdne pdn6 analizeazE" tot cuvdntul. A

M, adicd

'6(qo,x)

t* de la care M na ajunge in stare finali,

deci care nu e

Teorema 2.9.3 Clasa limbajelor de tip 3 este inchisd in raport cu interseclia. Y Demonstratie:

Varianta

1.

Folosim pentnr aceast5 demonstrafie una dintre relaliile lui DeMorgan, din teoria mu$inilor:

L,nL2
nnde

-L'l)Lr,
dac6

rcprezrnttrcomplementaralui L.
este

Din teoremele 2.6.1 Si 2.6.2 ren;Jti deci cd

L, l^ll-,

regulat.

Lt gi 12 sunt limbaje regulate,

atunci

gi

limbajul

I
r

Sigur ca aceasta este o demonstialie eleganti a teoremei dar eanu ne fixnrzeazdnici un mijloc de a construi gramatrca sau automatul pentru cdnd cunoagtem gramaticile, respectiv butomatele, fl

t,

L,

penku Lt ,i Lz. Prezentfum in continuare o asffel de demonstraf;e, care se poate face construind un automat finit care sd simuleze in paralel cele dou[ automate Mr si M2 astfel: Varianta 2. Fie M, =(Q,,x,,6,,Q,,4) gi Mr:(Q'xr,6r,qr,4) doui automate finite deterministe. EIe acceptdmu$imile regulate T(Mr) : Ll,taspectiv T(M2): Lz. Presupunem ci Q, n Q, - A (dacE nu, se face o simFle. redenumire a stdrilor hecEruia dintre ete, de i exemplu prin renumerotare). Putem presuplne cE E, -2, =X (dac5 nu, creim E = X, U Ir). Construim automatul finit nedeterminist M3 care accept6 intersecfia L, (-l L' dupi cum urmeaz6:

I
I
e

Mr : (Qr x Qz, E, 6r, [qo,qr], F1 x F2), unde

d': este

5s([q,p|,a):[r,t]

efi(p,a):rFi 52(q,a):t

definit de :
.F"/

Evident c[ automdtul M lr;ffiintr-o sare fiaalI din F/ x Fz dacl gi Mllrltrd intr:o stare fina16 din intrl int-o stare final5 dlnFz. L
Teorema 2.9.5 Toate mullimilefinite sunt limbaje de tip 3. V Demonstratie: Dac6.L este o mulgime nnite ae cwinte, atunci L {w,,...,

gi Mti
a

i
l $r

w. }. Ardtdm ?ntai c[ pentru fiecare cuvdnt wi L, exist6 Gi o gramaticd de tip 3, astfel L(G,) : {t, }. fir wi: a1ct2. . . an. Atunci mullimea de reguli: S -+ arAr
- 31

incit

ir
I

aj

LIMBA.JE FORMALE 9l TEORIA AUTOMATELOR

Ar

---+ a2A2
&n-tAo-t
an

Ao-z'+
Ao-t --+
senereaze cuvantul
w

i adicd;

ta*
Deci limbajele

{w,},-*

sunt regulate.

Cum L este un limbaj finit,

L = U{w, }, rolosino
i=t

Teorema

2.6.I

rezult|t

cd Leste un iimbaj de tip 3.

frntt M, astfel incdt T(]\I)=L. O demonsfafie echivalent[ se poate face gi construind un automat
de oglindire. Teorema 2.g.6. Clasa mullimilor regulate este inchisd in raport cu operalia

V Demonshalie:
Fie un automat

finlt M = (Q,X,6,Qo,F). Consider[m mullime ategalatd L:T(fuT'

Definim automatul finit nedeterminist M'astfelincdt sI funclioneze'oinvers" fa\d de M: M;=(aU{ql},X,6',qi,F'),unde F'={qo} dac6},"eT(tvf) sau F'={Qo,qi}dace avind tranzitiile:

}'eT(M)

[p.6'(ql,a) J' I
[p e 6'(q,

dace 6(p, a) e F dacd 6(p, a) = q


ca
(vezi gi definilia oglindirii unui limbaj, in capitolul I,

a)

Este ugor de demonsfat acum

paragratul$1.3).4 V'Demonsuatie:
ci

T(M) -l-

\.
dlncatenare.
,

Teorema 2.9.7 Clasamullimilor regulate este inchisi in raport cu operafla

Fie M, = (Q,,E,,61,g'F,) 9i
presupunem

M, : (Q'Er,6r,Qr,$)
fM2).

dou[ automate finite deterministe'

Ele acceptE mul1imile regulate T(Mt), respectiv

A (dac1 nu, se face o simFl6 redenumire a st[rilor fiecdruia dintre ele, de exemplu prin renumerotare). Putem presupune cd E, -2, =X (dace nu, crelm E = E, U Er)',
Q, n Q, =
Construim automatul finit nedeterminist M3 care accept|concatenarea
urmeaza:

T(M,)T(Mt)

dupd cum
;

M, = (Q, U Q'X,6',Q,,4) dzcd 9Q,,PQ, [p.0,(q,a) ,


i {q,,p} c 6r(q, a), dacd
I

\F

$i 6,(q,a)=P

cu . gr

I 6r(q,a)-P tpe.6,(q,a), dacd 9,PQ, $i 6'(q'a)=P lE,daseLeL, F.={

Q,,p F, $i 5,(q,a) =p

.,

Aut&atul g*irf,fi astfel construit va simula pe M1p?,ndCand iCeiti va intra intr-o staie frnal[, moment in care Mj poate iot a in starea iniliald a lui Mz siu poate continua sd simulez e Mt. Atunci citnd Ms ajunge in starea inilialI alui Mz,il va sirnula pe acesta din urmd pAnd la oprire' Se demonstreazduqor cE T(M,) = T(M' ) 'T(Mr) ' A

-32-

LIMBA.'E FORMALE SI TEORIA AUTOMATELOR

Teorema 2.9.8 Clasa mulyimilor regulate este tnchisd tn rapbrt cu fnchiderea Kleene. V Demonstrafie: Fie M (Q,X,6,Qo,F) un autgmat finit determinist acceptdnd limbajul regulat L:T(M).

Construim automatul finit nedeterminist:

M'= (a U {ql},X,6',ql,P
Dac

{ql})

Dac 5 6(go,a) = p e F, atunci 6'(ql,a) = {p, qo}

6(qo,a) = p F, atunci 6'(ql,a) = {p}

Dac d 5(q, a) = p Dac E 6(q, a) = p

F, atunci

6'(q, a) = {p, qo}.

F, atunci 6'(q, a) = {p} Se adaugi astfel o nop6 stare inifiali qi pentru cE", dacdl. trebuie sd aparginE lui T(M)', nu putem forh
q6 sE

aparfin[ lui F: cici M ar putea intra in

Qo $i pe

parcursul accept[rii unui cuv6nt c6nd go

F.
sunt

a) DacE

xeL'

atunci

x=1,

gi

6(qi,l,)-q;

Frsau X=x1x2...xn cu x, e

L,

iar in acest caz

posibile situaliile:

(p, xz...xo), pe F (pentru cd x, eL) dar in continuare nu e sigurci automatul va conduce laacceptarc (pomind din stareap cu girul rdmas). Alegem atunci a doua variantd: a.2) (q:r,x1x2...xa) l-' (qo,*r...xo) l-. (Qo,x:...xo) l-'... l-.(qo,*o) F G,l) unde r e F.

a.1) (ql,*,*r...xo)l--

Aqadar

x e T(M). b) Dacd x e T(M) gi x:a1a2...a., atunci existi stirile 6'(ql,a,)

Qr,(12,...,gm asffel incdt:

[0,=

lei*,

6'(ql,u))x
q, e

fl'=r
Lri q, ,g2,...,

Atunci, pentru un anume i i*t = I

avem:

,"1

lE(q a,*, ) e F ', DecixpoatefiscrisinformaX:X1x2...Xn,unde

{n

sau 5(q, ,4,*, ) = gi*r

x, e L ( 6(qo,x.,)eF ).4

Teorema 2.9.9 Clasa mulyimilor regulate este tnchisd relativ la substitulia cu mullimi regulate. Y Demonstratie:

c E' omu{ime regulatS gi pentru fiecare a t fie R" c A' o mullime regulat[. i Fie f :X-+A. osubstitulieregulatiaffu):Ro. PentnrcaR giRo,pentrufiecare adtnR,suntmulfmii
Fie R
regulate ren;irti c5' existii cdte .o expresie regulati care s[ le reprezinte, expresii care confn un numfr I finit de opratori *, . ,sau i Se observ6 ca substitufia unei reuniuni, a unei concatendri sau a unui produs Kleene este reuniune4 j

l.

[rG, U R,) = f(R,) U r6n,; l^,h\ {rG, 'R,) = f(R,)'f(R,)

lrtnl.

.) 1".,.._:;..,''/
= f(R

i
t

-33-

r*

I !

LIMBAJE FORMALE $l rEoRlA AUTOMATELOR

gi respectiv produsul Kleen9 sunt reprez entate de cei frei operatori ai unei Dar reuniunea concatenarea si e2 vom avea: *, l*pt6ii regulate: . , | . Deci 9i pentru dou6 expresii reguiate e 1

lrrtt t er) = f(q) lf(er) I' I (tt 'e') = f(q)'f(t')

qt-; [r1eY = foiosili de expresia regulatl reztltd cd:. dacd Folosind induclia relativ la numlrul de operatori A ;;;;;r" t.gri atn an.,,,cif(r) este tot o expresie regulat1',ceea ce trebuia demonstrat'

este o

de-homomorfism. sE introducem 9i inversa acesteia: in capitolul l (paragraful $ 1.3) s-a definit operalia g. n eflnim hom omorfismul inv er s asffel: n etrni|a Z. h-r G): {" 1 n61 .

r}

n'(*)={xlu1x;=w} n"(*)Jx<+h(x)=ry lnla;l=t


Teorema 2.9.10 clasa mu$imilor regulate este tnchisd homomorfisrnul invers

tn raport cu

homomorfismul

gi cu

..F prima cerin!6 a acestei Deoarece h(a) e vn cazparticular de substitulie, Teorern a 2.9-l}justifrcd teoreme. un.automat un limbaj de tip 3 gi M automatul finit care recunoagte L T(M). Construim iir*" rein controlul s5u finit tuncli*.o1area lui M corespunzator cu Fig'2'9'1' fi"it M'

Demonstratie: ;;";l--t(t);;r
a0
41

------ii.I

Aqtomatul M

vafi un autom at cu ?t-tranzilii


Ai

care citegte cdte


%

uisimbol a; de pe banda de intrare

9i

Fig.2.9.1

din controlul sdu finit' t senereaz[ Dentru simbolul de intrare citi cuvSntul h(a) inf,-o zond de memorie un simbo-l de intrare, l-r r i Apoi efectu eazd o serie de l.-tanzifi in girul de intrare, adicd nu mai citegte nici termind dp citit h(a) 9i gi i i*u..rt timp simuleaza acliunea automatului M in controlul s[u finit' Cdnd M de memorie in care zouasa ,i uuro rt-.# o stare finali (adic6 M accepttrh(o)) atunci Y.'isi goleqteface. gi pe^p"3l95; relinani in
i

_i_t.piu, -i-zoou

: i J I*
i Y'_

gi citepte un nou simbgt.de intrare(a9,e"Fle gtlgg s.9 roajS oo.ui partea necititi an n(oi>. Mtconiinua d5,a1e1sji manierd pin[ c6nd nu mar are s6u nici un simbol de intrare^de citit gi zona sade memorie este goa16. F,vident M' termind de citit 9iru1 O. inhare numai dacd M a acceptatfiecare h(a) pentru i de la I la n. p;il;;;;;;;; .oorid.* fiecare ,t#'q rui M' de forma [a,q]vnde a este partea necitita din tt\ui) iar g gsle 0 sLalc a lui M. Funcfia Lrv rrQu't h(a;) lar q este o stare d LuL tt4. -f uuvFa. de tranzifie, 6', 3 lui M'se defineqte astfel:

"ii A;;;;;

nf"l

-34',,

LTMBAJE FORMALE

9l TEORIA AUTOMATELOR
)")

i1 memoril lui $'([ba,qJ, funcfionarea lui M pt rro sufix al luih(a), in controlul s[u finil A T'(ft,qJ,a)

: ft(a),q]

M'

genereazd h(a),

6(b,q)J M'simul

1.

6 2.10 Exercitii
SA

.""riderdm automatele finite nedeterministe M1 $i Mz, ale cdrat

de tranzigie

sunt definite in urmltoarele tabele:

6r
Qo

t
0
90,9r
Qc
1

6z

t
0

I
q
Q,f

Qo

p
q

I'S

Qt

Qz

r
s

Qt
Qz

Q,

9:
Q:

r
S

p p

Q:'

9:

Mr:
SI

(Qr,

E, 6r, qo, { qr})

M2: (Qz, I,

52,

P, { q,s})

se construiasc[ automatele

finite deterministe echivalente pentru fiecare dintre cele doud automate.

S[ consider6m automatul finit din figura urm6toare. El accepti cuvintele cu numlr par de 0 9i num5rpar de /. Sd se construiasc6 un automat finit care s[ accepte cuvintele cu:

a. Numirpar de 0 gi imPar de 1; b. Num6rpar de / gi imPar de 0;


\

c. Num[r imFar de 0 gi impar de /;

3.

Slse construiasc[ automale finite d.eterministe pentru fiecare dintre mullimile urmitoare: a. Mulfiniea cuvintelor peste alfab efiil {0, I } caxe se termini in a I 0; b. Mu{imea cuVintelor ieste alfab etut 1O,iS care congin cel pulin trei ap.arilii c.olsecutive ale lui /; c. Mulirmeacutintelorpeste alfabeailO,'tl pentru care fiicare aparilie a lui 1 este urmatd de cel pulin doul aparifii ale lui 0: '-'l-.-M;fi;t;rrintelor peste arab etul {0,1} care incep cu / 9i, interpretate ca un numir inbaza }, sunt divizibile prin 3; e. Mullimea cuvintelor peste alfabetul {0,1} pantru care al treilea simbol de la dreapta spre stanga
este 1.

4.

Se se construiasc6 automate

a. b.

finite nedeterministe pentru fiecare dintre mul1imile urmdtoare: Mu{imea cuvintelor peste {0,1} astfel incdt s[ conlin6 doi de 0 separali de un numdr pat de 1: Muliimea cuvintelor ieste alfabetul {a,b,c} astfel inc-dt sd conlind subcuv0ntul aba sau bab-

-35

I.IMBAJE FORMALE 9I TEORIA AUTOMATELOR

5. ponrind de la automatul iimbajul r04.


6.
SE se

finit din exerciflul2

sd se construiasci

o gramaticl

de

tip

-J

care sd genereze

construiasc6 un automalrylt 9i o gramaticd de tip 3 pentru limbajul;

L = {a (otbt)'b

i>

A}

este formatd din regulile: 7. Se considerl gramatica G = ({S,A,B}, {o,b},,S, P/ unde mullimea P ,S --+ aA, $ --> bB, A + aA, A --+ aB, S -'+ bA, B -'-+ b

SI

se construiascd:

a. IJnautomat finit care sE recumoascd L(G); b. O expresie regulat6 care si reprezinte L(G).
g. S[ se construiasc L cdteo expresie regulat[ peste alfabetul {0,1} pentrufiecare dintre limbajele
urm6toare:

a. Mulimea futuror cuvintelor care conlin 1101; b. Mufimea tuturor cuvintelor care ou conln 101; c. trtuilimea cuvintelor peste alfabetul {0,1} astfel incAt s[ conlind trei de 0 separa]i de un num6r impar - ^ de /,' d. Mullimea cuvintelor peste alfabetul {0,1} pentrucare fiecare aparilie a lui 1 este urmat6 de cel pufin doud aparilii ale lui 0: e. Mul1i-ru cuvintelor peste alfabetul {0,1} carc se terminl in I I t; f Mulirmea cuvintelor leste alfabetul {0,1} care con{in cel pulin doui aparilii consecutive ale lui
constnriasci cite un automat finit pentru fiecare dinfre limbajele descries de urmltoarele expresii regulate: a.(1110)* (0011)*;
SE se

0.

g.

b.(11011001)*
c. (0011 I

(0100)*;

\1-

i0.'

ll0l01)*. $[ ss minimizeze artomatele finite

\
a, b, c, d, e.

de la

exerciliul3

t
l
L

t
f

-36 -

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

GAPilMM

fffffl

GMMAflGil ilNDEPENDEffi DE GONffiffi $il AWMAffi PU$HOOffi


Capitolul III este dedicat limbajelor de tip 2 din ierarhia lui Chomslqt, numite limbaje independente de context. Se definegte no{iunea de arbore de derivalie, noliune foarte importantd tn teoria compildrii, iar apoi se introduc formele normale: Chomslry Si Greibach, pentru gramaticile independente de context. Se introduce aici un nou tip de anttomat, numit automat push-down nedeterminist, Si se demonstreazd cd acest automat recunoaste limbajele independente de context. Se studiazd proprietdlile hmbajelor independente de context t. Capitolul III se fncheie cu probleme propuse
spre rezolvare.

3.1 Arhqri de derivalie pentru qramaticite t.D.C.

Limbajele independente de context sunt generate de gramaticile de tip 2 din ierarhia lui Chomsky, adic[ gramatici de forma: G : ( Vn, Vn S, Pf,unde mullimea regulilor P este de forma;

A-+o,,cuAvariabiledinVy,iaraungirformatdinvariabitregiterminale,adic6oe(VNuVr)*.
Vom prezenta o metodEvinrald de descriere a oric[rei derivalii intr-o gramatici I.D.C sub forrna unui arbore de derivatie. Definilia 3.1.1 Un glaf de trp arboreeste un graf cu urmStoarele proprietE,ti: i) existd un nod in care nu intri nici un ari, numit rdddcind; ii) in oricare alt nod intrd exact un arc; iiif, existi un dnrm de la r5d6cini c6tre oricare nod (graf conex); ivflqaurile din care nu pleacl nici un arc se nvmesc frunze. Dgfiniyia 3.1.2 Fie G: ( Vg,Y7,S,P) o gramatice I.D.C. Un arbore de derivayie in G este un arbore in

care:

i) fiecare nod este etichetat cu un simbol di" \ U Vrt ii) eticheta r6d5cinii este ,S; iir) dac[ nodul A are cel pufin un descendent atunci el are o etichet6 din Vy; irr) dacd 41, Az, A3,....,ip iunt toli descendengii direcli ai lui I in ordine de la stinga spre dreapta
I

atunci : A+Ailz...Apeste o reguli din P.

A-+A/2...4p

Exemplul3.l.l

Fie G : ({S,A,B},{a,b},5,P), undg mullimea P conline

regUlt_l-e,'

-37 -

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

S-+ S-+ S-+ S-+

aAB
a

bBA
b
aS

A-) B-+

bS

Pentru aceastl gramaticd, un arbore de derivafie avdnd frunzele a,a,b,b gi a este cel din figura 3.1.1.

A Figura 3.1.1.
de la Definilia 3,1.3 Se numegte rezultat al unui arbore cuvdntul format din etichetele frunzelor citite
stdnga spre dreaPta

Exeinpiul3.l.2 Renltatvl arborelui


Vom arlta mai tArziu cd dacd

de derivatie din

figura3.l.l.

este

cuvintul aabba-

este rezultafirl

unui arbore de derivafie, atunci S

o.

Definilia

3.1.4

Se numegt e subarbore al unui arbore graful format dintr-un nod impreun6 cu toli

descendentii sdi.

Exemplul3.l.3

#b
6
ab)A
Teorema 3.1.1 Fie G =(V*,V7,A,P
i

) o gramaticd I.D.C. Atunci pentru a+)\", /^t=u,) e 'c',


t

existd

ii
I

arbore de derivalie in gramatica G al cdrui rezultat este U V Demonsuafe:

I.

vom demonstra c5

dacd Gt=(vw,Y7,A,P) atunci

pentru aice A in vn

avem (A= u) G^

dacd 9i

l' li
t !
I

t' i
r
I

numai dacl existi un subarbore cu rlddcna A al cdrui rezultat este Se observ[ cd regulile din P sunt'aceleaqi pentru orice gramattcl. Ge, deci
.

O.

t,
!.
t

ii
f,
t

f-G^GB gi,pentru cd G :Gs,aveln


a) presupunem

e=ol

<+

(A=u)
Gi
demonstrdm prin induclie,

(e?a) <+ (e?o).


rezultatul unui arbore de derivare in gramatica

I I
i I t

cd

CI este

r iI

in raport cu numdrul de noduri care nu sunt frunze , cd

e *'

I
i

-=f

-38-

LIMBAJE FORMALE $I TEORIA AUTOMATELOR

a)Dacd exist'd un singur nod care nu e frunzd atunci arborele ant6" cain figura 3.L.3. Rezulti cd s.:AtAz..,Ar gi, din definilia arborelui de derivalie, avem

A-+ a e P, deci

Figura 3.1.3.

a=a
a2) Presupunem

unui arbore A cu n noduri care nu sunt frunze gi cE rezultatul anterior este valabil pentru arbori cu cel mult n-I noduri care nu sunt frunze Considerdm descendenlii direcli ailuiA: Ar,A2,...,Ak,deci(A1Ar....AreP). Dacd Ai nu e o fn)n26, rcnilti, c6. Ai este o variabild, rddlcind a unui subarbore cu rezultatul o; gi cu cel muJt n-l noduri care nu sunt frunze Dacd Ai este o frunzE, punem Ai 0 i. gi to}i descendenlii sdi se aflE la stdnga lfi Ai gi a tuturor Se observ[ cd dacd < i atunci nodul descendengilor s6i. Rezulti cd o : e tcL 2...... cLn. gi cu cel mult n-l Deoarece din ipoteza inducfiei oi este rezultatul unui subarbore cu r[ddcina

c[ CI, este rezultatul

: {

l;

noduri Deci

caxe nu sunt frunze

,rentlti

cd

(Ai=

o i).

?OtOr...Ar
I

+
,a

or(l2...ok = 0,

'.aotca

(e?a).
de pagi

b) Presupunem acum cE A:?o. Vom ardta cd existi un arbore de derivatie cu rezultatul c, tn Ge, prin
induclie relativ la numirul
b1) DacI

ai derivafiei.

A?o Ga

intr-un singur pas rezult6 cL (

A->

CI,

P ) gi daci d:AtAz...An renilti, dio


j

definifia arborelqi de derivalie ci existd un arbore cu rezultatul

c:

i
\
1

-fisary J,I.4

-39-

ffi :i :.. f
4,

LTMBAJE FORMALE 9l TEORIA AUTOIVIATELOR

b2) Presupunem

ci A

eo

in n paqi 9i c[ pentru orice .deriv alie

lui B cu num6rul

de pagi mai

n exist[ o deriva{ie cu rezultatul B. rie primul pas al derivaliei A=o de forma Ai savderivat dintr-un Aiincelmult n-L A*AtAz...l*. Atunci orice simbol al lui o, este sau unul dintre
mic decdt
pugi

Orri,.*ir,a

cand subarborii T1,T2,..,Tpde rdd[ciniA1,A2,...,Ak, cu rezultatele O',,d2?"'rU'*atunci

Ai?0i. U4
Deci dacd la arborele din Figura 3.1.4 ad6uglm subarboii Ti, oblinem:

il
i

,l

igura

3 .1 .5

are Rezulti cd arborele din Figura 3.1.5 (in care cdte un arbore Tipoate fi vid, dac[ '\e.V1) a!"z""a"t : o ' A rezultatul format din rezultatele subarborilor 71, ...,7* h ordine de la stinga

3.2 Forme normale

in care poate ar6ta cdpentru orice gramatic[ independentii de context, exist6 o gramatici echivalentS r.gUtit. au forme particulare, forme ugor de utilaatin demonstrat'i.
S9

Forma normald

ChomslE

de o gramaticd tn care Teorema 3.3.1 (Forma normald Chomslty) Orice limbaj I.D.C. poate fi generat toate regulile sunt de forma A -+ BC sau A -+ a, cu A,B,C eYn $i a e Yr. VDemonstratia se gaseste in [4] A
F orm a

n'onn ald' Gr eib ach urmat de in aceasti forine normall fiecare reguld are membrul drept incepind cu un terminal, evenfual
variabile.

3.3.2 .(Forma normald Greibach) Fiecare limbaj I.D.C. poate fi generat de o gramaticd pentru carefiecare.reguld este deforma AlaA cu AeYv, cIYr, A'e Vi (C un gir de variabile'
Tearema

posibil vid). VDemonstatia se gaseste in [4]A

i
. I
I

fi"i3'
oui
qi,

Tdorema de pompare'pentru limhaie t'D,;G"ilema Bar-Hillelr

Teorema

3.4.1 (lema de pompare Bar-Hillel) Fie un limbaj I.D.C.,

notat L.'Atunci existd constantele

i"prrra,na)"r,^64neat' dacd

lzeL
-40-

cu I z I >

p ,atttncizpoatefiscrissubforma:

-{ +.
1." 3ii
I

LIMBA.,E FORMALE $t TEORTA AUTOMATELOR

uwvxy, unde

uv'wx 'z e L
Y Demonstralie:

- l;vwx l<q l;.*"',l> ., "^. _. sunt ambele X), Li* _' 0 (v,'x nu
.
.r

astfel tncdt pentru fiecare fntreg

i>g

Fie G:(Vy,V7,S,P),o gramaticl I.D.C. in formi normali Chomsky, pentru L. Dacd, G are k variabile, atunci fie p=2,-t Fi q:2*. Este ugor de observat c[, pentru o gramaticd in forml normall Chomsky, dac[ un arbore de derivafie nu are drumuri de lungime mai mare dec6t 7, atunci cuvdnful derivat nu este mai lung decdt ?-l,'aceast[ valoare reprezentdnd maximul de frunze intr-un astfel de arbore @inar, datorit6 formei Chomsky). Deci,
dacd

zel

gi

lrl>

p,atunciarboreleuneiderivaf,ialui zingramaticaG conlineun

Exemplu: G=({A,B,C},{a,b},A,P),unde p:{ A+ BC, B + BA, C + BA, A +


a)

a,B

+b

Legend6:

drum R

BC

!!=!-!=

T,/\- TI I/\B Af-] b I [\-/


bBCba ba Z3:DO Z2:?
Z4:lu

z:bbbaba

b)

.. \-/ ./\ BC

fa\.l

^A
ba

c)

I /\,^ b B a(orl IIincdfi


1n'estesubarborele1u.infi..--'.'.-.-''.'-'-''l-

io
Figura
3.4.1

drum de lungime mai mare decdt &. Si considerdm cel mai lung drum, ft, cu lungimea mai mare decit k. Atunci existii doud noduri n1 gi n2 in,R asffel i gi n2 sunt etichetate identic; ln1

decit k+]. [subarborel,e nl nuare drumuri de fungim. Penfru a ardta cE n1 gi n2 pot fi astfel gdsite, parcurgem drumul .R de

-ui*ui.

la

Din primele k+2 noduri, numai o frunz[ aie ca etichet6 un simbol terminal. Cele pot avea etichete distincte.

frunzd inspre rdddcinl. k+l noduri r6mase ru

-41 -

LIMBA.JE FORMALE 9I TEORIA AUTOMATELOR

tAcinan1,IepTEziat5deriva!iaunuisubcuvdntdelungimecelmultzu(qi , deci de lungime cel mult q), pentnr cdin Tt nu exist6 nici un drum de lungime mai mare dec6t k+I, din'
fost diumul cel mai lung. Fie z1rezultatu1 subarborelui R. Dac[ Tz este subarborele generat de nodul n2 gi z2 este rezultatul prima regulI folosit6 in lui T2,atunci z1 se poats scie zszzzt in plus, zs $i zc nu pot fi ambeie X., pentru cd . Subarborele T2 trebuie s[ fie completat in interior deivafialui z1 e de forma A -+ BC, unde B,C e
cauzd cd R a

sau de subarborele lui B sau de subarborele lui C.

Avem atunci A+zrAzalz3z2Za, unde lZrZrZo I < q .

De aici ten:irt|

cL

A+

z'rAzio

ztrzrzin n.otr,r i > 0

Evident girul z poate fi scris sub forma rJz3zzz4y, pentru anumili u Fi y. Vom pune acum v=23!, w:22 Si x:24, demonstralia fiind astfel incheiatE. A

1:lakbutu I k>0] nueste I.D.C. Observalia 3.4.1 Teorema 3.4.1 se poate aplica pentru a demonstra "U V Demonstralie: presupunem, prin absurd cE limbajul Z este I.D.C., ceea ce ar insemna c[ sunt indeplinite consecinleG Teoremei i.+.t., care pennit "pomparea" anumitor subcuvinte din interiorul unor cuvinte suficient de lungi ale limbajului L. Se observa, lnsi, c5 indiferent de lungimea cuvintelor aiese din L, ele fiind de forma = okbk"ft (k>0), nu este posibilE alegerea w.eunej descompuneri de forma z=uvwxy cu proprietSlile specificate i:r

-Sa

teorema amintitE gi astfel incdt


S5

urm|rim cazurile posibile. Fie m, n, p>0, V k>0). Atunci cuvintele 4


v
w

uvlwX'y = L
x

lt $i x pot fi de una

din urm6toarele forme:

r:u(vwx)y
.L

Motiv uviwxiz

a*1ao;ak-'-obkck

aot

aot

aot

Grupul de simboluri uau se alungeqte independent de grupurile "b" $i "c".

aol

ao2

ao,bo

ub" se Grupurile de simboluri 'au $i ^ uloigt*t in mod independent in plus, dacd nz,n* 0, simbolurile "a" 9i "b" se
amestecS.

tr. a'1ak-'b)bk-."ck

aor

ao'bo'

Grupurile de simboluri trarr


boo

gi

rrbn se

aluneesc in mod independent.

aotb

b",

boo

Grupul de simboluri "bu se alunge$Ie independent de grupurile "a" $i "c". in plus, daci \,nz*0, simbolurile "a" gi Grupul de simboluri ubu se
"b" se amestecd.
alungegte de gnrpurile "a" gi "c". independent

u.
uk6m,.6n.y6k-n-n.t

bot

b",

bot

w.
ah'(bnTco)cu-o V.
uk6k"n1an1"k-m_n

Similar cazului II.


col

independent de grupurile "a" $i "b". putin concluzie. orin oomoare se va afec ;a cel pufin una din proprietl,tile iimbaju ui considerat: uzle, pnn pompare (deci nu se pot multiplica subcuvinte formate dintrnum[ru] de simbolui a, b, respectiv c este acelaqi

'co2

c"

nt

Grupul de simboluri rrc'r se

alungegte

ia

LIMBAJE FORMALE 9I TEORIA AUTOMATELOR

unul din cele trei simboluri), iar ordinea caracterelor in cuvdnt este strict alfabeticd. (deci nu se
a

pot

multipiica subcuvinte formate din "imbin'area" dou[ simboluri distincte, ab sau bc, cdci ss amestec6). Rezult[ c:A {akbkck I k>0le - L, deci clasa iimbajelor independente de context este diferit[ de

It

cea a limbajelor dependenfe de

context:

I, * Lr. L

Teorema 3.4.3 Fiind datd o gramaticd I.D.C., G1, s poate gdsi o gramaticd echivalentd G2, pewru care, dacd A este o vartabild in Gz alta decdt simbolul inilial, atunci existd o infini,tate de cuvinte intliale derivate din A. VDemonsnatie: Dacd L(Gl este finit atunci L:{u1,u2,...,un} gi putem considera G2 cR mullimea regulilor

P2:{S-+uil i=l,n}.

I. 2. 3.

gramatica poate determina dace este finit sair nu. G.s:ffw,Yy,S,P). Prin'Teorema3.4.2 se Presupunem cil A1,A2,...,Ap sunt variabilele care genereazd, o infinitate de cuvinte gi cI 8t,82,...,8* sunt variabilele care genereazdun num6r finit de cuvinte. Creem mullimea de reguli Pz dinPr in modul urmdtor: Presupunem cE Cs-+CtCz...C, este o reguld din P1, iar Cse{ArAz,..-,An}. Atunci regula C6-)u1u2...u, este o reguld din P2, unde: DacE C;eV7+ s,-s, DacE Cie {A1A2,...,A7}+ u;:ci

DacI L(Gl este infinit, Gt=(Va,V7,S,P), considerdm pentru fiecare AeVtr

L$l

ureste unul din cuvintele (in Rezult5 cd" P2 nu conline nici o reguld cu BiIa dreapta. Dacd

Cie {BrBz,...,B^}

num[r finit)

generat e de

ci

(cpu).

Considerim acum Gz:(YN,Y6S,P) unde V* :{At,Az:,...,An}. Observdm cE ^S trebuie si aparfinl

lui VN pentru cdL(Gjesteinfinit

a) Evident, daci (oep) atunci(r?p) deci L(Gt)=L(Gr. b) Pentru a demonsta L(Gl demonshdm prin induclie asupra numdrului de pagi din derivafie
cd

=L(Gil, dacdAi?w 1 < i <k unde we Vi G1tG2

atunci

Ai?w.

Rezultatul este evident pentru o derivafe inf-un pas. Presupunem cd este adev6rat pentru o derivalie in cel mult j pagi. Consider6m o derivalie in j+I pagi gi presupunem cd prima reguli folositi este A;-+CtCz...Cr.
Putem astfel scrie w sub forma w1w2...w7unde

C= w;, 1(-i17
G1

Atunci existi o reguld unde

Fdc, s =l*, du. dCree v, U {8,'"'' B-} '- lC, {A,,..., A.}
. .a I

Gzde forma Ai)u1u2...u7,

Dar

ci+ w; in cel multT pagi = (Ct?w) Gl c2


yp2...y,J *,*r...*,.

Cr2 c2 Exemplal3.4.l Fie gramatica G:({S,A,B},{a;b;c,d},S,P), unde-*'*P:{S-+'ASB,'S+AB, B -+c, B -+dj). SE apliclm Teorema 3.4.3.

DeciA)

A->a, A-+b,

VRezolvare: Variabilele A gi B genercazd numai cuvintele a Si b respectiv c Ai d, dar,S genereazd o infiniftte de cuvinte. Atunci se construi eqte G2:({S},{a,b,c,d},5,P2l, mullimea regulilor fiind:

Pz: S+aSc S-+ac,S-+aSd

S-+ad S-+D,Sc S-+bc


-+3

S-+aSd

S-+bd A

E
.LIMBAJE FORMALE $I TEORIA AUTOMATELOR

3.5 Automate Push-down


Vom introduce un nou tip de dispozitiv care sd accepte limbajele I.D.C., numit automat push-

Un automat push-down are, pe lAng[ o band6 de intrare, gi o slivd (o listd LIFO). intr-o asffel de in stiv6, simbolul stiv6, intrarea gi iegiiea unui simbol ie face numai 1a capul stivei. Cdnd un simbol intr6 al doilea devine al treilea q.a.m.d. ln mod care anterior a fost .^"prf rii".Guioe ul doilea, cel care a fost similar, c6nd un simUol este scos din stivl, simbolul care anterior acestei scoateri eta aI doilea, ajunge in

down.

"nt "il::;:l;f:,,'#::::']l3ffffi#j,"lli13"ll;l
deasupra teancului.

rarturii i:r care se ridicd sau

se pune

o rarturie

Exeiptul 3.5.1 56 utiliz[m o stiv6 de "farfurii",


mullime neregulati. V Fie limbajul I.D.C.

cuplat6 cu un control

finit pentru a recunoagte o


acest lucru

L:{wcfr lw e {0,1}.1, care nu este regulat (posibil de demonstrat

folosind lema de pomparti) gi fie gramatica G=({S},{0,1,c},5,P) 0S0,S -+ 1S1,S -+ c} unde mullimea regulilor este P: {S Pentnr a recunoa$te limbajul L, vom utilaa un control finit cu doui stdri qI Fi q2 9i o memorie push-down pe care vom plasa "fi6o1n albastre, rogii gi verzi. Dispozitivul va opera dupd urm6toarele reguli: Magina pornegte cu o farfruie rogie pe stivi gi cu controlul finit in starea q1. paca simbolul de intrare este 0 gi starea este qr, dispozitivul plase.azd o farfurie.{baltri pe stivd, iar dacd simbolul de inrare este 1 gi siarea gr, atunci plaseazl o farfirrie verde pe stiv6 9i, in ambele caztti, r6mdne in starea q1. Dac[ intrarea este c Ai starea qr, i$i schimb[ starea in q2 fbrd a acliona asupra stiveiDacdintrarea este 0, starea q2 gi pe stivd se afl6 o farfirrie albastri, scoate farfirria 9i r6mAne in qz, iar dacd este l, starea qz $i pe stivd este o farfirie verde, scoate fbrfuria 9i r6mdne tot in qz. Dac[ dispozitivul este ln starea q2 $i,pe stivi este o farfurie, rogie, scoate farfuria indiferent de intrare. in alte situaSi dispozitivul nu face nici o migcare. Dispozitivul acceptLgirul de intrare dac6, dup[ citirea lui, stiva devine goa16. A Vom defini un automat push-down ca fiind un dispozitiv format din: band[ de intrare, control finit gi memorie push-down (stiv[), precum in Figura 3.5.1-.

l) Zi

3) 4i 6)

5)'

de intrare

CONTROL

FrNrr (a)

Capul stivei

Dispozitivul este nedeterminist, .av0:rd un numdr finit Migcdrile vor fi de doud tipuri:

de

Figura 3.5.1 ganse de migcare in fiecare situafie.

-44-

LTMBAJE FORMALE $l TEORIA AUTOMATELOR

ttanzi[ie cu simbol de intrare: in firnclie de simbolul de inhare, de capitll stivei gi de starea controlului fini! sunt posibile anumite migciri care constau fiecare din: o noui stare a controlului finit gi un gir (posibil vid) de simboluri care inlocuiegte capul stivei. DupE alegerea unei migc5ri posibile, dispozitivul avanseazd cu un simbol pe banda de intrare. - "I'-tranzilie" : este similarl cu migcarea tip I., dar nu e utilizat nici un simbol de intrare. Limbajul acceptat de un automat push-down se poate defini in doud moduri: mullimea girurilor de intrare care conduc la golirea memoriei push-down sau mullimea girurilor de intrare pentru care automatul intri intr-o stare final6. Cele dou6 tipuri de acceptdri sunt echivalente. Formal, un automat push-down se definegte prin: DeJinilia 3.5.1 IJn automat push-down nedeterminist, M, este un sistem format din:

tr.

M : (Q,E,f,6,![o,Zo,F),
Q
este o

unde:

mu$ime finiti de stiri .I este un alfabet fiait al benzii de intrare este un alfabet finit al memoiiei push-down go Q stareiniliale

eT simbol de start al memoriei push-down F c Q mu$mea stirilor finale 6 : Q x {r U {r} xr -+P (Q r')
Zo

"

Interpretarea

expresiei

6(q, a, z) =

{(p*

Y,

),(P' Y r),-..,(P, , Y. )} ,

unde

g,pi Q, a Z,Z ef, T, f', i:lJo, este aceea c[ automatul push-down aflat in starea q, aa a pe banda de inhare gi Z in capul stivei, poate trece intr-una din stirile p; inlocuind pe Z cu_ 1l, gi apoi
' unde Interpretarca expresiei 6(q, r, z) = {(p, y, ), (p, ,T r),-.-,(p- , T. )}, g,pi Q,Z eI, T, f', i = 1r-, este aceea cE automatul push-down aflat in starea q Si avdnd pe Z
avanseazilcu un simbol pe banda de intrare.

in capul stivei, indiferent de simbolul aflatpe banda de intrare iqi schimbl inlocuiegte pe Z cu y, ftrd sI avanseze pe banda de intrare. Exemplul

starea intr-una din stErilepi gi

3.5.2 in exemplul anterior, automatul

push-down acceptd limbajul

{wcfr I w e {0,1}'

prin memorie vidd (v.defini$a 3.5.4). Sd descriem formal acest automat.

tvl:({qr,gz},{0,1,c},{R A,V},6,qr,R,O) 6(q ,,0, R) {(q ,, 6(q , , c, A) = {(q ,, A)} = 6(q , ,1, R) = {(q VR)} 5(9 ,, c, V) = {(q ,,9} ' 6(q ,,0, A) = {(q 5(g ,, c, R) - {(q R)} 'AA)} 6(q ,,0, V).= {(q ,,AV)} 6(q ,,0, A) = {(q , ,I)}

'

AR)}

'

6(e,,1,A) = {(q,,VA)} 6(q ,,1, V) = {(q ,,vV)}

6(q , ,1,

V) = {(q ,,1)}
=

6(q'LR)

{(q,,I)}

A
Observa(ia 3.5.1 Automatul din Exemplul 3.5.2 este determinist pentru cd are o singur[ posibilitate de migcare la fiecare pas. Un astfel de automat, idiferent dbcd este determinist sau nedetetminist, se poate gi el reprezenta printr-o diagramd de tranziliel23l, s-imilari cu oea pentru automatul finit, cu excepfia faptului ca unB, dintre etichetele unui arc ?ntre starea p gi starea q, este de forrna:
-45

E
i

LtMBA.TE FORMALE

9l rEoRlA AUTOMATELOR

(a,

A'-'

BC) dac6

(q.,

BC) e 4p,o,a)
'l

de ttanzilie, din figura 2'3'2, carc d5 consider6m automatul push-down, definit printr-o diagramd recuno a$te cuvintele limbajului: {o'b'l n > 0}. 0,Zs
-'-r AZg S.

sau, folosind (a, A,

BC)

forma.din [13]:

dacd

(q, BC) e 6(p,a,A)

--+

AA
Figura 3.2.2

L,Zs

-+ L
)u,

Zs

---+

)t

Defini{ia3.5.2 O configuralieinstantaneeesteopereche (q,y),unde qQ $i Tf',undecelmai conlinutul stivei din stanga simbol al lui y este virful stivei push-down, iar y reprezintd Dacdae EU{f,}, y,9ef' , Zef si (p,F) e6(q,a,Z),atunciscriem:
a:

(q,ZylL" (p,Fy) (Intrarea


(Qi,Tt)

"a" hece automatul M din (q'Z:y) in (p,Fy)')

Dacdpentru fiecare a....raoe X U

ai:
I

prin sldri finale de c6tre automatul M L(lvf) = {w I *. X', (qo,w,Zr) l;b,f,y),T f',p F}' Limbaiul acceptat p.rin stivd vidd de cdtre automatul M Definigia 3.5.4
Definilia

scriem:

Similar, se poate folosi descriereo instantanee, constituiti din tripletul (q,aw,Za) O,*,Bo) daci (p, p) e6(q,,a,Z) '

F" (q;*r,yi*r) Vi =G,

{X}, q,r...r(lo+r e Q li girurile }1:,":To+t f*, atunci scriem: &r... &n: (qr,Yr) F" (qi*r,yi*r)

avem:

(q,aw,Zo)

Si atunci
este

3.5.3

l-" L,imbaiul acceptal

este

X', (qo,w,Z),1*(p,}',f)' p Q}' = Exemplul 3.5.3 S[ construim automatul push-down caxe accepti limbajul { wfr
N(M) = {w
I

w e {0,1}* }'

V M:( {qr,qz}, {0, 1 }, {zsrA.,B},6,qr,20, A ) 6(q,,0,20) - {(q,

,M)}

6(q,,0,A)

6(q,,1
|

,zo) = {(q,,BZo)}

- {(q,,1)} 6(q'l,B) = {(q't)}


6(q,,X,

61q,,0,e; = {(g,,AA),(qr, },)}

Z)={(q,,1)} 5(q'I, Z)= {(q,,t)}

iitcul

;;;#,gdttfi*

Spre exemplu, girul de

nysh;do.y1 intrare 001100 estg accgqt?t.g: "::o"iatul r. n""fizeazlprtn golirea m"ao;aiptrn-{"*" dupdcitireabeinii 'iq,,oor 1,0a,2) l-* (q,,01-i00, l-".(q,,1100,AA,2:) F."

9::g:::ltf-f cle intrare:

MJ

l-* (q,,100,BAAZ') l-" (q,r,l.),

Fnn

(q,,00,

AAZ) l-'

(q,,A,AZn) l-"

(q,,L,Z)l*

-46-

LtMBATE FORMALE Sl TEORIA AUTOMATELOR

deci A0I I)Oe N(M). Problema care aparc in acest exemplu este de a determina mijlocul cuvdntului de pe banda de intrare. Pentru detbrminarea mijlocului, singura condilie cunoscut[ este de a avea pe banda de intrare doi de 0 consecutivi sau doi de / bonsecutivi. ins6 aceast6 condilie nu determin[ in mod precis mijlocul ubdnui" ci a ajuns la cuv6ntului de intrare, situalia nefiind unic6. Asffel, automatul push-down poate apar doi de 0 sau doi de ,l consecutivi. Deci, de c6te ori mijlocul cuvdntului de intrare ori de cite ori automatul intdlnegte dou[ simboluri identice pe banda de intrare, are de ales inhe doud variante: "b6nuiegte" cdaici este mijlocul gi trece in starea Qz,care incepe sE gtearg6 stiva, sau "b[nuiegte" cinu este la mijloc Ai continul sE memoreze in stivl.Dacd a'blnuitu corect atunci va reugi s6-gi goleasc[ stiva. De aici apaxenedeterminismul. A
Observalia 3.5.2
a) Un automat push-down este determinist dacd sunt indeplinite urmdtoarele conditii: - pentru fiecare q Q, a eZ qiZ corespunzdtoare, 6(q,a,Z) nu conline mai mult de un element;

ef

-pentrufiecare qQ giZef ,dac6 6(q,I,4*A atunci 6(q,a,Z)=4, Vae X (acestecondilii eviti situalia in care ar fi posibile atdt o l.-mutare cdt gi o mutare nevidS, generind astfel nedeterminism). b) Pentru automatele push-down in general, modelul determinist gi cel nedeterminist nu sunt echivalente. Acest lucru se demonsfeazdin $ 3,9., secliune dedicatE limbajelor independente de context
deterministe.

5 3.6 Leqdtura dintre automatele push-down nedeterministe si limbaiete independente de context


ce urmeaz[ vom discuta numai despre automate push-down nedeterministe, pe care le vom numi simFlu automate push-down, iar atunci cdnd ele nu sunt nedeterministe vom preciza acest

in cele

lucru.

\..

Teordma 3.6.1 Un limbaj L este acceptat prtn stivd vidd de cdtre un automat push-down M, &=N(M)) dacd gi numai dacd el este acceptat prin stdrifinale de cdtre un automat push-down M2, ( L:N(M) ).

VDemonstalie: L Fie L:T(M2), unde Mz:


Construim
1)

(Q,2,f,6,![o,Zo,F).
este

2) 3)

M1:(QU {q",ql},E,f U {X},5',ql ,X,@), unde 6' (q*Z oK) e, 6'(ql,l,, X) 9(q, u, Z) c 6'(q,4 z) , Yq Q, a E U Pentrutofr q eF,Zef U{X} + (q'X)e6'(q,}",2)

definit dupd cum urmeaz6:

$j,z.r

4)

Pentru tolt Z e

Regula I) i|face pe Mt sE intre in configuralia iniliald alui M2, dar simbolul inifial al stivei este X. Regula 2) sirrtileazl pe M2 pdnd cdnd infie infi-o stare finalI. Regulile 3) gi Q golesc sttva cind Mt inffi intr-o stare finall Se observi e[ regulile 2) potgoli stiva hti Mz gi pentru un cuvint care nu este in T(Mz), iai acesta ; este motiwl pentru cwe Mt are propriul s6u simbol inilial al stivei, X. SI demonstrim echivalenta celor doud aufomate:

f U {X} =+ (q'X) 6'(q ,)vZ)

a) -

FiewT(lvlr).Atunci:.,- j(qo,*, Zr) l;,(q,x,T)


pentru q e

Q.
I *, (qs,w,Z6X)

Fie acum w inttarealui

Mt
re
(qo

conform regulei 1), rezultd

,*,Zo)
-47 -

e
b)
conform regule i2),rezuttdce. (qo,w, conform reguliior Agadar

LIMBA"JE FORMALE SI TEORIA AUTOMATELOR

ZrI() F", {t,l,rx) (M simuleazd Pe Mz) 3) 9i 4),rezultdin final ca (q,l,,yX) F", (qt,f,^)

+ wN(M,).

sunt aplicate regulile 3) Dac6 w e N(l\d,), atunci se vede cd stiva este complet gtearsE numai dacl Mz sd intre intr-o stare finalI cu gi+;, d.ourece regulile lui Mznu pot gterge pe x A,ga{ar, este necesar ca gi 4' acee;agiintrare ca M1,ca sd poati fi aplicate reguli de tip 3 Reciproc, fie dup6 cum r]trmeazd:

M1:(Q,X,f,6,90, Zo,A) asffel inc6'tL:N(Mil' Definim Mz= (QU {ql, {, }, X, f U {X}, 6', q'0, X, {q, }) , unde 6' este definit t) (qo ,ZoD e 6'(ql,l,,X) 6(q,a,Z) e6'(q',a,2) z) Vq e Q, a t Uiti, Z

n.

el +

Mlpand Regula I) ilfacebe Mzsd infe in corifiguralia inilialE altti Mt. Regula 2) simuleazl'pe stare fina16 dacd M1 $i-a igi golegte stiva la citirea intrdrii. Regula3l il detennin6 pe Mz sL intre intr-o goli"t stiva iar ln stiva lui Mz este doarXDemonsfalia este similard cu I. A
Teorerna 3.6.2 Dacd astfel incdt L:N(IvI)

3) VqeQ

>

(q'I)e6'(q,l,,X)

este un limbaj independent de context, atunci existd un automat push-down

Vbemonsr4ie: Ftr gr-3fis[ independentl de context G:(VN,VI,S,P) in formd normall Greibach, astfel incat " L:L(G). presipunemcdLEL(G) (demonstralia se poate adapta gi penfru cantl contrar). fiecare construim M=({er},Vr,\,6,q,,S, Q), t]Jlde 6(q,,a,A\ontine (q,,T) pentru
reguiE

A -+ ay e P
Pentru aardtacdL(G):N(M). observlm c6:

(xAB=+xao P)

(q,,u,AF) F" (q,,I,oF)


renilf'
c6:.

Prin induclie asupra numarului de pagi dinfi-o derivalie

t"af ?
Atunci:
Se observ[

v" pentru x, y vi, A e \,


(q,,x,S) l-"

o, F =

v; ) <+ (Q,, y,Ap i F

"

(q', f,, a)
i

S?x <) G:

(q,,l.,L)

c! Mnuface ]'-mutdri.A

(L:N(M), atunci L Teorema 5.6.3 Dacd L este acceptat prin stivd vidd de cdtre un automat push-down M este un limbai indepmdent de context-

,-3.6.!,3.6,.2si3.6.3renltiic6urmdtoare1eafrrma!iisuntechivalente: Z este un limbaj indepeqdent de context; i) L:N(M1) pentru un automat push-down Mr nedeterminist; ii
.

fi 3.7, Proprietdli de inchidere pentru li?thaiq t'D'C'


Vom considera anumite operalii care pdstre azdlimbajele I.D.C. Aceste operafii se pot-folosi gi pentru a demonstra c[ un iimbaj nu este I.D.C. pentru a demonstra cd un limbaj .it. t.O.C. "at -48atAt

LIMBAJE FORMALE 9l TEORIA A{.rTe}*t"tr?iiLOR

Teorema 3.7.1 Limbajele independente de context sunt inchise


KIeene. VDemonstralie:

la reuniune, concaterlirv,.

,yi pn:o"yg

Fie Lr $i Lz generate de G, =(V,,T,,S,,P,) $i Gr:(V'T'Srn.[',]"

vi:-.sr!1-rlitle'ry,r

ri

YtflYz:O.
Limbajul

Atunci putem realizaurmdtoarele construclii de gramatici I.D.C:


estegeneratde

G, -(Vr UV, U{S,},T, UT'S,,Pr),undo P, =P, UP, U{S, +S,,S3 +Sr}. SI demonstrdm c[ L, U L2 - L(Gr): Fie w Lr ULr; inseamni cd w aparline cel pulin unuia -tin eel* efu:,rie tiinbaje: 3i e {I,2}:w Li, altf,el spus 3i e{1,2}:w L(G,). Uxista deci o derivarr n trur r.'ir' ;.i,8 t.i ,; s61.

L, UL,

dou[ gram atici date,G;,,pomind de la simbolul inilial al respectiv ei gramaticr: S,

regulile din gramatica G; sunt gi reguli ale gramaticii construite Gj, inseamnd cd r.:' " 'r,i '-i.: 'i ii"re are loc gi in gram atica Gj. tn plus, putem obfine simbolul S; printr-o derivare intr,un pas pumilia de la ^!3, gi anume folosind una din cele doul reguli nou adiugatelaPj, obfn6nd urrndtoarea derivalie in Gs:

=W

" Deoareee toate

fie {1,2}: Sr?S,*w,deci -G3'G3


Rezultd cd

we L(Gr)

L,

L, c L(Gr)
P3;

Fie w e L(Gr); insea-trdcd.w poate fi generat cu regulile


Deoarece singurele ,S3-reguli sunt cele doud redenumiri

pomind de la

o:: Jj. '.-,o \+


,
rentlth ed priuiril pas al

{S,

S,,S,

Sr}

derivatiei amintite nu po)te fi decdt rezultatul aplicdrii uneia din aceste doud rep:rrli'

li

e{1,2}: S,+S,e*,deci S,+w.

Putem observa faptul c5, in afarE de primul pas al acestei derivdri, toate iey;riile solosite in obfinerea lui w pomind de la ,St sunt chiar reguli din Pr, i e {1,2}, in funelie ele s;;iri,ciluE 5' r;litinut in
primulpas.,Deoarece Vr
S-a ar6tatastfel cd

ffYr:A ,rcnrltica

S,

iw,

deci w

L(GI):L.

w e L, sau w L2,adicbw Lr l)Lr. Rezult6 cd L, U L, = L(Gr). lin6nd cont de cele dou6 implicaf,i rcztiltlcd limbajul Lr U L,

este generat ile gra.i,,

,.,r.

Li;r

a)

Urm6toarele constnrcfii se demonstreazdia mod asemln[tor, constifirinrl t:r hl;n Limbajul este generat Go = ry, U V, U {Soi,T; lJ

LiL,

de

*r'*'11f iii"i,

rr,So,&J, unde

P, =P, UP, U{So +S,Sr} b) Limbajul L' este generat deG,


Teorema

- (Vr U {Sr},I,S'Pr),
{"

P,

P, U

{S, --} S.;r,,S. 4 },}. A

' * '.' ' " VDemonstratie: Fie I un limbaj I.D.C., L c E' gi pentru fiecare a e >

3.7.2 Familia limbajelor independente de context este inchisd Ia substitu{ie.

fte Loun limbaj I.D.C. Fie o gramaticd" G carb genereazd hmbalul ini1ial, L:L(G)" De asemenea, pentru fieca-rr r

a e E considerdm cdte o gramaticd astfel inc6t L":L(G,). Presupunem cd variabiiele lui G pi ale lui G" sunt distincte, oricare ar

fi

a e X.

-49-

E
,F.

LIMBAJE FORMALE 91 TEORIA AUTOMATELOR

r
if
:

Construim grumatica Gf I.O.C- in felul urmdtor: ' Variabilele lui G' sunt variabilele lui G 9i cele ale lui Go, pentru a eU I Terminalele lui G' sunt terminalele lui Go; Simbolul inilial al lui G' este simbolul inilial'al lui G; care fiecare & e Regulile lui G' sunt cele ale iui Go, pentru a eU, gi regulile lui G in inlocuiegte cu,S, (simbolul inilial al G"). A Exemptut
Fie L limbajul cuvintelor cu numdr egal de demonstrate in teorema anterioar[

se

3.7.1

a gi b. Sd urm[rin aplicarea celor

Avem

p = {S +
substitufie:

gramatica generativ[ G = ({S}, {a,b},S,P), unde mullimea regulilor este de aSbS,S +.bSaS,S ) },}. Se poate verifica faptul cd L:L(G). S[ considerEm limbajele
generat de regulile

L" = {0"1" I n 21},


Lo =

P(G"):{S" -+ 0S"1,S" -+ 0l

P(Gr): {So + OSb 0, So 4 2Sb z,Sb + X} . este Atunci, conform construcliei efectuate in demonstralia Teoremei 3.7.2, gramatica rezultatE G':({S,S",So}, {0,1,2},S,P'), cu mu{imea de reguli: s -+ srss,s, S J 2, so -+ 0.t"1, s, -+ 01, ^i, + 0'sr0, s, + 2Sb2' so -+ x\ P'= -+

{wfi | w e {0,2}'},

limbaj generat de mul}imea de reguli

{s

{^s,sr^s,

Sd generlm un cuv6nt la intdmplare cu aceste reguli: s s"ssbs + O1SSbS + 01SoS =+ 0I2Sb2S + 012050025

012002s

=012002

Observalia avem:

3.7.1

Tenrema ? ?-l nr Teorema 3-7.1 se poate ob$:re

lileorema 3.7.2 gi$"a"d cont ci VarbeX folosinc \

{a,b}
{a

este I.D.C. este I.D.C.

.b}

este DacI acum

a'

I.D.C.

.f(a):L"$if(b):Lt,atunci, datoritepropriet5lii

de inchidere la substitulie, renrJtdcil:

L"'U Lo este I.D.C. L" 'Lo este I.D.C.


Pentni c[ homomorfismul este un caz special de substitulie, urmltorul corolar. Corolar

'

Li este I.D.c.
3J:1

:
I

in

care

card(L):I, oblinem gi

Clasa limbaielor I.D.C. este inchisd la homomorftm.

i
:

f" fuf I
t

invers' Teorema 3.7.3 Claia limbajelor independente de context este inchisd la homomorfismul j VDemonstratie: A un homomorfism gi .L un limbaj I.D.C.; atunci exist[ un automat push-down Fie h: X astfel inc6rtL:T(Ir[) -i --'- -' E, qo,Z (Q, A,

+ f,

:
l

Conskuim un automat push-down M'care sE accepte ht (L), astfel: lui Mlu ag,tutt6 Cu intrarea a pentru automatul M', acesta genereazd h(a) Si simuleazd execu{ia schimbanumai st6rile' In intrare h(a).DacdMlar fi un automat cu num6r noit a9 stdri, afunci !uI'si-ar

o,F)

-50-

LIMBAJE FORMALE $I TEORIA AUTOMATELOR

cazvl automatului push-dowu, M'poate qi sd punl o mullime de simboluri pe stivd $i, in plus, fiind nedeterminist are o mul,time de posibilitdli de ; De aceea, dot6m M cuun buffer (o zond tampon) in care el poate sd memoreze h(a). Atunci M' poate sI simuleze orice }.-mutare a lti M, dacE doregte, gi sd consume simboiurile lui h(a) c6te unul la fiecare moment, la fel cum face M. Pentru ca buffer-ul s[ fie o parte a controlului finit al lui M', el nu poate fi oricdt de lung. Se poate realiza asta permi!6ndu-i lui M'sE citeascd un simbol de intrare numai cAnd buffer-ul este gol. Asffel, in buffer este pdstrat in fiecare moment un sufix al lui h(a), pentru un anume apreluat de pe banda de intrare al:ui M'.

migcare.

Intrarea lui

M'

Stiva lui

MgiM'

Figura 3.7.1
Automatul push-down M' accept5 cuvAntul de intrare w dacd buffer-ul este vid gi M este intr-o stare final[. i.h acest fel, M a acceptat h(a) penta fiecare simbol de intrare a, deci a acceptath(w). Asffel, L(M'F 1w I h(w; L(M)) , adicd: L(M'): h-'(LM))
Constrqclia filmplE este
'

{[q,*]) q Q, iar x este un suffix al lui h(a),va eX] Fuhcfia de tranzife 6': ([p,x],7) e 6'([q,x],1,Y) pentru fiecare (p,y) e 6(q,],,Y). l)
.

Q'

M'- (Q',t,f,6',[go ,Lf,Zo,n x fl,], \\ .

unde:

M simuleaz6 l,-mut6rilelui M,indiferent de conlinutul din buffer. 2) ([p,x],f) e 6'([q,u],I,9 daca (p,y) e 6(q,a,Y) Asffel, M sinuleazS mut6rile lui Mpe intrarea a din E, eliberdnd a din capul buffer-ului.
Asffel,

3)

([q,h(a)],!e6'([q,I],a,D pentutoli ae X ei Yef

acest mod, M' incarc[ in buffer h(a), citnd a de pe intrarea neschimbate.


Sd demonsfrIm cE

in

M,in timp ce starea

gi stiva lui,:M i5lmdn

I-(Irl1=tr-'(L(M))
cE

a)

dacd

Mai intdi, s[ observ[m

printr-o aplicare

regulii (3) urmati de o aplicare

regulilor (1) gi (2),

(q,h(a),c)

l-; (p,l.,p),

arunci ([q,l],a,o) l-,, ([q,h(a)],r, a) l-i,, ([p,],],1.,8) . Astfel, dncd Macceptdh(a), adic6 daci (qo,h(w), Zr) l" 0,I,8) pentru p F $i B I', atunci
astfel incdt M'accepti Deci

w.

,1

L(M')) h-'(LGO).

b)

Reciproc, sEpresupunem cd M'accepti intrarea w:&1&2...an. Atunci, pentru cE regula (3) poate fi aplicatl numai cu buffer-ul vid (precum aratd, a doua componentd a stdrii lui M), girul de migcbri ale lui M' ce conduc la acceptare poate fi scris ca:
-51 -

LIMBA"JE FORMALE 9I TEORIA AUTOMATELOR

(qo,rl, ataz...a^,zr)
l-

l;, (p,,ll, ata'z"an,o,) l-; ([p,,h(a, )]'ar"'a,'o') l-;'


n (a

([P'*, ,Lf,L,oo*r) ' l-;,(tp",rl,oo,o,,) l-;,([p",h(a")],f,,4,) F; se face prin regula (3) iar celelalte tranzilii prin Tranzitjadin starea [P,,I] in [P,,h(a,)]
regulile (1) 5i (2).

;, 0p,,Lf, e r...a o, a z) l- i, ttp',

r)f, a' "'a i, ct'2)

;'
undePn+tF'

Asfel,

(p,,o,) e 6(qo,1.,Zo) Vi : (p,*,,


o,*,

) e 6(P' , h(a, ), a, ) deci oblinem o recunoaqtere qi din partealui M: (qo,h(a,a ,...L,),Zot'l-; itp' ,]"1,u,ur-..8o,or) l-i,

gi

(p, ,)'f,,ar"'ao'or)

l-;

F;
I'D'c',
9i

plstreazi la mul{imile Exist6 c6teva propriet6li ale mullimilor regulate care nu se anume propriet[lile de-inchidere la intersec{ie 9i complementare.
Teorema

([p,,I],ao,oo) l-; .0p"*,,I],l,oo*,),

unde p1a1F'A

3.7.4 Clasa limbaielor I.D.C. nu este inchisd relativ Ia interseclie' '-- ""---J -'VDemonstralie: yh ^
Sd presupunem, demons

prin absurd, cE interseclia oriclror limbaje I.D.C. este tot un limbaj I'D'C'

Sa

(v- observalia ,,at cdlimbajul 1 = {aibict I i > 1} nu este independent de context 3.4.1). Consider5m acum dou6 limbaje care sunt I'D'C': L, -{a'b'cj li > t, j > U

construim un contraexemPlu:

Am

push-down sal s3u cite o gramaticd Pentru urrrr. limbaje este ugor sE construim c6td ug automat avea setul de reguli: spre exempto, o gru-uiicd pentru geleprellimb.ajN r, arputea

L, -{a'bjcjli>t,j>U

I'D'C';

iS

AB,A

+ aA,A + a,B + bBc,B -+ bc). Dar L =Ltfl L, gi Z nu este I.D.C., ceea ce conhazice

presupunerea facut6.

Corolar 3.7.2 Clasa limbajelor I.D.C. ,u "ri, inchisd relativ la complementare' VDemonstratie: gtiri c6 clasa limbajelor I.D.C. este inchis[ la reuniune. Presupgndnd cd ar fi inphisa 9i la privind complementarea reuniunii ( operalia de complementare, gi linand contde relaliile lui de Morgan iAi ry:c@)nc@) ), am obfne concluzia cd are loc inchiderea gi la intersecfie, ceea cer contrazice
Teorema 3.7:4.

Teorema 3.7.s Daad L este un limbaj

I.D.c. iar R este o mulgime regulatd, atunci L n R

este un timbai

I.D.C.

:l

,ffin,,Mfindrrnautomatpush-dowrr,M:(Q*,E,r,6M,9o,Zo,F*)
Fie gi R:T(A),unde

este un automat

finit nedeterminis, A = (Qo,X,6o,Po,Fo)

il

I
I I

R, intr-un mod care-s-[ simuleze Construim un automat push'down M BentrVlir-nbajgl-Ln ,rz''si*.ti"aza mlqcarite lui Mpe intrarea 1, frre a schimba starea lui funclionarea tn paralel alui de asemenea A. Cind M face o *ig.ur" pe simbolul de intrare a, M'simuleazd aceastd migcare 9i nurnai dacS intrare dacl 9i M' acceptd o simuleazr schimbarea strrii lui 14 pentru simbolul a. Automatul

ri,li;;

ffilf#la xx;:":ft

M'esteurm'toarea:

M,= (Qo * Qu,E,f,5,[po,cro], zo,Fo* F,),

LtMBA"JE FORMALE

9l TEORIA AUTOMATELOR

Stiva lui Controlul

lui M'

$i M'

Figura 3.7.2

unde 6 este definit astfel:

([p', q'], T) 6([p, q],


Desigur, dacd

a,

X)

atuncr c?incl < L(q', T) e

. [a^ G,a) = p'


6" (q, a,X)

a=1,

atunci

p:p'.
L 0 R =T(M)
induclie relativ Ia

SE demonstrdm acum

faptul ce

a)
{[

Se demonsfreazduqorprin

cddacd([po,go],

w,Zo) l-;, ([p,q] ,L,T),

atunci

,w,zo) Fil (q,r,v) ..- L $i (Po,*) l-i (p,l) \pentru i:0 rentltztul e trivial, deoarece
(q,
([po,9o
unde

htdl{' p:ps, q:q6, y=Zs Si w:).. pres-upunem afirmalia adevdratdpentru l-l gi fie

l,xa,z)

l-ii (p',q'],a,F) Fr, ([p,q] ,L,T),


renilti id:

w:xa gi a e X

sau a:1,.

Conform ipotezei de inducfie, a^ (Po, xj= P'

t (q, ,x,zo) l-io (q',1,P)


in plus, conform

definiliei,
Fnn

6u(p',?) =p $i (q',a,9)
Utiiizend toate acestea, obfinem:

(q,r,y)

[ 5o(po,*a) -p

| (q,o,xa,zd) I-; (q,x,y) lxa eT(A) cbea ce trebuia demonstrat sau. altfel scris. { .
[xa e T(Ivf)
b) Reciproc,
se proce

(qo,w,

Zr)

deazlintr-o manier[ similard, pentru a ardta cd daca l'*(g,X,T)$i(io,*) lri (p;X,J atun.i ([po,qo 7;,;w,ZrJ l-ir,

([P,q],l;t)

--

Teorema 3.7.6 Clasa limbajelor independente de context este inchisd in raport cu operalia de oglindi.re. VDemonstratie: Fie G o gramatici independenti de context de foma:

'

-53-

LTMBAJE FORMALE

$l TEORIA AUTOMATELOR

inlocuit6

(Vt',, Vt, S, P) Si Z :'L(G)' mullimea regulilor, P, este Construim o noud gramatic6 G' (VN, Vi, S, P'), in care fiecare regulE din membrului drep al regulei .o o ,"girl6 similar[ in care membrul drept este oglinditul

G:

corespunzdtoare din P:
Se observ6

P'= {A-r fi lA-+u p'


clreguiile din L(G'1 =

P}

sunt tot independente de context. Este ugor de demonsttat cL:

Exemplal3.7.2 Fie limbajul L = {oo*l* e {a,b}'} . S[ se exemplifice propriet[lile de inchidere. V Limbajul L este format din cuvintele ale cdror jumItate stdngl este identic6 cu jumEtatea dreaptl. Presupunem cd acest limbaj ar fi I.D.C. Din Teorema 3.7.5 rezurtd cd limbajul Lr=Lfla*b*a*b* ar fi 9i el I'D'c'; dar L, : {aibjutb, i > 1, j 21} nu este de acest tip, fapt ce se poate vedea cu ajutorul teoremei de
I

aqbqanbn: .uywry,unde lvl + lxl-> 0,,\y*l .<-q'jolibilitnli1e de Alegem q/, ele ?ns[ nu alegere ul. sribc,rrrdntului yvvx sunt multiple (aiH cu i+i<q, bi cu i1q., H-'o'cu i(7( jumdtdlilor nu se poate permit crearea de cuvinte uviwxiy care sd fie tot dn Lt (proprietatea egaiitdlii

pompare:

Fiep,qeN.

z:

contradiclia obginuti rezvltics limbajul Z considerat inilial nu este I.D.C. Si mai observEm gi'faptul c6 se poate demonsfa cd Lt nu este I.D.C. 9i fIr[ a folosi teorema de pompare, reduc6nd rcssl limbaj la limbajul

pEstra prin pompare). -Din

L, = {aibjc'd'li
x1x2xjx4,unde 17 gi .r3 au aceeagi

t Lj > l}.

Fie h(a):h(c):a si h(b):h(d):b. Arunci

h-l(Lr)

este format din toate cuvintele de forma


'

fuogi4;n {a, c}. , iar x29i xa au aceeagi lungime in {b, d}.


3.7.5) rezulti cd L2 ar

Atunci

ht(L,) 1-la.b'c'd' =,Lz.


fi I.D.C., atunci (din Teoremele 3.7.3 li

Dacd Lt ar

fi

9i el I.D.C., ceea ce

gtim c[ este fals. Asffel s-a ar[tat, din nou, faptul cE Ll nu este I.D.C. A

3.7 Exerci{ii
:

l.

SI se construiasci cdte o gramaticd independentd de context pentru fiecare din mu[imile un4[toare: a. Mul,Lmea tuturorpaiindroamelor peste alfubetul {o,b}. b. {a" 6t" 1 o, oS
I

".{on*tb3'1n>01 d.{o'a1i*i1 e. gifck i*jsauj*k]

{u#

u e {a,b}*

gramatica: c ({s, T,L}, {o, b, *, -, x, /, [, J ], s, P), -1, 'unde mullimea P este formatd din regulile:

I :

2. Consider[m

^l-+I+,S

T-+LxT
cuvintul: a + [a x b b/a

56 se construiasc[ o derivalie gi un arbore de deriva{ie pentru

]:

-54-

LTMBA"JE FORMALE $1 TEORTA

AUTOMATELOR

5. 6.
f,

Sd se construiasc[ automate push-down pentru fiecare dintre mul1imile de la


SE se constririascd automate

problema
..

I.

e.{a'UliSjS2i} 7.

d.{w lyv e

{a,l*

Nofu)

push-down pentru fiecare dinhe mullimile urmdtoare: N{w)}. urrde Ns(w) reprezintd numErul de aparilii ale simbolului 0 in w;

Limbajul generat de gramatica G

({S,A}, {a,b},.t, 1,S + aAA, A -'+ bBS, A

---+

aS,

A -'+ a})

definit de M = ({q,p}, {0,1}, {Z,X}, 5, q, Z, @), unrde6 este: 6(q, 1, Z) = {(q, XZ)} 5(q,1, Z) : {(q,1)} 6(q, 1,X) = {(q, W)} 6(q, 0, X) : {(p, X)} 6(tr), 1, X) : {(p, ).)} 6(p,0, Z) : {(q, Z)} Si se construiasc[ o gamaticd independentd de context care sd genereze N(IQ.
Se considerd automatul push-down

ct {o' bt'l n 21}. S[ se arate c6.Z este un limbaj Se consider[ limbajul L {oo b' n independent de context (se construiegte un automat push-down nedeterrninist).

8.

2I}

I
.
I

I
1

I
1

I
I

I I
!

['
(
I

t I
I

t
[; t:

I t t

I
[:

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