Về otomat hữu hạn và ngôn ngữ chính quy

51 333 0
Về otomat hữu hạn và ngôn ngữ chính quy

Đ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

Header Page of 161 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN Nguyễn Thị Huyền VỀ OTOMAT HỮU HẠN NGÔN NGỮ CHÍNH QUY 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 ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN Nguyễn Thị Huyền VỀ OTOMAT HỮU HẠN NGÔN NGỮ CHÍNH QUY 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ề otomat hữu hạn ngôn ngữ 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 Otomat hữu hạn 1.1 Otomat hữu hạn đơn định 1.1.1 Otomat hữu hạn đơn định 1.1.2 Biểu diễn Otomat hữu hạn đơn định 1.1.3 Ngôn ngữ đoán nhận otomat đơn định 1.2 Otomat hữu hạn không đơn định 1.2.1 Otomat hữu hạn không đơn định 1.2.2 Biểu diễn otomat hữu hạn không đơn định 1.2.3 Ngôn ngữ đoán nhận otomat hữu hạn không đơn định 1.2.4 1 9 11 12 Đơn định hóa otomat 14 1.3 Sự tương đương otomat hữu hạn đơn định otomat hữu hạn không đơn định Ngôn ngữ 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ôn ngữ quy biểu thức quy 19 2.2 23 Sự liên hệ otomat hữu hạn ngôn ngữ 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ôn ngữ 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ôn ngữ mà người giao tiếp với gọi ngôn ngữ tự nhiên, ngôn ngữ mà thường sử dụng để giao tiếp với máy, hay máy với máy gọi ngôn ngữ 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ôn ngữ máy hiểu Việc viết yêu cầu gọi lập trình Ngôn ngữ dùng để lập trình gọi ngôn ngữ lập trình Các ngôn ngữ lập trình ngôn ngữ hình thức Trong đó, otomat ngôn ngữ hình thức nội dung mẻ giúp hiểu sâu cấu trúc ngôn ngữ lập trình, đặc biệt nội dung otomat hữu hạn ngôn ngữ 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ề 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 đơn giản , lớp ngôn ngữ 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ữ, 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 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 Otomat hữu hạn 1.1 1.1.1 Otomat hữu hạn đơn định Otomat hữu hạn đơn định Định nghĩa 1.1 Một otomat hữu hạn đơn định hay DFA ( Deteministic Finite Automata) năm A =< Q, , δ, q0, F > + Q tập hữu hạ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 otomat hữu hạn đưa otomat hữu hạ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ôn ngữ quy L, ta có : T(A)=L = {ωabn ab|n ≥ 0, ω ∈ {a, b}∗} Định lí 2.5 : Nếu L ngôn ngữ đoán nhận otomat hữu hạn đơn định L ngôn ngữ quy Chứng minh : Giả sử L=T(A) với A =< Q, , δ, q0, F > otomat hữu hạ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 otomat hữu hạ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 ý otomat hữu hạn đơn định xem otomat hữu hạn không đơn định, ta rút kết luận sau : Gọi D lớp ngôn ngữ đoán nhận otomat hữu hạn đơn định, N lớp ngôn ngữ đoán nhận otomat hữu hạn không đơn định R lớp ngôn ngữ 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 otomat hữu hạn có đồ thị chuyển sau xác định ngôn ngữ đ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ôn ngữ : 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ôn ngữ đ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ôn ngữ đoán nhận otomat : T (A3) = {a(ba)n a, bm |n ≥ 0, m > 0} Bài : Hãy xây dựng otomat hữu hạn đoán nhận ngôn ngữ 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ôn ngữ 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ôn ngữ 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ôn ngữ 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 otomat hữu hạ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 otomat hữu hạ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 otomat hữu hạ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ôn ngữ đoán nhận otomat hữu hạn có đồ thị chuyển là? Giải: +, (01∗ + 02)1 = 01∗1 + 021 biểu thức quy biểu diễn ngôn ngữ đoán nhận otomat hữu hạn có đồ thị chuyển : Hình 3.14: Đồ thị chuyển otomat hữu hạn đoán nhận biểu thức quy +, (0 + 1)(220∗1)∗ biểu thức quy biểu diễn ngôn ngữ đoán nhận otomat hữu hạ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 otomat hữu hạn đoán nhận biểu thức quy Vì biểu thức quy cho biểu diễn ngôn ngữ đoán nhận otomat hữu hạn có đồ thị chuyển : Hình 3.16: Đồ thị chuyển otomat hữu hạn đoán nhận biểu thức quy Bài Cho otomat hữu hạ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ôn ngữ 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ôn ngữ 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ôn ngữ 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ôn ngữ 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ữ

Ngày đăng: 04/04/2017, 20:46

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan