Sunteți pe pagina 1din 19

Limbaje Formale

Liviu P. DINU
Bucharest University, Faculty of Mathematics,
Academiei 14, RO-70109, Bucharest, Romania
E-mail: ldinu@funinf.cs.unibuc.ro
http://funinf.cs.unibuc.ro/ ldinu
November 22, 2003
Contents
1 Preliminarii 2
1.1 Ierarhia Chomsky . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Limbaje regulate 6
2.1 Gramatici regulate . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Automate cu Stari Finite . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Automate Finite Deterministe (AFD) . . . . . . . . . . 7
2.2.2 Automate Finite Nedeterministe (AFN) . . . . . . . . 9
2.3 Gramatici regulate si Automate cu num ar nit de stari . . . . 10
2.4 Proprietat i de inchidere ale limbajelor regulate. Lema Bar-Hillel 11
2.5 Automatul minimal . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Limbaje Independente de Context 13
3.1 Gramatici Independente de Context . . . . . . . . . . . . . . . 13
3.2 Automate Pushdown Nedeterministe (APD) . . . . . . . . . . 14
3.3 Limbaje Independente de Context si Automate Pushdown . . 16
3.4 Proprietat i de inchidere . . . . . . . . . . . . . . . . . . . . . . 17
1
Chapter 1
Preliminarii
Aceasta sect iune cont ine not iuni si denit ii elementare despre alfabet, cu-
vinte, concatenare, monoid libe generat, lungimea cuvintelor, gramatici, lim-
baj, etc.
Un alfabet este o mult ime nita nevida. Elementele unui alfabet se
numesc litere. Un cuvant este o secvent a nita de zero sau mai multe litere
ale lui ; cuvantul far a nici o litera se numeste cuvant vid si este notat cu .
Mult imea tuturor cuvintelor peste se noteaza cu

, n timp ce mult imea


tuturor cuvintelor nevide peste se noteaza cu
+
=

{}. Concatenarea
a doua cuvinte u, v, notata uv, este obt inuta a prin juxtapunere, i.e., prin
scrierea lui v dupa u. Mult imea

este monoidul liber generat de cu


operat ia de concatenare. Lungimea unui cuvant w, notata |w|, este data de
num arul literelor care apar n w; ecare litera este contorizat a ori de cate ori
apare. Un limbaj peste un alfabet este orice submult ime a lui

.
Denit ia 1. O gramatic a G este un sistem (T, N, S, P) unde T si N sunt
alfabete disjuncte (numite alfabetul terminalelor, respectiv neterminalelor),
S N este simbolul de start iar P este o mult ime nita si nevida a.i.
P (N T)

N(N T)

,
numita mult imea product iilor.
Notat ia 1. Elementele lui P le notam cu u v.
Denit ia 2. Fie G=(N,T,S,P) o gramatica. Denim relat ia
G
(N
T)

(N T)

prin w
1
w
2
(citim w
1
deriveaza direct in w
2
) i exista x,
2
y, u, v (N T)

a.i. w
1
= xuy, w
2
= xvy si u v P. Cand nu exista
pericol de confuzie renunt am la indicele G din rela ctia denita mai sus.
Observat ia 1. Relat ia de mai sus nu este neaparat reexiva si tranzitiva.
Denit ia 3.

Inchiderea reexiva si tranzitiva a relat iei o notam

. Avem
u

v daca e u=v, e exista k 1, exista u = w
0
, w
1
, w
2
, . . . , w
k
= v a.i.
w
i
w
i+1
, i = 0, . . . k 1.
Denit ia 4. Fie G=(N,T,S,P) o gramatica. Limbajul
L(G) = {w | w T

, S

w}
se numeste limbajul generat de gramatica G.
Exemplul 1. Fie gramatica
G = ({S}, (a, b), S, {S aSb, S ab}).
Limbajul generat de G este L(G) = {a
n
b
n
| n 1}.
1.1 Ierarhia Chomsky
Impunerea unor restrict ii asupra formei product iilor unei gramatici (Chom-
sky, 1958) a dus la aparit ia unor familii de limbaje care ocupa un loc central
in teoria limbajelor formale.
Denit ia 5. O gramatica G = (N, T, S, P) se numeste:
1. dependenta de context (context sensitive) sau de tipul 1, daca ecare
product ie u v a sa satisface condit ia |u| |v|.
2. independenta de context (context free) sau de tipul 2, daca ecare product ie
u v a sa satisface condit ia |u| = 1, v = .
3. regulata sau de tipul 3, daca ecare product ie u v a sa satisface
condit ia |u| = 1, v T

N, v = .
Orice gramatica se numeste de tipul 0.
Denit ia 6. Orice limbaj generat de o gramatica de tipul 3 (2,1,0) se numeste
limbaj regulat (independent de context, dependent de context, oarecare) sau
limbaj de tipul 3 (2,1,0).
3
Este evident ca orice gramatica de tipul i este de tipul i-1, i=3,2,1.
Familia limbajelor generate de gramatici de tipul i (i=0,1,2,3) se noteaza
cu L
i
(i=0,1,2,3). Sunt evidente incluziunile urmatoare:
L
3
L
2
L
1
L
0
.
Se va arata ca aceste incluziuni sunt stricte.
Lema 1. Fie G=(N,T,S,P) o gramatica de tipul i (i=3,2,1). Exista o gra-
matica G
1
echivalenta cu G a.i. simbolul init ial S
1
al lui G
1
sa nu apara in
nici unul din cuvintele aate in membrul al doilea al product iilor gramaticii
G
1
.
Demonstrat ie: (schit a) Fie G=(N,T,S,P) o gramatica de tipul i (i=3,2,1)
si e S
1
/ N T. Consideram gramatica G
1
= (N S
1
, T, S
1
, P
1
), unde
P
1
= P {S
1
u | S u P}. Se arata usor ca G si G
1
sunt echivalente,
i.e. daca w L(G) atunci w L(G
1
) si reciproc.
Denit ia 7. O gramatica G=(N,T,S,P) se numeste recursiva daca pentru
orice cuvant w T
+
exista un algoritm pentru a decide care din alternativele
w L(G) sau w / L(G) are loc.
Teorema 1. Gramaticile dependente de context sunt recursive
Demonstrat ie: Fie G=(N,T,S,P) o gramatica de tipul 1 si w T
+
. Notam
n = |w| si denim recursiv mult imile:
U
0
= {S}
U
m+1
= U
m
{v | v (N T)
+
, u[u U
m
a.i. u v si |v| n}
Se demonstreaza usor ca au loc urmatoarele proprietat i:
1. U
m
= {v | v (N T)
+
, S
m
|v| n}
2. U
0
U
1
. . . U
m
. . .

t=n
t=1
(N T)
t
3. exista k N a.i. U
k
= U
k
+ 1. Daca U
k
= U
k+1
atunci U
k
= U
k+i
,
pentru orice i=1,2,...
4. Fie k
0
cel mai mic numar natural a.i.U
k
= U
k+1
. Atunci
4
w L(G) iff w U
k
0
.
Denit ia 8. O product ie de forma X Y , X si Y neterminale, se numeste
redenumire.
Propozit ia 1. Fie G=(N,T,S,P) o gramatica de tipul 2 sau 3. Exista o
gramatica G
1
echivalenta cu G si fara redenumiri.
Demonstrat ie: Fie G=(N,T,S,P) o gramatica de tipul 2 sau 3. Fie
P
1
= {A u | u / N, A u P}
P
2
= {A u | A N, B[B N a.i. A
+

G
B, B u P
1
]}
Product iile din P
2
nu sunt redenumiri. Fie P

= P
1
P
2
. Gramatica G
1
=
(N, T, S, P

) este far a redenumiri si se arata usor ca este echivalent a cu G.


5
Chapter 2
Limbaje regulate
2.1 Gramatici regulate
Reamintim ca o gramatica regulata sau de tipul 3, este o gramatica in care
ecare product ie u v a sa satisface condit ia |u| = 1, v T

N, v = .
Propozit ia 2. Pentru orice gramatica regulata G=(N,T,S,P) exista o gra-
matica G
1
= (N
1
, T, S
1
, P
1
) exchivalenta cu ea si avand proprietatea ca ecare
produc atie u v P
1
a sa satisface condit iile u N
1
, v T TN
1
.
Demonstrat ie: Cf. Lemei anterioare, exista o gramatica echivalenta G

cu G si fara redenumiri. Product iile ei sunt e de forma A a


1
a
2
. . . a
k
,
k 1 cu a
i
T, i=1,2,...k, e de forma A a
1
a
2
. . . a
k
B, k 1 cu
a
i
T, i=1,2,...k, B N.

In cazul k=1 aceste product ii sunt de forma
A a, a T si le adaug am noii gramatici G
1
. Cand k 2, pentru ecare
product ie adaug am neterminalele noi A
1
, A
2
, . . . , A
k1
si product iile:
A a
1
A
1
A
1
a
2
A
2
. . . . . . . . .
A
k1
a
k
in locul product iei A a
1
a
2
. . . a
k
, iar in locul product iei A a
1
a
2
. . . a
k
B
adaugam product iile:
A a
1
A
1
A
1
a
2
A
2
6
. . . . . . . . .
A
k1
a
k
B
Gramatica G
1
va avea aceleasi terminale ca si G

, neterminalele vor cele


vechi la care le adaug am pe cele nou introduse, simbolul de start va acelasi,
iar product iile vor cele pe care le-am introdus cf. procedurilor de mai sus.
Nu este greu de aratat ca G
1
si G sunt echivalente.
Propozit ia anterioara ne permite construirea unui algoritm ecient pentru
a decide daca un cuvant dat apartt ine sau nu unui limbaj regulat.
Observat ia 2. Fie o gramatica regulata G=(N,T,S,P) cu product iile in
forma canonica si un cuvant w = w
1
w
2
. . . w
k
, w
i
T, i=1,2,...,k. Putem
constata care din alternativele w L(G) sau w / L(G) are loc alcatuind
recursiv mult imile:
U
0
= {X | X N a.i. X w
k
P}
U
m
= {X | X N, Y [Y U
m1
a.i. X w
km
Y P]}, m=1,2,. . . ,
k-1.
Avem w L(G) i S U
k1
.
2.2 Automate cu Stari Finite
2.2.1 Automate Finite Deterministe (AFD)
Denit ia 9. Se numeste automat nit determinist un quintuplu (, Q, q
0
, , F),
unde:
1. este un alfabet numit alfabetul de intrare
2. Q este o mult ime nita nevuda numita mult imea starilor interne
3. q
0
Q este starea init iala a automatului
4. : Q Q se numeste funct ia de tranzit ie a automatului
5. F Q este mult imea starilor nale ale automatului
Extindem funct ia de tranzit ie la cuvinte in felul urmator:
Denit ia 10. : Q

Q este denita astfel:


7
(q, ) =
(q, wx) = ((q, w), x),
pentru orice w

, orice x si orice q Q.
Cu alte cuvinte, (q, w) este starea in care ajunge automatul plecand din
starea q si primind la intrare cuvantul w.
Observat ia 3. Funct ia extinde funct ia , deoarece daca (q, a) Q ,
avem
(q, a) = (q, a) = ((q, ), a) = (q, a)
Vom nota extensia tot cu pentru usurint a scrierii.
Observat ia 4.
Denit ia 11. Fie A = (, Q, q
0
, , F) un AFD. Limbajul acceptat de au-
tomatul A este:
L(A) = {w | w

, (q
0
, w) F}.
Nu este greu de demonstrat urmatoarele doua leme:
Lema 2. Fie A un AFD. Fiind data starea (q, w) = s, cu w = , w =
w
1
w
2
. . . w
n
, w
i
, i = 1, 2, ...n, exista starile q
1
, q
2
, . . . q
n+1
a.i. q
1
=
q, q
n+1
= s, q
i+1
= (q
i
, w
i
), i = 1, 2, ..., n.
Lema 3. Fie A un AFD. Fiind date starile q
1
, q
2
, . . . q
n+1
a.i. q
i+1
= (q
i
, w
i
), i =
1, 2, ..., n, atunci q
n+1
= (q
1
, w), cu w = w
1
w
2
. . . w
n
, w
i
, i = 1, 2, ...n
Corolar 2.2.1.

Intr-un AFD, daca w=uv, atunci (q, w) = ((q, u), v).
Denit ia 12. Mult imea starilor accesibile ale unui AFD A = (, Q, q
0
, , F)
este mult imea
Q
a
= {q | q Q, , w[w

a.i. (q
0
, w) = q]}
Cu alte cuvinte, starile accesibile ale unui automat sunt acele stari in care
se poate ajunge pornind din starea init iala si primind la intrare un cuvant
oarecare w.
Starile accesibile pot calculate cu urmatorul algoritm:
8
U
0
= {q
0
}
U
m+1
= U
m
{q | q Q, as[a , s U
m
, a.i. (s, a) = q]}
Cel mai mic i N pentru care U
i
= U
i+1
ne permite determinarea starilor
accesibile: Q
a
= U
i
.
Denit ia 13. Mult imea starilor observabile ale unui AFD A = (, Q, q
0
, , F)
este mult imea
Q
o
= {q | q Q, , w[w

a.i. (q, w) F]}


2.2.2 Automate Finite Nedeterministe (AFN)
Denit ia 14. Un AFN este este un quintuplu (, Q, Q
0
, , F), unde:
1. este un alfabet numit alfabetul de intrare
2. Q este o mult ime nita nevuda numita mult imea starilor interne
3. Q
0
Q este o mult ime nevida, numita mult imea starilor init iale ale
automatului
4. : Q 2
Q
se numeste funct ia de tranzit ie a automatului
5. F Q este mult imea starilor nale ale automatului
Denit ia 15. Fie A = (, Q, Q
0
, , F) un AFN. Limbajul acceptat de A
este format din toate cuvintele w = w
1
w
2
. . . w
n
(w
i
, i = 1, 2, ..., n)
pentru care exista q
1
, q
2
, . . . , q
n+1
cu q
1
Q
0
, q
n+1
F si q
i+1
(q
i
, w
i
),
i=1,2,...,n.
Este evident ca orice AFD poate privit ca un AFN, prin urmare avem
urmatoarea teorema:
Teorema 2. Limbajul reprezentabil intr-un AFD este reprezentabil intr-un
AFN
Vom arata ca si reciproca este adevarata.
Teorema 3. Limbajul reprezentabil intr-un AFN este reprezentabil intr-un
AFD.
9
Demonstrat ie: (construct ie) Fie L un limbaj reprezentat in AFN-ul A =
(, Q, Q
0
, , F). Consideram AFD A
1
= (, 2
Q
, Q
0
,

, F
1
), unde funct ia de
tranzit ie este denita astfel:

(P, a) = , daca P =

(P, a) =

qP
(q, a), daca P = ,
iar mult imea starilor nale este: F
1
= {S | S Q, S F = }.
2.3 Gramatici regulate si Automate cu numar
nit de stari
Teorema 4. Orice limbaj regulat este reprezentabil intr-un AFN (AFD).
Demonstrat ie: (construct ie) Fie L un limbaj regulat; exista a asadar o
gramatica regulata G = (N, T, S, P) care il genereaza a.i. simbolul de start
al gramaticii nu apare in membrul drept al nici unei product ii si ale carei
product ii sunt de forma A a sau A aB, cu A, B N si a T.
Fie X / T N si automatul nit determinist A = (T, N{X}, {S}, , F
1
),
unde : (N {X}) T 2
N{X}
este data de:
(Y, a) = daca Y = X
(Y, a) = {A | Y aA} daca Y = X si Y a / P
(Y, a) = {A | Y aA} {X} daca Y = X si Y a P
Teorema 5. Orice limbaj reprezentabil intr-un AFD (AFN) este regulat.
Demonstrat ie: (construct ie) Fie AFD A = (, Q, q
0
, , F) care accepta
limbajul L. Construim gramatica G = (N, T, S, P), unde:
1. T = ;
2. N=Q;
3. S = q
0
;
4. Product iile sunt denite astfel: 1) A a P i (A, a) F; 2)
A aB i (A, a) = B, A, B Q, a T.
Se arata usor ca limbajul generat de gramatica G este identic cu L.
10
2.4 Proprietat i de inchidere ale limbajelor reg-
ulate. Lema Bar-Hillel
Teorema 6. Limbajele regulate sunt inchise la urmatoarele operat ii:
1. reuniune: daca L
1
, L
2
L
3
atunci L
1
L
2
L
3
2. intersect ie: daca L
1
, L
2
L
3
atunci L
1
L
2
L
3
3. concatenare: daca L
1
, L
2
L
3
atunci L
1
L
2
L
3
4. complementara: daca L L
3
atunci CL L
3
5. inchiderea Kleene: daca L L
3
atunci L

i0
L
i
L
3
;
6. daca L L
3
atunci Sub(L) = {w | x

, y

a.i. xwy L}
este un limbaj regulat.
2.5 Automatul minimal
Ne punem problema determinarii unui automat cu un numar minim de stari
intermediare care sa accepte un limbaj regulat dat.
Propozit ia 3. Fie A = (, Q, q
0
, , F) un AFD.
1. Pentru orice numar natural k se deneste relat ia
k
pe Q dupa cum
urmeaza:
q
1
k
q
2
i w[w

k
i=0

i
avem (q
1
, w) F (q
2
, w) F]
2. Pe Q denim relat ia astfel:
q
1
q
2
i k[k N, q
1
k
q
2
].
Relat iile
k
si sunt relat ii de echivalent a.
Propozit ia 4. Au loc urmatoarele proprietat i:
1. q
1
0
q
2
i q
1
si q
2
sunt simultan in F sau in Q-F.
11
2. daca k 1 atunci q
1
k
q
2
i (q
1
, a)
k1
(q
2
, a), a {}.
Propozit ia 5. Relat iile de echivalent a
k
satisfac proprietat ile:
1. . . .
k

k1
. . .
0

2. exista k
0
N a.i.
k
0
=
k
0
+i
, i 1
3. =
k
0
.
Propozit ia 6. Notam Q
1
= Q/

. Denim funct ia

1
: Q
1
prin
1
([q], a) = [(q, a)] penrtu orice a ,
unde prin [q] am notat clasa de echivalent a a lui q in raport cu relat ia . Sa
se arate ca
1
este bine denita.
Propozit ia 7. Sa se arate ca
1
([q], w) = [(q, w)], pentru orice w

.
Teorema 7. Fie A = (, Q, , q
0
, F) un AFD fara stari inaccesibile. Au-
tomatul cu numar minim de stari care accepta acelasi limbaj ca si A este
A
min
= (, Q
1
,
1
, [q
0
], F/

), unde elementele sale sunt denite cf. propozit iilor


anterioare.
Lema 4. (Lema de pompare sau lema Bar-Hillel) Daca L este un limbaj
regulat, atunci exista k N

a.i. oricare ar w L, |w| > k, are o


descompunere de forma w = xyz, cu x, y, z

, 0 < |y| k si xy
i
z L,
pentru orice i 0.
Demonstrat ie: Fie A = (, Q, , q
0
, F) un AFD minimal cu k stari a.i. sa
accepte limbajul L.
Daca w L si |w| > k scriem w = w
1
w
2
. . . w
n
si consideram secvent a de
stari:
(q
0
, w
1
), (q
0
, w
1
w
2
) . . . (q
0
, w
1
w
2
. . . w
k+1
)

In secvent a de mai sus exista doua stari egale si de aici demonstrat ia decurge
usor.
12
Chapter 3
Limbaje Independente de
Context
3.1 Gramatici Independente de Context
Propozit ia 8. Orice limbaj independent de context poate generat de o
gramatica G=(N,T,S,P) de tipul 2 ale carei product ii sunt de forma X
A
1
A
2
. . . A
k
sau X a, unde k > 1, X, A
1
, A
2
, . . . , A
k
N si a T.
Demonstrat ie: Exista o gramatica echivalenta G

cu G si fara redenumiri
care il genreaza pe L. Product iile ei sunt e de forma A A
1
A
2
. . . A
k
, k 2
cu A
i
T N, i=1,2,...k, e de forma A a, cu a T. In cazul al doilea
aceste product ii sunt de forma dorita si le lasam neschimbate.

In primul caz,
pentru ecare terminal A
i
adaug am un nou neterminal B
i
distinct de toate
celelalte si inlocuim in product ie pe A
i
cu B
i
, adaug and product ia B
i
A
i
.
Propozit ia 9. (Forma normala Chomsky) Orice limbaj independent de con-
text poate generat de o gramatica G=(N,T,S,P) de tipul 2 ale carei product ii
sunt de forma X A
1
A
2
sau X a, unde X, A
1
, A
2
N si a T.
Demonstrat ie: (construct ie) Din propozit ia anterioara am vazut ca orice
limbaj independent de context poate generat de o gramatica de tipul 2
fara redenumiri si ale carei product ii sunt de forma: A A
1
A
2
. . . A
k
, k 2
cu A
i
N, i=1,2,...k, sau de forma A a, cu a T. Pentru ecare
product ie de forma A A
1
A
2
. . . A
k
, k 2 vom introduce k-2 neterminale
noi B
1
, B
2
, . . . , B
k2
si product iile:
13
A A
1
B
1
B
1
A
2
B
2
. . . . . . . . .
B
k2
A
k1
A
k
Teorema 8. Fie G=(N,T,S,P) o gramatica independenta de context in FNC.
Daca derivarea S

are proprietatea ca cel mai lung lant de la radacina la
varfurile terminale in arborele de derivare asociat ei are k noduri, atunci
|w| 2
k1
.
Teorema 9. (Lema de pompare) Pentru orice limbaj independent de context
L exista numerele naturale p si q a.i. orice cuvant w L cu |w| > p poate
scris sub forma w=xyzuv, unde:
1. |yzu| q;
2. yu =
3. xy
i
zu
i
v L, pentru orice i 0.
3.2 Automate Pushdown Nedeterministe (APD)
Denit ia 16. Un APD este un sistem (K, , , , q
0
, Z
0
, F) unde:
1. K este o mult ime nevida, nita, repezentand mult imea starilor
2. este un alfabet, numit alfabetul de intrare
3. este un alfabet, numit alfabetul stivei
4. : K ( {}) 2
K

5. q
0
K este starea init iala
6. Z
0
este simbolul de start al stivei
7. F K este mult imea starilor nale.
Denit ia 17. Se numeste congurat ie a unui automat pushdown P un triplet
(q, w, u) K

, unde:
1. q K este starea in care se aa automatul
14
2. w

este partea necitita din cuvantul aat pe banda de intrare.


3. u reprezinta cont inutul stivei
Pe mult imea congurat iilor denim o relat ie binara notata denita
astfel:
Denit ia 18. Congurat ia (q, aw, Zu) se aa in relat ia cu congurat ia
(s, w, vu) si scriem
(q, aw, Zu) (s, w, vu)
daca (s, v) (q, a, Z), unde q, s K, a {}, Z , w

, u, v

Intr-un mod analog gramaticilor regulate denim inchiderea reexiva si


tranzitiva a relat iei .
Denit ia 19. Cuvantul w

este acceptat de automatul pushdown P daca


exista q F, u

a.i. (q
0
, w, Z
0
)

(q, , u)
Denit ia 20. Fie P = (K, , , , q
0
, Z
0
, ) un APD. Spunem ca un cuvant
w

este acceptat de P cu memoria pushdown vida daca exista q K a.i.


(q
0
, w, Z
0
)

(q, , )
Notat ia 2. Vom nota cu L

(P) mult imea tuturor cuvintelor acceptate de P


cu memoria vida.
Teorema 10. Fie L(P) limbajul acceptat de un APD P = (K, , , , q
0
, Z
0
, F).
Exista un APD P
1
a.i. L(P) = L

(P
1
).
Demonstrat ie: Fie q

, q

0
doua elemente distincte ce nu apar in K si e
X, X / . Construim APD cu memorie vida P
1
= (K {q

, q

0
}, ,
{X},
1
, q

0
, X, ), unde
1
o denim astfel:
1.
1
(q, a, Z) = (q, a, Z), daca q K, a , Z

1
(q, , Z) = (q, , Z), daca q K F, Z

1
(q, , Z) = (q, , Z) {(q

, )}, daca q F, Z
2.
1
(q, , X) = {(q

, )}, daca q F
3.
1
(q

0
, , X) = {(q
0
, Z
0
X)}
15
4.
1
(q

, , Z) = {(q

, )} daca Z {X}
5. in celelalte cazuri
Teorema 11. Fie L(P) limbajul acceptat de un APD P = (K, , , , q
0
, Z
0
, ).
Exista un APD P
1
a.i. L(P
1
) = L

(P).
Demonstrat ie: Fie P
1
= (K {q

0
, q
f
}, , {X},
1
, q

0
, X, q
f
), q

0
= q
f
/
K, X / ,iar
1
o denim astfel:
1.
1
(q, a, Z) = (q, a, Z), daca q K, a {}, Z
2.
1
(q, , X) = {(q
f
, )}, daca q K
3.
1
(q

0
, , X) = {(q
0
, Z
0
X)}
4. in celelalte cazuri
3.3 Limbaje Independente de Context si Au-
tomate Pushdown
Teorema 12. Fie L un limbaj independent de context. Exista un APD P
a.i. L

(P) = L.
Demonstrat ie: Daca L L
2
, exista o gramatica independenta de context
G=(N,T,S,P) a.i. L=L(G). Construim automatul pushdown P = ({q}, T, T
N, , q, S, ), unde este data de:
1. (q, , A) = {(q, u) | A u P}
2. (q, a, a) = {(q, )}, pentru a T
3. in celelalte cazuri.
Teorema 13. Fie P = (K, , , , q
0
, Z
0
, ) un APD cu memoria vida.
Atunci limbajul L

(P) este independent de context.


Demonstrat ie: Vom construi o gramatica independenta de context care
sa genereze L

(P).
Fie G=(N,T,S,P), unde:
16
N = KK{S}, unde S / KK; ecare neterminal (q,Z,r)
il notam [qZr].
T =
Product iile sunt denite dupa cum urmeaza:
1. S [q
0
Z
0
q], pentru orice q K;
2. [qZr] a pentru orice a {} a.i. (r, ) (q, a, Z)
3. [qZs
k
] a[ru
1
s
1
][s
1
u
2
s
2
] . . . [s
k1
u
k
s
k
] pentru orice insiruire de
k 1 stari s
1
, . . . , s
k
din K si orice a {} pentru care
(r, u
1
u
2
. . . u
k
) (q, a, Z), u
i
, i=1,2,...k.
3.4 Proprietat i de inchidere
Teorema 14. Limbajele independente de context sunt inchise la reuniune,
concatenare, inchiderea Kleene, substitut ii.
Propozit ia 10. Limbajele independente de context nu sunt inchise la intersect ie
si la complementara.
Demonstrat ie:
{a
i
b
i
c
j
| i, j, k 1} {a
i
b
j
c
j
| i, j, k 1} = {a
j
b
j
c
j
| j 1} / L
2
, desi
ecare din cele doua limbaje este independent de context.
C{a
j
b
j
c
j
| j 1} L
2
Propozit ia 11. Familia limbajelor independente de context este inchisa la
intersect ia cu limbaje regulate.
17
Bibliography
[1] . Atanasiu, A. Mateescu. Limbaje Formale. Culegere de Probleme, Ed.
Univ. Bucuresti, 1990
[2] H. Georgescu, C. Popovici, S. Rudeanu. Bazele Informaticii, vol. II, Ed.
Univ. Bucuresti, 1991, pg.1-90
[3] . Salomaa. Formal Languages, 1973
[4] . Salomaa, Rozenberg (eds.) Handbook of Formal Languages, Springer,
1997
18

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