Documente Academic
Documente Profesional
Documente Cultură
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
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.
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
-t
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
lg(u)
sau
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'
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
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 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
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
iar
at-+flt eF,
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, }
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,' ;},
i;'!;!!#f
lu *
x -+xx } )
sens
Markov[l6], sistemele
11;
aIe
:
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.
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
t.
= 0lxpfixs +
-4-
0lxt}yfis
0Ixt1xzLxs
+ 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
I ( { (
(
reguli:
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. '
I's -+
oB
I l
s
i1
o
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
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[
2,
(i)
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. ,
.
(*
I/n
S,
P) este
o gramaticd
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-
Sd demonstrdm acum cd
L(G):L(G),
fi
:
S+w. Atunci p
I
(
S+ a+w GG
St* d
Gl
Gt deci
g+w
Gl
o2 * , Gt
Gl
p e L(G),
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
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
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:
I:
-7
L' = UL'
i=0
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
+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
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.
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'
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
terminal.
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)
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.
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
(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).
extinde la Q x
X'
x)
asffel:
[6'(q,
r) = {q}
Acum 6'
se poate
extinde
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)
- 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
.r I
'
Teorema 2.2.1 Fie L o mullime de cuvinte acceptate de un automat i automatfinit determinist care acceptd
L.
finit
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
,'
lq,.
];
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,
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;]
o, .
Se aratd
k_
!J
6(q,, a), I =
1,
j
:
(2.2.1)
- pentru
6'(ql,x)
1.
I
t;
sE studiem
r'
s
(,
Prindefinifie,6'([p,,p2,...,p1i,a)=[r,,rr,...,fr]
Astfel, 6'(ql,X&) =
stare a
6({p,,P2,...,P;},a)={!,rr,...,f*}
F'
x) conline
lui Q care
Agadar
este in F.
TM:T(M). L
M = ({Qo,g,}, {0,1 },
6, go, {q,
}),
A
a)
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)
Dr
Di
Te
L(
v
Pn
Figura 2.2.2
De
- 13 -
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
atunci Te5(B,a);
atunci ceD@,
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 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
LA"_,+ aep
o-r1
o
L(G):TM.
finit
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-
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, S,
{A}), unde:
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
tt Bl]
stlrile 15,
I
)
I
6'([S],0) = [B]
9:(il'9__=_
I
I
i
:
6'([8],0) = [8, A]
I
,rn ,.
l
---
(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
-+
{ .I t o\
T
* *
;
i
P: ]f"t LIo,
A
[ts] -+ otsl
v* t
tl
'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
-R
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
SE
gi una gi
stirile
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
"
*.
nedistinctibile dacd Si numai dacd suint (n-2)-nedistinctibile. V Demonstrafie: Irnplicalia directE ("-+") este evident[; sd demonstrdm implicalia invers[
("")'
t6l
t /
a t.'vr
a)
DacL
b)
este
imediat[.
I
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:
DacE
= * = atunci =
(r)
(t)'
(t*r)
este o rafinare a
lui =
gi conline cel
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
=f
lui =.
Agadar,
este prirna,
(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)
=.
A.3
astfel:
Alegem = =
Se construiegte M'=1Q', X,
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
I
A
F:
Pr
eazd
Vq
Q':{qq}
qi marcheazd qs
il
0.
Pentru
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
,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
Dar w gi x conduc
Si
x conduc
Min
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
-:
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
egale)
n,i;
I:
r
i
totugi impreun[:
I
')
de qz gi de qs, trebuie
'l
vdntt
dacd. q2 Si q3 rdmdn
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:
F: |
o
a(
'
;
((
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-
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:
Se elimini int6i nodurile inaccesibile (conform algoritmului Se scrie tibelul tutuor perechilor (p,q), ni$alnemarcate.
Se marchezd (p,q)
(B))
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
Exemplul
2.4.1
1,2,
Sd Si 5:
-20-
CL. Toate nodurile sunt accesibile deci trecem la : C2. Tabelul inilial este cu toate perechile nenarcate.
-l - -2 -3 --4
5
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
nemarcate:
fi:
(a
b
1
tb
(c
3
5 5
(d
(e
ca
3 5
5
5
(f
-21 -
3S,"
++
il
,i 'i
::
Lem
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
-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.
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
:
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
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)
(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
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.
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
{,,,
"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
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[,
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:
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 =
lB=ba*a
Apoi B poate fi inlocuit in pn4a ecualie
S=a(Slba*a)
S: aS I aba*a
J' d: '
S= a*aba*a
care
este;
reprezentdnd acelagi limbaj ca qi limbajul generat de gramatica. iniliald. de trecere de la o gramaticb regulatl la o expresie regulat[.
Infrare
Iesire
X,
| I l L
regul[
X,
lp
Execut[:
at*ci
definitd anteriora
luiXl)
Pas 2. Aducerea informd intermediard a sistemului de ecualii: - Pentru fiecare i:12,...,D-1, Execut6:
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.;.
X, = o,X, lyf
, unde
vl
vr, in
4 =(o,)*{.
- Penku fiecare
j:i-1,i-2,...,2,1, Execut[:
inlocuiegte solulia
(o,)*rf,
{.
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)
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.
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.
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.
|.S=aA
I
pas2. JA=aAlaB
lB=bC
Pas3'
[C = cbC lc ll c=cbC lc
i=3
i=2
d = {a}aB
A=a*ab(cb) *c
-26-
= 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
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:
@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
'ta
-27 -
Algoritrnul de conversie
urmitorul:
eipresie regulatd.
-,-,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,
li
automatut-n_n
a,/-
cu j noua stare
iniliali gi/noua
limbajul {X}.
2.
pentru ae
I,
construim automatul
ffi
3.
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).
, 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).
automatul N(s*)
,i t;
t
t
-28
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:
ru-re
/-:.. I
)
(
\ ;!
Pentru (alb)* avem:
I
t.
I
t'
\
-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
w L,.Atunci:
(weL,)
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
V Demonstralie:
-30-
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)
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)
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
L, l^ll-,
regulat.
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
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
Ar
---+ a2A2
&n-tAo-t
an
Ao-z'+
Ao-t --+
senereaze cuvantul
w
i adicd;
ta*
Deci limbajele
{w,},-*
sunt regulate.
L = U{w, }, rolosino
i=t
Teorema
2.6.I
rezult|t
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
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,
a)
paragratul$1.3).4 V'Demonsuatie:
ci
T(M) -l-
\.
dlncatenare.
,
Fie M, = (Q,,E,,61,g'F,) 9i
presupunem
M, : (Q'Er,6r,Qr,$)
fM2).
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
;
\F
$i 6,(q,a)=P
cu . gr
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-
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).
M'= (a U {ql},X,6',ql,P
Dac
{ql})
F, atunci
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
Qo $i pe
F.
sunt
a) DacE
xeL'
atunci
x=1,
gi
6(qi,l,)-q;
Frsau X=x1x2...xn cu x, e
L,
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
[0,=
lei*,
6'(ql,u))x
q, e
fl'=r
Lri q, ,g2,...,
avem:
,"1
{n
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.
lrtnl.
.) 1".,.._:;..,''/
= f(R
i
t
-33-
r*
I !
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
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}
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
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
de tranzigie
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,
M2: (Qz, I,
52,
P, { q,s})
se construiasc[ automatele
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:
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
sd se construiasci
o gramaticl
de
tip
-J
care sd genereze
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.'
\
a, b, c, d, e.
de la
exerciliul3
t
l
L
t
f
-36 -
GAPilMM
fffffl
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
A-+A/2...4p
Exemplul3.l.l
regUlt_l-e,'
-37 -
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
de derivatie din
figura3.l.l.
este
cuvintul aabba-
este rezultafirl
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
existd
ii
I
I.
vom demonstra c5
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
e=ol
<+
(A=u)
Gi
demonstrdm prin induclie,
I I
i I t
cd
CI este
r iI
e *'
I
i
-=f
-38-
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
: {
l;
noduri Deci
,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
A->
CI,
c:
i
\
1
-fisary J,I.4
-39-
ffi :i :.. f
4,
b2) Presupunem
ci A
eo
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
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
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
i
. I
I
fi"i3'
oui
qi,
Teorema
i"prrra,na)"r,^64neat' dacd
lzeL
-40-
cu I z I >
p ,atttncizpoatefiscrissubforma:
-{ +.
1." 3ii
I
uwvxy, unde
uv'wx 'z e L
Y Demonstralie:
- l;vwx l<q l;.*"',l> ., "^. _. sunt ambele X), Li* _' 0 (v,'x nu
.
.r
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>
a,B
+b
Legend6:
drum R
BC
!!=!-!=
z:bbbaba
b)
.. \-/ ./\ BC
fa\.l
^A
ba
c)
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.
-41 -
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
De aici ten:irt|
cL
A+
z'rAzio
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
uvlwX'y = L
x
lt $i x pot fi de una
r:u(vwx)y
.L
Motiv uviwxiz
a*1ao;ak-'-obkck
aot
aot
aot
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'
gi
rrbn se
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
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
alungegte
ia
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
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
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).
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
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
Fdc, s =l*, du. dCree v, U {8,'"'' B-} '- lC, {A,,..., A.}
. .a I
Dar
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:
S-+aSd
S-+bd A
E
.LIMBAJE FORMALE $I TEORIA AUTOMATELOR
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.
se pune
o rarturie
cuplat6 cu un control
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
-44-
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
{wcfr I w e {0,1}'
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(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.
BC)
forma.din [13]:
dacd
--+
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:
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) '
{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
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}* }'
,M)}
6(q,,0,A)
6(q,,1
|
,zo) = {(q,,BZo)}
iitcul
;;;#,gdttfi*
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."
MJ
Fnn
(q,,00,
AAZ) l-'
(q,,A,AZn) l-"
(q,,L,Z)l*
-46-
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.
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) ).
(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)
$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:
a) -
Q.
I *, (qs,w,Z6X)
Mt
re
(qo
,*,Zo)
-47 -
e
b)
conform regule i2),rezuttdce. (qo,w, conform reguliior Agadar
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)
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)
t"af ?
Atunci:
Se observ[
o, 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
.
la reuniune, concaterlirv,.
,yi pn:o"yg
vi:-.sr!1-rlitle'ry,r
ri
YtflYz:O.
Limbajul
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,
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
we L(Gr)
L,
L, c L(Gr)
P3;
pomind de la
{S,
S,,S,
Sr}
derivatiei amintite nu po)te fi decdt rezultatul aplicdrii uneia din aceste doud rep:rrli'
li
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,
,.,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
- (Vr U {Sr},I,S'Pr),
{"
P,
P, U
' * '.' ' " VDemonstratie: Fie I un limbaj I.D.C., L c E' gi pentru fiecare a e >
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.
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
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
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}'},
{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
{a,b}
{a
.b}
a'
I.D.C.
.f(a):L"$if(b):Lt,atunci, datoritepropriet5lii
'
Li este I.D.c.
3J:1
:
I
in
care
card(L):I, oblinem gi
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-
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'
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)
in
I-(Irl1=tr-'(L(M))
cE
a)
dacd
printr-o aplicare
(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 -
(qo,rl, ataz...a^,zr)
l-
([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).
;'
undePn+tF'
Asfel,
) 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
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.
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
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:
LtMBA"JE FORMALE
9l TEORIA AUTOMATELOR
lui M'
$i M'
Figura 3.7.2
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],
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)
w:xa gi a e X
sau a:1,.
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}
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
L, = {aibjc'd'li
x1x2xjx4,unde 17 gi .r3 au aceeagi
t Lj > l}.
h-l(Lr)
Atunci
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
{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
]:
-54-
AUTOMATELOR
5. 6.
f,
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;
---+
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
[: