Sunteți pe pagina 1din 4

3.3. Arbori de derivaie pentru gramaticile I.D.C.

Limbajele independente de context sunt generate de gramaticile de tip 2 din


ierarhia lui Chomsky, adic gramatici de forma: G = ( VN, VT, S, P),unde mulimea
regulilor P este de forma: A ,, cu A variabil din VN, iar un ir format din variabile i
terminale, adic (VN VT)*.
Vom prezenta o metod vizual de descriere a oricrei derivaii ntr-o gramatic
I.D.C sub forma unui arbore de derivaie.
Definiia 3.3.1 Un graf de tip arbore este un graf cu urmtoarele proprieti:
i) exist un nod n care nu intr nici un arc, numit rdcin;
ii) n oricare alt nod intr exact un arc;
iii) exist un drum de la rdcin ctre oricare nod (graf conex);
iv) nodurile din care nu pleac nici un arc se numesc frunze.
Definiia 3.3.2 Fie G= ( VN,VT,S,P) o gramatic I.D.C. Un arbore de derivaie n G este un
arbore n care:
i) fiecare nod este etichetat cu un simbol din VN VT ;
ii) eticheta rdcinii este S;
iii) dac nodul A are cel puin un descendent atunci el are o etichet din VN;
iv) dac A1, A2, A3,.,Ak sunt toi descendenii direci ai lui A n ordine de la stnga
spre dreapta atunci : A A1A2Ak este o regul din P.

A
A1

A2

AA1A2Ak

Ak

Exemplul 3.3.1

Fie G = ({S,A,B},{a,b},S,P), unde mulimea P conine regulile:

S aAB
Sa

S bBA

Sb
A aS

B bS

S
a

A
a

S
b

B
b

S
a

Figura 3.3.3.

Pentru aceast gramatic, un arbore de derivaie avnd frunzele a,a,b,b i a este cel din
figura 3.3.3.

Definiia 3.3.3
Se numete rezultat al unui arbore cuvntul format din etichetele
frunzelor citite de la stnga spre dreapta.
Exemplul 3.3.2 Rezultatul arborelui de derivaie din figura 3.3.3. este cuvntul aabba.
Vom arta mai trziu c dac este rezultatul unui arbore de derivaie, atunci S .
Definiia 3.3.4 Se numete subarbore al unui arbore graful format dintr-un nod mpreun
cu toi descendenii si.
Exemplul 3.3.3

S
(

A
*

Figura 3.3.2.

a
b
)

Teorema 3.3.1 Fie G =(VN,VT,A,P ) o gramatic I.D.C. Atunci pentru , (S )


exist un arbore de derivaie n gramatica G al crui rezultat este .
Demonstraie:

Vom demonstra c dac GA=(VN,VT,A,P) atunci pentru orice A n VN avem (A


G

) dac i numai dac exist un subarbore cu rdcina A al crui rezultat este .

Se observ c regulile din P sunt aceleai pentru orice gramatic GA, deci

) (A )
( A
G
G
A

) (A ).
i, pentru c G = GS, avem (A
G

a) Presupunem c

este rezultatul unui arbore de derivare n gramatica GA; demonstrm

prin inducie, n raport cu numrul de noduri care nu sunt frunze, c A


G
A

a1) Dac exist un singur nod care nu e frunz atunci arborele arat ca n

figura 3.3.3. Rezult c

=A1A2Ak

i, din definiia arborelui de derivaie, avem A

P, deci A

Figura 3.3.3.

a2) Presupunem c este rezultatul unui arbore A cu n noduri care nu sunt frunze
i c rezultatul anterior este valabil pentru arbori cu cel mult n-1 noduri care nu sunt
frunze.
Considerm descendenii direci ai lui A: A1,A2,,Ak , deci (A A1.Ak P).
Dac Ai nu e o frunz, rezult c Ai este o variabil, rdcin a unui subarbore cu
rezultatul i i cu cel mult n-1 noduri care nu sunt frunze.
Dac Ai este o frunz, punem Ai = i.
Se observ c dac j < i atunci nodul Aj i toi descendenii si se afl la stnga lui Ai i a
tuturor descendenilor si.
Rezult c = 1 2 k .
Deoarece din ipoteza induciei i este rezultatul unui subarbore cu rdcina Ai i
cu cel mult n-1 noduri care nu sunt frunze, rezult c (Ai i).
1 2 ... k ,
Deci
A
G A1A2Ak
*

adic

(A ).
G

. Vom arta c exist un arbore de derivaie cu rezultatul


b) Presupunem acum c A
G

n GA, prin inducie relativ la numrul de pai ai derivaiei.


ntr-un singur pas rezult c ( A
b1) Dac A
G
A

P ) i dac =A A A

rezult din definiia arborelui de derivaie c exist un arbore cu rezultatul

A
k

Figura 3.3.4

n n pai i c pentru orice derivaie a lui cu


b2) Presupunem c A
G
A

numrul de pai mai mic dect n exist o derivaie cu rezultatul . Fie primul pas al
derivaiei A de forma A A1A2Ak. Atunci orice simbol al lui este sau unul
dintre Ai sau derivat dintr-un Ai n cel mult n-1 pai. Deci, exist subarborii T1,T2,..,Tk de
*

1 , 2 ,..., k

rdcini A1,A2,,Ak, cu rezultatele


atunci cnd Ai G
.
Deci dac la arborele din Figura 3.3.4 adugm subarborii Ti, obinem:
A

A1

A2

T1

T2

Ak

Tk

Figura 3.1.5

Rezult c arborele din Figura 3.3.5 (n care cte un arbore Tj poate fi vid, dac Aj
VT) are rezultatul format din rezultatele subarborilor T1, ,Tk n ordine de la stnga
1 2 .... k .

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