Tải bản đầy đủ (.pptx) (32 trang)

văn phạm và ngôn ngữ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (412.47 KB, 32 trang )

Chương 1.
VĂN PHẠM & NGÔN NGỮ
I.Văn phạm cấu trúc câu.
II. Phân loại văn phạm
III. Một số ví dụ.
I. VĂN PHẠM CẤU TRÚC CÂU

Các ngôn ngữ được biểu thị bằng các cách:

1. Liệt kê tất cả các từ của ngôn ngữ đó

2. Cho một số tiêu chuẩn mà các từ của ngôn ngữ đó cần
thoả mãn.

3. Dùng một văn phạm cung cấp một bộ chữ cái và một
tập các quy tắc sản sinh ra các từ.

ĐỊNH NGHĩA 1.

Bộ chữ cái V= {các ký hiệu} hay từ điển V .

Một từ hay một câu trên Σ là xâu các phần tử ∈ V

Xâu rỗng = λ.

V* = {tất cả các từ trên V }

Một ngôn ngữ trên V là một tập con của V*.
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 2. Bộ chữ cái tiếng Anh gồm 26 ký tự



Σ= {a,b,c, ,y,z}

Xâu ký tự hay một từ trên bảng chữ cái Σ là
một dãy hữu hạn các ký tự (của Σ ) viết liền
nhau. Chẳng hạn w=student, l(w)=7

Ví dụ 3. Bộ chữ cái V= {0, 1} gồm 2 ký tự nhị
phân. w=10010101 là một xâu có độ dài
l(w)=8.
3
4
I. VĂN PHẠM CẤU TRÚC CÂU

ĐỊNH NGHĨA 2. Một văn phạm G=(T,N,I,P) gồm một từ
điển cơ bản T mỗi phần tử là ký hiệu cơ bản hay ký hiệu
kết thúc, một tập từ điển hỗ trợ N gồm các ký hiệu không
kết thúc, một ký hiệu xuất phát I và một tập các sản suất
P (các quy tắc có dạng α→β). Đặt V= T∪N gọi là từ điển
đầy đủ, α, β là các từ trên từ điển đầy đủ V.

Mỗi một sản xuất trong P phải chứa ít nhất một phần tử
không kết thúc của N ở bên trái của nó.

Ví dụ 4. Cho G=(T,N,S,P) trong đó T={a,b}, N={A,B,S},
S là ký hiệu xuất phát,
P ={S→ABa, A→BB, B→ab, AB→ab}.
Vậy G là một văn phạm.
5
I. VĂN PHẠM CẤU TRÚC CÂU

ĐỊNH NGHĨA 3. Cho G=(T,N,I,P) là một văn phạm và
w0=Iz0r, w1=Iz1r là các xâu trên V.

Nếu z0→z1 là một sản xuất thì ta nói w1 được dẫn
xuất trực tiếp từ w0 và viết w0⇒w1.

Nếu w0,w1 ,wn với n≥0 là dãy các xâu trên V sao cho
w0⇒w1, w1⇒w2 , , wn-1⇒ wn, thì ta nói wn được
dẫn xuất từ w0 và viết w0⇒wn. Dãy các bước dùng để
nhận wn từ w0 gọi là một dẫn xuất.
6
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 5. Xét văn phạm cho trong Ví dụ 4, tức là cho
G=(T,N,S,P) trong đó T={a,b}, N={A,B,S}, S là ký hiệu
xuất phát, P ={S→ABa, A→BB, B→ab, AB→ab}.

Khi đó

Xâu Aaba được dẫn xuất trực tiếp từ ABa nhờ B→ab.

Xâu ABa ⇒ abababa vì

ABa⇒Aaba⇒BBaba⇒ Bababa ⇒ abababa dùng các
sản xuất B→ab, A→BB, B→ab, B→ab.
7
I. VĂN PHẠM CẤU TRÚC CÂU

II. NG ÔN NGỮ SINH BỞi VĂN PHẠM


ĐỊNH NGHĨA 4.

Cho G=(T,N,S,P) là một Văn phạm cấu trúc
câu.

Ngôn ngữ sinh bởi văn phạm G (hay ngôn ngữ
của G), ký hiệu là L(G), là tập tất cả các xâu
gồm các ký hiệu kết thúc được dẫn xuất từ ký
hiệu xuất phát S. Nói cách khác

L(G) = {w∈ T* | S ⇒w}
8
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 6. Cho văn phạm G với bộ từ điển V=T∪N,
N={S, A}, T={a,b}, S và
P={ S→aA, S →b, A→aa}. L(G) =?

Bài giải. S ⇒b, vậy b∈L(G)

S ⇒aA ⇒aaa vậy aaa ∈L(G)

Ngoài ra từ S không thể dẫn xuất thêm một từ
nào nữa, vậy

L(G)={aaa, b} -
9
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 7. Cho văn phạm G với bộ từ điển

T={0,1}, N={S }, S và P={S→11S, S →0}. Xác
định L(G) ?

Bài giải. S ⇒0, S ⇒11S , từ 11S ⇒110 hoặc
⇒1111S, rồi từ 1111S⇒ 11110 và 111111S,
cứ thế tiếp tục.

Vậy L(G) là tập gồm xâu ‘0’ và các xâu có một
số chẵn các số 1 và kết thúc bằng số 0,
L(G) = {0, 12n0 | n=1,2, }
10
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 8. Hãy xác định văn phạm G sinh ra ngôn ngữ
L(G)={0n1n | n=0,1,2 }

Bài giải. Vì các xâu của L(G) gồm các số 0 và các số 1
với số lượng như nhau, nên có thể dùng hai sản xuất.
Sản xuất đầu S→0S1, áp dụng liên tiếp ⇒ xâu 0nS1n .

Cần một sản xuất nữa S →λ.

Vậy văn phạm G = (V,S,T,P) với

V={0, 1, S}, T={0,1}, S và P={S→0S1,S→λ}.
11
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 9. Hãy xác định văn phạm G sinh ra ngôn
ngữ L(G)={0m1n | m,n=0,1,2 }


Bài giải. Vì các xâu của L(G) đều có m số 0 tiếp
sau là n số 1, nên dùng 3 sản xuất là S→0S,
S→S1, S→λ.

VP cần tìm là G= (T,N, S,P) với T={0,1}, N={ S},
S, và P ={S→0S, S→S1, S→λ}.
12
I. VĂN PHẠM CẤU TRÚC CÂU

Ví dụ 10.

Chứng minh văn phạm sinh ra ngôn ngữ L(G) ={0n1n2n} là

G={T, N, S, P} với T={0,1,2}, N={S, A,B}, S và P ={S→0SAB ,
S→λ, BA→AB, 0A→01, 1A →11, 1B →12, 2B→22}.

Bài giải: Vì S→λ nên λ ∈ L(G)

S→0SAB→0AB →01B →012

S→0SAB→00SABAB →00ABAB→00AABB →001ABB
→0011BB→00112B →001122

S → 0nABA ABAB → 0nA AB B →

→ 0n1 1B B → 0n1n 2 B→ 0n1n 2n

Vậy L(G) = {0n1n 2n | n=0,1,2, }
13

II. PHÂN LOẠI VĂN PHẠM

1. PHÂN LOẠI VĂN PHẠM CHOMSKY.

4 loại theo các loại sản xuất:

Loại 0 (Văn phạm ngữ cấu) : Không hạn chế lên các sản
xuất. Mọi sản xuất có dạng: r= α→β trong đó: α∈ V+ , β∈
V*. Ngôn ngữ do văn phạm ngữ cấu sinh ra gọi là ngôn ngữ
ngữ cấu. Chú ý: α chứa ít nhất một ký hiệu của N.

Loại 1: (Văn phạm cảm ngữ cảnh) Các sản xuất có dạng r=
α→β với α∈V+ , β∈ V* và l(α) ≤ l(β);

Ngôn ngữ do VPCNC sinh ra là Ngôn ngữ CNC.

Ví dụ 11. Cho văn phạm: G= (T,N,S,P) với :
II. PHÂN LOẠI VĂN PHẠM

T= {a,b}, N= {S }, S,

P= {S→aSb, S→bSa, S→SS, S →ab }

Ví dụ 12. Văn phạm G= {T,N,S,P} với T=

{a,b,c }, N= {S,A,B}, S, P= {S→abc, S→ aAbc, Ab→bA,
Ac→Bbc, bB →Bb,
aB → aaB, aB→aa } là VP cảm ngữ cảnh.

Loại 2 . Văn phạm G= {T, N,S,P } gọi là văn phạm phi ngữ

cảnh nếu mọi sản xuất dạng
r= A→θ, ở đây A∈N và θ ∈V*=(T ∪N }*
14
II. PHÂN LOẠI VĂN PHẠM

Ngôn ngữ do VPPNC sinh ra gọi là Ngôn ngữ PNC.

Cho xâu w = a1a2…an. Khi đó ảnh gương của xâu w là <w>
=anan-1 a2a1. a’=a

Ví dụ 13. Xét văn phạm G= {T,N,S,P }

với T= {a,b }, N= {S }, P= {S →λ, S → aSa, S → bSb }

G là VPPhi ngữ cảnh

Khi ó: L(G)= {ww’ | wđ ∈T+ }; Ví dụ: w=ab, <w>=ba, w<w>=
abba ∈L(G).

Để tạo xâu tuỳ ý w<w> bắt đầu bằng ký tự a (hay b) ta dùng S →
aSa,(hay S → bSb) sau đó tuỳ theo ký tự tiếp theo của w là b hay
a mà ta dùng sản xuất S → bSb, S→ aSa v v cuôi cùng dùng S →λ.
15
II. PHÂN LOẠI VĂN PHẠM

Loại 3 Văn phạm G= {T, N,S, P } gọi là Văn phạm
chính quy nếu các sản xuất dạng A→ aB, A →a, ở đây
A, B∈N còn a∈T.

Ngôn ngữ do VPCQ sinh ra gọi là ngôn ngữ chính quy.


Ví dụ 14. Văn phạm G= {T, N,S, P } với

T= {a,b,c }, N= { S }

P= {S→aS, S →bS, S→cS, S →a, S→b, S →c },

là văn phạm chính quy.
16
17
II. PHÂN LOẠI VĂN PHẠM

Nhận xét:

Văn phạm loại 3 ⊆ loại 2, ⊆ loại 1 ⊆ loại 0.

Các sản xuất của văn phạm phi ngữ cảnh và văn phạm
chính quy là đơn giản hơn. Có nhiều ứng dụng trong khi
thiết kế các ngôn ngữ lập trình và khi nghiên cứu
chương trình dịch.

Sau đây chúng ta chỉ xét hai loại văn phạm này.
18
II. PHÂN LOẠI VĂN PHẠM
Loại
Các hạn chế đối với
sản xuất w1 →w2
0: Ngữ cấu
1: Cảm ngữ cảnh
2: Phi ngữ cảnh

3: Chính quy
Không có hạn chế nào
l(w1) ≤ l(w2) hoặc w2=λ
w1= A với A ∈N, w2 tuỳ ý
A→ aB , A →a với A,B∈N,a∈T,
III. MỘT SỐ VÍ DỤ VỀ VĂN PHẠM

Ví dụ 1. Cho văn phạm cấu trúc câu G={T,N,S,P} trong
đó: T={a1,a2, an}; bảng ký hiệu cơ bản, N={S,
A1,A2, ,An-1} là bảng ký hiệu hỗ trợ, S: ký hiệu xuất
phát. Tập sản xuất (n≥2)
P={S→a1A1, A1→ a2A2, ,An-2→an-1An-1,An-1→an},
Đây là VPCQ. Văn phạm này sinh ngôn ngữ Chính quy:
L(Q)={w=a1a2 an} (chỉ có một xâu)
vì từ S ta có dẫn xuất:
D=(S, a1A1, a1a2A2, , a1a2 an-1An-1, a1a2 an)
19
III. MỘT SỐ VÍ DỤ VỀ VĂN PHẠM

Ví dụ 2. Cho văn phạm cấu trúc câu G={T,N,S,P} trong
đó: T={x1,x2, xn}; bảng ký hiệu cơ bản, N={S}, P={S →aS,
S →a| a∈T }. Đây cũng là VPCQ, nó sinh ra NNCQ:
L(G)= {w | w ∈T+ } hay L(G)=T+
Chẳng hạn :
do G sinh ra nhờ dẫn xuât:

Ví dụ 3. Cho văn phạm cấu trúc câu G={T,N,S,P} trong
đó: T={a}; N= {S }, P={S→aS}
20
+

∈= Txxxw
k
iii

21
( )
kk
iiiiiiii
xxSxxxSxxSxSD , ,,,
1121211 −
=
III. MỘT SỐ VÍ DỤ VỀ VĂN PHẠM

Do G làm việc không dừng t.l G không sinh ra xâu w∈T*mà
w≠λ.Hay G sinh ra ngôn ngữ L(G)=Φ.

Ví dụ 4. Cho VPCTC: G={T,N,S,P} với : T={a,b}; N= {S, B},
P={S→aS,S→aB,B→bB,B→b }.
cũng là VPCQ và L(G)= {anbm |n,m ≥1} 1}
Với w=anbm ta có dẫn xuất:
D=(S, aS,a2S, ,an-1S,anB, anbB, , anbm-1B,anbm).

Ví dụ 5. Ngôn ngữ L(G)= {anbn | n≥1} là phi ngữ cảnh sinh
ra do VPPNC G={T,N,S,P} với: T={a,b}; N= {S}, P ={S→aSb,
S→ ab};

w=anbn ta có dẫn xuất:
D=(S, aSb, a2Sb2, an-1Sbn-1, anbn)
21
III. MỘT SỐ VÍ DỤ VỀ VĂN PHẠM


Ví dụ 6. Ngôn ngữ L(G)= {anbnam | n, m≥1} là
phi ngữ cảnh sinh ra do VPPNC G={T,N,S,P} với:
T={a,b}; N= {S,A},
P ={S→Sa, A→ aAb, A→ab, S→Aa }.
Xâu w= anbnam (n,m ≥1)có dẫn xuất đầy đủ
D=(S,Sa,Sa2, ,Sam-1, Aam, aAbam, ,an-1Abn-
1am , anbnam);
Ví dụ 7. Ngôn ngữ trên từ điển T={a,b} gồm tất cả các
từ khác λ và mỗi từ chứa số ký tự a bằng số ký tự b. Khi
đó L là phi ngữ cảnh. Thật vậy:
22
III. MỘT SỐ VÍ DỤ VỀ VĂN PHẠM

Xét văn phạm: G={T,V,S,P} với T={a,b}, N={S}
P={S→SS, S→aSb, S→bSa, S→ab, S →ba}; Đây là
VPPNC nó inh ra ngôn ngữ L.
Chẳng hạn w1=ambm có dẫn xuất:
D=(S, aSb, a2Sb2,…,am-1Sbm-1, ambm);
còn w2=ababaabb có dẫn xuất:
D=(S,SS, aSbS, ababS, ababaSb, ababaabb).
Ví dụ 8. Ngôn ngữ L={ww’ | w ∈T+ , w’ là ảnh gương
của w} được sinh bởi văn phạm G=(T,N,S,P) với
T={a1,a2, ,an}, N={S}, P= {S→aSa, S→ aa } với a ∈T;
23
24
H Ế T CH Ư ƠNG I
Bài tập
VĂN PHẠM & NGÔN NGỮ
Các loại bài tập:

Cho Văn Phạm hãy xây dựng Ngôn ngữ sinh
Cho Ngôn ngữ hãy xây dựng Văn phạm.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×