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

51 423 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

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 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 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ề 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 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 17 19 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học 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 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học 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 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ữ, 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 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 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 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ô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) = 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 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, 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 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, 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ô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}∗ 32 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học 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 : 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ô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ị 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 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 : 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 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 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ô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 : 39 NGUYỄN THỊ HUYỀN Khóa luận tốt nghiệp Đại học 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 : 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ô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} 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ô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 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

Ngày đăng: 04/04/2017, 12:15

Từ khóa liên quan

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

Tài liệu liên quan