Sunteți pe pagina 1din 16

Modulul 3.

Proprietăţi ale limbajelor regulate


Cuprins
Introducere ................................................................................................................ .....92
Competenţe ............................................................................................................... .....92
U1. Proprietăţi de închidere pentru limbaje regulate ............................................... .....93
U2. Lema de pompare pentru limbaje regulate............................................................101
Soluţiile testelor de autoevaluare pentru Modul 3……………………………………106

Introducere
Acest modul se referă la proprietăţi ale familiei limbajelor regulate care permit atât
construcţia de noi limbaje, gramatici, automate finite şi expresii regulate at şi
demonstrarea unui rezultat foarte interesant enunţat în modulul 1 şi anume: clasa
limbajele de tip 3 nu este egală cu clasa limbajelor independente de context.

Datorită rezultatelor prezentate în modulul 2 de unde rezultă că limbajele regulate


pot fi private ca limbaje generate de gramatici de tip 3, recunoscute de automatele
finite sau reprezentate de expresii regulate, In demonstraţii se poate folosi oricare
dintre aceste reprezentări.

Competenţe
La sfârşitul acestui modul studenţii vor fi capabili să:
 Construiască automate finite deterministe şi nedeterministe pentru limbaje
compuse din mai multe alte limbaje;
 Construiască gramatici generative de tip 3 nedeterministe pentru limbaje
compuse din mai multe alte limbaje;
 Construiască expresii regulate nedeterministe pentru limbaje compuse din
mai multe alte limbaje;
 Implementeze algoritmii prezentaţi într-un limbaj de programare general

- 92 -
Unitatea de învăţare M3.U1. Proprietăţi de închidere pentru
limbaje regulate
Cuprins
M3.U1.1. Introducere .................................................................................................... 93
M3.U1.2. Obiectivele unităţii de învăţare ..................................................................... 93
M3.U1.3. Proprietăţi de închidere ale limbajelor regulate ....................................... .....93
M3.U1.4. Rezumat ...................................................................................................... 100

M3.U1.1. Introducere
Vom studia o serie de proprietăţi ale limbajelor regulate dintre care o parte
importantă o formează proprităţile de închidere ale familiei limbajelor regulate la
operaţiile cu limbaje introduse în modulul 1. Pentru că limbajele de tip 3 pot fi
generate de gramatici de tip 3, recunoscute de automatele finite sau reprezentate de
expresii regulate, în demonstraţii vom folosi oricare dintre aceste reprezentări.

M3.U1.2. Obiectivele unităţii de învăţare


La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
 Inţeleagă şi să explice algoritmii de construţie a unor gramatici, automate
finite sau expresii regulate pormind de la alte gramatici, automate finite sau
expresii regulate;
 Construiască gramatici, automate finite sau expresii regulate pormind de la
alte gramatici, automate finite sau expresii regulate;;
 Folosească proprităţile în contruire de noi limbaje;
 Implementeze algoritmii prezentaţi într-un limbaj de programare general

Durata medie de parcurgere a unităţii de învăţare este de 3 ore.

M3.U1.3 Proprietăţi de închidere pentru limbaje regulate

Teorema 2.9.1
Clasa limbajelor de tip 3 este închisă în raport cu reuniunea.

▼ Demonstraţie:

- 93 -
Demonstraţia se poate face folosind automate finite nedeterministe sau folosind
gramaticile generative de tip 3. Alegem cea de a doua variantă (prima poate constitui un
exerciţiu).
Fie L1, L2 două limbaje de tip 3 generate de gramaticile G1, G2:

G 1  (VN , VT , S1 , P1 ) , unde 
 L(G 1 )  L1 \  λ
(1) (1)

 
  L(G 2 )  L 2 \  λ

(2) (2)
 2
G (V N
, VT
, S 2
, P2
)
Presupunem că VN  VN   (în caz contrar, se poate face o redenumire a variabilelor
(1) (2)

astfel încât condiţia să fie îndeplinită fiindcă variabilele nu apar în cuvintele limbajului) şi
construim:
G 3  (VN(1)  VN(2)   S3 , VT(1)  VT(2) , S3 , P3 ) ,

S3  VN(1)  VN(2)
unde 
P3  P1  P2   S3  α S1  α  P1 sau S2  α  P2 

Dacă λ  L1  L 2 atunci la mulţimea regulilor se adaugă S 3  λ (adică dacă
S1  λ  P1 sau S 2  λ  P2 ).
Fie w  L 1 . Atunci:

w  L   S  α  *
  α*
w , S3  α  P3  .
 w  
 G G   G 
1 1
1 1 3

Similar pentru w  L 2 .

 
* * *
Dacă α  w , α  S3 , atunci α  w sau α  w după cum α  VN  VT
(1) (1) *
sau
G3 G1 G2

α  VN(2)  VT(2)  .
*

Teorema 2.9.2
Clasa limbajelor de tip 3 este închisă în raport cu complementarea.

▼ Demonstraţie:
Să arătăm această proprietate folosind automate finite deterministe.
Fie M  (Q, Σ, δ, q 0 , F) un automat finit determinist, astfel încât T(M)=L.
Fie Σ 1  Σ şi s o nouă stare ( s Q ).
Construim M 1  (Q  {s}, Σ 1 , δ1 , q 0 , (Q \ F)  {s}) , unde:
δ1 (q, a)  δ(q,a), pentru q  Q, a  Σ


δ1 (q, a)  s, pentru q  Q, a  Σ1 \ Σ


δ1 (s, a)  s, pentru a  Σ1

- 94 -
M1 este construit adăugând o stare “capcană” la mulţimea stărilor, stare în care automatul
intră pentru orice simbol care nu e în Σ şi rămâne în ea indifferent de simbolul de intrare citit, iar
apoi schimbând stările finale cu cele nefinale.
Un cuvânt din Σ1 \ T(M) este sau un cuvânt din Σ* de la care M nu ajunge în stare
*

finală, deci care nu e acceptat de M, adică δ(q 0 , x)  Q \ F , sau este un cuvânt care conţine
simboluri din Σ 1 \ Σ şi în momentul depistării unui astfel de simbol M1 intră în starea s în care
rămâne până analizează tot cuvântul.

Teorema 2.9.3
Clasa limbajelor de tip 3 este închisă în raport cu intersecţia.

▼ Demonstraţie:
Varianta 1.
Folosim pentru această demonstraţie una dintre relaţiile lui DeMorgan, din teoria
mulţimilor:
L1  L 2  L1  L 2 ,
unde L reprezintă complementara lui L.
Din teoremele 2.6.1 şi 2.6.2 rezultă deci că dacă L1 şi L2 sunt limbaje regulate, atunci şi
limbajul L1  L 2 este regulat.
Sigur ca aceasta este o demonstraţie elegantă a teoremei dar ea nun e furnizează nici un
mijloc de a construe gramatica sau automatul pentru L1  L 2 când cunoaştem gramaticile,
respectiv automatele, pentru L1 şi L2. Prezentăm in continuare o astfel de demonstraţie, care se
poate face construind un automat finit care să simuleze în paralel cele două automate M 1 si M2
astfel:

Varianta 2.
Fie M 1  (Q1 , Σ1 , δ1 , q 1 , F1 ) şi M 2  (Q 2 , Σ 2 , δ 2 , q 2 , F2 ) două automate finite
deterministe. Ele acceptă mulţimile regulate T(M1) = L1, respectiv T(M2) = L2.
Presupunem că Q1  Q 2   (dacă nu, se face o simplă redenumire a stărilor fiecăruia
dintre ele, de exemplu prin renumerotare).
Putem presupune că Σ 1  Σ 2  Σ (dacă nu, creăm Σ  Σ 1  Σ 2 ).
Construim automatul finit nedeterminist M3 care acceptă intersecţia L1  L 2 , după cum
urmează:
M3 = (Q1 x Q2, , 3, [q0,q1], F1 x F2), unde 3 este definit de :

3([q,p], a) = [r,t]  1(p,a) = r şi 2(q,a) = t

Evident că automatul M3 intră într-o sare finală din F1 x F2 dacă şi M1 intră intr-o stare finală din
F1 şi M2 intră intr-o stare finală din F2.

- 95 -
Din teoremele 2.6.1, 2.6.2 şi 2.6.3 rezultă că:

Teorema 2.9.4
Clasa mulţimilor regulate este o algebră booleană.

Teorema 2.9.5
Clasa mulţimilor regulate este închisă în raport cu operaţia de oglindire.

▼ Demonstraţie:
Fie un automat finit M  (Q, Σ, δ, q 0 , F) . Considerăm mulţimea regulată L=T(M).
Definim automatul finit nedeterminist M’ astfel încât să funcţioneze “invers” faţă de M:
M   (Q  {q 0 }, Σ, δ, q 0 , F) , unde:
F  {q 0 } dacă λ  T(M)
sau F  {q 0 , q 0 } dacă λ  T(M)
având tranziţiile:
p  δ(q0 , a) dacă δ(p, a)  F



p  δ(q, a) dacă δ(p, a)  q
~
Este uşor de demonstrat acum că T(M)  L (vezi şi definiţia oglindirii unui limbaj, în
capitolul I, paragraful § 1.3).

Teorema 2.9.6
Clasa mulţimilor regulate este închisă în raport cu operaţia de concatenare.

▼ Demonstraţie:
Fie M 1  (Q1 , Σ1 , δ1 , q 1 , F1 ) şi M 2  (Q 2 , Σ 2 , δ 2 , q 2 , F2 ) două automate finite
deterministe. Ele acceptă mulţimile regulate T(M1), respectiv T(M2).
Presupunem că Q1  Q 2   (dacă nu, se face o simplă redenumire a stărilor fiecăruia
dintre ele, de exemplu prin renumerotare).
Putem presupune că Σ 1  Σ 2  Σ (dacă nu, creăm Σ  Σ 1  Σ 2 ).
Construim automatul finit nedeterminist M3 care acceptă concatenarea T(M 1 )T(M 2 ) după cum
urmează:
M 3  (Q1  Q 2 , Σ, δ 3 , q1 , F3 )
p  δ 3 (q, a) , dacă q  Q1 , p  Q1 \ F1 şi δ1 (q, a)  p


cu {q 2 , p}  δ 3 (q, a) , dacă q  Q1 , p  F1 şi δ1 (q, a)  p


p  δ 3 (q, a) , dacă q, p  Q 2 şi δ 2 (q, a)  p

- 96 -
şi F2 , dacă λ  L 2

F3  

F2  F1 , dacă λ  L 2
Automatul finit M3 astfel construit va simula pe M1 până când acesta va intra într-o stare
finală, moment în care M3 poate intra în starea iniţială a lui M2 sau poate continua să simuleze
M1. Atunci când M3 ajunge în starea iniţială a lui M2, îl va simula pe acesta din urmă până la
oprire.
Se demonstrează uşor că T(M 3 )  T(M 1 )  T(M 2 ) .

Teorema 2.9.7
Clasa mulţimilor regulate este închisă în raport cu închiderea Kleene.
▼ Demonstraţie:

Fie M  (Q, Σ, δ, q 0 , F) un automat finit determinist acceptând limbajul regulat


L=T(M).
Construim automatul finit nedeterminist:
M   (Q  {q 0 }, Σ, δ, q 0 , F  {q 0 })
Dac ă δ(q 0 , a)  p  F, atunci δ(q 0 , a)  {p, q 0 }

Dac ă δ(q 0 , a)  p  F, atunci δ(q 0 , a)  {p}


Dac ă δ(q, a)  p  F, atunci δ(q, a)  {p, q 0 }


Dac ă δ(q, a)  p  F, atunci δ(q, a)  {p}
Se adaugă astfel o nouă stare iniţială q 0 pentru că, dacă λ trebuie să aparţină lui T(M)*,
nu putem forţa q0 să aparţină lui F3 căci M ar putea intra în q0 şi pe parcursul acceptării unui
cuvânt când q 0  F .
a) Dacă x  L atunci:
*

x  λ şi δ( q 0 , λ)  q 0  F3
sau
x=x1x2…xn cu x i  L , iar în acest caz sunt posibile situaţiile:
a.1) ( q 0 ,x1x2…xn)├* (p, x2…xn), p  F (pentru că x 1  L ) dar în continuare nu e sigur
că automatul va conduce la acceptare (pornind din starea p cu şirul rămas).
Alegem atunci a doua variantă:

a.2) ( q 0 ,x1x2…xn)├* (q0,x2…xn)├* (q0,x3…xn)├*…├*(q0,xn) ├ (r,λ) unde r  F .


Aşadar x  T(M ) .

b) Dacă x  T(M ) şi x=a1a2…am , atunci există stările q1,q2,…,qm astfel încât:

- 97 -
q 1  δ(q 0 , a 1 )

q i 1  δ(q i , a i 1 )


q m  F


şi q 1 , q 2 ,...,q m  Q
Atunci, pentru un anume i avem:
q i 1  q 0
sau   sau δ(q i , a i 1 )  q i 1 .

δ(q i , a i 1 )  F

Deci x poate fi scris în forma x=x1x2…xn, unde x j  L ( δ(q0 , x j )  F ).


Teorema 2.9.8
Clasa mulţimilor regulate este închisă relativ la substituţia cu mulţimi regulate.

▼ Demonstraţie:
Fie R  Σ o mulţime regulată şi pentru fiecare a  Σ fie R a  Δ o mulţime
 

regulată.
Fie f : Σ  Δ o substituţie regulată, f(a)=Ra.

Pentru ca R şi Ra, pentru fiecare a din R, sunt mulţimi regulate rezultă că există câte o
expresie regulată care să le reprezinte, expresii care conţin un număr finit de opratori *, . ,sau |.
Se observă ca substituţia unei reuniuni, a unei concatenări sau a unui produs Kleene este
reuniunea, concatenarea, respectiv produsul Kleene al substituţiilor:
f(R 1  R 2 )  f(R 1 )  f(R 2 )


f(R 1  R 2 )  f(R 1 )  f(R 2 )


f(R)  f(R )
 

Dar reuniunea concatenarea şi respectiv produsul Kleene sunt reprezentate de cei trei operatori
ai unei expresii regulate: *, . , | . Deci şi pentru două expresii regulate e1 si e2 vom avea:
f(e 1 | e 2 )  f(e 1 ) | f(e 2 )

f(e 1  e 2 )  f(e 1 )  f(e 2 )
  
f(e)  f(e )
Folosind inducţia relativ la numărul de operatori folosiţi de expresia regulată rezultă că: dacă r
este o expresie regulată atunci f(r) este tot o expresie regulată, ceea ce trebuia demonstrat.

În modulul 1 s-a definit operaţia de homomorfism. Să introducem şi inversa acesteia:

Definiţia 2.9.9 Definim homomorfismul invers astfel:

- 98 -
h 1 (L)  x h(x)  L
h 1 (w)  x h(x)  w
h 1 (w)  x  h(x)  w
h(a)  1

Teorema 2.9.10
Clasa mulţimilor regulate este închisă în raport cu homomorfismul şi cu homomorfismul
invers.

▼ Demonstraţie:
Deoarece h(a) e un caz particular de substituţie, Teorema 2.9.10 justifică prima cerinţă a
acestei teoreme.
Fie L un limbaj de tip 3 şi M automatul finit care recunoaşte L = T(M).
Construim un automat finit M’ pentru h-1(L) care simulează în controlul său finit
funcţionarea lui M corespunzător cu Fig.2.9.1.

a0 a1 … ai … an …

h(ai)
Fig.2.9.1

CF pt.M

Automatul M va fi un automat cu λ-tranziţii care citeşte câte un simbol ai de pe banda de


intrare şi generează pentru simbolul de intrare citi cuvântul h(ai) într-o zonă de memorie din
controlul său finit. Apoi efectuează o serie de λ-tranziţii în şirul de intrare, adică nu mai citeşte
nici un simbol de intrare, şi în acest timp simulează acţiunea automatului M în controlul său finit.
Când M termină de citit h(ai) şi starea sa este o stare finală (adică M acceptă h(ai)) atunci M’ işi
goleşte zona sa de memorie în care reprezenta h(ai) şi citeşte un nou simbol de intrare(această
gilire se poate face şi pe parcurs reţinând în zona de memorie numai partea necitită din h(ai)). M’
continuă de această manieră pînă când nu mai are nici un simbol de intrare de citit şi zona sa de
memorie este goală. Evident M’ termină de citit şirul său de intrare numai dacă M a acceptat
fiecare h(ai) pentru i de la 1 la n.

- 99 -
Pentru formalizare vom considera fiecare stare a lui M’ de forma [α,q]unde α este partea
necitită din h(ai) iar q este o stare a lui M. Funcţia de tranziţie, ’, a lui M’ se defineşte astfel:
’([λ,q],a) = [h(a),q] M’ generează h(a), în memoria lui
’([bα,q], λ) = [α, (b,q)] M’ simuleză, funcţionarea lui M pe un sufix al lui h(a), în
controlul său finit.

Să ne reamintim...

Limbajele regule formează o familie de limbaje care este închisă la


următoarele operaţii:
 Reuniune,
 Complementară,
 Intersecţie,
 Produs Kleene,
 Oglindire,
 Substituţie,
 Homomorfism,
 Homohorfism invers.

Test de evaluare a cunoştinţelor


I. Întrebări.
1. Precizaţi 4 dintre proprietăţile limbajelor de tip 3 şi demonstraţi 2
dintre ele.

II. Exerciţii propuse.


1. Arătaţi că următoarele limbaje sunt regulate:
L1 = {awa | w{a,b}*};
L2 = {aw1aaw2a | w1,w2{a,b}*};

M3.U1.4 Rezumat
Unitatea de învăţare prezintă proprietăţile de închidere ale familiei limbajelor
regulate. Pentru că limbajele de tip 3 pot fi generate de gramatici de tip 3,
recunoscute de automatele finite sau reprezentate de expresii regulate, în
demonstraţii s-au folosit una sau alta dintre aceste reprezentări.

- 100 -
Unitatea de învăţare M3.U2. Lema de pompare pentru limbaje
regulate
Cuprins
M3.U2.1. Introducere ............................................................................................... 101
M3.U2.2. Obiectivele unităţii de învăţare ................................................................ 101
M3.U2.3. Proprietăţi ale limbajelor regulate ............................................................ 101
M3.U2.4. Lema de pompare ..................................................................................... 103
M3.U2.5. Rezumat....................................................................................................105

M3.U2.1. Introducere

Această unitate de învăţare prezintă câteva dintre proprietăţile limbajelor regulate,


care nu sunt proprităţi de închidere. Una dintre cele mai importante este lema de
pompare, care dă o caracterizare a mulţimilor regulate şi anume fiind dată o
mulţime şi un cuvânt suficient de lung, se poate găsi un subcuvânt nevid al acestui
cuvânt care se poate repeta de oricâte ori astfel încât cuvântul obţinut prin repetare
rămâne în mulţimea regulată dată.

M3.U2.2. Obiectivele unităţii de învăţare


La sfârşitul acestei unităţi de învăţare studenţii vor fi capabili să:
 recunoască limbajele de tip 3 folosind proprietăţi ale acestora;
 înţeleagă şi să explice lema de pompare;
 recunoască şi să demonstreze că anumite limbaje nu sunt de tip 3, folosind
lema de pompare;

Durata medie de parcurgere a unităţii de învăţare este de 3 ore.

M3.U2.3. Proprietăţi ale limbajelor regulate

Teorema 2.9.5
Toate mulţimile finite sunt limbaje de tip 3.

▼ Demonstraţie:

- 101 -
Dacă L este o mulţime finită de cuvinte, atunci L  {w 1 ,..., w n } .
Arătăm întâi că pentru fiecare cuvânt w i  L , există Gi o gramatică de tip 3, astfel încât
L(G i )  w i . Fie wi= a1a2. . . an. Atunci mulţimea de reguli:
S → a1A1
A1 → a2A2
.............
An-2 → an-1An-1
An-1 → an
generează cuvântul wi adică:
*
S w i
G3

Deci limbajele w i i 1,n sunt regulate.

Cum L este un limbaj finit, L  w i , folosind Teorema 2.6.1 rezultă că L este un limbaj de
n

i 1
tip 3.
O demonstraţie echivalentă se poate face şi construind un automat finit M, astfel încât
T(M)=L.

Teorema 2.9.9
Clasa mulţimilor regulate este cea mai mică clasă conţinând toate mulţimile finite şi fiind
închisă în raport cu operaţiile de reuniune, concatenare şi închidere Kleene.

▼ Demonstraţie:
În baza teoremelor anterioare, este suficient acum să demonstrăm că cea mai mică clasă
M conţinând toate mulţimile finite şi închisă la reuniune, concatenare şi închidere Kleene
conţine clasa mulţimilor regulate.
Fie L1 mulţimea acceptată de un anume automat finit,
M  (q 1 ,...,q n , Σ, δ, q 1 , F)
Fie R ij mulţimea tuturor şirurilor x astfel încât δ(qi , x)  q j şi dacă
(k)

δ(q i , y)  q l pentru y care nu e prefix al lui x (desigur şi y  x, y   ) , atunci l  k .


(k)
Deci R ij este mulţimea tuturor şirurilor de intrare x care conduc automatul finit din
starea qi în starea qj fără a trece printr-o stare ql cu l mai mare decât k. Se observă că i şi j pot fi
mai mari decât k.
Putem defini recursiv aceste mulţimi, astfel:
R ij(k)  R ik(k -1) (R (kkk-1) ) * R (kkj -1)  R ij(k -1)

 (0)
R ij  {a δ(q i , a)  q j }

(k)
În definirea recursivă a lui R ij s-a folosit faptul că intrările care îl fac pe M să treacă din qi
în qj fără a trece printr-o stare ql cu l > k sunt:
- 102 -
(k -1)
- sau în R ij , adică trec automatul M din qi în qj fără a trece printr-o stare de indice mai
mare decât k-1,
- sau trec din starea i în k fără a trece prin stări de indice mai mare decât k-1 şi apoi din
starea k în j fără a trece prin stări de indice mai mare decât k-1.

(k)

Să arătăm că R ij 0 k  n este o clasă de mulţimi inclusă în cea mai mică clasă care conţine
mulţimile regulate. Vom face acest lucru prin inducţie matematică în raport cu k.
Pentru k=0, R ij  {a δ(q i , a)  q j }  R ij
(0) (0)
este o mulţime finită, deci şi regulată (v.
Teorema 2.6.5)  R ij(0)  M .
Presupunând adevărată afirmaţia pentru k (o notăm P(k)), verificăm P(k+1):
R ij(k 1)  R ik
(k)
(R (k) ) * R (k)  R ij(k)
 (k)
kk kj

R ik , R kk , R kj , R ij  M
(k) (k) (k)

dar M este închisă la produs Kleene, concatenare şi reuniune,


 R ij(k)  M , deci inducţia se încheie aici.
Revenind la limbajul L1 considerat iniţial, acesta se poate scrie sub forma:
L1   R 1jn  M .
q j F

În concluzie, L1 este inclus în cea mai mică mulţime care conţine toate mulţimile finite şi
e închisă la reuniune, concatenare şi produs Kleene.
Implicaţia inversă este evidentă şi deci teorema este demonstrată.

Consecinţa 2.9.1 Orice expresie formată dintr-un şir finit de simboluri peste Σ şi un număr finit
de operatori , ,  cu paranteze pentru a determina ordinea operaţiilor, este o mulţime regulată.
În plus, rezultă că orice mulţime acceptată de un automat finit determinist este de această
formă. Se obţine şi de aici un mod convenabil de a nota mulţimile regulate şi anume prin
intermediul expresiilor regulate.
Astfel următoarele mulţimi sunt reulate:
a) mulţimea cuvintelor care se pot forma cu simbolurile a,b,c se poate scrie sub forma a, b, c .
b) mulţimea cuvintelor formate din simbolurile 0 şi 1, având trei 0 consecutivi, se poate scrie sub
forma: 0,1 0000,1 .
 

M3.U2.4 Lema de pompare pentru limbaje regulate


Această lemă dă o caracterizare a mulţimii regulate şi anume fiind dată o mulţime şi un
cuvânt suficient de lung, se poate găsi un subcuvânt nevid al acestui cuvânt care se poate repeta
de oricâte ori astfel încât cuvântul obţinut prin repetare rămâne în mulţimea regulată dată.

Teorema 2.5.1
Fie L o mulţime regulată . Atunci există o constantă p , astfel încât dacă un cuvânt wL şi
|w|p atunci w poate fi scris w=xyz, unde:

- 103 -
- 0  |y| p
- xyizL, i0.

▼ Demonstraţie:
Fie M=(Q,,,q0,F) un automat finit cu n stări astfel încât T(M)=L.
Fie p=n.
Dacă wT(M) şi w n, atunci considerăm configuraţiile succesive ale lui M, în acceptarea
lui w;
  cel puţin n+1 configuraţii, deci trebuie să fie cel puţin două stări identice p = qi = qj astfel
încât:
(q 0 , w) ├* (q i , w) ├* (q j , z) ├* (r, λ)
De aici rezultă că w=xw’ şi w’=yz şi deci w=xyz.
Fie j cel mai mic indice pentru care qi = qj de unde şi 0  |y| n.
Dar atunci :
(q 0 , xy i z) ├* (p, yi z) ├* (p, y i-1z) ├* …├* (p, z) ├* (r, λ)
Deci xyizT(M), i0.

Pentru i = 0 :
(q 0 , xz) ├* (p, z) ├* (r, λ) .

Consecinţa 2.5.1. Clasa limbajelor de tip 3 este o subclasă proprie a clasei limbajelor
independente de context.

▼Demonstraţie.
Din ierarhia lui Chomsky rezultă ca regulile de tip 3 sunt şi de tip 2, deci familia limbajelor
regulate este inclusă în familia limbajelor de tip 2 adică independente de context
Pentru ca lema de pompare dă o caracterizare a mulţimilor regulate ea poate fi folosită şi
pentru a demonstra că limbajele care nu respectă lema de pompare nu sunt regulate.
Vom arăta că limbajul L=  aibi  i1 , pentru care am arătat că există o gramatică
independentă de context care sa-l genereze, nu este o mulţime regulată.
Presupunem că p astfel încât pentru wL : |w| p, w=xyz, |y|) p şi w’=xyizL.
- dacă y=aj cu ji, atunci  ai+jbiT(M) , ceeace contrazice structura limbajului deci este
imposibil;
- dacă y=bj, atunci  aibj+iT(M) ceeace contrazice din nou structura limbajului deci este
imposibil;
- dacă y=ajbk cu ji şi ki, atunci  aibkajbiT(M) din nou imposibil
 L= aibi  i1  nu e o mulţime regulată pentru că nu respectă lema de pompare.
Deci există un limbaj ,L, care nu este de tip 3 dar este de tip 2, deci clasa limbajelor regulate
este o subclasă proprie a clasei limbajelor independente de context.

- 104 -
Să ne reamintim...

Lema de pompare dă o caracterizare a mulţimilor regulate şi anume dacă intr-


o mulţime regulată există un cuvănt suficient de lung atunci mulţimea este
infinită.

Toate mulţimile finite sunt mulţimi regulate.

Clasa mulţimilor regulate este cea mai mică clasă conţinând toate mulţimile
finite şi fiind închisă în raport cu operaţiile de reuniune, concatenare şi
închidere Kleene.

Test de evaluare a cunoştinţelor


I. Întrebări.
1. Care este lema de pompare pentru limbajele regulate?

II. Exerciţii propuse.


1. Să se demonstreze că următoarele limbaje nu sunt regulate:
L1= {wcw | w{a,b}*};
L2 = {ww | w{a,b}*}.

M3.U2.5 Rezumat
Această unitate de învăţare prezintă câteva dintre proprietăţile limbajelor regulate,
care nu sunt proprietăţi de închidere. Una dintre cele mai importante este lema de
pompare, care dă o caracterizare a mulţimilor regulate.
Conform lemei de pompare pentru mulţimi regulate, fiind dată o mulţime
regulată şi un cuvânt suficient de lung, se poate găsi un subcuvânt nevid al acestui
cuvânt care se poate repeta de oricâte ori astfel încât cuvântul obţinut prin repetare
rămâne în mulţimea regulată dată.
Această proprietate are multe aplicaţii printre care şi aceea că ne permite să
demonstrăm că anumite limbaje nu sunt regulate, prin faptul că nu respectă această
lemă.

- 105 -
Soluţiile testelor de autoevaluare pentru Modul 3
M3.U1.

I. Întrebări.
Raspuns: Vezi teoreme M3.U1.
II. Rezolvare
1. Ȋn general, pentru a arata ca un limbaj este regulat este suficientă construirea unui
automat care sa recunoască acel limbaj. Automatul pentru limbajul dat trebuie să accepte
şiruri care încep cu a şi se termina cu a, ceea ce este la mijloc nefiind relevant. Problema
constă în faptul că nu există nici o condiţie de finalitate a unui cuvânt, este necesar ca
automatul să intre într-o stare finală imediat ce se întâlneşte cu un al doilea a. Daca acesta nu
este finalul string-ului şi se mai întâlneşte încă un b, atunci trebuie să existe o tranziţie care să
ne scoată din starea finala. Automatul finit determinist astfel construit recunoaşte limbajul
dat în enunţ, de unde rezultă faptul ca limbajul este regulat.

M3.U2.

I. Întrebări.
Raspuns: Vezi teorema 2.5.1.

II. Rezolvare

Pentru L1 = {a m| m = n2, n1}; Folosim lema de pompare. Presupunem ca L1 este regulat, deci
respect lema de pompare, şi fie p din lema de pompare. Alegem w  L cu |w|=p2  p şi, conform
lemei, există o descompunere a lui w de forma:

- 106 -
w=xyz unde 0  |y| p
şi
xyizL1, i0.

Fie i=2. Atunci avem:

|xy2z|=|xyz|+|y|=p2+|y|.

De aici
p2<|xy2z|p2+p< (p+1)2,

adică lungimea lui w nu este un pătrat perfect deci w=xy2z nu aparţine lui L1, ceea ce contrazice
ipoteza de plecare.
Ȋn concluzie L1 nu este regulat.

Pentru L2 = {ak | k nr prim:Folosim lema de pompare. Presupunem ca L2 este regulat şi fie p din
lema de pompare. Alegem w  L2 cu w=ak, kp şi conform lemei există o descompunere a lui w
de forma:
w = xyz cu 0  |y=aj|  p
şi
xyiz = ak-j+i*j  L2, i  0.

Dacă alegem i=k+1 atunci k-j+(k+1)*j=k-j+k*j+j=k+k*j=k*(j+1) se poate descompune în


factori, deci numarul reprezentând puterea lui a nu este unul prim şi xyiz nu aparţine lui L2, ceea
ce contrazice ipoteza de plecare.
Ȋn concluzie L2 nu este un limbaj regulat.

- 107 -

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