Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
0,96 MB
Nội dung
TRƢỜNG ĐẠI HỌC HÀNG HẢI BỘ MÔN: KHOA HO ̣ C MA ́ Y TI ́ NH KHOA: CÔNG NGHỆ THÔNG TIN BÀIGIẢNGNGÔNNGỮHÌNHTHỨCVÀ ÔTÔMAT Ngôn ngữhìnhthứcvà Ôtômat 17204 TRÌNH ĐẠI HỌC CHÍNH QUY DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN HẢI PHÒNG - 2008 Otomat i ĐỀ CƢƠNG CHI TIẾT Tên học phần: mat Loại học phần: 1 Bộ môn phụ trách giảng dạy: Khoa phụ trách: CNTT Mã học phần: 17204 Tổng số TC: 2 45 45 0 0 0 0 Điều kiện tiên quyết: Mục tiêu của học phần: - - Nội dung chủ yếu Gồm các phần: - - - - Nội dung chi tiết của học phần: TÊN CHƢƠNG MỤC PHÂN PHỐI SỐ TIẾT TS LT TH/Xemina BT KT MỞ ĐẦU Chƣơng I. Văn phạm vàngôn ngữ. 05 04 01 1.1. 1.2. 1.3. 1.4. 1.5. Chƣơng II. Ngônngữ chính quy và otomat hữu hạn 16 12 03 01 2.12. Ngôn ng Otomat ii TÊN CHƢƠNG MỤC PHÂN PHỐI SỐ TIẾT TS LT TH/Xemina BT KT Chƣơng III. Ngônngữ phi ngữ cảnh và otomat đẩy xuống. 09 06 02 01 Chƣơng IV: Cơ bản về chƣơng trình dịch 15 12 02 01 4.1. 4.2.Ch 4.2.1. 4.2.2. 4.2.3. 4.2.4. 4.2.5. 4.3. 4.4. Nhiệm vụ của sinh viên : Tài liệu học tập : - Ngôn ngữhình thức - Lý thuyết otomat và thuật toán - Ngôn ngữhình thức - Giáo trình chương trình dịch - Phân tích cú pháp Hìnhthứcvà tiêu chuẩn đánh giá sinh viên: - - Thang điểm: Thang điểm chữ A, B, C, D, F Điểm đánh giá học phần: Z = 0,2X + 0,8Y. chính thứcvà thống nhất , Ngày phê duyệt: / /2010 Trƣởng Bộ môn: Thạc sỹ Nguyễn Hữu Tuân Otomat iii MỤC LỤC Trang Chƣơng 1: Văm phạm vàngônngữ 1 1 1. 2 1. 4 1. 6 1. 8 8 Chƣơng 2: Ngônngữ chính quy và Otomat hữu hạn 9 9 2. 2 10 18 26 30 30 30 31 31 31 31 2. 12. - 31 31 Chƣơng 3: Ngônngữ phi ngữ cảnh và Otomat đẩy xuống 32 3. 1. 32 3. 2. 32 3. 3. 32 3. 4. Khái 32 32 Chƣơng 4: Cơ bản về chƣơng trình dịch 33 4. 1. 33 4. 2. 33 33 37 44 50 58 58 60 62 63 64 Otomat 1 CHƢƠNG 1: VĂN PHẠM VÀNGÔNNGỮ Kiến thức cơ bản: 1.1. Bảng chữ cái, từ, ngônngữ 1.1.1. = {0,1} 1.1.2. 1 , a 2, n (a i , i=1 . = {0,1} a 1 = 0, a 2 = 1, a 3 = 00, a 4 = : = {a,b,c} a 1 = aabb, a 2 = ac, | a 1 | = 4, |a 2 | = 2 Otomat 2 , thì a . = {0,1} , a 1 = 0110 , a *. + + = * \ {} 1.1.3. . * . = {a,b,c} A = {x * *. . . 1.2. Tích ghép, phép chia, phép soi gƣơng 1.2.1. Tích ghép hai xâu = a 1 a 2 a a n , = a 1 a 2 m ( a i ) và . = . = a 1 a 2 a 3 n a 1 a 2 m ={0,1} = 011, =1101 = 0111101 + + () = () Otomat 3 + chính nó . = . = =. 1.2.2. Chia xâu * ) + Phép chia trái cho x x\ Z = y Z /y = x = {0,1}, x = 10, y = 11 Z = x.y = 1011 x\ Z = 11 Z /y = 10 1.2.3. = a 1 a 2 m-1 a m * = a m a m-1 2 a 1 | | = | | 1.3. Các phép toán trên ngônngữ C = A B = {x */x B} = {a,b,c} A = {a, b, ab, ac, cb}, B = {aa, bb, cc} Otomat 4 C = A B = {a, b, ab, ac, cb, aa, bb, cc} A B = B A (A B) C= A (B C) C = A B = {x * | x A và x B} = {a, b} A = {a, ab, ac, cb}, B = {b, ab, cb, aa, bc} C = A B = {ab, cb} C (A B) = B (A C) Tính giao hoán A B = B A A = A = 1.3.3. C=A.B={z *| z=x.y | x A, y B} = {a, b, c} A = {a, b, ab, ac}, B{c, cb} C = A.B = {ac, bc, abc, acc, acb, bcb, abcb. accb} - A.B B.A - A.(B.C) = (A.B).C - A.(B C) = (A.B) (A.C) Otomat 5 - n 1.3.4. C = A\B = {x * | x A, x B} = {a, b, c} A = {a, b, ac, bc, aa}, B = {b, bc, ab, bb} C = B\A = {b, ab, bb} 1.3.5. A = C B = { x */ x B} Cho B = {a, bc}. A = {x * | x a, x bc}. 1.3.6. . *| x A, y \ A . * | x A, y = {a, b, c} A = {a, bc, abc, aba} , B = {, b, ab, cbc} B\ A = { a, bc, abc, aba, c} A/ B = {a, bc, abc, aba} 1.3.7. . Otomat 6 B = Ã = { * / A }. = {0, 1} A = {0, 1, 10, 110} B = Ã ={0, 1, 01, 011} 1.3.8. . A * = { } A A A n - (A * )* = A * - {} * = {} - () * = {} . } - () + = . 1.4. Văn phạm 1.4.1. Định nghĩa văn phạm cấu trúc (Grammar) và c n trung gian Quá trình th [...]... và kết thúc bằng 1210 BÀI TẬP Bài 1 Cho các ngônngữ sau: L1 = {a, ab, abb, aabbb, abbaa, aaaabb, ababba} L2 = {, ab, bb, aba, bbb, aabb} Tìm các ngônngữ hợp, giao, tích ghép, lặp của L 1và L2 Tìm ngônngữ chia trái, chia phải của L1 cho L2 Tìm ngônngữ soi gương của L1 Bài 2 Cho bảng chữ cái = {a, b, c} Xây dựng văn phạm sinh ngônngữ L = {anb2n+1ck *n > 0, k 0} 8 Bàigiảng môn học: Ngôn ngữ. .. Các xâu có độ dài lẻ trên 30 Bàigiảng môn học: Ngôn ngữhìnhthứcvà Otomat VD 6 Cho bảng chữ cái 0,1, 2 ây dựng văn phạm G sinh ngônngữ L như sau: L = gồm các từ bắt đầu bằng 011, chứa từ con 11211 và kết thúc bằng 1210 2 8 Tính đóng của lớp ngônngữ chính quy 2.8.1 Lớp ngônngữ chính quy 2.8.2 Tính đóng của lớp ngônngữ chính quy 2 9 Điều kiện cần của lớp ngônngữ chính quy 2.9.1 Otomat tối... sinh ra, tức là N(I)= N(Ii) i 1 Cho 2 nguồn I1 và I2 : S0 q0 c a b c S2 S1 a b q2 q1 Hình 1.5 Nguồn I1 và I2 Hợp của I1 và I2 là : v(I) q0 S0 c a b S1 a b c S2 q1 Hình 1.6 Hợp của I1 và I2 q2 12 Bàigiảng môn học: Ngônngữhìnhthứcvà Otomat 2.2.4 Phép giao nguồn Giả sử có các nguồn I1, I2 Cần xây dựng nguồn I, sinh ngônngữ là giao của các ngônngữ do I1, I2 sinh ra, tức là N(I)= N(I1) N(I2)... sinh ngônngữ là lặp của ngônngữ do nguồn I1 sinh ra, ta giữ nguyên 14 Bàigiảng môn học: Ngôn ngữhìnhthứcvà Otomat cấu trúc của I1, thêm vào một đỉnh mới và thừa nhận đỉnh này là đỉnh vào đồng thời là đỉnh kết duy nhất của nguồn I Từ đỉnh mới kẻ thêm một cung rỗng đi tới đỉnh v(I1), đồng thời từ mỗi đỉnh kết của nguồn I1 kẻ một cung rỗng đi tới đỉnh mới thêm Nguồn sinh ngônngữ là lặp cắt của ngôn. .. nguồn sinh ngônngữ phần bù của ngônngữ do I sinh ra ta thực hiện một thuật toán gồm các bước sau: 1 Nếu I chưa đơn định và đầy đủ, ta xây dựng nguồn K đơn định, đầy đủ tương đương với I, tức là N(I)= N(K) 11 Bàigiảng môn học: Ngôn ngữhìnhthứcvà Otomat 2 Trên nguồn K ta đổi các đình kết thành không kết và không kết thành kết Khi đó nguồn nhận được sẽ sinh ra ngônngữ phần bù của ngônngữ do nguồn... T(s1, 0) = = q2 24 Bàigiảng môn học: Ngônngữhìnhthứcvà Otomat T(q4, 1) = T(s1, 1) = {s2} =q3 Ta xác định được Otomat đơn định đầy đủ A1 với Otomat A như sau : A1= ({q0, q1, q2, q3, q4}, {0, 1}, {q0}, 1, {q3) và hàm chuyển 1được cho bằng bảng sau : 1 q0 q1 q2 q3 q4 0 q1 q1 q2 q4 q2 1 q2` q3 q2 q0 q3 25 Bàigiảng môn học: Ngôn ngữhìnhthứcvà Otomat 2 4 Sự tƣơng đƣơng của nguồn và Otomat hữu hạn... F(I)) khi và chỉ khi S F(I1) và R F(I2) Với cách xây dựng trên nguồn I sinh ngônngữ là giao của các ngônngữ do I1, I2 sinh ra Lấy ví dụ với 2 nguồn I1 và I2 (hình 1.5 ) S0, q0 a b S0,q0 c b , q1 a,c c a,b , S2, a,b,c , S2 a,b,c , q2 a,b,c 13 Bàigiảng môn học: Ngôn ngữhìnhthứcvà Otomat Nguồn giao của chúng là : a S1 S0 Hình 1.7 Nguồn giao cuả I1 và I2 2.2.5 Phép tích ghép hai nguồn... của lớp ngônngữ chính quy 2 10 Điều kiện cần và đủ của lớp ngônngữ chính quy 2.10.1 Quan hệ tương đương bất biến phải chỉ số hữu hạn 2.10.2 Điều kiện cần và đủ 2 11 Otomat hữu hạn có lối ra 2.10.1 Định nghĩa 2.10.2 Cách biểu diễn 2 12 -Ngôn ngữ chính quy (Siêu ngônngữ chính quy) 2.12.1 Các định nghĩa 2.12.2 Các phép toán trên siêu ngônngữ 2 12 3 Tính đóng của siêu ngônngữ chính quy BÀI TẬP Bài 1... nguồn K sinh ngônngữ là thương bên phải của các ngônngữ do I1, I2 sinh ra Nguồn K được gọi là nguồn thương bên phải của các nguồn I1, I2 Thuật toán xây dựng nguồn thương bên phải: 1) Dựa vào cấu trúc của I1 đối với mỗi s1 D(I1) xây dựng nguồn Is i có đỉnh vào là si (v(Is i ) = si) và F(Is i ) = F(I1) 16 Bàigiảng môn học: Ngônngữhìnhthứcvà Otomat 2) Xây dựng nguồn giao K1 của I1 và I2 Đối với... chữ cái 2.1.4 Nguồn đơn định và đầy đủ Là nguồn vừa đơn định vừa đầy đủ r0 Ví dụ : a r1 b,c a,b a,b,c r2 c Hình 1.2 Nguồn đơn định và đầy đủ I2 9 Bàigiảng môn học: Ngônngữhìnhthứcvà Otomat 2 1 5 Từ được sinh bởi nguồn - Từ đựơc sinh bởi nguồn là dãy các ký hiệu của bảng chữ cái nằm trên các cung của nguồn đi từ đỉnh vào và đến một trong những đỉnh kết - Ngônngữ được sinh bởi nguồn I là tập . 0} Otomat 9 CHƢƠNG II: NGÔN NGỮ CHÍNH QUY VÀ OTOMAT HỮU HẠN 2.1. Ngu n và ngôn ngữ đƣợc sinh bởi ngu n 2.1.1. O) □). Ngày phê duyệt: / /2010 Trƣởng Bộ môn: Thạc sỹ Nguyễn Hữu Tuân Otomat iii MỤC LỤC Trang Chƣơng 1: Văm. Otomat ii TÊN CHƢƠNG MỤC PHÂN PHỐI SỐ TIẾT TS LT TH/Xemina BT KT Chƣơng III. Ngôn ngữ phi ngữ cảnh và otomat đẩy xuống. 09 06 02 01