1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Hướng dẫn giải bài tập toán rời rạc phần 1 – đỗ đức giáo

177 2,2K 3
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 177
Dung lượng 4,17 MB

Nội dung

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 3

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

04 - 2009/CXB/453 - 2117/GD Mã số : 7K678y9 — DAI

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ề 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 5

MỤ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 6

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 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 7

Phầ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 8

PHẦ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 9

e 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 10

Chi 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 11

c) 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 12

và 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 13

Giai

«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 14

10 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 16

16 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 18

e) 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 19

Từ 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 20

21

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 21

b) 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 22

49 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 23

Chươ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 24

Từ đị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 25

Giả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 26

3 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 27

6 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 29

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))

b) L(G,) = {11,0}; 11 U0 la BTCQ của L(G;).

Trang 30

15 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 31

Cá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 32

c) 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 33

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?

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 34

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

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 35

Chứ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 36

Chươ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 37

b) 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 38

4 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

Ngày đăng: 16/06/2015, 12:10

TỪ KHÓA LIÊN QUAN

w