Ngôn ngữ hình thức e« Giả sử 3 là một tập không rỗng và hữu hạn các phần tử.. Tìm ngôn ngữ sinh của văn phạm trên.. Ngôn ngữ chính quy và biểu thức chính quy trên Ký hiệu >* chi tập tất
Trang 3Công ty Cổ phần sách Đại học - Dạy nghể — Nhà xuất bản Giáo dục Việt Nam giữ quyền công bố tác phẩm
04 - 2009/CXB/453 - 2117/GD Mã số : 7K678y9 — DAI
Trang 4LỜI NÓI ĐẦU
Hiện nay ở nước ta có một số tài liệu viết và dịch về Toán rời rạc dưới
dạng lý thuyết, còn tài liệu về Bài tập toán rời rạc hầu như rất ít (nếu không muốn nói là chưa có)
Để nàng cao chất lượng giảng dạy và học tập môn Toán rời rạc, chúng
tôi biên soạn cuốn "Hướng dẫn giải bài tập Toán rời rạc", trước mắt chỉ gồm: Ngôn ngữ, Đồ thị và Lôgic Mỗi chương của cuốn sách được mở đâu bằng phân Tóm tắt lý thuyết, sau đó là Bài tập giải mẫu và Bài tập tự giải Cuốn "Hướng dẫn giải bài tập Toán rời rạc" giúp người học thông qua làm bài tập hiểu được lý thuyết thấu đáo hơn, rèn kuyện tư duy khoa học, kỹ năng tính toán và khả năng vận dụng toán học vào giải quyết vấn đề, kích
thích niêm say mê học tập và từ đó nâng cao kỹ năng thực hành, tư duy sáng
tạo khi học các môn học cơ sở và chuyên ngành Công nghệ thông tín tiếp theo Cuốn sách này cũng rất bổ ích cho việc ôn thi tuyển sinh sau đại
học ngành Công nghệ thông tin được tổ chức hàng năm ở Đại học Quốc gia
Hà Nội
Tác giả chân thành cảm ơn Hội dâng Khoa học Tự nhiên (Bộ Khoa học và Công nghệ) đã tài trợ đê tài NCCB mã số 22 (2004 ~ 2005) của tác giả Cuốn Hướng dẫn giải bài tập Toán rời rạc là một trong những sản phẩm của đề tài NCCB nói trên
Tác giả chân thành cảm ơn Trường Đại học Công nghệ - ĐHQG Hà Nội
(cơ quan chủ đề tài) và các bạn đồng nghiệp, đặc biệt là GS.TS Đặng Huy Ruận (Trường ĐHKHTN); PGS.TS Hô Sỹ Đàm, TS Nguyễn Tuệ, TS: Nguyễn Việt Hà
(Trường ĐHCN); PGS.TS Vũĩ Đức Thi và TSKH Phạm Trần Nhu (Viện
CNTT Quốc gia) đã đọc bản thảo và động viên tác giả trong thời gian biên soạn cuốn sách này
Do thời gian dành cho việc biên soạn không nhiêu và lân đâu tiên sách được viết dưới dạng bài tập, nên khó tránh khỏi những sai sót về hình thức cũng như về nội dung Vì vậy, tắc giả mong nhận được sự góp ý của bạn đọc để cuấn sách ngày càng tốt hơn Mọi sự góp ý xin gửi về: Công ty Cổ phần Sách Dai hoc và Dạy nghề: 25 Hàn Thuyên — Hà Nội
TAC GIA
Trang 5MỤC LỤC
Trang
LỜI NÓI ĐẦU 2 Q1 TH TH 1n 1251212122111 015111115111121 511151155 enxee 3
Phén 1 NGON NGỮ HÌNH THỨC, VĂN PHẠM VÀ ÔTÔMAT
Chương !._ VĂN PHAM VÀ NGÔN NGỮ SINH CỦA VĂN PHẠM 7
A TOm tat l thuy6t 7
B Bai tap gidi MAU cc ccececeseusscesereseteseusrseeveneeneucens 10
C Bài tập tự giải LH HH n0 101 ray 18 Chương 2 NGÔN NGỮ CHÍNH QUY, BIỂU THỨC CHÍNH QUY
VÀ VĂN PHẠM CHÍNH QUY SUY RỘNG 22
A Tóm tắt lý thuyết or ke 22
B Bài tập giải mẫu c TS HH HH ng ngu 23
C Bài tập tự giải : -cc2Sk11 1213235141821 7131x12 1113 2 32 Chuong 3 OTOMAT HOU HAN TRẠNG THÁI DOAN NHAN
NGON NGU CHÍNH QUY SUY RỘNG 35
A Tom tat ly thuyết ¬" 35
B Bài tập giải mẫu cv sSsisedressserdsssss.c 3Ô
C Bài tập tự giải ¬- ¬—
Chương 4 ÔTÔMAT ĐẨY XUỐNG ĐOÁN NHẬN NGÔN NGỮ
PHI NGỮ CẢNH VÀ THUẬT TOÁN PHAN TICH CU PHAP 68
§1 Van phạm phi ngữ cảnh và cây dẫn xuất đầy đủ
(cây cú pháp) CỦ4 nÓ uc SH HH 68
§2 Văn phạm phi ngữ cảnh chuẩn " _— -
§3 Dạng bién dich BNF (Backus — Naur Form) s - PỢ
§4 Ôtômat đẩy xuống và ngôn ngữ đoán nhận của a nó ¬- 72
§5, Thuật toán phân tích cú pháp trên lớp ngôn ngữ ,
3011 1 ¬ 75
B Bài tập giải mẫu vào các eesseceeeesvsverc.ce P Ổ
C Bài tập tự giải các cc c LH nhi 90
Trang 6B Bai tap giai mau occ ceccecccccesesecsesesssesscsusreecescseseecsesensers 98
C Bai tap tu giai cc csecsccccssescsescesessessestsarcsesessesseesensn 113 MOT SO THUAT NGU QUAN TRONG VA CAC
TÍNH CHẤT LIÊN QUAN CỦA NÓ TRONG ĐỒ THỊ 122
A Tóm tắt lý thUyẾT -L Qn HH H HH x1 xey 122
B Bài tập giải mẫu - Là S1 22 triệt 125
€ Bài tập tự giải -c ng HH Hee 142 DUONG (CHU TRINH) EULER VA HAMILTON —
BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT ss¿ 150
§2 Sắc số của đồ thị và bài toán tô màu bản đồ 179
B, Bài tập giải mẫu á TS ngư 480
C Bài tập tỰ giải cuc L2 ng HH Hưng, 199
CAY VA UNG DUNG CUA CAY oo ceccceccccstecccsresestccneenerecses 202
A Tóm tắt lý thuy€t 0 cece ecsccssssserstessseesatessesetenve e202
§1 Định nghĩa và các ví dụ về cây - coi 202
§2 Một số tính chất của cây .- L cuc nành rrki 205
§3 Các Ứng dụng CỦa Cây Ăn 2n, 206
§4 Các phương pháp duyệt cây ¬ ¬— 208
C Bài tập tự giải ải ccccnnn2Henrrrrrenrerree 229
§5 Cây và các bài toán sắp xếp cà sec 233
A Tóm tắt lý thUyết - -:- - Ác cà L c2 ni 233
B Bài tập giải mẫu - ác L -Q Q.22 2222 H2 nhe 234
C Bài tập tự giải :.cc cct 22 2111121218112 Ecrerreed 241
§6 Cây khung của đồ thị - ¡Scc ninh ước 242 A._ Tóm tắt lý thUyết - SH n1 ro 242
B Bài tập giải mẫu - cà tt 16 He, 244
C Bài tập tự giải - S21 121g chư 269
Trang 7Phần 3 LỖGIC VÀ ỨNG DỤNG Chương ï0 LÔGIC MỆNH ĐỀ Q0 2 2 nen, 274
A Tóm tắt lý thuyếT c1 274
§1 Công thức và các luật trong lôgic mệnh đề 274
§2 Dạng chuẩn tắc hội và dạng chuẩn tắc tuyển °
§3 Các phương pháp kiểm tra tính hằng đúng, hằng sai
của công thỨC cá n1 hư 278
B Bài tập giải mẫu -QLc.cSL nghi 281
C Bài tập tự giải Là cv ch nh nH kh ngyc 317 Chương I1 LÔGIC VỊ TỪ Q.0 H1 2 yêu 324
A Tóm tắt lý thuyết cu Heo 324
§1 Công thức trong lôgïc vị tỪ - nào 220 2x22 xex 324
§2 Dạng chuẩn tắc, dạng chuẩn tắc hội và dạng
chuẩn tắc tuyển của công thức .- -sccc se: 326
§3 Các phương pháp kiểm tra tính hằng đúng và
tính hằng sai của công thức trong lôgic vị từ cấp 1 327
B Bài tập giải mẫu 5 cán n nhe 333
C Bài tập tự giải ác SH 112112 xxx 365
Phụ lục MỘT SỐ ĐỀ THỊ TUYỂN SINH SAU ĐẠI HỌC (ĐHQGHN)
Máy thị: CƠ BẢN — NGANH CONG NGHE THONG TIN 373
Trang 8PHẦN 1
NGON N@U HINH THUC, VAN PHAM VA OTOMAT
Chương I
VAN PHAM VA NGON NGU SINH CUA VAN PHAM
A TOM TAT LY THUYET
1 Ngôn ngữ hình thức
e« Giả sử 3 là một tập không rỗng và hữu hạn các phần tử Ð, gọi là bảng chữ cái của ngôn ngữ Xâu œ trên bảng chữ cái 3, là một đãy các phần tử của 23; đứng liền nhau: œ = X¡X¿ Xa, Với Xị e 3` Ta quy ước xâu rỗng là xâu không có phần tử nào và ký hiệu là 2 Độ dài
của xâu œ ký hiệu là /(@) (/(©) := số ký tự có mặt trong xâu 0)
>* := tất cả các xâu (kể cả xâu rỗng) được tạo thành từ các phần tử của > 3” := X*\ [^.} = tất cả các xâu (không kể xâu rỗng) được tạo thành từ các phần tử của >
«Ẳ Mỗi tập L C 3 * gọi là một ngôn ngữ hình thức (còn gọi là ngôn ngữ) trên bảng chữ cái 3 Bản thân ký hiệu tập rỗng Ø và tập gồm một xâu rỗng {^A} cũng là ngôn ngữ trên bảng chữ cái } Nếu
> = {O, 1} thi theo dinh nghia : ** = {^, 0, 1, 00, 01, 10, 11, 000,
001, .} = tập tất cả các xâu được tạo thành từ các phần tử 0, I đứng
liền nhau có độ dài bằng O, 1, 2,
e Từ các ngôn ngữ cho trước, ta nhận được các ngôn ngữ mới trên bảng chữ cái đó bằng cách áp dụng các phép toán hợp (L2), nhân ghép (.)
và phép lặp (*) Chẳng hạn, từ ngôn ngữ L., Lạ, Lạ c 3* ta có các ngôn ngữ mới L¡ © Lạ, Ly.L,, L*, L* ¢ 2, trong đó:
L, UL, = [@ Í @ø e L¡ hoặc @ e Ly};
L,.L, = {@,0,!@, e L¡ và + e Lạ};
LẺ =LP(2LÍ UL? UL u , ở đây LP = [X),LP=L!41;
LƯ=L\ULZL+2L¿L2L =L*V{A}.
Trang 9e Mot vấn đẻ được đặt ra: Cho L œ ®ˆ* và œ e >*, làm thế nào để biết được œ € L hay » £ L2? Đây là vấn đề biểu diễn ngôn ngữ có liên
quan tới văn phạm
2 Văn phạm và ngôn ngữ sinh của văn phạm
Định nghĩa văn phạm
Van pham [a b6 4: G = <3, A, I, R>, 6 day:
— 2 # ©, hit han cdc phan tt (goi 1a céc phần tử kết thúc), 3` là từ điển cơ bản (hay còn gọi là từ điển kết thúc);
~ A#, hau han các phần tử (gọi là các phần tử không kết thúc), Ala
từ điển hỗ trợ (hay còn gọi là từ điển không kết thúc) (3¬ A = Ø);
~ le A gọi là ký hiệu ban đầu;
- R={a —>BIœ e V*AV*, B e V*} gọi là tập các quy tắc của văn phạm (V =5} A gọi là từ điển đầy đủ của văn phạm)
Định nghĩa ngôn ngữ sinh của văn phạm
Cho van pham G = <}, A, Ìj R> và œ e 2* Tạ nói xâu œ có dẫn xuất
day đủ trong G (ky hiéu D(w)) khi va chi khi D(m) = (w,, @) @,) théa mãn đồng thời các điều kiện sau:
— œ,€ V* (i=0,I, ,n);
— @ạ=l€A¿œ=0K€2*;j
—_ 0@.¡ l=@; (= I, 2, 3, , n), có nghĩa là œ, nhận được từ œ,_¡ bằng cách áp dụng một quy tắc nào đó trong R
Trong trường hợp này, ta nói xâu œ được văn phạm Ö sinh ra, hay xâu
œ có đẫn xuất đầy đủ trong G và ký hiệu là,I |—— œ hay I |—œ
L(G) la ky hiéu tap ngôn ngữ sinh của G và được định nghĩa:
L(G) := {œ | @ e 3 * và ] |— ø)
3 Phân loại văn phạm của Chomsky
Trong phân loại văn phạm, Chomsky gọi văn phạm định nghĩa như trên
là van phạm cấu trúc câu (còn gọi là văn phạm ngữ cấu)
Văn phạm loại 0: Văn phạm cấu trúc câu (VPCTC) G là văn phạm mà R
có dạng: R = {a > Bla e V*AV*, 8 e V*)
Văn phạm loại !: ` Văn phạm cảm ngữ cảnh (VPCNO) G là văn phạm mà R
có dạng: R = {œ —> § Ìœ e V”, B e V* và (œ) < )} Văn phạm loại 2: Văn phạm phì ngữ cảnh (VPPNC) G là văn phạm ma R
có dạng: R = (A > ĐA eA,0e V*),
Văn phạm loại 3: Văn phạm chính quy (VPCQ) G là văn phạm mà R
_ có dạng: R = [A ->aB, A->alA,BeA,ae 3)
Trang 10Chi y /: Nếu trong định nghĩa VPCQ G = <}, A, L R>, với
R = |A —>aB, A->al1A,BeA,ae 3`) mà ta thêm vào R quy tac A > A, tức là R có dạng R = {A -> aB, A —> a, A —>ÀLA,Be A,ac 3, ^.là xâu rồng} thì văn phạm Ø được gọi là VPCQ suy rộng Như vậy, VPCQ cũng là VPCQ suy rộng và ngôn ngữ của chúng chỉ sai khác nhau một xâu rỗng
Chú ý 2:
se _ Văn phạm được phân loại có tên là gì thì ngôn ngữ sinh của nó cũng
có tên như vậy
se Ngôn ngữ văn phạm chính quy viết tắt là NNCQ; ngôn ngữ văn
phạm phi ngữ cảnh viết tắt là NNPNC; ngôn ngữ văn phạm cảm ngữ canh viết tất là NNCNC; ngôn ngữ văn phạm cấu trúc câu viết tắt là
NNCTC Ta có bao hàm thức sau:
NNCQ c NNPNC c NNCNC c NNCTC
4 Một sô thuật toán thường gặp trên lớp các văn phạm
đa) Thuát toán tương đương
Hai văn phạm G và G' tương đương (ký hiệu G = G’') khi và chỉ khí L(G) = L(G’)
Baitodn: inputG =<, A, 1, R>
output G' = <d, A’, 1, R> =G
Bước I: A':=A(2 với S ={AalaeПS],
Bước 2: R':= RUR, với R= tập tất cả các quy tắc nhận được từ
các quy tắc của R, bằng cách thay ký tự a e 3, bởi ký tự đối ngẫu a < ®ĐvàR ={ã >alaeŸ)
Với G' xây dựng như trên thì G' = G
b) Thuật toán hợp các ngôn ngữ sinh của văn phạm
Bài toán: - inputG,=<Ö), Aj,lj,Rj> @=1,2, ,n):
Trang 11c) Thuật toán nhân ghép ngôn ngữ văn phạm
Bai todn: input G; = <j, A, I, R> (1= 1,2, ,n);
toán hợp và nhân ghép mà thôi
B BÀI TẬP GIẢI MẪU
1 Cho văn phạm G =<2.,A, I, R> với tập quy ức
= [TA I> Aja, Lợb, aA, + yay, aA, > Aya),
a A, 5 Aya, aA, > Azã¿, bÀ¡ 4 a,b, bA, + ab}
e Viết đầy đủ G theo định nghĩa
« G là văn phạm loại gì theo phân loại của Chomsky?
e_ Tìm ngôn ngữ sinh của G
Giải
e D = (aj, a, b}: A= {I As, Ay}: Le A 1a ky hiéu ban dau, con tập quy tắc R cho như trên
« G là VPCTC (không phải là VPPNC và VPCQ)
« L(G) = |@bœ | œ € {a,, a,}*} Chẳng han, véi @ = aya, thi
bw = a,a)ba,a, c6 dan xuất đầy đủ trong G là D(aza;ba;a,) = (JIA¡áy, 2ÍA2ã2A¡ai, 3bA,a,A)a), sa2ba2A ai, ¿â2bA¡azay, ga;aiba¿ay )
Trang 12và Với aia; = œ thì @bœ = a¡a;baya; có đẫn xuất đầy đủ D(a;azbata¿) =
(I, pfA5a5, Aja, Aa, 3bA sa) A a), sai bài Á2ã›, sa¡DA2ã¡a+, gaya;ba¡ a2)
2 Cho VPPNC G = <3, A, I, R>, với tập quy tắc
I 2 a 4 $ 6 7 Ñ
R = {I ala, I.blb, I—>clc, F—> đld, I—aa, ï— bb, I> cc, I> dd}
Tìm ngôn ngữ sinh của G
Gidi L(G) = {© | 6 {a, b, c, đ}”}, ở đây @ là ảnh gương của œ Giả
SỬ (@ = X,X¿ xạ, khi đó ảnh gương của w la @ = X, X9X, Ta chi ra xau
@@ = XIXa XaXạ XaX, có dẫn xuất đầy đủ trong G:
D(@ @) = (1, XTX 4, ces Kp Xe Kye pl pep eX gX ys XpRqee Kye XpXpNp—peeXQXy = OO)
3 Cho VPPNC G = <3, A, ï, R>, với tập quy tắc
R = {I > ala, I > bib, I > cle, I > dId, ï —x}
Tìm NNPNC của văn phạm đã cho
Gidi L(G) = {ox |@ € {a, b,c, d}*, @ là ảnh gương của œ} Chứng minh dan xuat day di cla wx @ tương tự như bài tập 2 ở trên
4 Cho VPCQ G = <¥,, A, 1, R>, vdi:
Do = {ay, a, ag}s A= (E, Ay, Ad, «., Ags} va
R= (Il ajAj, Ay > agg, «., Ageg > agp Apps An) => a, 12 2} Tìm ngôn ngữ sinh của văn phạm trên
Giải L(G) = {0 = ayáy an} Thật vậy, dân xuất đầy đủ của xâu oœ là; D(w) £ (Í, ái Ai, arpa2Á2, ‹ , 842 An—L Âm |s 3,82 ân—jân = 0)
5 Cho VPPNC G với tập quy tắc
R = {Il > al, 1—> aB, B> bB, B> bbD, D> cD, D> ccc}
Tìm ngôn ngữ sinh của nó
Gidi, L(G) = {a"b™c* in > 1, m >2, k > 3) Dẫn xuất đây đủ của a"b"cÈ là:
D(a"b"c*) = (1, al, a’l, a"B, a"bB, , a"b™ °B, a"b™D, a®bcD ,
—EF>BBDF (7) DEF—>›i (8) B—I (9)
là văn phạm sinh ra ngôn ngữ L(G) = {n’In=1,2, }
11
Trang 13Giai
«e n=l,I”=1 =l: dẫn xuất của 1? là D(1?) = (1, ¡¡L= 1= 1?)
e_n=2,2?=4=lIl: D(2”) = (I, ,ABBDF, ;ABB,, ,;IBBl, gIIBI, „II = lÝ = 22)
© n=3,3=9=?:
D(3*) = (1, ,ABBDF, ,ABDCBF, ,ADCBCBF, ,AAECBCBF,
yAAECCBBF, ;AAAECBBF, ;AAAAEBBF, ,A“BEBF,
oA‘BBEF, A*BBBBDF, ,A‘B‘I, ;lB'I, of 141 = 1°)
Một cách tổng quát, với œ = L =!"` ta có dẫn xuất đầy đủ là
D(n2) = (I, ABBDF., Am DRC YR AO Brerd _ Am P@DI,
or? J2tn~0[—|tn=D)+2a-iwl _ I")
7 Cho ngôn ngữ L = {ab(xyz)" ba, ab™a | n > 0, m > 0} trên bảng chữ cái 3, = [a, b, x, y, z} Xây dựng VPCQ G = <X, A, 1, R> sao cho L(G) = L Giải 3, = (a, b, x, y, z); A = [L, AI, A›, A+ AB];
R= {]— aA,, Ay > DA;, Ay —> XÂ+, À¿ > yAy, Ay > ZA,
A, > bAs, A; — a, 1— aB, B—> bB, B — a}
Ta chỉ ra với R như trén thi L(G) = {ab(xyz)"ba, aba | n, m = 0} với dân xuất đầy đủ của xâu œ; = ab(xyz)"ba va x4u @, = ab™a 1a:
Diw@,) Z (ý AAi, abA¿, abXA¿, abxyA„,, abxyzAa, ab(xyz)"A,, ab(xyz)"bAg, ab(xyz)"ba) va D(w,) = (1, aB, abB, ., ab™B, ab™a)
8 Cho ngôn ngữ L = {0"1" 1 n > 0} trén bang Y = {0, 1} Xây dựng VPPNC G = <>, A, I, R> sao cho L(G) = {0"1" | n =O}
| 2
Gidi R = {1 OM, 1 > XỊ Rõ ràng LG) = {0°1°1n >0}, vì với n = O thì
0 = À Dân xuất đầy đủ của w = A 1a D(A) = (1, A) VGi n > 0 thì dẫn xuất đầy
đủ của xâu œ = 0”1” = 99, 00 011 1 Lda
Dior") =(I, , OM, , 07117, ., ¡ 0H", ¿ 0010),
9 Cho L = {o+ 1 € {0,1}*, @ là ảnh gương của xâu a Xay dung VPPNC day du theo dinh nghia G = <>, A, I, R> sao cho L(G) =
Giat.Y = {0, 1, +}: A= {I}; R= (1>010, ] “1M, I> +}
Ta chi ra L(G) = {@ + ® |w © {0,1}* va @ là ảnh gương cia xau w}
Trường hợp œ = À thì xâu œ + œ = + Dẫn xuất đầy đủ của xâu này là D(+) = (1, +) Cho @ = X:X¿ X„ Và @ = X X2Xy, khi đó xâu @ + 6 có dẫn xuất đây đủ là D(œ + @) = (1, ¡2XIÏXI, ¡2XIX2X2XI, J2XIX.» XaÍXạ X2Xp, ‡0 + @),
ở đây x¡ € (0, 1], néu x; = 0 thì chọn quy tắc 1, còn x; = 1 thì chọn quy tắc 2 trong tập quy tắc R ở trên
12
Trang 1410 Cho ngon ngit L = {@@, a2", b™c lw © {a, b, c}*, ô là ảnh gương cha o, n 2 l, m > O} trén bang Y = {a, b, c} Xây dựng VPPNC G=<%, A, I, R> đầy đủ theo định nghĩa sao cho L(G) = L
Giải Y= {a,b,c}, A= {LE b, 14} va
R= ti, [—I,, I-> I;, [,—>ala, Il,—>bL,b, l, —>clc, l—> A,
H 9 Ww 11
1, —>al,a, _—>aa, I,—>bl¿, l; 2e}
Với R như vậy thi L(G) = L đã cho Thật vậy, trước hết chỉ ra dẫn xuất đầy đủ của xâu œ@ với œ € {a,b,c}*
~ Trường hợp œ = 4 thi @@ =A va dan xuat day dé cua A 1a
D(A) = (1 I), 7À)
— Trường hợp œ # À Và œ = XỊX¿ Xa (X¡ € |a, b, c}) thì dẫn xuất đầy
đủ của œ@ = X,X¿ XaXạ XaX; là
Do) = (11 2 seX( Xi s 446 X1 « Xe DX-.-X2XI, 7XIXuXnc-Xị = 6), Dẫn xuất đầy đủ của xâu a” = aa a (2n lần a) là
D(a?”) = (1, yl, gala, ga” 'Ia” |, sa
Dẫn xuất đầy đủ của xâu œ = b”c là
D(b”c) = (dL, ya igdl,, ioÐ' la, IoÐ 1, IiB 7c)
11 Cho ngôn ngữ L = {a"b"c™ | n > 1, m> 1} trén bang > = {a, b, c} Xây dựng VPPNC G = <>, A, I, R> sao cho L(G) = (a"b"c™ Jn, m 2 1}
Gidi G= <>, A, 1, R>, với
L= fa, b,c}, R= {I > AB, A->aAb, A->ab, B->cB, Bc}
Với R như trén thi L(G) = {a"b"c™ | n, m > 1} vi dẫn xuất đầy đủ của
xau a"b"c™ 1a D(a"b"c™) =(I, ,AB, »a ADB, 3a7Ab°B, ., sa” "Ab* 1B, ;a"b"B,
sa"b"cB, ., gab" |B, sa"b"c”) ,
12 Cho ngôn ngữ L = {w@ca@o'w' lw e {a,b}*, @ là ảnh gương của œ
và @' là ảnh gương của œ' trên bảng 3 = {0, 1}} Xay dung VPPNC
G=<}Š,A,L R> sao cho L(G) = L
Trang 15~ Trường hợp xâu œ = œ' = À thì œc ôœ`@0' = c có dẫn xuất đầy đủ là
Đ(c) = (L, , AB, 4cB, 7c)
— Trường hợp œ # A va @ = Xx;X> xX, (x, € {a,b}) cdn wo’ = A thì xâu
@C Ô @' @` = XIX2 XaCXa X2X¡ cố dẫn kuất đầy đủ là
D(ac @) = (1, AB, 23XIÁXk, , 23XỊ X2 XuÂXu X2X., ¿00C Ô )
- Trường hợp œ = À, œ' # À với œ = yYs y„ thì xâu œcœ'@' = CYIY2-.-YmYm -Y2Y) (yị 6 (0,11) có đẫn xuất đầy đủ là
D(cœ'@') =1, ,AB, ;eB, ;scy¡By( s6CY(- YmnBYm -Ÿs 7CYL YmŸm -Ÿi
với 3` = {0, 1,2}, A= {I, A, B} sinh ra ap ngén ngit L(G) = (071"2" In > 0}
Chứng minh dành cho bạn doc như là một bài tập tự luyện
1Š Cho ngôn ngữ L = ta b?'cd?m*iccd2m+lc' 1 n >0, m >0,/>2] trên
bảng 3- = {a, b, c, d} Xây dựng VPPNC G = <2, A, I, R> sao cho L(G) = L
Giải
R= (I AcBC,A >aaAbb, AA, B—>ddBdd, B—>dccd, C—>cC, C—>cc|
Để chứng minh L(G) = L„ ta chỉ ra dẫn xuất đầy đủ của xâu
dì = a2nb2nca2m*leca7m+1 cÌ
là Dio) = (I ,AcBC, ;aaAbbcBC, ;(aa)"A(bb}'cBC, ;a”b?cBC,
ya"b™cdd BddC , 4a2"b""c(dd)™ B(dd)"C, „aPbcd2m*tccj?C,
, 2nh2nJ2m†+1ssa42m+l 1
14
Trang 1616 Cho hai văn phạm G, = <2, Á¿, f,, Ry> va Gy = <2), Ay, lạ, R¿>, với
{ 2
R, = {I, al, I, >a}
va R, = (I, 3xA,, A, SxA,, A, yA, A, AYA, Ay) tương ứng
a) Viét day du G,, G; theo định nghĩa và tìm L(G,), L(G›)
b) Xây dựng Œ, = <Ö, Ai, lụ Rị> =G, = <3 Á,, ly R> Œ= 1,2)
c) Xây dung G = <d, A, 1, R> sao cho:
e L(G) =L(IG,))U L(G,);
« L(G) =L(G¡).L(G›) U L(G,).L(G,) U L(G,) U L(G)
Gidi a) G, = <2), Ay, 1, Ry> cd XY, = fa}, A, = (1,}, 1, © A, la ky ty
ban đầu, còn R; = {], sal, I, “Sal; Gy = <2), Ay, 1, Ry> có 3; = {x, y},
Ay = (Ih, Ay, Ap} I, € A, 1a ky tu ban dau, con
Rạ= H; SxA,, A, + KA, A, SyA,, A, SyA,, A, yl
Ta có L(G,) = (a”In > 1} vì dẫn xuất đầy đủ của xâu (ò = a” là
D(a") = (Ij yal, a21, , ¡at A, ga")
và ta cũng có L(G›) = {x™y 1 m 2 1, k 2 2} vi din xuat ddy da cha xâu
o = xyy (m= 1, k = 2) là D;(xyy) = (;, yXÁ¡, ¿XYAÁ¿, 7xyy), con dan xuất day da cha x™y* 1a
Day(x TY") = (Lyn ;XÁI, XÃ, sa 2X Ags SX YA, GX NV A, ., KK Ala, OKT)
b) G = <>) Ay, I, R'> = G, c6 dang Y, = {a}, A) =A,U 5, ={l, 5},
R', = R,UR, ={I, > @,, 1, > 4, 7a} Dé dang kiểm tra lại:
L(G’) = {a"In 21} hay G', =G)
G', = <2), A’, 1h, R'y> © Gy = <2, Ay, L, R,> c6 2, = |X, y];
A'y = Ay U &, = (1.4, Aas y} VAR) = R, UR,
= {I, >xA,, A, > XA,, A, > YA,, A, > YA,, A, OY XPKY YI
Dễ đàng nhận thay L(G',) = L(G,) = {x"y* 1m 2 1,k > 2}, hay G2 ~ G¿ c) eL(G) = L(G,) 2 L(G›) có văn phạm G = <3, A, I, R> với:
3.:=3¡32 = [a, X VÌ:
A:=ÁAi A;Ở [HJ = {I, H, b, À¿, Aa}, với I là ký tự ban đầu của G;
45
Trang 17& 9 1 2
R:=(I—I,,1— } Ó Rị R¿= (II, E—1,, l—al,, Loa,
L xA,, A, ->XÁ„A, yA, A, SyAy, A, yl
Với G như vậy ta chỉ ra
L(G) = L(G.) U L(G,) = {a", x"y* In > 1, m>1,k>2}
Thật vậy, dẫn xuất đầy đủ của a" là D(a”) = (I, g I), aly, ¡ aN, 2a")
và của x"y" là D@XfV) = ((, gĨy, ;XA¿, „XÃ, g XA,, ;XVA2, QXY Á¿, oxy Ad, Ky)
« L(G) = L(G,).L(G,) U L(G,).L(G,) U L(G,) U L(G,) c6 văn phạm G=<Š, A, I,R> với Ð = {a,x, y}, A= {I Ty, 1b Ay, Ay} và
R=(I>1],1> bl, 1>h,1 3b) RVR, =U], Io, Il,
Il, I, yal, I, “ya, I, xA,, A, “>XÁ,, A, yA, A, “>ÿA, A, yl Với G như vậy ta có
L(G) = L(G,).L(G) U L(G,) L(G,) UL(G,) U LG;)
= fa™x™yk, x™yka" a™ x™ykK n> 1,m2>1,k 22}
Thật vậy, ta có các dẫn xuất đầy đủ đối với từng xâu trong ngôn ngữ
L(G) la:
Deaxy*) = (1, ghyly, valJs, , ¡a" “H1, ;a", ;axA¡, ;a"XÊA, ,
garK A, sa XY As, sanx”V2A., pax y As, aPxVky,
Dex™yka") = (I, ololys gXAjTy) gX2A ploseens gX AGI), sX™YAg]), gX™y7Agl),
vay XY Ag, gx VN, L x VaẴ,, ., xX™yKa™ |T,, ox™yKa®)
17 Cho cdc van pham G, = <j, A,, I,, R;> (i = 1, 2, 3) với:
I 2
R, = {I, ~al,b, 1, ab};
R, = {L, Sala, L “>bLb, IL, “saa, I, ->bb|;
7 R ọ 10 tt 12
R,= (Il, > ABDE, A>aA, A-+a, B> bbB, Bb, D->aD,
D->a, E->bbE, E->bb] a) Viết đầy đủ G, theo định nghĩa và tìm L(,) Gi = 1, 2, 3)
b) Xây dựng G = <Ö, A, I, R> sao cho L(G) = L(G,) U L(G,) U L(G))
c) Xây dung G= <), A, I, R> sao cho L(G) = L(G,).L(G,).L(G3) d) Xay dung G =<, A, I, R> sao cho
L(G) = L(G,).L(G,).L(G;) U L(G,).L(G,).L(G3) U L(G,).L(G2) U L(G;) 16
Trang 18e) Xây dựng Œ' = <3 A’, I, R'> » G= <A, I, R>, 6 day G được xây
dung trong cau d
Giai
a) 2, = {a,b}, Ay = {1,} va R, cho dtrén tao nén G, =<), Aj, 1, Ry>:
22 = Ía, bỊ, A; = {lạ} và R¿ cho ở trên tạo nên G; = <Ö›, Ay, lạ, R;>;
22 = (a, bị, A, = (l;, A, B, C, E} và R¿ cho ở trên tạo nên
G; = <2, A;, 1,, Ry>
Ta cé: L(G,) = {a"b" In 1};
L(G.) = {@6 |@ € {a,b}*, & 1A anh guong chaw)}; |
L(G;) = {a°(bb)™ba*(bb)! In > 1, m20,k21,/2 1}
Đối với L(G,) và L(G›) bạn đọc tự chứng mỉnh, ở đây chỉ chứng minh
đối với L(G;) Dẫn xuất đầy đủ của xâu œ = ababb (ứng với n = 1, m = 0,
k = 1,/ = 1) là D,(ababb) = (1y, ;ABDE, gaBDE, ,;abDE, ;;abaE, ;sababb)
Trường hợp tổng quát, dẫn xuất đầy đủ của ‹o = a"(bb)"ba“(bb) là
Dio) = (Ij, 7ABDE, ,aABDE, ., a” 'ABDE, 9a"BDE, ,9a"bbBDE, .,
(92"(bb)"BDE, ,,a°(bb)bDE, ,,°(bb)™baDE, ., ,9a"(bb) ba” 'DE,
e) G =<Š, A', I, R> G = <Ÿ, Á, I, R> (xây dựng trong đ) có
R'=RUR = (I >]b],1 911,11 o1),1 5b) U RU R, UR,
= {I> I, LL, 13 Lk, — Hạ, E—> lạ, l > al,b, 1, - ab,
1, >al,a, I, > bl, 671, aa, I, > bb, I, > ABDE,
A — ñA, A > ä,B-—> bbB, B—>b, D->aD,D—a,
E> bbE, E ~> bb, a=>a,b~>b }
(bạn đọc tự chứng minh sự tương đương giữa G và G)
2- HDGBTTRR
17
Trang 19Từ bài tập !8 đến 25 dưới đây, việc chứng mình dành cho bạn đọc
18 Cho Ð_ = {0,1} Xay dung VPCQ suy rong G =<, A, J, R> sao cho
L(G) = 3 * và L(G) = }”
Giải 3` = {O,1}, A= {I}, R= {I 9 OLI> 11,1 3 A} déi vai LG) = >*% Y= {0,1}, A= {I}, R= (15 OL] > 11,15 0,15 1} ddi voi L(G) = ©
19 Xây dung VPCQ G = <>, A, I, R> sao cho L(G) = {@ L@ e {0,1}
va I(@) = 2n + 1,n 20} (/(w) 1a độ dài của xâu ()
Giải
3;= {0,1},A= {1I,A),R= [I— 0A,T— LA, A —>01, A —> H0, — 1}
20 Xây dựng VPCQ suy rộng G = <Ö', A, I, R> sao cho
L(G) = [@ 1ø e {0,1} va (@) = 2n, n> 0)
3= (0.1,A=ILAI,R= II 0A, I— 1A, A > 01, A > 1,1 A}
21 Xây dựng VPCQ G = <Ö, A I, R> sao cho L(G) = [I, 2, , n, } Giải Với mỗi n ta ký hiệu n := |L †=P
X= {a,b}, A= {I, A, B}, R = {I— AB, A > aAb, A > ab, B> aB, Ba}
24 Cho L = {wala e {0,1}* & Io(w) = 1,(@)}, & day 1,(@) = 1,(@) cd
nghia 14 x4u 0) c6 s6 s6 0 bang s6 s6 1 Xay dung VPPNC G = <Q, A, I, R>
> = {a,b,c}, A= {I, A}, R= {f— alAc, I > abc, cA > Ac, bA -> bb}
C BAI TAP TU GIAI
Cho VPCTC G = <3, A, |, R> với
R = {I > BCI, BCB > D, BC > bc, DC a, cl >c, 1 a}
Chỉ ra dẫn xuất đầy dt cia xau (be)"a™ (n 2 1, m > 2) trong van
pham trén.
Trang 2021
28
29
Tìm ngôn ngữ sinh của VPCQ G = <Š, A, I, R> có
3= lãi, tạ aa]}, A = [H, R= {Ï—> a¡, Ï— a), ., 1 a,} Tìm ngôn ngữ sinh của VPCQ G = <5, A, I, R> có
3= (ãy, a2, an}, A= (HH, R= {I — ajI >> a,li= 1,2, ,n}
Tìm ngón ngữ sinh của VPCQ suy rộng G = <2, A, Lj R> có
Y= {ay.ay, a} A= (I, R= (loalIoalici,2, ,n}
30 Tìm ngôn ngữ sinh của VPCQ suy rong G = <>), A, I, R>c6
>= (lá, aạ, aạ}, A = [L A],R= (I—> ajÁ, A~>ajLÍ—> li = 1,2, , nÌ.,
Tìm ngôn ngữ sinh của VPCQ suy rộng G = <>, A, I, R> cd
2;:= la, b}, A= (IL A),R= {E— al, I— aA, A bA, A —> bị
Ta ký hiệu số tự nhiên n e Ñ = {1,2, 3, } bởi n := | |Ì | Cho văn
phạm G = <>, A, I, R> với tập quy tắc R = {I —> II1, F — | } Viết đây
đủ G theo định nghĩa và tìm L(G)
._ Cho ngôn ngữ L = (a?tb*t2e”" |n_m > 1} trên Ð = {a, b, c} Xây dựng
n+] pt?
van pham G sao cho L(G) = {a cÐIn,m> 1
.- Cho ngôn ngữ L = {a"b"a™ | n 2 1,m > 4} trên 3 = {a, b| Xây dựng văn phạm G sao cho L(G) = {a"b"a™ (n= 1, m2> 4}
._ Cho ngôn ngữ L = {a?"b"a" | m, n > 1} trên Ð = {a, b} Xây đựng văn
phạm G sao cho L(G) = {a”"b°a" | n, m > 1]
Cho ngôn ngữ L = (a”b"In > 1} trên 3) = {a, b} Xây dựng văn phạm
G sao cho L(G) = {a*"b"1n 2 1}
Cho văn pham G = <), A, J, R> với R = {! > ABC, AB > iADj, Dij > jDi DiC > BIC, iB > Bi, AB 4, C> Ali,je {a, b}}, Van phạm trên là văn phạm gi va tim L(G)
Cho văn phạm G với R = {I > ABC, A > aAa, A > bAb, Ac,
B > OBO, B > IBI, B > 2B2, B > 00, B > 11, B > 22, C > xyC, C>z,C >A} Tim L(G)
Cho văn pham G véi R = {f — ABCD, A > aAa, A > a, B > bBb,
B > aBa, B —› đBd, B — aa, B > bb, B > dd, C > 0C0, C > ICl,
Trang 21b) Xây dựng văn phạm G = <>, A, I, R> sao cho
L(G) = L(G,).L(G¿).L(G;) vở L(G).L(G2).L(G,) © L(G,) Q2 L(G;) tý LG)
42
43
45
c) Xây dựng G'` = <È,, A’, I, R'> » G (trong cau b)
Cho VPPNC G = <d, A, I, R> véi R = {I > ABD, A > aA, A > bB, B—> cB, B-> cD, D> dD, D> d} Tim LG)
Cho văn phạm G = <5, A, I, R> với R = {I > aSBC, 1» aBC, CB
BC, aB — ab, bD — bb, bC -> bc, cC — cc| Chỉ ra rằng L(G) = {a"b"c" n> 1}
Xây dựng VPPNC sinh ra ngôn ngữ L = (abfa”1i> 1Ị
Xây dựng văn phạm G = <2, A, I, R> sao cho:
a) L(G)= tập tất cả các xâu nhị phân chứa một số chấn các số Ô và
không chứa số I nào
b) L(G)= tập tất cả các xâu nhị phân tạo bởi một số số I và tiếp theo
= (A — Ba, A >alA,Be A,a e5.) (G còn gọi là VPCQ phải)
ching minh ring L(G’) = L(G) là ảnh gương cia ngén ngit L(G)
Cho Hà tuyến tính trái G = <Š,, A, IL, R> với
= {[A — œB, A >=œ|lA,BeA,œ e5}
Xây dựng VPCQ G' sao cho L(G') = L(G) Nói cách khác, ngôn ngữ
L(G) 1a NNCQ
Cho các văn phạm sau đây:
a) G, với R¡ = [I— 0000000000A, A —= 0A, A>^];
b) G, v6i R, = (IAI, I> ABI, >A, ABBA, BA->AB, A— 0,B— 1]; -
c) G, voi R; = {I-+ABI, ABBA, BA > AB, A> 0,B> 1,1 A};
d) G, véi R, = (IAB, AB — BA, BA > AB, A> 0,B> 1,1 >C,
ID, C>ÁC, C A, D ¬ BD, D ¬ BỊ
Tìm L(G,) (= 1,4) và mô tả ngôn ngữ L(G,) bằng lời
Trang 2249 Cho văn phạm sinh G = <5, A, L, R> với:
R= la—> Bla e V*AV*, B e V*}; L(G) = {aloe Y* val —o} Nếu trong văn phạm trên mà ta định nghĩa
L(G) = {œ | ò e $* và œ L—T]
thì G gọi là văn phạm đoán nhận
Nhu vậy, văn phạm sinh hay văn phạm đoán nhận đều có chung 2, A, l, chỉ khác nhau ở chỗ nếu œ —> B là quy tắc thuộc văn phạm này thi B >
œ là quy tắc thuộc văn phạm kia Hai văn phạm như vậy được gọi là đối ngẫu nhau
a) Cho các văn phạm sinh
R, = {Ialb, >A} va R, = {I—>^, 011, ol)
Tìm văn phạm đoán nhận đối ngẫu với hai văn phạm trên
b) Chứng minh rằng, nếu G = <Š, A, I, R> là một văn phạm (sinh hay đoán nhận) và G' = <5, A, L, R> là văn phạm đối ngẫu với nó thì
L(G) = L(G’)
21
Trang 23Chương 2
NGÔN NGỮ CHÍNH QUY, BIỂU THỨC CHÍNH QUY
VÀ VĂN PHAM CHÍNH QUY SUY RỘNG
A TÓM TẮT LÝ THUYẾT
1 Ngôn ngữ chính quy và biểu thức chính quy trên
Ký hiệu >* chi tập tất cả các xâu (kể cả xâu rỗng 2.) được thành lập từ
các phần tử của > Ký hiệu Ð chỉ tập tất cả các xâu (không kể xâu rỗng i) được thành lập từ các phần tử của 3) Như vậy 3 = 3 *\ {AJ
Định nghĩa 1 (Phép hợp, nhân ghép và lặp)
Trên lớp các ngôn ngữ 3 * ta định nghĩa các phép toán:
4) Phép hợp ngôn ngữ (C2): Cho L¡, Lạ G ®*, khi đó
L, UL, = {@@ 6 L¡ hoặc ö 6 Lạ} c>*
b) Phép nhân ghép ngôn ngữ (.): Cho L¡, Lạ G 3 *, phép nhân ghép L„ với Lạ ký hiệu là L Lạ và được định nghĩa
LL, = {a,0,1@, € L, via, e Lạ} G33,
c) Phép ldp ngon ngit (con goi la phép déng Kleene): ChoL ¢ &*:
© Phép lap (*) cua L 1a ngén ngit L* va được định nghĩa
Lt= JL =L’UL UU
a=U
Oday L°= {A} vAL"=L" LL
° Phép lap (+) của L cũng là một ngôn ngữ trên 3, và định nghĩa
Trang 24Từ định nghĩa 2 ta có kết quả sau đây:
Định lý ! Mọi NNCOQ trên bảng 3 đều nhận được từ các ngôn ngữ hữu
hạn, bằng cách áp dụng một số lần các phép toán hợp, phép toán nhân ghép
và phép toán lặp (*)
Để biểu diễn NNCQ trên bảng ® người ta dùng khái niệm biểu thức chính quy (BTCQ) và được định nghĩa như sau:
Định nghĩa 3 (Biểu thức chính quy) Ký hiệu Ø là một BTCQ, nó biểu
diễn tập rồng (tập không chứa xâu nào); ký hiệu ^ là một BTCQ, nó biểu diễn tập {A.} và ký hiệu a (a e > ) là một BTCQ, nó biểu diễn tập gồm một
phần tử {a}
Giả sử (A), (B) là hai BTCQ, nó biểu diễn NNCQ A và B tương ứng, khi
đó các ký hiệu: (A t2 B), (A.B) và (A)* cũng là BTCQ, nó biểu diễn các NNCQ A UB, A.B va A* tuong ứng trên >
Định lý 2 Mỗi ngòn ngữ trén © 1a NNCQ khi va chi khi ngôn ngữ đó được biểu diễn bởi BTCQ trén >
2 Quan hệ giữa ngôn ngữ chính quy và ngôn ngữ chính quy suy rộng trén bang >
Van pham G =<), A, I, R> 14 VPCQ suy réng khi va chi khi n6 cé tap
quy tác R = (A —-> aB, A >a,A>^AÍA,BeA,ae>)
Ngôn ngữ do VPCQ suy rộng G = <Ö”, A, I, R> sinh ra goi 1a NNCQ
suy rộng Ký hiệu Lypoqsạ là lớp NNCQ suy rộng do VPCQ suy rộng sinh
ra Ký hiệu Lục là lớp NNCQ do VPCO sinh ra Từ định nghĩa ta có:
Định lý 3 Lypoo = LupcosgV ÍÀI-
Định lý 4 Ngôn ngữ L c 3 * là NNCQ khi và chỉ khi có tồn tại VPCQ
suy rong G =<), A, I, R> sao cho L(G) =
Một caéch hinh thiic, ky higu Lyycg 1416p ngôn ngữ được cho bởi
BTCQ Ta có mối quan hệ sau
Lyreg = Lyneo = Lypegsr = Lvpcg U {44-
B BÀI TẬP GIẢI MẪU
1 Cho hai ngôn ngữ L¡ = {A, ab, ac, bbca} va L, = fa, ab, ca, aabac}
23
Trang 25Giải
a)L,UL, = {A, ab, ac, bbca} C2 {a, ab, ca, aabac }
= {A, ab, ac, bbca, a, ca, aabac }
b) Lị.L = {A, ab, ac, bbca}.{a, ab, ca, aabac}
= {a, ab, ca, aabac, aba, abab, abca, abaabac, aca, acab,
acca, acaabac,bbcaa, bbcaab, bbcaca, bbcaaabac }
c) s Tính chất đối với phép toán hợp ngôn ngữ: Giả sử Lị, Lạ, Le 3*,
(phép giao ngôn ngữ (^¬) định nghĩa như phép giao trong lý thuyết tập hợp)
e Tính chất đối với phép nhân ghép ngôn ngữ: Giả sử Lị, Lạ.L c 3 *,
Giả sử L., Lạ ce D4; Ce (a) = 2; Cyd" = {A}; CeO =L*, khi ds
L, AL, = Cy(CrL, U CeL,) (hệ thức De Morgan)
2 Phép ảnh gương của một xâu œ c 3 * là œeœ 3 * với ô Tà œ nhưng viết theo thứ tự ngược lại Ảnh gương của một ngôn ngữ L c #* là hợp các
ảnh gương của mỗi xâu trong L
a) L = {À, abcd, aaaaa, bbac } = {A, dcba, aaaaa, cabb}
b) Tính chất của ảnh gương: Giả sử L c #*, khi đó: Ù =L, Â =^,
Ø và a"=a" với mọi a e >
Trang 263 Cho L € {a, b, c}* véi L = {a, be}
= {A} U {a, be} U [a, bc} {a, be} U fa, be} fa, be} (a, be} U
= {A,a, bc} U {aa, bea, abc, bebe} U {aaa, bcaa, abca, aabc,
n=1:A!=A°A! = {A} A= {A}{O, 11} = (0, 11];
Trang 276 Cho A = 10 11}, B= {00, 01} trên 3; = {0, 1} Tìm các tập sau:
một số mỗi loại ở một hàng
e) Tập các xâu À, hoặc xâu kết thúc bằng một số ] và có một hoặc nhiều hơn các số 0 đứng trước số ]
f) Tập các xâu chiều dài ít nhất là 3 và tận cùng bằng 00
g) Tap các xâu có một hoặc nhiều hơn số 0 được tiếp theo bởi số I
h) Tập các xâu có hai hoặc nhiều hơn ký tự trong bảng chữ cái được
tiếp theo bởi ba hoặc nhiều hơn các số 0
26
Trang 28¡) Tập các xâu hoặc không có số 1 nào đứng trước một số 0, hoặc không
có số Ö nào đứng trước một số I
k) Tập các xâu chứa một xâu các số I sao cho số số ! bằng 2 (modun 3)
được tiếp theo bởi một số chẵn các số 0 (Chú ý: Số số I bằng 2 (modun 3) có
nghĩa là: số số I trừ đi 2 chia hết cho 3)
9, Cho các BTCQ trên 3, = {0, I):
I*00* tương ứng với NNCQ | I°00”In,m >0
[11\t2001 tương ứng với NNCQ { L1, 001}
(02 1) (0 ©/ [)* 00 tương ứng với NNCQ (0000, Io00l@ e {0,1)*}
11 Dùng các BTCQ biểu diễn các tập sau:
a) Tập các xâu có một hoặc nhiều hơn một số 0 được tiếp sau bởi số I b) Tập các xâu có hai hoặc nhiều hơn ky hiéu trong > = (0, 1} va tiếp
sau bởi ba hoặc nhiều hơn số 0
c) Tập các xâu không có số l nào, hoặc nhiều hơn một số l đứng trước
một số chăn các số 0
d) Tập mọi xâu 0 và [ có số 1 ở đầu và không có hai số Ö đứng liền nhau
€) Tập mọi xâu trên 3; = {0, !} không chứa hai số Ô liên tiếp
Ð Tập mọi xâu trên 3; = {0, I} được kết thúc bởi 011
¡) Tập mọi xâu gồm một số số 0, tiếp đến gồm một số số I, rồi đến một
số số 2, trong đó 0, 1, 2 đều có mặt
Giải
a) 00*1, 0*01 b) (0U 1) (0C ID) (0U 1)* 00003
27
Trang 29b) BICQ cia NNCQ suy rong L(G) cé dang: OUAY 1011*
14 Cho VPCQ suy rộng G, = <Ö, A,, l¡, R,> với:
a) Rị = {l¡ —y 0A, lị —> 1B, A —> 0, B —y 0];
b) R, = [I; — IB, I; — 0, A —> 1A, A —› 0B, A — 1, A =0, B— 1|
Tim L(G,) (¡ = I, 2) Chỉ ra các BTCQ của nó
Giải
a) L(G,) = (00, 10}; 00 U 10 14 BTCQ cia L(G))
b) L(G,) = {11,0}; 11 U0 la BTCQ của L(G;).
Trang 3015 Cho VPCQ suy rộng G = <2 A, R> void = (a, be}, A= {I, A, B}
va R = {I “yal, 1->bA, A ->8A, A oh, I->eB, B->a, Bb}
a) Tim L(G)
b) X4c định BTCQ ctta L(G)
Gidi
a) L(G) = {a"ba™, aca, a"cb | n > 0, m > 0) Dẫn xuất đây đủ của
@,= a"ba™, @,= a"ca, @, = aed là:
D(@,) = d, ,al, ., ;a"L, 3a"bA, ,a"baA, ., ,a"bal™A, ,a"ba™);
D(@,) = (IL, ,al, ., ;a°l, ,a"cB, „a”ca),
D(o;) = (I, ,al, ., ,a"l, sa"cB, 7a"cb)
b) BTCQ cua L(G) 1a: a*ba* U a*ca U a*cb
16 Cho VPCQ suy rộng G = <Ð>, A, I, R> với
Diw,) = (1, 1 aA}, 2 ADA,, 3 abaA,, ., 3 aba"A,, ¿ aba”b),
D(@;) = (1, 5aB,, ¿ abB›, abaB,, g ababB,, ., , abab™B,, 9 abab™a)
b) BTCQ cua L(G) 14 aba*b U abab*a
a) NNCQ ting voi BTCQ: abba*b \Ở abaa*b t2 abbb là
= {abba"b, abaa™b, abbb | n, m 2 0}
và VPCQ suy rộng sinh ra NNCQ trên có tập quy-tắc sinh R cé dang:
= {I > aA), A; — bA,, A, > bA;, A; > aA;, A; - 6, I > aB,,
B, — bB,, B, —> aB;, B; > aB,, B; > b, 1» aD,, D, — bD,,
Dạ — bD;, D; —> b]
29
Trang 31Các xâu trong NNCQ L ứng với các BTCQ trên đều có dẫn xuất đầy đủ
là rõ ràng (bạn đọc tự kiểm tra)
b) NNCQ ứng với BTCQ: 00(111)*00U1(00)*IWO1*U1IWA 1a L= {00(111)"00, 1(00)™1, 01Ẻ, I1,ÀÍn >0,m>0,k>0)
VPCQ suy rộng G sinh ra NNCQ trên có tập quy tắc sinh
R= [I— 0A, Á, —> OÁ¿, Á¿ —> LÀ¿, Á¿ —> LÁ¿, A¿ — TÁ¿, Ap > OAs,
A; > 0,1 > 1B,, B, > OB, B; — 0B¿, B, > 1, I— 0DỊ,
D, >1D,,D, 374,17 1IE,E> 1,TI> A}
Việc chỉ ra các đẫn xuất đầy đủ của các xâu trong L dành cho bạn đọc
18 Xây dựng VPCQ suy rong G =<, A, I, R>, sao cho L(G) = tap céc xau bat ky bat dau bdi sé 0 trên © = {0, 1} Tim BTCQ cha L(G)
Giải
>=(0,1),A=(LA}),R= [[—0A, A => 0A, A — IA, AA>^Ì; L(G) = (0œ l œ e {0, 1}*}
BTCQ của L(G) là 0(0 U 1)*
19 Cho ngôn ngữ L = {À, I@1, 0l œ e {0, 1J*} Xây dựng VPCQ suy
rong G =<), A, I, R> sao cho L(G) = L và tìm BTCQ của L
Giải
3>=(0.1];A=(LAI
R=(ï— IA,I >À,A 0A, A >1A,A—>^X,I— 0}
BTCQ của L là À €2 I (0 C2 1)*1 C20
20 Cho ngôn ngữ L = {A, O"lo, 1™0, lo | m € {0,1}* van, m2 1}
Xây dựng VPCQ suy réng G = <X, A, I, R> sao cho L(G) = L va chi ra BTCQ của L
21 1 Viết BTCQ của các tập sau:
a) Tập các xâu có một hoặc nhiều hơn số 0, được tiếp theo bởi một số I
b) Tập các xâu có hai hoặc nhiều hơn ký hiệu, được tiếp sau bởi ba hoặc nhiều hơn số 0
30
Trang 32c) Tập các xâu chứa một xâu các số l sao cho số các số |} bang
(2 modun 3), được tiếp theo bởi một số chãn các số 0
2 Xây dựng các VPCQ suy rộng sinh ra các xâu được mô tả trong a, b, c ở
cau I
Gidi
1.a) 00*1; b) (0Ø CÓ 1) (0 C7 1)(0 C7 1)* 0000*; c) E1(111)*%(00)*
2.a) R = {[Ï— 0A, A —> 0A, A —> 1}
b) R = {] + OA,;, A; > OA, Ay > OAy, Ay > IA), Ay > ÔA+,
A; > OAq4, Ay > OAy, Ay > 0 F > OA, As > 1Ag, Ag 3 OA,
Ag > 1Ag, Ag > OA7, Az — OAg, Ag > OAg, Ag > 0,1 > 1Ad,
Ag — 1A Aig — OA; Aig => 1Aig Aig > OA),
Ay, > OAy3, Ayg — OA, Ayy 2 0, LT 1Ay3, Ay3 —> OAs,
Aig > OAjg, Ayyg > 1Ayy Al¿ 2 OAl5, Ays —> ÔAl¿, Aig — OAy6 Ayg —> 0}
Bạn đọc tự kiểm tra lại
L(G) = {0000", 0100", 11@0", LO@0" 1a € (0, 1}* & n> 3}
có BTCQ mô tả trong b ở câu I
c) R = {I > IB,, B, I1B;, By IB;, By > 1B, B, > 1B,
B, > OB;, B, > OB,, B, > A}
Bạn đọc tự kiểm tra lại
L(G) = {11(111)°(00)”In>0,m >0] có BTCQ trong c ở câu |
22 Chứng minh rằng, nếu A là một NNCQ thì ảnh gương của A là A
cũng là NNCQ
Chứng mính Dùng quy nạp trên cơ sở định nghĩa BTCQ
23 Cho BTCQ: 01* 2 00*{ 2 (0 Ó 1) (0 2 1)*00,
a) Viết NNCQ được cho bởi BTCQ trên
b) Xây dựng VPCQ suy rộng sinh ra NNCQ trên
Trang 33b) R = {[ 0A, A —= 1A, A¬ 0B, B— 0B, B — 1B, B>A,I > 2D,
D > 3F, F 3D, D > 2B, I IE,E > 0E, E IK,
K— 1K,K—0H,,H, —>0H;, H; -> 0H;, H; —> 1H¿, Hạ > A}
C BÀI TẬP TỰ GIẢI
Xây dựng các VPCQ suy rộng sinh ra các ngôn ngữ trong bài tập 8, 9
và 10
Xây dựng VPCQ suy rộng sinh ra các NNCQ tương ứng với các BTCQ
trong bai tap 12
Xâu œ = 1011 có thuộc các NNCQ ứng với các BTCQ dudi đây không?
e) 10*(11)*; f) 1(00)*(11)*;
Cho A C >*, với 3ˆ là bảng các chữ cái Các mệnh dé dưới đây, mệnh
đẻ nào đúng, mệnh đề nào không đúng?
c) A{A} =A; d) (A*)* = A*;
Cho các BTCQ từ a đến h trong bài tập 27
Trang 34c) Tim VPCQ ỞƠ sao cho L(G) = L(G,)L(G;)
d) Chỉ ra BTCQ của L(G) trong câu c
Xây dựng các VPCQ (VPCQ suy rộng) G = <>, A, I, R> sinh ra ngôn
ngữ trên 5; = {0, 1} được cho dưới đây:
a) LG) =Ề*:¿ b)L(G)=>”
Tìm các BTCQ biểu diễn ngôn ngữ trên {Ô, } sau:
a) Tập mọi xâu, trong đó mọi cặp số 0 liên tiếp đều xuất hiện trước
mọi cặp số 1 liên tiếp
b) Tập mọi xâu chứa nhiều nhất một cặp số 0 liên tiếp và nhiều nhất
c) Tập các xâu bất đầu bởi 1, tiếp theo là một số bất kỳ số 0
d) Tập các xâu bắt đầu bởi số 0 và kết thúc bởi số 1 trên 3 = {0, 1} Chứng minh rằng, một ngôn ngữ LL được cho bởi BTCQ khi và chỉ khi ngôn ngữ LL được sinh bởi VPCQ suy rộng
Chứng minh rằng, nếu r, s, t là các BTCQ biểu diễn các NNCQ R, S và
T tương ứng thì ta có các đẳng thức sau (trong đó r = s có nghĩa là
Trang 35Chứng tỏ các BTCQ sau đây biểu diễn cùng một ngôn ngữ:
€) (aa (7 aaaa)*; đ) (aa)*(aa)*
b) Néu G la VPCQ phai thi L(G) la mét NNCQ
Ngôn ngữ L là NNCQ khi và chỉ khi có một VPCQ phải G sao cho
L(G) =LN\ {A}
Chứng minh mọi NNCQ đều là NNPNC Mệnh đề đảo lại là không
đúng, cho ví dụ
VPCQ phải G = <3, A, I, R> và VPCQ trái G' = <2”, A, Í, R> được
gọi là các VPCQ đối ngẫu khi và chỉ khi quy tic A > Ba € R thi
quy tắc A —> aB e R' và quy tắc A —> a e R thì quy tắc A —> a e R'
Chứng minh rằng, nếu G và G' là hai VPCQ đối ngẫu thì
L(G') = L(G) , 0 day L 1a anh guong cua L
Chứng minh rằng, phép ảnh gương là đóng đối với NNCQ
VPPNC G = <3, A, I, R> được gọi là văn phạm tuyến tính phải (VPTTP) nếu nó có tập quy tắc
R=(A->øœB,A->œ!A,BeA,œeÐ>)
Trường hợp R = [A —> Bø, A —> øœ | A, B e A, ø e 3} thì G gọi là văn
phạm tuyến tính trái (VPTTT) Từ đó ta nói VPCQ trái (phải) là VPTTT
(VPTTP) khi /(œ) = ! Chứng minh rằng:
a) Nếu G là VPTTP thì L(G) là một NNCQ
b)_ Nếu G là VPTTT thì L(G) là một NNCQ.
Trang 36Chương 3
ÔTÔMAT HỮU HẠN TRẠNG THÁI ĐOÁN NHẬN
NGÔN NGỮ CHÍNH QUY SUY RỘNG
2 Phương pháp biểu diễn ôtômat M = <Y, Q, F, g,, o>
a) Phương pháp lập bảng chuyển
Nếu M có 3= {Xị, Xạ, Xa| và Q = {Gov Gye Gay - Um-1} Cm 2 1) thi
M có thể cho dưới dạng bảng chuyển:
¡=0, 1, m— †,j= 1, 2, ., n; q, e Q là trạng thái ban đầu; F c Q là tập
trạng thái kết thúc Nếu V(i, j) ma o(q, x) e Q thì M là đơn định,
ngược lại có 3(i j) để ø(q, x) c Q thi M là không đơn định
35
Trang 37b) Phương pháp đô thị chuyển
Nếu M có 3} = |X¿, X¿, Xa} và Q = Íđạ„ đụ, - đạ—¡ } (m > 1) thì M có
thể cho dưới dạng đồ thị chuyển theo các nguyên tắc sau đây:
« Mỗi trạng thái q © Q đặt tương ứng với một đỉnh, đỉnh là một vòng tròn gán nhãn q: (Q)
«_ Nếu qạ e Q là trạng thái ban đầu thì đỉnh có đạng : —> _
«_ Nếuq e Q mà q e F thì đỉnh của q là trạng thái kết thúc có đạng:
« Nếu ơ(q, X) = q¡ e Q với ¡ # j thì trong đồ thị chuyển của M từ đỉnh
q¡ đến q¡ có một cung gán nhãn x:(4))—4(q)) Đặc biệt, nếu ¡ = j thì từ đỉnh q; đến đỉnh q; có một khuyên gán nhãn x:
« Nếu öG(q, x) = {q,,q,.,.„q,}<Q thì từ đỉnh q, đến k đỉnh
q,.q;, - q, có k cung cung gấn nhãn x và trong đồ thị chuyển
của M có đạng:
Chú ý: Ta đã biết, đối với văn phạm G = <2, A, L, R>, cho văn phạm
thực chất là cho tập quy tắc sinh R Vì từ R ta khôi phục lại 3, A và I của
vân phạm Tương tự, đối với ôtômat M = <3, Q, F, q„, ø>, cho M thực chất
là cho hàm chuyển ơ Vì từ ơ ta khôi phục lại các thành phần khác >, Q, F
và qạ Như vậy, cho M dưới đạng bảng chuyển hay dưới dạng đồ thị chuyển đều là cho hàm chuyển ơ dưới dạng bảng chuyển hay đồ thị chuyển
3 Định nghĩa ngôn ngữ đoán nhận của ôtômat
Cho M =<2,Q, F, qạ, ø> và œ e 3 * là một xâu trên 3, Nếu khí M đọc hết xâu œ bắt đầu từ trạng thái ban đầu, nó đưa về một trạng thái G(q,„ @) = q e F hoặc ø(qạ, 0) = Íq,, q, q, }Q với ø(q„, @) ¬ F = (q, dd, }/AE # © thì ta nói M đoán nhận xâu vào œ M đoán nhận
xâu Vào œ € }* theo hai cách:
L(M) = {@ Íœ e 3 ;* & o(q,, @) € F} déi véi M đơn định;
L(M)= [œløœ e >* & ø(q,, œ)¬ E # Ø] đối với M không đơn định
36
Trang 384 Sự tương đương giữa ôtômat đơn định và không đơn định
Ta nói ôtômat M là tương đương với ôtômat M' (ký hiéu M ~ M’) khi va
Input M = <>’, Q, F, qạ, ø> không đơn định;
output M' = <>’, Q', F,, s,, o'> don định va M~ M', M' được xây dựng theo các bước dưới đây:
Bước I: 3;:=Ð3 củaM
Bước 2: Q' := 2°, bday 22 = tập tất cả các tập con của Q hay
29 = (uy, u, 0ạ, 0u, lúc Q (=0, 1, , 29~1))
Va So = Uy = {qo} (qo la trang thai ban dau cia M)
Bước 3: F :={ulucQ &unF#Q}
Bước 4: Gđ: Q' x 3 * —y Q' được xác định: với mọi u e Q' và mọi
x e>ta định nghia: o'(u, x) = (Jo(q,x)
qeU
Với M' xây dựng như trên thì M' là ôtômat đơn định va M' = M
Chú ý: Về mặt phương diện cấu trúc và thiết kế chương trình dịch thì ôtômat không đơn định phức tạp hơn rất nhiều so với ôtômat đơn định Vì lý
đo người ta luôn luôn biến đổi ôtômat không đơn định về ôtômat đơn định tương đương với nó bằng cách áp đụng thuật toán trên,
5 Thuật toán Thompson
Thuật toán này thực chất là chỉ ra các ôtômat đoán nhận ngôn ngữ theo các bước định nghĩa NNCQ trên bảng ký hiệu >
Nội dung gồm các bước sau:
b) NNCQ {2} được đoán nhận bởi M : (L(M) = {A})
c) NNCQ {a)} (a e Ð) được đoán nhận bởi M: >()-“)
(L(M) = {a})
Gia sir A, Bc >* 1a hai NNCQ duoc dodn nhan tuong ting boi hai ôtômat:
37
Trang 39À
Trang 40
6 Quan hệ giữa ngôn ngữ chính quy, ôtômat và văn phạm chính quy suy rộng
Định lý 6 (Định lý Kileene) Tập A là NNCQ trên bảng ký tự Ð
khi và chí khi nó được đoán nhận bởi một ôtômat hữu bạn trạng thái
M = <>, Q, F, qo, o> sao cho L(M) = A
Định lý 7 a) Đối vi VPCQ suy réng bat ky G = <>, A, I, R>, bao gid cũng xây dung được ôtômat hữu hạn trạng thái M = <3, Q, F, go, o> sao cho L(M) = L(G)
b) Đối với ôtômat hữu hạn trạng thái M = <°, Q, F, qo, o>, bao giờ cũng xây dựng được VPCQ suy rộng G = <2, A, l, R> sao cho L(M) = L(G)
Chú ý: Mối quan hệ tương hỗ giữa lớp BTCQ (Lgrco), lớp NNCQ
(Lànco) lớp ngôn ngữ sinh bởi VPCQ (Lvpc), lớp ngôn ngữ sinh bởi VPCQ suy rộng (Lvpcosn) và lớp ngôn ngữ đoán nhận bởi ôtômat M (Lory) được cho bởi biểu thức sau
Lince = Eyneg = Lorm = Lyecosr = Lypag {4}
B BÀI TẬP GIẢI MẪU
1 Cho ôtòmat M = <3, Q, F, qọ, ø> dưới dạnh bảng chuyển