• Nie Znaleziono Wyników

1. Posta ć normalna Gramatyki struktur frazowych ROZDZIAŁ V

N/A
N/A
Protected

Academic year: 2021

Share "1. Posta ć normalna Gramatyki struktur frazowych ROZDZIAŁ V"

Copied!
4
0
0

Pełen tekst

(1)

R O Z D Z I A Ł V

Gramatyki struktur frazowych

Przypomnijmy, Ŝe gramatyka generatywna G = <VN, VT, S, F> jest typu 0 (lub równowaŜnie struktur frazowych), gdy wszystkie jej reguły produkcji mają postać P → Q, gdzie P ∈ (VN ∪ VT)* VN (VN ∪ VT) *, a Q ∈ (VN ∪ VT)*.

1. Postać normalna

Twierdzenie 5.1.

Dla kaŜdej gramatyki G typu 0 istnieje równowaŜna jej gramatyka G' typu 0 o regu- łach produkcji następującej postaci:

1. S → λ, 5. AB → AC,

2. A → a, 6. AC → BC,

3. A → B, 7. AB → B,

4. A → BC,

gdzie A, B, C ∈ VN, a ∈ VT, zaś S jest symbolem początkowym.

ZauwaŜmy, Ŝe w postaci normalnej z powyŜszego twierdzenia:

1) reguły 2 - 4 są identyczne z regułami 1 - 3 postaci normalnej Kurody,

2) reguły 5 i 6 mają kształt reguł (*) z ostatniego wniosku z poprzedniego rozdziału, 3) λ występuje jedynie w 1 regule,

4) jeŜeli jest to gramatyka λ - wolna, to wszystkie reguły niemonotoniczne są w niej jedynie kształtu 7,

5) ze złoŜenia reguł 4 i 7 otrzymujemy regułę 3, a ze złoŜenia reguł 7 i 4 otrzymu- jemy reguły równowaŜne regułom 5 i 6. Z powodzeniem moglibyśmy więc usunąć z powyŜszego twierdzenia reguły 3, 5 i 6, pozostawiając w nim jedynie reguły kształtu 1, 2, 4 i 7 (oczywiście w konkretnej gramatyce, krotność reguł tego typu zapewne by wówczas wzrosła).

Dowód.

Niech G będzie gramatyką typu 0. Zatem wszystkie jej reguły produkcji mają postać:

P → Q, gdzie P ∈ (VN ∪ VT) * VN (VN ∪ VT) *, a Q ∈ (VN ∪ VT) * . Gdy Q = λ, to:

a) gdy P = S, to jest to reguła kształtu 1, więc ją zostawiamy;

b) gdy P ≠ S, to kaŜdą z takich reguł zastępujemy zbiorem reguł

(2)

Gramatyki struktur frazowych

78

X V

U

NVT {PX → X, XP → X}.

Gdy λ ∈ L(G), a w G nie ma reguły produkcji S → λ, to ją dodajemy (jest to bowiem jedyny sposób wyprowadzenia λ w gramatyce z twierdzenia).

W ten sposób z λ juŜ się uporaliśmy.

Z I twierdzenia o postaci normalnej kaŜdą gramatykę G typu 0 moŜemy za- mienić na równowaŜną jej gramatykę G' o postaci normalnej, w której regułach pro- dukcji F' symbole terminalne mogą wystąpić jedynie w regułach produkcji postaci A → a, gdzie A jest nieterminałem, zaś a terminałem. Są to więc reguły kształtu 2. dowodzonego twierdzenia.

Poza tym w F' mogą wystąpić jeszcze jedynie reguły produkcji kształtu P → Q, gdzie P i Q są niepustymi ciągami nieterminałów.

1) Gdy |P| ≤ |Q|, to postępując identycznie jak w dowodzie twierdzenia 4.3 o postaci normalnej Kurody - otrzymujemy reguły produkcji o kształcie zgodnym z nią (tj. zgodnie z pierwszą uwagą po twierdzeniu 5.1 są to reguły Ŝądanego kształtu z do- wodzonego twierdzenia).

2) Gdy |P| > |Q|, to będzie to reguła kształtu X1 X2 ... Xm → Y1 ...Yn , gdzie m > n ≥ 1.

KaŜdą z nich moŜemy zastąpić następującym zbiorem reguł:



m m

m

m m m

1 m

U U

Z

U Z X

X

X U Z U

Z U U

m 2 m m 1 m 1

m 1 m 1 m 1

→→



X U Z U

Z U U

m 3 m 1 n 1 n 1

m 2 m 2 m 2

+ +

→→



X U Z U

Z U U Y

n n n n

n n n n

+ + +

+ +

→→



2 1 1

1 1

(ich stosowanie pozwoli nam zamienić wyraŜenie X1...Xn-1Xn...Xm-1Xm na wyraŜenie X1...Xn-1UnYn) oraz:

b) Xn-1Un → Un-1Yn-1 (złoŜenie reguł kształtu 5 i 6)

X1U2 → U1Y1 (złoŜenie reguł kształtu 5 i 6)

(co przekształci wyraŜenie X1...Xn-1UnYn w wyraŜenie U1Y1...Yn), aŜ w końcu stosując regułę

c) U1Y1 → Y1 (reguła kształtu 7)

(złoŜenie reguł kształtu 5 i 6) (reguła kształtu 7)

(złoŜenie reguł kształtu 5 i 6) (reguła kształtu 7)

(złoŜenie reguł kształtu 5 i 6) (reguła kształtu 7)

(złoŜenie reguł kształtu 5 i 6) (złoŜenie reguł kształtu 5 i 6)

(3)

Gramatyki struktur frazowych 79

- otrzymujemy wymagane wyraŜenie Y1... Yn.

Na koniec musimy jeszcze stosowane tu reguły, będące złoŜeniem reguł kształtu 5 i 6, rozłoŜyć właśnie na reguły kształtu 5 i 6. I tak, kaŜdą regułę postaci AB → CD za- stępujemy parą reguł AB → AC (reguła kształtu 5) i AC → DC (reguła kształtu 6).  ZauwaŜmy, Ŝe powyŜszy dowód nie przedstawia sposobu konstrukcji gramatyki w postaci normalnej z powyŜszego twierdzenia. Nie jesteśmy bowiem w stanie efek- tywnie określić dla dowolnej gramatyki G, czy λ ∈ L(G), czy teŜ λ ∉ L(G). Wiemy jedynie, Ŝe zawsze ALBO λ ∈ L(G) ALBO λ ∉ L(G).

2. Drzewa derywacji

Niech G = <VN, VT, S, F>. Poszczególne jej reguły produkcji oznaczamy odpowiednio przez f1, f2, ..., fn.

Przykład 5.1.

Niech G = <VN, VT, S, F>, gdzie:

VN= {S, A, B}, VT = {a, b},

a F = {S → SAb, bAb → aBa, Aa → AB, BB → aBb}.

Mamy więc reguły:

f1 : S → SAb, f3 : Aa → AB, f2 : bAb → aBa, f4 : BB → aBb.

Rys. 5.1.

Podkreśleniami dodatkowo zaznaczono tu litery końcowego słowa „SABBa”.  SpostrzeŜenia

1) Końcowe słowo tworzą czytane po kolei od lewej wszystkie „wolno zwisające”

literki (są one nazywane teŜ „l i ś ć m i” tego drzewa).

2) Zarówno kaŜde drzewo opisuje pewną derywację w gramatyce typu 0 (niekoniecznie w sposób jednoznaczny), jak i na odwrót - kaŜda derywacja da się opisać za pomocą pewnego drzewa derywacji.

3) Strzałki w drzewach derywacji nigdy nie będą się krzyŜowały (bo w poszcze- gólnych słowach danej derywacji zmieniamy na nowy jedynie ciąg sąsiadujących symboli alfabetu VN ∪ VT). 

S

•

   S A b 

•    S A b

 •    a B a  

•   A B

f3

f2

f1

f1

Derywację S →1 SAb →1 SAbAb →2 SAaBa →3 SABBa (w której nad strzałkami zaznaczono dodatkowo numery stosowanych reguł produkcji fi) moŜna przedstawić w postaci drzewa z rys 5.1.

(4)

Gramatyki struktur frazowych

80

Zadanie 5.1: Podaj drzewo derywacji słowa "sasza" w gramatyce G = <VN, VT, S, F>, w której VN = {S, A, F, K, L, O, R, T, Z}, VT = {s, a, z}, F = {S → FAL, L → ZA, L → λ, F → a, aA → za, aZ → asK, FA → sK, K → a, F → OT, OT → s, KA → Ra, R → z}, a S jest symbolem początkowym. Jakie jeszcze słowa moŜna wygenerować tą gramatyką? Narysuj drzewa ich derywacji. 

Cytaty

Powiązane dokumenty

Drzewem Viterbiego łańcucha w nazywamy to drzewo wyprowadzenia łańcucha w, któ- re ma największe prawdopodobieństwo spośród wszystkich drzew rozkładu tego łańcucha..

Słowo oryginalne xyz miało tyle samo a i b, pokazaliśmy, że xy będzie miało tylko a, to jak zamienimy y na y 2 i wiemy, że to jest ciąg niepusty to będziemy mieli więcej a, a

2.5 Sprawdzanie czy dane słowo należy do języka gramatyki SLR(1) Sprawdzanie czy dane słowo należy do języka wygląda następująco: w każdym kroku mamy bufor wejściowy w którym

Notacja Backusa-Naura (ang. Backus-Naur form) jest sposobem zapisu reguł gramatyki bezkon- tekstowej, czyli sposobem opisu języków formalnych. Notacja ta jest powszechnie używana

między tymi literami znajduje się dowolny ciąg liter a i b, taki że każde dwie litery b są oddzielone co najmniej jedną literą

Poniższe gramatyki bezkontekstowe przekształcić do postaci

Z drugiej strony rozważane termy wydają się bardzo podobne. Jakie własności różnią tę redukcję i β-redukcję. Wskazówka: oczywi- ście, w tym zadaniu przydatne są termy

Z twierdzenia o stałej wynika, że jeżeli teoria T jest niesprzeczna, to nie uda nam się utworzyć dowodu sprzeczności korzystając z nowych stałych.. Gdyby istniał dowód