Documente Academic
Documente Profesional
Documente Cultură
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
1 Preliminarii 2
1.1 Ierarhia Chomsky . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Limbaje regulate 6
2.1 Gramatici regulate . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Automate cu Stări Finite . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Automate Finite Deterministe (AFD) . . . . . . . . . . 7
2.2.2 Automate Finite Nedeterministe (AFN) . . . . . . . . 9
2.3 Gramatici regulate şi Automate cu număr finit de stări . . . . 10
2.4 Proprietăţi de inchidere ale limbajelor regulate. Lema Bar-Hillel 11
2.5 Automatul minimal . . . . . . . . . . . . . . . . . . . . . . . . 11
1
Chapter 1
Preliminarii
Această secţiune conţine noţiuni şi definiţii elementare despre alfabet, cu-
vinte, concatenare, monoid libe generat, lungimea cuvintelor, gramatici, lim-
baj, etc.
P ⊆ (N ∪ T )∗ N (N ∪ T )∗ ,
2
y, u, v ∈ (N ∪ T )∗ a.i. w1 = xuy, w2 = xvy şi u → v ∈ P . Când nu există
pericol de confuzie renunţăm la indicele G din rela ctia definită mai sus.
Observaţia 1. Relaţia de mai sus nu este neapărat reflexivă şi tranzitivă.
∗
Definiţia 3. Închiderea reflexivă şi tranzitivă a relaţiei ⇒ o notăm ⇒. Avem
∗
u ⇒ v dacă fie u=v, fie există k ≥ 1, există u = w0 , w1 , w2 , . . . , wk = v a.i.
wi ⇒ wi+1 , i = 0, . . . k − 1.
Definiţia 4. Fie G=(N,T,S,P) o gramatică. Limbajul
∗
L(G) = {w | w ∈ T ∗ , S ⇒ w}
se numeşte 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) = {an bn | n ≥ 1}.
3
Este evident că orice gramatică 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 notează
cu Li (i=0,1,2,3). Sunt evidente incluziunile următoare:
L3 ⊆ L 2 ⊆ L 1 ⊆ L 0 .
• U0 = {S}
4
w ∈ L(G) if f w ∈ Uk0 .
P1 = {A → u | u ∈
/ N, A → u ∈ P }
+
P2 = {A → u | A ∈ N, ∃B[B ∈ N a.i. A ⇒G B, B → u ∈ P1 ]}
5
Chapter 2
Limbaje regulate
A → a1 A1
A1 → a2 A2
.........
Ak−1 → ak
A → a1 A1
A1 → a2 A2
6
.........
Ak−1 → ak B
Gramatica G1 va avea aceleaşi terminale ca şi G0 , neterminalele vor fi cele
vechi la care le adăugăm pe cele nou introduse, simbolul de start va fi acelaşi,
iar producţiile vor fi cele pe care le-am introdus cf. procedurilor de mai sus.
Nu este greu de arătat că G1 şi G sunt echivalente.
Propoziţia anterioară ne permite construirea unui algoritm eficient pentru
a decide dacă un cuvânt dat apartţine sau nu unui limbaj regulat.
Observaţia 2. Fie o gramatică regulată G=(N,T,S,P) cu producţiile in
forma canonică şi un cuvânt w = w1 w2 . . . wk , wi ∈ T , i=1,2,...,k. Putem
constata care din alternativele w ∈ L(G) sau w ∈ / L(G) are loc alcătuind
recursiv mulţimile:
• U0 = {X | X ∈ N a.i. X → wk ∈ P }
7
• δ(q, λ) = λ
Cu alte cuvinte, δ(q, w) este starea in care ajunge automatul plecând din
starea q şi primind la intrare cuvântul w.
Observaţia 4.
L(A) = {w | w ∈ Σ∗ , δ(q0 , w) ∈ F }.
Lema 3. Fie A un AFD. Fiind date stările q1 , q2 , . . . qn+1 a.i. qi+1 = δ(qi , wi ), i =
1, 2, ..., n, atunci qn+1 = δ(q1 , w), cu w = w1 w2 . . . wn , wi ∈ Σ, i = 1, 2, ...n
Corolar 2.2.1. Într-un AFD, dacă w=uv, atunci δ(q, w) = δ(δ(q, u), v).
Cu alte cuvinte, stările accesibile ale unui automat sunt acele stări in care
se poate ajunge pornind din starea iniţială şi primind la intrare un cuvânt
oarecare w.
Stările accesibile pot fi calculate cu următorul algoritm:
8
• U0 = {q0 }
Este evident că orice AFD poate fi privit ca un AFN, prin urmare avem
următoarea teoremă:
9
Demonstraţie: (construcţie) Fie L un limbaj reprezentat in AFN-ul A =
(Σ, Q, Q0 , δ, F ). Considerăm AFD A1 = (Σ, 2Q , Q0 , δ 0 , F1 ), unde funcţia de
tranziţie este definită astfel:
• δ 0 (P, a) = ∅, dacă P = ∅
S
• δ 0 (P, a) = q∈P δ(q, a), dacă P 6= ∅,
iar mulţimea stărilor finale este: F1 = {S | S ⊆ Q, S ∩ F 6= ∅}.
10
2.4 Proprietăţi de inchidere ale limbajelor reg-
ulate. Lema Bar-Hillel
Teorema 6. Limbajele regulate sunt inchise la următoarele operaţii:
k
q1 ≡ q2 iff ∀k[k ∈ N, q1 ≡ q2 ].
k
Relaţiile ≡ şi ≡ sunt relaţii de echivalenţă.
11
k k−1
2. dacă k ≥ 1 atunci q1 ≡ q2 iff δ(q1 , a) ≡ δ(q2 , a), ∀a ∈ Σ ∪ {λ}.
k
Propoziţia 5. Relaţiile de echivalenţă ≡ satisfac proprietăţile:
k k−1 0
1. ≡⊆ . . . ⊆≡⊆ ≡ ⊆ . . . ⊆≡
k0 k0 +i
2. există k0 ∈ N a.i. ≡= ≡ , ∀i ≥ 1
k0
3. ≡=≡.
unde prin [q] am notat clasa de echivalenţă a lui q in raport cu relaţia ≡. Să
se arate că δ1 este bine definită.
În secvenţa de mai sus există două stări egale şi de aici demonstraţia decurge
uşor.
12
Chapter 3
Limbaje Independente de
Context
13
A → A1 B1
B1 → A2 B2
.........
Bk−2 → Ak−1 Ak
Teorema 8. Fie G=(N,T,S,P) o gramatică independentă de context in FNC.
∗
Dacă derivarea S ⇒ are proprietatea că cel mai lung lanţ de la rădăcină la
vârfurile terminale in arborele de derivare asociat ei are k noduri, atunci
|w| ≤ 2k−1 .
Teorema 9. (Lema de pompare) Pentru orice limbaj independent de context
L există numerele naturale p şi q a.i. orice cuvânt w ∈ L cu |w| > p poate fi
scris sub forma w=xyzuv, unde:
1. |yzu| ≤ q;
2. yu 6= λ
14
2. w ∈ Σ∗ este partea necitită din cuvântul aflat pe banda de intrare.
15
4. δ1 (qλ , λ, Z) = {(qλ , λ)} dacă Z ∈ Γ ∪ {X}
5. ∅ in celelalte cazuri
4. ∅ in celelalte cazuri
1. δ(q, λ, A) = {(q, u) | A → u ∈ P }
3. ∅ in celelalte cazuri.
16
• N = K × Γ × K ∪ {S}, unde S ∈
/ K × Γ × K; fiecare neterminal (q,Z,r)
il notăm [qZr].
• T =Σ
Demonstraţie:
• C{aj bj cj | j ≥ 1} ∈ L2
17
Bibliography
18