Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
389,57 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN Nguyễn Thị Huyền VỀOTOMATHỮUHẠNVÀNGÔNNGỮCHÍNHQUY KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Hà Nội – Năm 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN Nguyễn Thị Huyền VỀOTOMATHỮUHẠNVÀNGÔNNGỮCHÍNHQUY Chuyên ngành: Toán ứng dụng KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TSKH Kiều Văn Hưng Hà Nội – Năm 2016 Lời cảm ơn Để hoàn thành khóa luận tốt nghiệp này, em xin bày tỏ lòng biết ơn chân thành tới thầy giáo cô giáo Khoa Toán – Trường Đại học Sư phạm Hà Nội 2, tận tình giúp đỡ bảo suốt thời gian em theo học khoa thời gian làm khóa luận Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới TS Kiều Văn Hưng – người thầy trực tiếp hướng dẫn em, tận tâm bảo định hướng cho em suốt trình làm khóa luận để em có kết ngày hôm Mặc dù có nhiều cố gắng, song thời gian kinh nghiệm thân nhiều hạn chế nên khóa luận tránh khỏi thiếu sót mong đóng góp ý kiến thầy cô giáo, bạn sinh viên bạn đọc Em xin chân thành cảm ơn! Hà Nội, ngày 02 tháng 05 năm 2016 Sinh viên Nguyễn Thị Huyền i Lời cam đoan Khóa luận kết nghiên cứu thân em hướng dẫn tận tình thầy giáo TS Kiều Văn Hưng Trong nghiên cứu hoàn thành đề tài nghiên cứu em tham khảo số tài liệu ghi phần tài liệu tham khảo Em xin khẳng định kết đề tài "Về otomathữuhạnngônngữ quy" kết việc nghiên cứu, học tập nỗ lực thân, trùng lặp với kết đề tài khác Nếu sai em xin chịu hoàn toàn trách nhiệm Hà Nội, 02 tháng 05 năm 2015 Sinh viên Nguyễn Thị Huyền ii Mục lục Lời mở đầu ii Danh mục kí hiệu chữ viết tắt iv Otomathữuhạn 1.1 Otomathữuhạn đơn định 1.1.1 Otomathữuhạn đơn định 1.1.2 Biểu diễn Otomathữuhạn đơn định 1.1.3 Ngônngữ đoán nhận otomat đơn định 1.2 Otomathữuhạn không đơn định 1.2.1 Otomathữuhạn không đơn định 1.2.2 Biểu diễn otomathữuhạn không đơn định 1.2.3 Ngônngữ đoán nhận otomathữuhạn không đơn định 1.2.4 1 9 11 12 Đơn định hóa otomat 14 1.3 Sự tương đương otomathữuhạn đơn định otomathữuhạn không đơn định Ngônngữquy biểu thức quy i 17 19 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học 2.1 Ngônngữquy biểu thức quy 19 2.2 23 Sự liên hệ otomathữuhạnngônngữquy Bài tập 31 Tài liệu tham khảo 41 ii NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Lời mở đầu Ngônngữ phương tiện để giao tiếp, giao tiếp hiểu giao tiếp người với nhau, giao tiếp người với máy hay giao tiếp máy với máy Nếu ngônngữ mà người giao tiếp với gọi ngônngữ tự nhiên, ngônngữ mà thường sử dụng để giao tiếp với máy, hay máy với máy gọi ngônngữ hình thức Con người muốn máy tính thực công việc phải viết yêu cầu đưa cho máy ngônngữ máy hiểu Việc viết yêu cầu gọi lập trình Ngônngữ dùng để lập trình gọi ngônngữ lập trình Các ngônngữ lập trình ngônngữ hình thức Trong đó, otomatngônngữ hình thức nội dung mẻ giúp hiểu sâu cấu trúc ngônngữ lập trình, đặc biệt nội dung otomathữuhạnngônngữquy nội dung hay em Xuất phát từ yêu thích chuyên ngành Toán Ứng dụng lòng đam mê nghiên cứu khoa học, em chọn để tài Vềotomathữuhạnngônngữquy để làm nội dung nghiên cứu khóa luận tốt nghiệp Otomathữuhạn mô hình "máy trừu tượng" để đoán nhận ngônngữ Chúng ta thấy lớp ngônngữ đoán nhận otomathữuhạn đơn giản , lớp ngônngữquy văn phạm quy sinh Khóa luận gồm ba chương iii NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Chương "Otomat hữu hạn" trình bày mô hình máy trừu tượng để đoán nhận ngôn ngữ, otomathữuhạn Chương "Ngôn ngữquy biểu thức quy" định nghĩa ngônngữquy trực tiếp từ khái niệm ngônngữ Đồng thời với ngônngữ quy, đưa khái niệm biểu thức quy công cụ để biểu diễn ngônngữquy Chương "Bài tập " đưa tập minh họa cho nội dung kiến thức đưa Chương Chương Tác giả khóa luận chân thành cảm ơn TS Kiều Văn Hưng tận tình hướng dẫn tác giả đọc tài liệu tập dượt nghiên cứu Tác giả chân thành cảm ơn thầy cô giáo Khoa Toán trường Đại học Sư phạm Hà Nội 2, đặc biệt tổ Ứng dụng, tạo điều kiện thuận lợi cho tác giả trình học Đại học thực khóa luận Hà Nội, ngày 02/05/2016 Tác giả khóa luận NGUYỄN THỊ HUYỀN iv NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Danh mục kí hiệu chữ viết tắt R tập số thực Rn không gian Euclid n chiều ∅ tập rỗng x∈M x thuộc tập M x∈ /M x không thuộc tập M ∀ x ∈ M với x thuộc tập M ∃x tồn x M ∩N giao hai tập hợp M N M ∪N hợp hai tập hợp M N M \N hiệu hai tập hợp M N M ⊂N M tập thực N M ⊆N M tập N v Chương Otomathữuhạn 1.1 1.1.1 Otomathữuhạn đơn định Otomathữuhạn đơn định Định nghĩa 1.1 Một otomathữuhạn đơn định hay DFA ( Deteministic Finite Automata) năm A =< Q, , δ, q0, F > + Q tập hữuhạn khác rỗng, gọi tập trạng thái; + bảng chữ cái, gọi bảng chữ vào; +δ : D → Q , ánh xạ từ D vào Q, D ⊆ Q × , gọi hàm chuyển trạng thái (hay hàm chuyển); +q0 ∈ Q , gọi trạng thái khởi đầu; +F ⊆ Q , gọi tập trạng thái kết thúc Trong trường hợp D = Q × , ta nói A otomat đầy đủ Sau ta thấy otomathữuhạn đưa otomathữuhạn đầy NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Hình 2.4: Đồ thị chuyển otomat A Theo định lí , otomat A đoán nhận ngônngữquy L, ta có : T(A)=L = {ωabn ab|n ≥ 0, ω ∈ {a, b}∗} Định lí 2.5 : Nếu L ngônngữ đoán nhận otomathữuhạn đơn định L ngônngữquy Chứng minh : Giả sử L=T(A) với A =< Q, , δ, q0, F > otomathữuhạn đơn định Xét văn phạm G =< , Q, q0, P > P = {q → ap|δ(q, a) = p}∪ {q → a|δ(q, a) = p ∈ F } Khi G văn phạm quy Ta chứng minh L(G) = L\{ε} +, Lấy ω = a1 a2 an ∈ L(G), ω = ε , G tồn suy dẫn q0| − a1 q1| − a1 a2 q2| − | − a1 a2 an−1qn−1| − a1 an−1an = ω Do q0 → a1 q1, q1 → a2 q2, , qn−2 → an−1qn−1, qn−1 → an ∈ P hay ta có : p1 = δ(q0, a1 ), p2 = δ(q1 , a2), , pn−1 = δ(qn−2, an−1), qn ∈ F tức δ(q0 , ω) = qn ∈ F hay ω ∈ T (A)\{ε} = L\{ε} +, Lấy ω = a1 a2 an ∈ L, ω = ε Khi tồn dãy trạng thái q1, q2, , qn cho δ(q0, a1 ) = p1, δ(q1, a2 ) = q2, , δ(qn−2, an−1) = 28 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học qn−1 , δ(qn−1, an ) = qn ∈ F Do G có quy tắc q0 → a1 q1, q1 → a2 q2, , qn−2 → an−1 qn−1, qn−1 → an ∈ P , ta có suy dẫn G : q0| − a1 q1| − a1 a2 q2 | − | − a1 a2 an−1qn−1| − a1 an−1an = ω hay ω ∈ L(G) Trong trường hợp ε ∈ L ta xây dựng G1 tương đương với G kí hiệu xuất phát không xuất vế phải quy tắc nào, đồng thời thêm vào G1 quy tắc q0 → ε để nhận văn phạm quy G1 cho L(G1) = L(G) ∪ {ε} Vậy ta có L(G)=L Vậy định lí chứng minh Ví dụ 2.4 : Cho otomathữuhạn đơn định A =< {q0 , q1, q2} , {0, 1} , δ, q0, {q2 } > , δ(q0, 0) = q1 , δ(q1 , 0) = q2 , δ(q1, 1) = q0 , δ(q2 , 1) = q0 Đồ thị chuyển A : Hình 2.5: Đồ thị chuyển otomat A Chú ý : Từ định lí với ý otomathữuhạn đơn định xem otomathữuhạn không đơn định, ta rút kết luận sau : Gọi D lớp ngônngữ đoán nhận otomathữuhạn đơn định, N lớp ngônngữ đoán nhận otomathữuhạn không đơn định R lớp ngônngữquy Định lí 2.3 cho biết N ⊂ D, 29 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Định lí 2.4 cho biết R ⊂ N , Định lí 2.5 cho biết D⊂ R Vậy D=N = R 30 Chương Bài tập Bài Hãy xây dựng otomathữuhạn có đồ thị chuyển sau xác định ngônngữ đoán nhận chúng : a, Hình 3.1: Đồ thị chuyển otomat A1 b, Hình 3.2: Đồ thị chuyển otomat A2 c, 31 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Hình 3.3: Đồ thị chuyển otomat A3 Giải : a, +,Otomat cho đồ thị chuyển có dạng : A1 =< {q0, q1} , {a, b} , δ, q0, {q0 } > Trong : δ(q0 , a) = q1 , δ(q1, a) = q0 , δ(q1, b) = q1 +, Các đường từ đến đỉnh kết thúc ứng với xâu abn a, n ≥ Vậy otomat đoán nhận ngônngữ : T (A3) = {abn a|n ≥ 0} b, +, Otomat cho đồ thị chuyển có dạng : A1 =< {q0 , q1, q2} , {0, 1} , δ, q0, {q1 , q2} > : δ(q0, 0) = q0 , δ(q0, 1) = q1 , δ(q1, 1) = q2 , δ(q2, 0) = q2 , δ(q2, 1) = q2 +, Các đường từ q0 đến đỉnh kết thúc q1 ứng với xâu 0n1, n ≥ Các đường từ q0 đến đỉnh kết thúc q2 ứng với xâu 0n11ω, n ≥ 0, ω ∈ {0, 1}∗ 32 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Vậy ngônngữ đoán nhận otomat : T (A1) = {0n 1, 0n11ω/n ≥ 0, ω ∈ {0, 1}∗} c, +, Otomat cho đồ thị chuyển có dạng : A2 =< {q0, q1, q2} , {a, b} , δ, q0, {q2 } > : δ(q0, a) = q1 , δ(q0, b) = q3 , δ(q1, a) = q2 , δ(q1 , b) = q0 , δ(q2, b) = q2 +, Các đường từ q0 đến đỉnh kết thúc q2 ứng với xâu : a(ba)na, n ≥ bm , m>0 Vậy ngônngữ đoán nhận otomat : T (A3) = {a(ba)n a, bm |n ≥ 0, m > 0} Bài : Hãy xây dựng otomathữuhạn đoán nhận ngônngữ sau : a, L = {an bω/n ≥ 0, ω ∈ {a, b}∗ } b, L = {01n , 021|n ≥ 1} c, L = {ω00|ω ∈ {01, 001}∗} Giải : a, M otomat đoán nhận ngônngữ L Dễ dàng nhận thấy M có đồ thị chuyển sau : 33 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Hình 3.4: Đồ thị chuyển otomat M Khi otomat M có dạng : M =< {t0 , t1, t2, t3 } , {a, b} , δ, t0, {t1 , t2} > b, N otomat đoán nhận ngônngữ L Dễ dàng nhận thấy N có đồ thị chuyển sau : Hình 3.5: Đồ thị chuyển otomat N Khi otomat N có dạng : N =< {q0 , q1, q2, q3} , {0, 1, 2} , δ, q0, {q1 , q2} > c, P otomat đoán nhận ngônngữ L Dễ dàng nhận thấy P có đồ thị 34 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học chuyển sau : Hình 3.6: Đồ thị chuyển otomat P Khi otomat P có dạng : P =< {q0, q1, q2} , {0, 1} , δ, q0, {q2 } > Bài Cho otomathữuhạn đơn định sau : A =< {q0 , q1} , {a, b} , δ, q0, {q1 } > : δ(q0, a) = {q0 } , δ(q0, b) = {q0 , q1} , δ(q1, a) = {q0, q1} , δ(q1, b) = ∅ a, Hãy viết đồ thị chuyển otomat A b, Hãy xây dựng otomathữuhạn đơn định M tương đương với otomat A c, Viết đồ thị chuyển otomat M Giải : a, Đồ thị chuyển A : 35 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Hình 3.7: Đồ thị chuyển otomat A b, Ta xây dựng otomat M =< Q1 , {a, b} , δ1, t0 , F1 > tương đương với otomat A theo thuật toán đơn định hóa +, Q1 = {t0 , t1, t2 , t3} , với t0 = {q0 } , t1 = {q1} , t2 = {q0, q1} , t3 = ∅ +, δ1(t0 , a) = t0 , δ1(t0, b) = t2 , δ1(t1 , a) = t2 , δ1(t1, b) = t3 , δ1(t2 , a) = {q0} ∪ {q0 , q1} = t2 , δ1(t2 , b) = ∅ ∪ {q0, q1} = t2 , δ1(t3 , a) = t3 , δ1(t3, b) = t3 Ta có bảng chuyển M : Hình 3.8: Bảng chuyển otomat M +, Do t1 ∩ F = {q1} = ∅, t2 ∩ F = {q1} = ∅ nên F1 = {t1 , t2} c, Otomat M đơn định có đồ thị chuyển sau : 36 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Hình 3.9: Đồ thị chuyển otomat M Bài Cho otomat A =< {s0 , s1, s2} , {0, 1} , δ, s0, {s2 } > với ánh xạ chuyển cho bảng sau : Hình 3.10: Bảng chuyển otomat A Hãy xây dựng otomat M đơn định đầy đủ tương đương với otomat A Giải : A chưa đơn định, đầy đủ nên ta tiến hành đơn định hóa otomat ta otomat đơn định, đầy đủ sau : 1, Xây dựng hàm T : 2Q × → 2Q T (s0, 0) = {s0 , s1} , T (s0, 1) = ∅, T (s1, 0) = ∅, T (s1, 1) = {s2} , T (s2, 0) = {s1} , T (s2, 1) = {s0 } , T ({s0, s1 } , 0) = {s0 , s1} , T ({s0 , s1} , 1) = {s2 } Đặt : q0 = {s0} , q1 = {s0 , s1} , q2 = ∅, q3 = {s2 } , q4 = {s1 } , ta có : +, tập trạng thái : Q1 = {q0, q1, q2, q3, q4} +, trạng thái khởi đầu M q0 37 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học +, Tập trạng thái kết thúc F1 = {q3 } Hàm chuyển δ1 xác định sau : Hình 3.11: Bảng chuyển otomat A Otomat A =< {q0, q1, q2, q3, q4} , {0, 1} , δ1, q0, {q3 } > với hàm chuyển δ1 otomathữuhạn đơn định đầy đủ tương đương với otomat A Bài Cho otomat A =< {s0 , s1, s2, s3 } , {a, b, c} , δ, s0, {s2 , s3 } > Với ánh xạ chuyển cho bảng sau : Hình 3.12: Bảng chuyển otomat A Xây dựng otomat M đơn định đầy đủ , tương đương với A Giải : Do otomat A đơn định chưa đầy đủ nên ta cần thêm vào trạng thái s4 hàm chuyển xác định khắp nơi, ta 38 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học otomat M tương đương với otomat A sau : A =< {s0 , s1, s2, s3, s4 } , {a, b, c} , δ1, s0, {s2 , s3} > Trong hàm chuyển xác định bảng sau : Hình 3.13: Bảng chuyển otomat M Bài Cho biểu thức quy : (01∗ + 02)1 + (0 + 1)(220∗1)∗ Biểu thức quy cho biểu diễn ngônngữ đoán nhận otomathữuhạn có đồ thị chuyển là? Giải: +, (01∗ + 02)1 = 01∗1 + 021 biểu thức quy biểu diễn ngônngữ đoán nhận otomathữuhạn có đồ thị chuyển : Hình 3.14: Đồ thị chuyển otomathữuhạn đoán nhận biểu thức quy +, (0 + 1)(220∗1)∗ biểu thức quy biểu diễn ngônngữ đoán nhận otomathữuhạn có đồ thị chuyển : 39 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Hình 3.15: Đồ thị chuyển otomathữuhạn đoán nhận biểu thức quy Vì biểu thức quy cho biểu diễn ngônngữ đoán nhận otomathữuhạn có đồ thị chuyển : Hình 3.16: Đồ thị chuyển otomathữuhạn đoán nhận biểu thức quy Bài Cho otomathữuhạn không đơn định A có đồ thị chuyển : Hình 3.17: Đồ thị chuyển otomat A Xác định biểu thức quy A Giải : ∗ 0 ∗ ∗ Ta có : T (A) = (R00 ) = (R00 ∪ R01 (R11 ) R10) Từ đồ thị chuyển ta thấy : 40 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học - Biểu thức quy 1∗ biểu diễn R00 - Biểu thức quy 1∗1 biểu diễn R01 - Biểu thức quy 1∗01 biểu diễn R11 Biểu thức quy 1∗0 biểu diễn R10 Vậy T(A) biểu diễn biểu thức quy (1∗ + 1∗1(1∗01)1∗0)∗ = (1∗ + 11∗0)∗ Bài : Xác định ngônngữquy biểu diễn biểu thức r = (01∗ + 02)1 Giải : Ta có : r = (01∗ + 02)1 = 01∗1 + 021 Vậy ngônngữquy biểu diễn R L(r) = L(01∗1 + 021) = L(01∗1) ∪ L(021) = {01n , 021|n ≥ 1} 41 Tài liệu tham khảo [1] John E Hopcroft - Rajeev Motwani - Jeffrey D Ullman, Introduction to Automata Theory, languages, and Computation, Inc, Philadelphia, 1979 [2] Peter Linz , An Introduction to Formal Languages and Automata , 1990 [3] Nguyễn Văn Định, Lí thuyết ngônngữ hình thức otomat, Huế, 2004 [4] Phan Thị Tươi , Trình biên dịch, Nhà xuất Giáo Dục, 1986 [5] Hồ Văn Quân , Bài giảng lí thuyết ngônngữ hình thức Automat, 2002 42 ... otomat hữu hạn Chương "Ngôn ngữ quy biểu thức quy" định nghĩa ngôn ngữ quy trực tiếp từ khái niệm ngôn ngữ Đồng thời với ngôn ngữ quy, đưa khái niệm biểu thức quy công cụ để biểu diễn ngôn ngữ quy. .. Lớp ngôn ngữ sinh otomat hữu hạn đơn định trùng với lớp ngôn ngữ sinh otomat hữu hạn không đơn định Chứng minh : +, Ta gọi : LN lớp ngôn ngữ sinh otomat hữu hạn không đơn định, LD lớp ngôn ngữ. .. diễn ngôn ngữ quy 2.1 Ngôn ngữ quy biểu thức quy Định nghĩa 2.1 Cho bảng chữ = {a1 , a2, , an} , ngôn ngữ quy định nghĩa quy đệ sau : 1, Các ngôn ngữ ∅ {ai } (i = 1, 2, 3, , n) gọi ngôn ngữ quy