Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
1,04 MB
Nội dung
Ơtơmát ngơn ngữ hình thức TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP VINH KHOA CÔNG NGHỆ NGÀNH CÔNG NGHỆ THÔNG TIN NGUYỄN NGỌC THUẦN ƠTƠMÁT VÀ NGƠN NGỮ HÌNH THỨC Vinh, 2016 Ơtơmát ngơn ngữ hình thức LỜI NĨI ĐẦU Ơtơmát ngơn ngữ hình thức lĩnh vực thuộc chuyên ngành Khoa học máy tính, chủ yếu dùng việc mơ tả, hình thức hóa dãy tính toán điều khiển tự động, phát sinh nhiều ngành khoa học khác từ hệ thống tính tốn, ngơn ngữ học đến sinh học, Ngày nay, ngơn ngữ lập trình, hệ thống máy tính, q trình xử lý thơng tin q trình tính tốn nói chung hình thức hố thành mơ hình tốn học mà lý thuyết ơtơmát ngơn ngữ hình thức cơng cụ Ơtơmát ngơn ngữ hình thức áp dụng rộng rãi nhiều lĩnh vực khoa học ứng dụng như: mơ hình hố, mơ hệ thống tính tốn, kỹ thuật dịch, thơng dịch, trí tuệ nhân tạo, công nghệ tri thức, Nhằm đáp ứng nhu cầu giảng dạy, học tập nghiên cứu cho sinh viên ngành Công nghệ thông tin trường Đại học Công nghiệp Vinh – trường Đại học hoạt động theo hướng thực hành, chúng tơi biên soạn giáo trình “Ơtơmát ngơn ngữ hình thức” theo hướng kết hợp ba mảng chính: lý thuyết ơtơmát, ngơn ngữ hình thức lý thuyết tính tốn gồm khái niệm, kiến thức với nhiều ví dụ minh hoạ, bỏ qua chứng minh lý thuyết không thực cần thiết, nhằm tập trung tối đa thời gian cho việc giải tập, ví dụ thực tiễn Giáo trình giới thiệu cách hệ thống khái niệm tính chất chung ơtơmát ngơn ngữ hình thức Chương mở đầu trình bày khái niệm bản, tính chất quan trọng cấu trúc đại số, logic mệnh đề, làm sở cho chương sau Chương 2, giới thiệu Văn phạm ngơn ngữ hình thức Lý thuyết Ơtơmát, khái niệm sở hoạt động Ơtơmát đề cập Chương Những vấn đề liên quan đến tập qui, ngơn ngữ qui ơtơmát hữu hạn trình bày chi tiết Chương Chương 5, nghiên cứu khái niệm sở, mối quan hệ lớp ngôn ngữ tính chất quan trọng ngơn ngữ phi ngữ cảnh, Ơtơmát đẩy xuống Sau Chương có tập hệ thống hố lại kiến thức thơng qua đó, học viên nắm bắt khái niệm bản, kiến thức chủ yếu Chương cuối để nâng cao hiểu biết ơtơmát ngơn ngữ hình thức, đồng thời phát triển khả ứng dụng chúng nghiên cứu triển khai ứng dụng Công nghệ thông tin Ơtơmát ngơn ngữ hình thức Mặc dù có nhiều cố gắng, tài liệu khơng tránh khỏi thiếu sót Chúng tơi mong nhận ý kiến, góp ý đồng nghiệp bạn đọc để hồn thiện giáo trình Ơtơmát ngơn ngữ hình thức Các ý kiến đóng góp xin gửi về: Bộ mơn CNTT, Khoa Cơng Nghệ, trường ĐHCN Vinh Số 26, Đường Nguyễn Thái Học, Phường Đội Cung, Tp Vinh, Tỉnh Nghệ An Chủ biên TS Nguyễn Ngọc Thuần Ơtơmát ngơn ngữ hình thức MỤC LỤC Nội dung Chương 1: Bổ túc – Các khái niệm Trang – 10 1.1 Tập hợp 1.2 Quan hệ Đồ thi.̣ 1.3 Đa ̣i cương về ngôn ngữ 1.4 Bài tâ ̣p: 10 Chương 2: Văn phạm ngôn ngữ hình thức 2.1 Văn phạm ngơn ngữ Định nghĩa Văn phạm: Bộ thành phần G = (∑,V, P, S) 11 – 37 11 12 2.2 Các dẫn xuất và ngôn ngữ sinh văn phạm 13 + Dẫn xuất 14 + Ngôn ngữ sinh 15 + Văn phạm tương đương 15 + Bài toán thuận Bài toán ngược 16 - 21 2.3 Phân loại ngôn ngữ (Văn pha ̣m) Chomsky 22 - 27 2.4 Tính đệ qui tập đệ qui 28 - 30 2.5 Các phép tốn ngơn ngữ 31 – 35 2.6 Các ví dụ tập 36 – 37 Chương 3: Lý thuyết Ơtơmát 38 - 57 3.1 Ơtơmát hữu hạn 38 3.1.1 Hàm chuyển trạng thái tính chất 40 3.1.2 Các phương pháp biểu diễn ôtômát 41 3.1.3 Ngôn ngữ đoán nhận ôtômát 42 3.2 Ơtơmát hữu hạn khơng đơn định 44 3.3 Sự tương đương ôtômát đơn định không đơn định 47 - 50 3.4 Cực tiểu hố ơtơmát hữu hạn 51 – 55 3.5 Các ví dụ Bài tập 56 – 57 Ơtơmát ngơn ngữ hình thức Chương4: Tập qui văn phạm qui 58 - 75 4.1 Các biểu thức qui 58 4.2 Sự tương đương biểu thức qui 59 Định lý (Định lý Arden) 4.3 Ơtơmát hữu hạn biểu thức qui 4.3.1 Phương pháp đại số ứng dụng định lý Arden 60 62 63 - 66 4.3.2 Thiết lập ôtômát hữu hạn tương đương với biểu thức qui 67 4.4 Bổ đề Bơm tập qui 67 4.5 Ứng dụng Bổ đề Bơm 68 4.6 Các tập qui văn phạm qui 69 4.6.1 Xây dựng VP qui tương đương với ÔTĐĐ cho trước 69 -70 4.6.2 Xây dựng ÔTĐĐ hữu hạn tương đương với VP qui G 70 - 71 4.5 Các ví dụ Bài tập 71 - 75 Chương 5: Ngôn ngữ phi ngữ cảnh và Ơtơmát đẩy xuống 5.1 Ngơn ngữ phi ngữ cảnh dẫn xuất 76 - 95 76 -81 5.2 Sự nhập nhằng văn phạm phi ngữ cảnh 82 5.3 Dạng chuẩn Chomsky 82 5.4 Bổ đề Bơm cho ngơn ngữ phi ngữ cảnh 83 -85 5.5 Ơtơmát đẩy xuống (PDA) ứng dụng 86 5.5.1 Cấ u ta ̣o và hoa ̣t đô ̣ng của PDA 87 5.5.2 Đoán nhâ ̣n xâu vào của PDA 88 5.5.3 Ngôn ngữ đoán nhâ ̣n của PDA 89 - 90 5.5.4 Mối quan hệ PDA Văn pha ̣m phi ngữ cành 91 - 93 5.6 Các ví dụ Bài tập 94 - 95 Ơtơmát ngơn ngữ hình thức CHƯƠNG BỔ TÚC – CÁC KHÁI NIỆM CƠ BẢN Chương mở đầu giới thiệu khái quát tóm lược lại khái niệm bản, tính chất ký hiệu sử dụng tất chương sau: Tập hợp, quan ̣ và đồ thi.̣ Các phép toán tập hợp Đa ̣i cương về ngơn ngữ tính chất 1.1 Tập hợp Tập hợp tập Tập hợp kết tập đối tượng có số thuộc tính giống Ví dụ: Tập tất sinh viên Khoa CNTT Mỗi sinh viên gọi mô ̣t phần tử tập hợp Ký hiê ̣u tâ ̣p hợp: Các chữ in hoa A, B, C, … Ký hiê ̣u phầ n tử của tâ ̣p: Các chữ thường a, b, c, … Phần tử a thuộc tập A, ký hiệu a A Ngược lại, a phần tử A, (a A) Các mô tả của Tập hợp: (i) Đếm phần tử Ta liê ̣t kê phần tử tập hợp theo thứ tự đặt cặp dấu ngoặc {, } Ví dụ: Tập số tự nhiên chia hết cho nhỏ 50 viết {7, 14, 21, 28, 35, 42, 49} (ii) Mô tả tập hợp theo tính chất phần tử T = {x | P(x)}- Đây là tâ ̣p tấ t cả x thỏa mãn tân từ P(x) Ví dụ: Tập số tự nhiên chia hết cho nhỏ 50 viết: {n | n số nguyên dương chia hết cho nhỏ 50} Ở đây, P(x) là tân từ: P(x)= n là số nguyên dương chia hế t cho và nhỏ 50 (iii) Định nghĩa đệ qui Các phần tử tập hợp đươ ̣c xác đinh ̣ thông qua qui tắc tính tốn từ phần tử đã biết Ví dụ: Tập số giai thừa n đươ ̣c định nghĩa: n! ={fn | f0 = 1; fn = n * fn-1, n = 1, 2, …} Ơtơmát ngơn ngữ hình thức Tập phép toán tập hợp Tập A gọi tập B (viết A B), phần tử A phần tử B Hai tập A B (viết A = B), chúng có tập phần tử Thông thường, để chứng minh A = B, cần chứng minh A B B A Một tập đặc biệt không chứa phần tử gọi tập trống (rỗng), ký hiệu Trên tâ ̣p tập hợp xác định số phép toán: phép hợp , phép giao , phép trừ - tích Đề Các định nghĩa sau: A B = {x | x A x B}, gọi hợp hai tập hợp, A B = { x | x A x B}, gọi giao hai tập hợp, A - B = { x | x A x B}, gọi hiệu hai tập hợp C = U - A, với U tập vũ trụ tất phần tử xét, gọi phần bù A Tập tất tập A ký hiệu 2A = {B | B A}, (A) A B = {(a, b) | a A b B}, gọi tích Đề Các A B hay cịn gọi tích tự nhiên hai tập hợp Ví du ̣: Cho A = {1, 2}, B = {2, 3} Ta có: A B = {1, 2, }; A B = { 2}; A B = {(1, 2), (1, 3), (2, 2), (2, 3)}; A - B = { 1}; 2A = {, { 1}, { 2}, {1, 2}}.; Lực lươṇ g của tâ ̣p hơ ̣p: +) Nế u các tâ ̣p A, B là hữu ̣n ( | A | = m, | B | = n ), thì |AB| = m x n; | 2A |=2 |A| = 2m +) S1 , S2 có cùng bản số (lực lươṇ g) f (1-1, lên) f: S1 → S2 +) Nế u S1 , S2 hữu ̣n và S1 là tâ ̣p thực sự của S2 thì | S1| < | S2 | +) Nế u S1 , S2 là các tâ ̣p vô ̣n, thì khẳ ng đinh ̣ không đúng.( S2 = Z, S1 = Nguyên chẵ n; f(x) = 2x là ánh xa ̣ 1-1 từ Z lên S1) Ơtơmát ngơn ngữ hình thức Đinh ̣ nghĩa: Giả sử S tập hợp Một họ tập {A1, A2, … An} S gọi phân hoạch S nếu: (i) Ai Aj = , i j , tập khác rời nhau, (ii) S = A1 A2 … An, hợp tập S Ví dụ: S = {1, 2, 3, … 10} phân hoạch thành hai tập A1 = {1, 3, 5, 7, 9}tập số lẻ tập số chẵn A2 = {2, 4, 6, 8, 10} 1.2 Quan hệ Đồ thi.̣ Quan hệ khái niệm sở quan trọng khoa học máy tính sống Khái niệm quan hệ xuất xem xét mố i quan ̣ cặp đối tượng so sánh đối tượng với đối tượng khác, ví dụ, quan hệ “anh em” hai người Chúng ta biểu diễn mối quan hệ a b cặp xếp (a, b) thể a anh b, chẳng hạn Trong khoa học máy tính, khái niệm quan hệ xuất cần nghiên cứu cấu trúc liệu Định nghĩa (hai ngôi): Quan hệ hai R tập S tập cặp phần tử S, R S S Khi x y có quan hệ R với ta viết x R y (x, y) R Ví dụ: Trên tập Z, định nghĩa quan hệ R: x R y x = y + Định nghĩa tính chất: Quan hệ R tập S là: (i) Phản xạ Nếu xRx với x S (ii) Đối xứng Với x, y S, xRy yRx (iii) Bắc cầu Với x, y, z S, xRy yRz xRz (iv) (Phản đố i xứng) Với x, y S, xRy và yRx thì x = y Định nghĩa: +) Quan hệ R tập S gọi quan hệ tương đương có tính phản xạ, đối xứng bắc cầu +) Quan hệ R tập S gọi quan hệ thứ tự bộ phận R thỏa mãn các tính chấ t (i), (iii), (iv) +) Quan hệ thứ tự bộ phận R S gọi thứ tự toàn phần S x,y S, (x, y) R (y, x) R Ví dụ: Ơtơmát ngơn ngữ hình thức a/ Trên tập S, định nghĩa xRy x = y Dễ kiểm tra ba tính chất quan hệ = thỏa mãn, = quan hệ tương đương b/ Trong tập sinh viên Khoa CNTT ta thiết lập quan hệ R: Sinh viên a quan hệ R với sinh viên b hai học lớp Hiển nhiên quan hệ quan hệ tương đương.(R = Quan ̣ cùng lớp) c/ Trên tập S, định nghĩa xRy x > y Dễ kiểm tra tính đối xứng khơng thỏa mãn, quan hệ > khơng phải quan hệ tương đương d/ (R, ), (2A, ) là quan ̣ thứ tự bô ̣ phâ ̣n (R, 0} 3.2 Ơtơmát hữu hạn không đơn định Chúng ta nghiên cứu ôtômát mà từ trạng thái (chưa kết thúc) ký tự vào trạng thái chúng xác định Tiếp theo xét trường hợp ôtômát hữu hạn mà trạng thái không xác định Chúng ta xét ôtômát cho đồ thị Hình H3-5 0 q0 q1 1 q2 Hình H3-5 Hệ biến đổi biểu diễn ơtơmát hữu hạn không đơn định Khi trạng thái q0 liệu vào 0, ơtơmát chuyển đến trạng thái nào? Theo hệ thống chuyển đến q1 quay vòng trở lại q0 Như vậy, trạng thái ơtơmát không xác định nhận liệu vào Những ôtômát gọi ôtômát hữu hạn không đơn định (không tất định) Định nghĩa Một ôtômát hữu hạn không đơn định (ÔTKĐĐ), gọi tắt ôtômát không đơn định, phần tử M = (Q, , , q0, F), (i) Q tập hữu hạn khác rỗng trạng thái, (ii) tập hữu hạn khác rỗng ký hiệu vào (bảng chữ cái), với Q = , (iii) ánh xạ từ Q vào 2Q (tập tất tập Q), 49 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức ánh xạ từ Q vào Q gọi hàm chuyển trạng thái (M ÔTĐĐ) (iv) q0 Q trạng thái khởi đầu, (v) F Q tập trạng thái kết thúc Tổng quát | F| Chúng ta nhận thấy khác đơn định (tất định) không đơn định ôtômát hàm chuyển trạng thái Đối với ơtơmát đơn định (ƠTĐĐ), kết trạng thái, phần tử Q; cịn ơtơmát khơng đơn định, kết hàm chuyển trạng thái tập trạng thái Q Tương tự ôtômát đơn định, hàm chuyển trạng thái xác định định nghĩa ôtômát không đơn định ánh xạ xác định cặp trạng thái ký hiệu vào, sử dụng trực tiếp để đoán nhận xâu, mà phải mở rộng thành ánh xạ : 2Q * 2Q nhờ tính chất sau Tính chất (i) w *, w Q, (q, w) = ({q}, w) (3.4) (ii) S Q, (S, ) = S, (iii) S Q, a , (S, a) = (3.5) (q, a) (3.6) qS (iv) S Q, a , w *, (S, aw) = ((S, a), w) (3.7) Định nghĩa Xâu w * đốn nhận ƠTKĐĐ M (q0, w) có chứa số (ít một) trạng thái kết thúc Lưu ý: Khi M ôtômát không đơn định, (q0, w) có nhiều trạng thái Do vậy, w đoán nhận M từ q0 đọc liệu vào theo w (từ trái qua phải) ta có cách để đạt đến trạng thái kết thúc Trong đồ thị biểu diễn cho ôtômát không đơn định M, w * đốn nhận M dãy nhãn cung đường từ đỉnh bắt đầu đến đỉnh kết thúc Ví dụ 3.6 Xét ơtơmát khơng đơn định biểu diễn biểu đồ chuyển trạng thái hình H3-6 0, 0, 50 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn q0 q1 q2 Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Hình H3-6 Ơtơmát khơng đơn định M Lưu ý: Khi đỉnh có nhiều vịng khun (một cung quay lại nó) với nhãn khác cần vẽ vòng khuyên với nhãn cách dấu phảy ‘,’ đỉnh q0, q1, q4 hình Dãy trạng thái xác định dãy vào 0100 mô tả qua hàm chuyển trạng thái sau: (q0, 0100) = ({q0}, 0100) Theo (3.4) = (({q0}, 0), 100) Theo (3.7) = ((q0, 0), 100) Theo (3.6) = ({q0}, 100) = (({q0}, 1), 00) = (({q0, q3}, 0), 0) = ((q0, 0) (q3, 0), 0) Theo (3.6) = ({q4} (q3, 0), 0) = (q4, 0) ( (q3, 0), 0) = {q4} ( (q3, 0), 0) Vì q4 trạng thái kết thúc nên dãy 0100 đoán nhận ôtômát không đơn định Tương tự, dãy 0100 dãy nhãn đường từ q0, q0, q3, q4, kế thúc q4, nên đốn nhận M (hình H3-6) 51 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Từ đó, có tập tất từ đốn nhận ôtômát định nghĩa sau Định nghĩa Tập xâu (từ) M (đơn định không đơn định) đoán nhận tập tất xâu liệu (dãy ký tự) đầu vào đoán nhận M; ký hiệu T(M) T(M) = {w * | (q0, w) F } Tập xâu đốn nhận (hay đốn nhận được) ơtơmát thể khả tính tốn hệ thống mơ tả hành vi ơtơmát Tập đốn nhận ơtơmát thường cịn gọi ngơn ngữ đốn nhận ơtơmát 3.3 Sự tương đương ôtômát đơn định không đơn định Ở phân biệt hai loại ôtômát đơn định (ƠTĐĐ) khơng đơn định (ƠTKĐĐ) Vấn đề quan trọng chúng có quan hệ với nào?, nghĩa ngơn ngữ đốn nhận ƠTKĐĐ ƠTĐĐ có quan hệ với hay khơng? Một cách trực quan nhận thấy: + ƠTĐĐ mơ hành vi ƠTKĐĐ cách gia tăng số trạng thái Nói cách khác, ƠTĐĐ M= (Q, , , q0, F) xem M‘ = ÔTKĐĐ (Q, , , q0, F) cách định nghĩa (q, a) = {(q, a)}, nói cách khác ƠTĐĐ trường hợp đặc biệt ÔTKĐĐ + ÔTKĐĐ tổng qt hơn, song khơng mạnh hơn, nghĩa tập mà đốn nhận khơng nhiều ƠTĐĐ Điều thứ hai khẳng định định lý sau Định lý Với ƠTKĐĐ M ln tồn ƠTĐĐ M tương đương theo nghĩa chúng đoán nhận tập liệu, T(M) = T(M) Chứng minh: Giả sử ÔTKĐĐ M = (Q, , , q0, F) đoán nhận L Chúng ta xây dựng ơtơmát ƠTĐĐ M = (Q, , , q0, F) sau: (i) Q = 2Q , (ii) q0 = {q0}, (iii) F tập tất tập Q có chứa phần tử F, F = { S Q | S F } 52 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Trước xác định , khảo sát đặc điểm Q, q0 F M khởi động từ q0 với liệu vào bất kỳ, ví dụ a, M chuyển sang trạng thái (q0, a) Để khảo sát hoạt động M xử lý a, phải xét tất trạng thái đạt xử lý a Vì trạng thái M tập Q Khi M bắt đầu với q0, q0 định nghĩa trạng thái khởi đầu M Mặt khác xâu w T(M) = L M đạt đến trạng thái kết thúc xử lý w Do vậy, trạng thái kết thúc M (phần tử F) tập Q có chứa số trạng thái kết thúc M Tiếp theo định nghĩa : (iv) ({q1, q2, …qi}, a) = ( q1, a) ( q2, a) … (qi, a) Nghĩa ({q1, q2, …qi}, a) = {p1, p2, …pk} ({q1, q2, …qi}, a) = {p1, p2, …pk} với i, k |Q| Trước chứng minh L = T(M), chứng minh kết bổ trợ: (q0, x) = {q1, q2, …qi}, (q0, x) = {q1, q2, …qi} với x * (3.8) Chúng ta chứng minh điều kiện cần (2.8) qui nạp theo |x| Nếu (q0, x) = {q1, q2, …qi} (q0, x) = {q1, q2, …qi} (3.9) Khi |x| = 0, hiển nhiên (q0, ) = {q0} theo định nghĩa , (q0, ) = q0 = {q0}, nghĩa (3.9) với |x| = Giả thiết (3.9) với y |y| n Xét xâu x có độ dài n + Ta viết x = ya, |y| = n a Giả sử (q0, y) = {p1, p2, …pk} (q0, ya) = {r1, r2, …rl} Bởi |y| n nên theo giả thiết qui nạp ta có (q0, y) = {p1, p2, …pk} (3.10) Mặt khác, {r1, r2, …rl} = (q0, ya) = ((q0, y), a) = ({p1, p2, …pk}, a) Theo định nghĩa , ({p1, p2, …pk}, a) = {r1, r2, …rl} (3.11) Do vậy, (q0, x) = (q0, ya) = ((q0, y), a) = ({p1, p2, …pk}, a) 53 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức = {r1, r2, …rl} theo (3.11) Suy (3.9) chứng minh với x = ya Điều kiện đủ chứng minh tương tự Từ suy ra, x L = T(M) (q, x) chứa trạng thái F Bởi (q0, x) chứa trạng thái thuộc F (q0, x) nằm F Điều khẳng định x T(M) x T(M), đồng nghĩa với việc M đoán nhận L Ví dụ 3.7 Xét ơtơmát khơng đơn định M = ({q0, q1}, {0, 1}, , q0, {q0}) với hàm chuyển trạng thái xác định theo bảng B3.2 Bảng B3.2 Bảng trạng thái M Trạng thái \ q0 q0 q1 q1 q1 q0, q1 Xây dựng ôtômát đơn định tương đương M theo định lý 3.1, có thành phần: (i) Q ={, { q0}, {q1},{q0, q1}}, (ii) q0 = { q0}, (iii) F = {{ q0}, { q0, q1}}, tập trạng thái có chứa q0, (iv) định nghĩa bảng B3.3 Bảng B3.3 Bảng trạng thái M Trạng thái \ {q0} {q1} {q0} {q1} {q1} {q0, q1} 54 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức {q0, q1} {q0, q1} {q0, q1} Nhận xét: Khi M có n trạng thái, M tương ứng có 2n trạng thái Tuy nhiên, không thiết phải xây dựng ơtơmát có tất 2n trạng thái mà cần trạng thái đạt đến từ trạng thái khởi đầu đến trạng thái kết thúc Trong bảng chuyển trạng thái B3.3 trạng thái không đạt đến từ trạng thái bắt đầu {q0} nên loại bỏ Ngồi ra, tiện lợi ký hiệu lại tập trạng thái, ví dụ s0 = {q0}, s1 = {q1}, s2 = {q0, q1} Q = { s0, s1, s1} Khi đó, ơtơmát có hàm chuyển trạng thái viết thành Bảng B3.4 Bảng trạng thái M Trạng thái \ ∑ s0 s0 s1 s1 s1 s2 s2 s2 s2 Tổng qt hóa q trình trên, xây dựng thuật toán thiết lập M sau Thuật toán Xây dựng hàm chuyển trạng thái M tương đương với M (Phép đơn định hóa) Input: Cho trước ôtômát M = (Q, , , q0, F) không đơn định Output: Hàm chuyển trạng thái ôtômát đơn định tương đương Xây dựng {q0}, Xác định trạng thái đạt từ trạng thái (tập trang thái M) tương ứng với cột liệu vào xác định từ trước, Lặp lại bước khơng có trạng thái xuất cột ứng với liệu vào Ví dụ 3.8 Tìm ôtômát đơn định tương đương với M = ({q0, q1, q2}, {a, b}, , q0, { q2}) 55 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức cho bảng B3.5 Bảng B3.5 Bảng trạng thái M Trạng thái \ a b q0 {q0, q1} q2 q1 q0 q1 q2 {q0, q1} Ơtơmát đơn định tương đương với M M = (2Q, {a, b}, , {q0}, F), F = {{q2}, {q0, q2}, {q1, q2}, {q0, q1, q2}} Thực theo thuật toán 3.1 ta thu bảng B3.6 Bảng B3.6 Bảng trạng thái M Trạng thái/∑ a b {q0} {q0, q1} {q2} {q2} {q0, q1} {q0, q1} {q0, q1} {q1, q2} {q1, q2} {q0} {q0, q1} 3.4 Cực tiểu hố ơtơmát hữu hạn Trong phần xét vấn đề tìm ơtơmát có số trạng thái cực tiểu tương đương (cùng đốn nhận ngơn ngữ) với ôtômát cho trước Trên tập trạng thái Q định nghĩa số quan hệ tương đương Định nghĩa Hai trạng thái q1 q2 gọi tương đương, ký hiệu q1 q 2, hai (q1, x) (q2, x) trạng thái kết thúc hai không kết thúc với x * 56 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Số xâu (từ) xây dựng từ bảng ký tự vào thường lớn (có vô hạn), phần xét trường hợp hữu hạn Định nghĩa Hai trạng thái q1 q2 gọi k-tương đương ( k 0), ký hiệu q1 k q2, hai (q1, x) (q2, x) trạng thái kết thúc hai không kết thúc với x * có độ dài nhỏ k Hiển nhiên, hai trạng thái kết thúc hai trạng thái không kết thúc 0tương đương Các quan hệ có số tính chất sau Tính chất Hai quan hệ k quan hệ tương đương (có tính phản xạ, bắc cầu đối xứng) Tính chất Các lớp tương đương hai quan hệ k tạo hai phân hoạch , k Q; phần tử k lớp k-tương đương Tính chất Nếu q1 q2 q1 k q2, với k Tính chất Nếu q1 (k+1) q2 q1 k q2 Tính chất Tồn n để n = n+1 Mệnh đề sau sở để xây dựng ôtômát cực tiểu Mệnh đề Hai trạng thái q1 q gọi (k+1)- tương đương (a) Chúng k-tương đương, (b) (q1,a) (q 2, a) k-tương đương với a Chứng minh: Chúng ta chứng minh phản chứng Giả sử q1 q2 (k+1)-tương đương Khi tồn w = aw1 với độ dài k+1 cho (q1, aw1) trạng thái kết thúc (q2, aw1) lại trạng thái kết thúc Như vậy, (q1, aw1) = ((q1, a), w1) trạng thái kết thúc (q2, aw1) = ((q2, a), w1) trạng thái kết thúc Từ suy (q1,a) (q2, a) ktương đương, mâu thuẫn với giả thiết (b). Dựa vào tính chất xây dựng lớp (k+1)-tương đương biết lớp k-tương đương tập trạng thái từ xây dựng thuật tốn cực tiểu hố ơtơmát (có số trạng thái cực tiểu) tương đương với ơtơmát cho trước 57 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Thuật tốn Xây dựng ơtơmát cực tiểu hố Input: Cho trước ôtômát M = (Q, , , q0, F) thường khơng đơn định Output: Ơtơmát đơn định cực tiểu M = (Q, , , q0, F) Thiết lập phân hoạch 0 Theo định nghĩa 0-tương đương, 0 = {Q10, Q20}, Q10 = F (tập trạng thái kết thúc), Q20 = Q - Q10 Xây dựng k+1 từ k Xây dựng Qik, i = 1, 2, … tập k lớp (k+1)-tương đương q1 q2 nằm Qik chúng (k+1) – tương đương nghĩa (q1, a) (q2, a) k-tương đương, với a bảng chữ vào Điều xảy (q1, a) (q2, a) nằm lớp tương đương k Do vậy, Qik lớp (k+1)-tương đương Thực tập Qik tạo thành phân hoạch k+1 Q mịn k Lặp lại bước để thiết lập k với k = 1, 2, … k = k+1 Xây dựng ôtômát cực tiểu Các trạng thái ơtơmát cực tiểu lớp tương đương xác định bước 3, phần tử k Bảng chuyển trạng thái thu cách thay trạng thái q lớp tương đương tương ứng [q] Lưu ý: Dựa vào bảng chuyển trạng thái cho trước ta dễ dàng xây dựng lớp 0 = {Q10, Q20}, Q10 = F, Q20 = Q - F; Giả sử xây dựng k , k = 0, 1, … Với q1, q2 Qik , Qik k, i = 1, 2, … xét trạng thái cột tương ứng với liệu vào a , (q1, a) (q2, a) thuộc tập k (k+1)-tương đương, nghĩa q1, q2 nằm phân hoạch k+1; ngược lại (k+1)-tương đương, nghĩa q1, q2 nằm hai phân hoạch khác k+1 Lặp lại bước k = k+1 Ví dụ 3.9 Xây dựng ơtơmát cực tiểu tương đương với ơtơmát có đồ thị chuyển trạng thái hình H3-9 a b b b q3 q0 q4 q5 b a a b a a a 58 b Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn q1 q2 a q7 q6 Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Hình H3-9 Đồ thị chuyển trạng thái ví dụ 3.9 Từ đồ thị chuyển trạng thái hình H3.9 có bảng chuyển trạng thái Bảng B3.7 Bảng trạng thái M Trạng thái \ a b q0 q1 q0 q1 q0 q2 q2 q3 q1 q3 q3 q0 q4 q3 q5 q5 q6 q4 q6 q5 q6 q7 q6 q3 Theo thuật tốn ta có Q10 = {q3}, Q20 = { q0, q1, q2, q4, q5, q6, q7} 0 = {{q3},{ q0, q1, q2, q4, q5, q6, q7}} 59 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Chúng ta xét tiếp quan hệ 1-tương đương để tính 1 Trước tiên ta có Q11 = {q3} Dựa vào bảng B2.7 dễ kiểm tra q0 1-tương đương với q1, q5, q6 (q0, t) (qi, t), i = 1, 5, t = a, b kết thúc trạng thái kết thúc Vậy Q21 = { q0, q1, q5, q6} Tương tự ta kiểm tra q2 -tương đương với q4 Q31 = { q2, q4} Hiển nhiên cịn lại Q41 = {q7} Từ có 1 = {{q3}, { q0, q1, q5, q6}, { q2, q4}, {q7}} Phân hoạch tiếp 1 để xây dựng 2 Q12 = {q3} (q0, t) (q6, t), t = a, b thuộc lớp 1-tương đương (lớp {q0, q1, q5, q6}) nên q0 q6 2-tương đương Vậy Q22 = {q0, q6} Nhưng q0 q1 (q0 q5) 2-tương đương (q0, b) = q0 ((q1, b) = q2, (q0, b) = q0, (q1, b) = q2) chúng lại không lớp 1-tương đương Kiểm tra ta thấy q1 2-tương đương với q5, nên Q32 = {q1, q5} Tương tự q2 2-tương đương với q4, Q42 = { q2, q4} cịn lại Q52 = {q7} Vậy 2 = {{q3}, { q0, q6}, { q1, q5}, { q2, q4}, {q7}} Tiếp tục xây dựng 3 Tương tự trên, thấy Q13 = {q3}; Q23 = {q0, q6} q0 3-tương đương với q6; tương tự Q33 = {q1, q5}; Q43 = {q2, q4} Q53 = {q7} Nghĩa 3 = {{q3}, {q0, q6}, {q1, q5}, {q2, q4}, {q7}} Vì 2 = 3, nên lớp tương đương 2 làm sở để xây dựng ôtômát cực tiểu M = (Q, {a, b}, , q0, {q3}) Trong Q = 2 = {{q3}, {q0, q6}, {q1, q5}, {q2, q4}, {q7}} Hàm chuyển trạng thái xác định bảng B3.8 Bảng B3.8 Bảng trạng thái ôtômát cực tiểu Trạng thái \ a b {q0,q6} {q1, q5} {q0, q6} {q1, q5} {q0,q6} {q2, q4} {q2, q4} {q3} {q1, q5} {q3} {q3} {q0,q6} {q7} {q0, q6} {q3} 60 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Ơtơmát ngơn ngữ hình thức Đồ thị chuyển trạng thái ôtômát cực tiểu thu b a [q7] [q0,q6] b a [q3] a a b a a b [q2,q4] [q1,q5] b Hình H3-10 Ơtơmát cực tiểu ơtơmát hình H3-9 Bài tập ôtômát hữu hạn 3.1.Chứng minh ôtômát hữu hạn, (q, x) = (q, y) (q, xz) = (q, yz) với z + 3.2 Cho trước ôtômát hữu hạn M = (Q, , , q0, F) Giả sử R quan hệ Q định nghĩa sau q1R q2 (q1, a) = (q2, a) với a Hỏi R có phải quan hệ tương đương hay khơng? 3.3 Xây dựng ơtơmát khơng đơn định đốn nhận {ab, ba}, sử dụng để tìm ơtơmát đơn định đốn nhận tập 3.4 Xây dựng hệ biến đổi đốn nhận xâu có chứa cat rat từ bảng chữ a, b, c, … 3.5 Xây dựng ơtơmát khơng đơn định đốn nhận tập tất xâu từ tập {a,b} kết thúc xâu aba 3.6 Xây dựng ôtômát đơn định tương đương với M = ({q0, q1, q2, q3}, {0, 1}, , q0, {q3}) với cho bảng Bảng B Trạng thái \ a b 61 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn