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
411,33 KB
Nội dung
Header Page of 161 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 Footer Page of 161 Header Page of 161 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 Footer Page of 161 Header Page of 161 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 Footer Page of 161 Header Page of 161 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 Footer Page of 161 Header Page of 161 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 Footer Page of 161 17 19 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page of 161 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 Footer Page of 161 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page of 161 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 Footer Page of 161 iii NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page of 161 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 Footer Page of 161 iv NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page of 161 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 Footer Page of 161 v Header Page 10 of 161 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 Footer Page 10 of 161 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 37 of 161 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) = Footer Page 37 of 161 28 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 38 of 161 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, Footer Page 38 of 161 29 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 39 of 161 Định lí 2.4 cho biết R ⊂ N , Định lí 2.5 cho biết D⊂ R Vậy D=N = R Footer Page 39 of 161 30 Header Page 40 of 161 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, Footer Page 40 of 161 31 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 41 of 161 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}∗ Footer Page 41 of 161 32 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 42 of 161 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 : Footer Page 42 of 161 33 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 43 of 161 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ị Footer Page 43 of 161 34 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 44 of 161 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 : Footer Page 44 of 161 35 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 45 of 161 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 : Footer Page 45 of 161 36 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 46 of 161 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 Footer Page 46 of 161 37 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 47 of 161 +, 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 Footer Page 47 of 161 38 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 48 of 161 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 : Footer Page 48 of 161 39 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 49 of 161 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 : Footer Page 49 of 161 40 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học Header Page 50 of 161 - 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} Footer Page 50 of 161 41 Header Page 51 of 161 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 Footer Page 51 of 161 42 ... để đoán nhận ngôn ngữ, 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ụ... tài Về otomat hữu hạn ngôn ngữ quy để làm nội dung nghiên cứu khóa luận tốt nghiệp Otomat hữu hạn mô hình "máy trừu tượng" để đoán nhận ngôn ngữ Chúng ta thấy lớp ngôn ngữ đoán nhận otomat hữu hạn. .. 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ữ