Cơ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
Trang 4
LỜI NĨI ĐẦU
Hiện nay ở nước ta cĩ một số tài liệu viết và dịch về Tốn rời rạc dưới
dạng lý thuyết, cịn tài liệu về Bài tập tố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 Tố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 Tố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 Tố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 tốn và khả năng vận dụng tố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 Tố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
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 ĐỐN NHẬN NGƠN NGỮ
PHI NGỮ CẢNH VÀ THUẬT TỐN PHAN TICH CU PHAP 68
A Tĩm tắt lý thuyết ‹ x OB
§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ữ đốn nhận của a n ơ- 72 Đ5, Thut tn phân tích cú pháp trên lớp ngơn ngữ ,
Trang 6Chương Š, Chương ĩ Chương 7 Chương 8 Chương 9 Phần 2 ĐỒ THỊ VÀ ỨNG DỤNG ĐỒ THỊ —- CÁC DẠNG ĐỒ THỊ VÀ CÁC PHƯƠNG PHÁP BIỂU DIỄN ĐỒ THỊ 2222 2 2n TH g2 182 re eree 95 A Tĩm tắt lý thuyết cung 95 B 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 TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT ss¿ 150 A _ Tĩm tắt lý thUyếT .sLstnHehie 150
B Bài tập giải mẫu - TS LH HH TH HH nh kh 153 C Bài tập tự giải - Lc ccct ng xxx se 173
ĐỒ THỊ PHẲNG ~ SẮC SỐ CỦA ĐỒ THỊ VÀ
BÀI TỐN TƠ MÀU BẢN ĐỒ Q.22 177 A Tĩm tắt lý thUYẾT - ngư 177 §1 Đồ thị phẳng và các tính chất của nĩ 177 §2 Sắc số của đồ thị và bài tố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
B Bài tập giải mẫu on n1 errmveei 219
C Bài tập tự giải ải ccccnnn2Henrrrrrenrerree 229
§5 Cây và các bài tố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
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 °
2ý Nssv 0107 AT aÄAỒ , 277
§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 tố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;
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)
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 tốn thường gặp trên lớp các văn phạm
đa) Thuát tố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 tốn hợp các ngơn ngữ sinh của văn phạm
Trang 11c) Thuật tốn nhân ghép ngơn ngữ văn phạm
Bai todn: input G; = <j, A, I, R> (1= 1,2, ,n); output G = <b, A, I, R> cĩ LG) = [ [L(G,) =L(G,).L(G,) LG,) i=} Bước Ì: >={|)J>- 121 Bude 2: A= {I}ULJA, Bước3: R=(I->hl; I,] 2 JR, Với G xây dựng như trên thì L(G) = []L(G,) = e,@s œạ [œ e L(G,), ¡ = I, , n] ¡=Í ‘ Chủ ý:
« Trong mục l ta đã dùng phép tốn hợp (t2), phép nhân ghép (.) và phép lặp (*) để tạo ra ngơn ngữ mới từ các ngơn ngữ đã cho
se Trong mục 4 ta chỉ cần hai thuật tốn hợp và nhân ghép các văn phạm cũng tạo ra ngơn ngữ mới, vì phép lặp là sự kết hợp hai phép
tố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
3 5
= [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)
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)
1.2.3.4 12.34 5.6.7.8
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 , a’b™ck 3D, abc), 6 Xay dung VPCNC G = <, A, I, R> sao cho: L(G) = {n’ in =1, 2, .}; D={1};A4= (LA, B.C, D,E, Fi le Ala ky tu ban dau; R={!l—+ABBDF} (1) BD—-DCB (2) BC->CB_ (3) D->AAE (4) EC>AE (5) EBODOBE (6) —EF>BBDF (7) DEF—>›i (8) B—I (9)
A>] q0) II (11)}
là văn phạm sinh ra ngơn ngữ L(G) = {n’In=1,2, }
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
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
1 2 3 4 3 6 7
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
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 =co'o 13 Cho ngơn ngữ L, = {(11)”0 In > 0} trên bang > = {0,1} Xay dung VPPNC G = <>, A, I, R> sao cho L(G) = L Gidi VPPNC G=<y¥,A,!I,R>c6R= (II L1, 1->0} thỏa mãn L(G) = {(11)°0!n >0 Thật vậy: — Trường hợp n = 0 xâu (11)”0 = À0 = 0, đẫn xuất đầy đủ của 0 là D(0) = (L, 20): — Trường hợp n z.0, dẫn xuất đầy đủ của (11)”0 là D((11770) = Œ, ,111, , (1171, 2(1120)
14 Cho ngơn ngữ L = (0°1°2°In > 0} trên bang > = {0, 1, 2} Xây dimg VPCTC G = <&, A, I, R> sao cho L(G) = (0°1°2°In >0)
Giải VPCTC G = <5, A, I, R> cổ tập quy tắc |
R= l1] 0IAB, I > A, BA AB, 0A > 01, LA > 11, IB 12,2B-> 22),
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
1 2 3 4 5 6 7
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
6 6, =)
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Á¡, ¿XYẤ¿, 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
= {I, 9 XA,, A, >¥A,, A, > YA, A, OYA, A, ¬> ÿ, X—> x, ÿ — ÿÌ
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Ì:
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
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,
13a(bb)™ba“E, —,ga(bb)™ba*(bb)E, , _4a"'(bb)™ba“(bb)/ "E, 15a"(bb)™ba“(bb)’) b) G=<z, A, I, R> ma L(G) = L(G,) U L(G,) U LG) c6 tập quy tắc R= (I> ]1,,1>L,1341,} UR, OR, UR; (ban doc tu chitmg minh) c)G = <2, A, Í, R> mà L(G) = L(G,).L(G;).L(G:) cĩ tập quy tắc R.= {1— Iblạ} x2 Rị C2 R¿ 2 R¿ (bạn đọc tự chứng minh) d) G =<2., A,L R> mà L(G) = L(G,).L(G,).L(G,) U L(G,).L(G,).L(G3) U L(G,).L(G) U LG3) cĩ tập quy tac R= {I> 1,Lb, I> 11,13, I> LL, I> lạ} U R,UR, WU Ra (bạn đọc tự chứng minh)
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
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)
Giải
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
D={1},A={,R={lolhi ol}
22 Xay dung VPPNC G =<), A, I, R> sao cho L(G) = {a""'b™** 1n > 0} Gidi © = {a,b}, A= {I}, R= {I> alb, I > ab’
23 Cho L = {a” b"a™ | n, m 2 1} Xay dung VPPNC G = <3, A, I, R> sao cho L(G) = {a"b"a™ In, m > I}
Giai
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> sao cho L(G) = L 26 18 Gidi > = {0,1}, A= {I}, R={l>5 IL 15 00,15 110,15 01,1 10} 25 Xay dung VPCNC G = <5, A, I, R> sao cho L(G) = {a"b"c" In > 1} Giải -
> = {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
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 31 32 39 40 4I
>= (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, C -> 2C2, CC > 303, C > A} Tim L(G)
Cho ngơn ngữ L= {a”cb2d2lccd? In > 1m >0} trên Ð = {a, b, c, d] Xây dựng văn phạm G sao L(O) = L
Cho ngơn ngữ Lị = {a”“b°n> 1J, Ly = {øơ !œ e {0, 1}*, ơ là ảnh gương của œ], Lạ = {a"b"a |m > 1,k> 1}
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
là một số lẻ các số 0
c) 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à
một số chắn các số 1
d) L(G) = tập tất cả các xâu chứa số các số 0 và số các số 1 bằng nhau e) L(G)= tập tất cả các xâu chứa số các số khơng và số các số I khơng bằng nhau, 46 Cho ee tuyến tính trái G = <3, A, Í, R> với 47 48 20 ={A—aB,A—alA,BeA, ae 2) (G cịn gọi là VPCQ trái) an tạng với
= (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Ị
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 đốn nhận
Nhu vậy, văn phạm sinh hay văn phạm đố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 đố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 đố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’)
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 tố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
L*= (JL hay Lt =L* \ (21
n=l
Ngon ngit chinh quy trén 2 ky hiéu là Lnncọ được định nghĩa như sau: Định nghĩa 2 (Ngơn ngữ chính quy)
«e Ký hiệu tập rỗng Ø là tập chứa một xâu rỗng {1} va tap {a} (a e 3) được gọi là một NNCQ trên bang >
« Giả sử A, B là hai NNCQ trên bang 3 khi dé A U B, A.B va 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 tốn hợp, phép tốn nhân ghép và phép tố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 cắ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}
trên bảng 3, = {a, b,c}
ä) Tìm L\ C2 Lạ b) Tìm L¡.La
c) Cho L C **, phần bù của L ta ký hiệu là Cụ ;= **\L Hãy phát biểu các tính chất của phép tốn hợp (t2), phép tốn nhân ghép (.) và phép lấy phan bi (C, ) cua ngơn ngữ L
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 tốn hợp ngơn ngữ: Giả sử Lị, Lạ, Le 3*, khi đĩ: L,VUL,=L, UL; (L, UL) UL, =L, U0, UL) =L, UL, OL; LỞÒ-:=ØUL=L; Lc3*thLO3* =5; ILj2121=l1L/1+1121—1L¡AL¿l
(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 *, khi đĩ: L.L¿ # Lạ.Lị, (L,.L,)Ly = L)(L4L,) = Ly -Ly.L;; LO=aGDL=; L.{A} = [A}L=L: [LL lth, tI LL
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
Ø=
24
a) Cho L = {^„ abcd, aaaaa, bbac} Tìm ảnh gương của ngơn ngữ L b) Phát biều các tính chất của ảnh gương của một ngơn ngữ
Giải
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, Â =^,
Trang 263 Cho L € {a, b, c}* véi L = {a, be} a) Tìm L* và L” b) Phát biểu tính chất của phép lặp (*) Giải a)L* = | ]U =IA2L2LLU n=)
= {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,
bcabc, abcbc } t2) = {^, a, be, aa, bea, abc, bcbe, aaa, bcaa,abca, aabc, beabc, abche, .}
L*=L*- {A}
Trang 276 Cho A = 10 11}, B= {00, 01} trên 3; = {0, 1} Tìm các tập sau:
a)AB, b)BA; c)A? đ) B Giai a) AB= (0, 11} (00, 11} = (000, 1100, 011, 1111} b) BA = {00, 11} {0, 11} = (000, 110, OO11, 1111} c) A? = (0, 11} {0 11 = (00, 110,011, 1111] d) B’ = {00, 01} {00,01} {00, 01} = {0000, 0100, 0001, 0101} {00,01} = {000000, 010000, 600100, 010100, 000001, 010001, 000101, 010101} 7 Tìm tất cả các tập A và B của các xâu sao cho AB = {10, 111, 1010, 1000, 10111, 101000} Giải ® A=(I,10I} và B= (0, 11, 000} vi ^ ng 101} {0, 11, 000} = {10, 111, 1000, 1010, 10111, 101000}; © A= (10, 111, L010, 1000, 10111, 101000} va B= {A} vi AB= A3 =A = {10, 111, 1010, 1000, 10111, 101000}; » A= {i, 10} va B= {10, 111, 1000} vi AB=AB= B= {10, 111, 1010, 1000, 10111, 101000}; hoac A= {A} va B= {10, 111, 1010, 1000, 10111, 101000} vi = {A, 10} (10, £11, 1000} = [ 10, 111, 1000, 1010, 10111, 101000} 8 Mơ tả bằng lời các xáu được cho bởi các BTCQ sau a) 1*0; b) 1*00*; c) 11) U001; d) (1 U 00)*; e) (00*1)*; f) (OU 1)(0 U 1)*00; g) 0O* 1; h) (OU {OU 1)(0 U 1)*0000*; 1) OF 1* U 1*0*; k) II(111)*(00)* Giải
a) Tập các xâu gồm bất kỳ số số 1 được tiếp theo sau bởi một số 0 b) Tập các xâu gồm bất kỳ số số I được tiếp theo bởi nhiều hơn một số 0 c) Tập các xâu gồm ba số 1, hoặc xâu gồm hai số 0 được tiếp theo là số I d) Tập các xâu gồm một số tùy ý các số 1, hoặc tùy ý các cặp 00, hoặc
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
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): 10*, (10)*, 0 0T, O10 U 1)* và O0(Ĩ 2 1)# 1] Hãy tìm các NNCQ trên 2 được biểu diễn bởi các BTCQ đã cho Giai L0* biểu diễn NNCQ (10”In>z0); (10)* biéu dién NNCQ {(10)"|n > 0}; 0t/0I biểu điển NNCQ {0, O1]; 0(0 2 1)# biểu điển NNCQ {0ø | @ e (0, 1}*}; 00(0 t2 I)*II biểu diễn NNCQ {0011 | @ e {0, 1)*} 10 Cho các BTCQ trên }' = {Õ, 1|: 1*0, 1*00*, 11] U 001, (OU 1)(0 U 1)*00 Hãy tìm các NNCQ của các BTCQ đã cho Giải
1*0 tương ứng với NNCO {10 In > 0}
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
Trang 29c) O* U 111* (00)* đ) (1 © 10)* e) (OU A) (1 U 10)*, f) (OU 1)* O11 i) OO*11* 22* 12 Từ các BTCQ chỉ ra trong bài tập I1, hãy chỉ ra NNCQ của các BTCQ tương ứng đĩ Giải a) NNCQ của các BTCQ trong câu a là: 00*1 cĩ NNCQ hà {00°1Iln>0); 0*01 cĩ NNCQ là {0°01 In> 0) b) BTCQ: (0 Ĩ 1) (0 Ở 1) (0 2 1)* 0000* cĩ NNCQ là L = (000°, 0100", 110", 10m0" lo e Ð>* &n >3) c) BTCQ: 0* U 111*(00)* cé NNCQ là (0°, 111700) In, m, k > 0} đ) BTCQ: (I +2 10)* cĩ NNCQ là (1,10)* ={A}O {H1; 10) Ĩ [1, 10]11,10) 2 = {A, 1, 10, 11, 101, 110, 1010, .} (gồm tất cả các xâu cĩ số 1 đứng đầu và khơng cĩ hai số 0 đứng liền nhau) e) BTCQ: (OU A) 1 U 10)* cĩ NNCQ là {0, 01, O10, O11, 0101, 0110, 01010, .} (gồm tất cả các xâu trên 3” = (0, 1} khơng cĩ hai số 0 đứng liền nhau) 28 Ð NNCQ là L = {@O11i l@œ e {0,1)*] i) NNCQ AL = {0"1™2* {n> 1,m>1,k>1) 13 Cho VPCQ suy rộng G = <¥, A, I, R> véi R=tlÍ— IA,I0,I—>^,A 08, B— 1B, B — 1} a) Tim L(G) b) Tim BTCQ cha L(G) trén ¥ = {0, 1} Gidi a) L(G) = {0, 4, 101" n> 1)
b) 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))
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 \ 2 3 4 5 6 R= {I >aA,, A, >bA,, A,—aA,, A, >b, I >aB,, B, >bB,, B, >aB,, B,—>bB,, B,—>a) a) Tim L(G) b) Xác định BTCQ của L(G) Giải a) L(G) = {aba"b, abab™a | n, m > 0] Dẫn cuất đầy đủ của œ¡ = = aba", @, = abab™a 1a:
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 17 Cho các BTCQ: a) abba*b U abaa*b U abbb; b) 00(1 11)*00 U 1(00)*1 UOLF UILUA Xây dựng VPCQ suy rộng sinh ra NNCQ được biểu diễn bởi các BTCQ a và b đã cho > Gidi
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]
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, Á, —> Ố¿, Á¿ —> 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 Giải X= {0,1}; A= {], A, B, D}; R = [l— À, I— 0A, A > 0A, A > 1B, B > OB, B> 1B, BA, I> 1D, D> 1D,D > 0C,C > 0C,C 5 1C,C > 4,1 IE, Eo>0E,ED IE,E— A} BTCQ của L là À@ 0*I (0U T)* Ở 110 (0C D* C2 1(0 Ở D)*,
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
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
Trang 3325 26 21 29 30 31 32 a) Viết BTCQ của L b) Xây dựng VPCQ suy rộng sinh ra L Giải a) 01*0(0 U 1)* 2 2(33)*2(0 2 1)*Ĩ 10*11*000#(0 1)*,
b) 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?
a) 10*1*; b) 0*(10 (2 11)*;
c) I(01)*1%; đ) 1*01(0 ©2 1);
e) 10*(11)*; f) 1(00)*(11)*;
ø) (10)*1011; h) (1 U 00) (0100)1*
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?
a)ACA?, b) NéuA =A? thid € A;
c) A{A} =A; d) (A*)* = A*;
e) A*A = A*; ĐỊAPI=IAI,
Trang 3432 33 34 35 36 37 b) Tìm BTCQ của L(G,) va L(G)
c) 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 một cặp số l liên tiếp Mơ tả bằng lời các ngơn ngữ được biểu diễn bởi các BTCQ sau: a) (11 UV 0)* (00 U 1)*; b) (1 U 01 U 001)*(0 U 00); c) (00 U 11 U (01 U 10) (00 U 11)*(01 U 10))* Hãy chỉ ra VPCQ suy rộng sinh ra các ngơn ngữ trong các câu a, b và c tương ứng
Xây dựng các VPCQ suy rộng sinh ra các NNCQ được mơ tả dưới đây: a) Tập các xâu gồm bất kỳ số số 1, tiếp theo là số 0
b) Tập các xâu gồm bất kỳ số số l, tiếp theo là các xâu bất kỳ trên bảng 3; = (0, 1} và sau đĩ là một hoặc nhiều hơn các số 0
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
Trang 3538 40 4I 42 43 44 45 34
Chứng tỏ các BTCQ sau đây biểu diễn cùng một ngơn ngữ:
a) (aa)*; b) (aa)* U Ga;
€) (aa (7 aaaa)*; đ) (aa)*(aa)* Cho cac BTCQ: a) I0 (2 (0 2 11)0*1; b) 01((C10)* U 111)* U0)*1; c)(DODUNDNOVIDFUCOUINOVUIDOVU]I))* Xây dựng các VPCQ suy rộng sinh ra các ngơn ngữ được biểu diễn bởi các BTCQ đã cho VPPNC cé dang G = <3, A, I, R>, voi R={A—>Ba,A>alA,BeA,ae dX} gọi là VPCQ trái Người ta gọi VPCQ G = <>_, A, I, R>, ở đây R=IAOaB,ÀAoalA,BeA,ac>} là VPCQ phải Chứng minh rằng: a) Nếu L là NNCQ thì tồn tại VPCQ phai G = <>, A, I, R> sao cho L(G) =L\ {A}
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
Trang 36Chương 3
ƠTƠMAT HỮU HẠN TRẠNG THÁI ĐỐN NHẬN NGƠN NGỮ CHÍNH QUY SUY RỘNG
A TĨM TẮT LÝ THUYẾT
Một trong những ứng dụng quan trọng của ơtơmat là sự đốn nhận ngơn ngữ của nĩ Sự đốn nhận ngơn ngữ của ơtơmat hữu hạn trạng thái (gọi
tắt là ơtơmat) và ơtơmat đẩy xuống được trình bày trong Chương 3 và Chương 4 đĩng vai trị quan trọng trong việc thiết kế và xây dựng các giải
thuật phân tích cú pháp trong ngơn ngữ lập trình
1 Định nghĩa ơtơmat
Ơtơmat là bộ 5 thành phần: M = <¥, Q, F, q,, o>, trong dé: Ð) — tập hữu hạn khác rỗng các ký hiệu vào; Q — tập hữu hạn khác rỗng các trạng thai; F c Q là tập trạng thái kết thúc; qọ e Q gọi là trạng thái ban đầu; o: Q x 2* ~ Q (trong trường hợp này M gọi là ơtơmat đơn định); ơ: Q x ©* — 2° (trong trường hợp này M gọi là ơtơmat khơng đơn định) 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: x Q xX, X2 x Xa Yo 1 } a , GX) q ¢ Qn-1 ‘
¡=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
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ữ đố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 đốn nhận xâu vào œ M đố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
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
chỉ khi L(M) = L(M)
Dinh lý 5.- Lớp ngơn ngữ đốn nhận của ơtơmat đơn định trùng với lớp ngơn ngữ đốn nhận của ơtơmat khơng đơn định trên bang ky tu >
_ Cơ sở để chứng minh Định lý 5 là thuật tốn sau:
Thuật tốn:
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 tốn trên,
5 Thuật tốn Thompson
Thuật tốn này thực chất là chỉ ra các ơtơmat đố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:
a) NNCQ Ø được đốn nhận bởi M : (4p) (L(M) = @)
b) NNCQ {2} được đốn nhận bởi M : (L(M) = {A})
c) NNCQ {a)} (a e Ð) được đố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:
Trang 406 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 đố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ữ đố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