Về Otomat đẩy xuống và ngôn ngữ phi ngữ cảnh

61 390 0
Về Otomat đẩy xuống và ngôn ngữ phi ngữ cảnh

Đ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 Phạm Thị Thu Hà VỀ OTOMAT ĐẨY XUỐNG NGÔN NGHỮ PHI NGỮ CẢNH 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 Phạm Thị Thu Hà VỀ OTOMAT ĐẨY XUỐNG NGÔN NGỮ PHI NGỮ CẢNH Chuyên ngành: Toán học ứng dụng KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS 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 Em xin bày tỏ lòng biết ơn chân thành tới TS Kiều Văn Hưng, người thầy truyền thụ kiến thức, tận tình giúp đỡ, hướng dẫn em suốt trình học tập, nghiên cứu hoàn thành khóa luận Em xin gửi lời cảm ơn tới thầy cô giáo trường Đại học Sư phạm Hà Nội 2, thầy cô giáo khoa Toán giúp đỡ em trình học tập trường tạo điều kiện cho em hoàn thành đề tài khóa luận tốt nghiệp Trong trình nghiên cứu, không tránh khỏi thiếu sót hạn chế Em kính mong nhận đóng góp ý kiến thầy giáo, cô giáo toàn thể bạn đọc để khóa luận hoàn thiện Hà Nội, ngày tháng 05 năm 2016 Sinh viên Phạm Thị Thu Hà Footer Page of 161 Header Page of 161 Lời cam đoan Em xin cam đoan hướng dẫn thầy giáo Kiều Văn Hưng khóa luận em hoàn thành không trùng với đề tài khác Em xin cam đoan giúp đỡ cho việc thực khóa luận cảm ơn thông tin thu trích dẫn khóa luận rõ nguồn gốc Hà Nội, tháng năm 2016 Sinh viên Phạm Thị Thu Hà Footer Page of 161 ii 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 Văn phạm phi ngữ cảnh 1.1 1.1.1 Định nghĩa 1.1.2 Ngôn ngữ sinh văn phạm phi ngữ cảnh 1.1.3 Cây suy dẫn đầy đủ văn phạm phi ngữ cảnh 1.1.4 Quan hệ dẫn xuất suy dẫn 1.1.5 Văn phạm phi ngữ cảnh đa nghĩa 1.1.6 Rút gọn văn phạm phi ngữ cảnh Chuẩn hóa văn phạm phi ngữ cảnh 12 1.2.1 Dạng chuẩn Chomsky 13 1.2.2 Dạng chuẩn Greibach 16 1.3 Bổ đề Bơm cho ngôn ngữ phi cảnh 20 1.4 Bài tập 24 1.2 Văn phạm phi ngữ cảnh Otomat đẩy xuống 2.1 32 Mô tả otomat đẩy xuống Footer Page of 161 i 33 Header Page of 161 2.2 Otomat đẩy xuống không đơn định 35 2.2.1 Định nghĩa 35 2.2.2 Hàm chuyển 36 2.2.3 Hình trạng 37 2.2.4 Ngôn ngữ đoán nhận otomat đẩy xuống không đơn định 2.2.5 Otomat đẩy xuống không đơn định ngôn ngữ phi ngữ cảnh 2.3 2.4 38 40 Otomat đẩy xuống đơn định ngôn ngữ phi ngữ cảnh đơn định 44 Bài tập 44 Kết luận 51 Tài liệu tham khảo 51 Footer Page of 161 ii Header Page of 161 Lời mở đầu Những năm gần đây, người đạt nhiều thành tựu khoa học rực rỡ, thành tựu bùng nổ ngành khoa học máy tính Sự phát triển kì diệu máy tính gắn liền với phát triển toán học đại, Toán rời rạc Toán học rời rạc nghiên cứu cấu trúc có tính chất rời rạc không liên tục Toán rời rạc bao gồm lĩnh vực quan hệ, lý thuyết đồ thị, ngôn ngữ hình thức otomat Lý thuyết ngôn ngữ hình thức lý thuyết tảng cho việc thấu hiểu khái niệm ngôn ngữ nói chung (cả ngôn ngữ lập trình lẫn ngôn ngữ tự nhiên), vấn đề ngôn ngữ cách xây dựng văn phạm sinh ngôn ngữ (xây dựng văn phạm cho ngôn ngữ lập trình, cho trình phân tích cú pháp), dịch từ ngôn ngữ lập trình cấp cao sang ngôn ngữ máy Lý thuyết otomat lý thuyết cho việc nghiên cứu mô hình tự động để làm tiền đề cho phát triển đến dạng máy tính số Ngôn ngữ phi ngữ cảnh chủ đề quan trọng lý thuyết ngôn ngữ hình thức, áp dụng cho ngôn ngữ lập trình Mục đích khóa luận nhằm tìm hiểu rõ ngôn ngữ phi ngữ cảnh với chế để sinh lớp ngôn ngữ này, văn phạm phi ngữ cảnh otomat có nhớ đẩy xuống Khóa luận chia thành hai chương: Chương trình bày văn phạm phi ngữ cảnh ngôn ngữ phi ngữ cảnh Chương trình bày khái niệm otomat đẩy xuống liên kết otomat đẩy xuống ngôn ngữ phi ngữ cảnh Footer Page of 161 iii Header Page of 161 Hà Nội, ngày 04/05/2016 Tác giả khóa luận Phạm Thị Thu Hà Footer Page of 161 iv Header Page of 161 Danh mục kí hiệu chữ viết tắt ∅ 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 Σ∗ tập từ bảng chữ Σ Footer Page of 161 v Header Page 10 of 161 Chương Văn phạm phi ngữ cảnh 1.1 Văn phạm phi ngữ cảnh 1.1.1 Định nghĩa Văn phạm phi ngữ cảnh thứ tự gồm thành phần: G = , đó: + Σ bảng chữ cái, gọi bảng chữ (hay bảng chữ kết thúc), phần tử gọi ký hiệu kết thúc hay ký hiệu + ∆ bảng chữ cái, ∆ ∩ Σ = ∅, gọi bảng ký hiệu phụ (hay bảng chữ không kết thúc), phần tử gọi ký hiệu không kết thúc hay ký hiệu phụ + S ∈ ∆ gọi ký hiệu xuất phát hay tiên đề + P tập hợp quy tắc sinh có dạng A → ω, A ∈ ∆, ω ∈(Σ ∪ ∆) Như vậy, quy tắc văn phạm phi ngữ cảnhvế trái chứa ký hiệu phụ vế phải tùy ý, gọi quy tắc phi ngữ Footer Page 10 of 161 Khóa luận tốt nghiệp Đại học Header Page 47 of 161 Phạm Thị Thu Hà sang hình trạng khác theo nguyên tắc sau: 1/ Nếu ∈ δ(q, a1 , xm ) hình trạng chuyển sang hình trạng ký hiệu: ⊢ 2/ Nếu ∈ δ(q, ε, xm ) hình trạng chuyển sang hình trạng ký hiệu: ⊢ Như vậy, thời điểm, tình trạng otomat đẩy xuống xác định ba yếu tố sau: - Xâu γ ∈ ∆∗ ngăn xếp (với quy ước ký hiệu bên trái γ nằm đáy xếp) - Trạng thái q ∈ Q - Phần xâu vào x ∈ Σ∗ chưa đọc đến băng vào (với quy ước ký hiệu bên trái x ký hiệu đọc tiếp) 2.2.4 Ngôn ngữ đoán nhận otomat đẩy xuống không đơn định Định nghĩa 2.4 Cho otomat đẩy xuống M = ω ∈ Σ∗ Ta nói otomat M đoán nhận từ ω theo tập trạng thái kết thúc tồn dãy hữu hạn hình trạng K0 , K1 , , Kn cho: 1/ K0 =< q0 , ω, z0 >, gọi hình trạng đầu 2/ Kn =< p, ε, γ >, p ∈ F , gọi hình trạng kết thúc 3/ K0 ⊢ K1 ⊢ K2 ⊢ ⊢ Kn Footer Page 47 of 161 38 Khóa luận tốt nghiệp Đại học Header Page 48 of 161 Phạm Thị Thu Hà Ký hiệu T(M) = {ω ∈ Σ∗ | ω đoán nhận M theo tập trạng thái kết thúc} T(M) gọi ngôn ngữ đoán nhận otomat đẩy xuống M theo tập trạng thái kết thúc Định nghĩa 2.5 Cho otomat đẩy xuống M = ω ∈ Σ∗ Ta nói otomat M đoán nhận từ ω theo ngăn xếp rỗng tồn dãy hữu hạn hình trạng K0 , K1 , , Kn cho: 1/ K0 =< q0 , ω, z0 >, gọi hình trạng đầu 2/ Kn =< p, ε, ε >, p tùy ý thuộc Q, gọi hình trạng kết thúc 3/ K0 ⊢ K1 ⊢ K2 ⊢ ⊢ Kn Ký hiệu N(M) = {ω ∈ Σ∗ | ω đoán nhận M theo ngăn xếp rỗng} N(M) gọi ngôn ngữ đoán nhận otomat đẩy xuống M theo ngăn xếp rỗng Định lý 2.1 Cho otomat đẩy xuống M Khi tồn otomat đẩy xuống M’ cho N(M’) = T(M) Chứng minh Giả sử M = otomat đẩy xuống Ta xây dựng otomat đẩy xuống M’ = cho N(M’) = T(M) Muốn ta đưa thêm vào ký hiệu trạng thái q1 , q2 ∈ / Q ký hiệu ngăn xếp % ∈ / Γ đặt Σ′ = Σ, Q′ = Q ∪ {q1 , q2 }, Γ′ = Γ ∪ {%}, q0′ = q1 , z0′ = %, F ′ = ∅, δ ′ : Q′ × (Σ ∪ {ε}) × Γ′ → P (Q′ × Γ′∗ ) định nghĩa sau: 1/ δ ′ (q1 , ε, %) = {} 2/ δ ′ (q, x, z) = δ(q, x, z) với x ∈ Σ, q ∈ Q, z ∈ Γ 3/ δ ′ (q, ε, z) = δ(q, ε, z) q ∈ Q\F , z ∈ Γ δ ′ (q1 , ε, z) = δ(q, ε, z) ∪ {< q2 , ε >} q ∈ F , z ∈ Γ 4/ δ ′ (q, ε, %) = {} với q ∈ F Footer Page 48 of 161 39 Khóa luận tốt nghiệp Đại học Header Page 49 of 161 Phạm Thị Thu Hà 5/ δ ′ (q2 , ε, z) = {} với z ∈ Γ ∪ {%} Bây ta N(M’) = T(M) Giả sử w ∈ N (M ′ ) Khi theo cách làm việc M’ ta có dãy hình trạng sau: < q0′ , w, z0′ > = < q1 , w, % >⊢ K1 ⊢ K2 ⊢ ⊢ Kt = q, ε, ε, với t ≥ 2, Ki =< qi , wi , zi >, wi ∈ Σ∗ , qi ∈ Q′ , zi ∈ Γ′∗ (i = 1, 2, , t) Theo cách xây dựng M’ K1 =< q0 , w, %z0 >, Kt =< q2 , ε, ε > w ∈ N (M ′ ) Từ ∃i < t ′ ′ cho Ki =< qi , ε, %zi′ >⊢< q2 , ε, %zi+1 >, qi ∈ F, zi′ , zi+1 ∈ Γ∗ ′ Kj =< qj , wj , %zj′ >⊢< qj+1 , wj+1 , %zj+1 >, wj ∈ Σ∗ , qj ∈ Q, zj′ ∈ Γ∗ , (1 ≤ j ≤ i) Cũng Kj =< q2 , ε, %zj′ >, zj′ ∈ Γ∗ , (1 ≤ j ≤ t) Từ < q0 , w, z0 >⊢< qi , ε, %zi > qi ∈ F suy w ∈ T (M ) Tóm lại ta có bao hàm thức N (M ′ ) ⊂ T (M ) Bao hàm thức ngược lại T (M ) ⊂ N (M ′ ) suy diễn trực tiếp từ cách xây dựng M’ từ M Vậy tồn otomat đẩy xuống M’ cho N(M’) = T(M) 2.2.5 Otomat đẩy xuống không đơn định ngôn ngữ phi ngữ cảnh Định lý 2.2 Cho L ngôn ngữ phi ngữ cảnh Khi tồn otomat đẩy xuống M đoán nhận L theo tập trạng thái kết thúc Chứng minh Giả sử G = văn phạm phi ngữ cảnh sinh ngôn ngữ L Ta xây dựng otomat đẩy xuống M = đoán nhận L với: + Q = {q0, , q1 , q2 } tập trạng thái, Footer Page 49 of 161 40 Khóa luận tốt nghiệp Đại học Header Page 50 of 161 Phạm Thị Thu Hà + Γ = Σ ∪ ∆ ∪ {%} tập ký hiệu ngăn xếp, ký hiệu % không thuộc Σ ∪ ∆, + z0 = S ký hiệu đầu ngăn xếp, + q0 ∈ Q trạng thái đầu, + F = {q2 } tập trạng thái kết thúc, + Hàm chuyển δ: Q × (Σ ∪ {ε}) × Γ → P (Q × Γ∗ ) định nghĩa qua biểu thức sau: 1/ δ(q1 , ε, z) = {|z → α ∈ P , z ∈ ∆, α ∈ Γ∗ } 2/ δ(q1 , a, a) = {}, với a ∈ Σ 3/ δ(q1 , ε, %) = {} 4/ δ(q0 , ε, S) = {} Ta chứng minh L(G) = T(M) Giả sử ω ∈ L(G), tồn dãy suy dẫn đầy đủ G là: D = (S, u1 z1 v1 , u2 z2 v2 , , u1 un−1 zn−1 vn−1 , u1 u2 un = ω), zi ∈ ∆, ui ∈ Σ, vi ∈ Σ ∪ ∆ (1 ≤ i ≤ n − 1) un ∈ Σ∗ Dựa vào quy tắc G sử dụng dãy suy dẫn đầy đủ D xâu ω, otomat đẩy xuống M đoán nhận ω theo nguyên tắc sau: Áp dụng hàm chuyển xây dựng trên, biểu thức 4, 1, ta có ⊢ < q1 , ω, %S > ⊢ < q1 , u1 u2 un , %v1R z1 uR > ⊢ < q1 , u2 u3 un , %v1R z1 > Giả sử quy tắc (sau quy tắc S → u1 z1 v1 ) D zi → xi ∈ P (i=1, 2, , n-2) với zi ∈ ∆, xi ∈ Σ ∪ ∆ cho xi vi = ui+1 zi+1 vi+1 Khi M sau thời điểm thực quy tắc S → u1 z1 v1 có hình trạng Hình trạng M áp dụng quy tắc zi → xi biến đổi sau ⊢ = Footer Page 50 of 161 41 Khóa luận tốt nghiệp Đại học Header Page 51 of 161 Phạm Thị Thu Hà R ⊢ ⊢ ⊢ R Trong D, sử dụng quy tắc zn−1 → xn−1 ∈ P với xn−1 vn−1 = un , ta có: R R ⊢ ⊢ ⊢ Từ ta có dãy suy dẫn hình trạng M: ⊢ mà q2 ∈ F nên M đoán nhận xâu ω theo tập trạng thái kết thúc Ví dụ 2.3 Cho văn phạm phi ngữ cảnh G = Theo chứng minh định lý 2.2, ta xây dựng otomat đẩy xuống đoán nhận L(G) sau: M = , δ xác định sau: δ(q1 , ε, S) = {< q1 , a >, < q1 , Asb >, < q1 , Ab>} δ(q1 , ε, A) = {< q1 , b >, < q1 , Sa >} δ(q1 , a, a) = {< q1 , ε >} δ(q1 , b, b) = {< q1 , ε>} δ(q1 , ε, %) = {< q2 , %>} δ(q0 , ε, S) = {< q1 , %S>} Định lý 2.3 Cho M otomat đẩy xuống Khi tồn văn phạm phi ngữ cảnh G cho L(G) = N(M) Chứng minh Giả sử M = otomat đẩy xuống theo định lý 2.1, ta cần có văn phạm phi ngữ cảnh G = Footer Page 51 of 161 42 Khóa luận tốt nghiệp Đại học Header Page 52 of 161 Phạm Thị Thu Hà cho L(G) = N(M) Không tính tổng quát, giả sử ε∈ / N (M ) Ta xây dựng văn phạm G sau: + ∆ = {S} ∪ {[q1 , z, q2 ] | q1 , q2 ∈ Q, z ∈ Γ ∪ Σ}, + P = P1 ∪ P2 ∪ P3 Ở P1 = {S → [q0 , z, q]|q ∈ Q, z ∈ Γ}, P2 = {[t1 , z, t2 ] → x[t3 , zn , qn−1 ][qn−1 , zn−1 , qn−2 ] [q2 , z2 , q1 ][q1 , z1 , t2 ] | n ≥ 1, qi ∈ Q, (1 ≤ i ≤ n), t1 , t2 , t3 ∈ Q, x ∈ Σ ∪ {ε}, < t3 , z1 z2 zn >∈ δ(t1 , x, z)}, P3 = {[t1 , z, t2 ] → x| < t2 , ε >∈ δ(t1 , x, z) với z ∈ Γ, t1 , t2 ∈ Q, x ∈ Σ ∪ {ε}} G định nghĩa văn phạm phi ngữ cảnh mà L(G) = N(M) Nếu ta gọi P1 , P2 , P3 lớp ngôn ngữ phi ngữ cảnh, lớp ngôn ngữ đoán nhận otomat đẩy xuống theo tập trạng thái kết thúc, lớp ngôn ngữ đoán nhận otomat đẩy xuống theo ngăn xếp rỗng, ta có: •P1 ⊂ P2 (theo định lý 2.2) •P2 ⊂ P3 (theo định lý 2.1) •P3 ⊂ P1 (theo định lý 2.3) Vì vậy, P1 = P2 = P3 tức lớp ngôn ngữ phi cảnh trùng với lớp ngôn ngữ đoán nhận otomat đẩy xuống theo tập trạng thái kết thúc hay theo ngăn xếp rỗng Footer Page 52 of 161 43 Khóa luận tốt nghiệp Đại học Header Page 53 of 161 2.3 Phạm Thị Thu Hà Otomat đẩy xuống đơn định ngôn ngữ phi ngữ cảnh đơn định Định nghĩa 2.2 Một otomat đẩy xuống M = gọi đơn định otomat định nghĩa định nghĩa 2.1, phải có giới hạn rằng, với q ∈ Q, a ∈ Σ ∪ {ε} b ∈ ∆ 1) δ(q, a, b) chứa phần tử 2) Nếu δ(q, ε, b) không rỗng, δ(q, c, b) phải rỗng, với c ∈ Σ Định nghĩa 2.3 Mọi ngôn ngữ L gọi ngôn ngữ phi ngữ cảnh đơn định tồn otomat đẩy xuống đơn định M cho L = L(M) Ví dụ 2.4 Ngôn ngữ L = {an bn : n ≥ 0} ngôn ngữ phi ngữ cảnh đơn định Một otomat đẩy xuống M = với hàm chuyển sau: 1.δ(q0 , a, o) = {< q1 , 10 >} 2.δ(q1 , a, 1) = {< q1 , 11 >} 3.δ(q1 , b, 1) = {< q2 , ε >} 4.δ(q2 , b, 1) = {< q2 , ε >} 5.δ(q2 , ε, 0) = {< q0 , ε >} chấp nhận ngôn ngữ cho Nó thỏa mãn định nghĩa 2.3 đơn định 2.4 Bài tập Footer Page 53 of 161 44 Khóa luận tốt nghiệp Đại học Header Page 54 of 161 Phạm Thị Thu Hà Bài tập 2.1 Xây dựng otomat đẩy xuống tương đương với văn phạm phi ngữ cảnh G = tương đương với G + Q = {q} tập trạng thái + Γ = {S, A, B} tập ký hiệu ngăn xếp + z0 = S ký hiệu đầu ngăn xếp + q ∈ Q trạng thái đầu + F = ∅ tập trạng thái kết thúc + Hàm chuyển δ: Q × (Σ ∪ {ε}) × Γ → P (Q × Γ∗ ) định nghĩa qua biểu thức sau: 1/ δ(q, 0, S) = {, } 2/ δ(q, 1, S) = {, } 3/ δ(q, 0, A) = {, } 4/ δ(q, 1, B) = {, } Bài tập 2.2 Xây dựng otomat đẩy xuống đoán nhận theo ngăn xếp rỗng ngôn ngữ: a, {an bm cn | m, n ≥ 1} b, {an b2n | n ≥ 1} c, {an bn+1 | n ≥ 1} Lời giải Footer Page 54 of 161 45 Khóa luận tốt nghiệp Đại học Header Page 55 of 161 Phạm Thị Thu Hà a, Otomat đoán nhận {an bm cn | m, n ≥ 1} định nghĩa sau: A = δ xác định sau: 1/ δ(q0 , a, Z0 ) = {} 2/ δ(q0 , a, a) = {} 3/ δ(q0 , b, a) = {} 4/ δ(q1 , b, a) = {} 5/ δ(q1 , a, a) = {} 6/ δ(q1 , ε, Z0 ) = {} Bắt đầu từ việc xếp ký hiệu a vào ngăn xếp gặp b (1/, 2/) Khi b xuất hiện, otomat thay đổi trạng thái không thay đổi ngăn xếp (3/) Khi ký hiệu b đọc hết (4/) xóa ký hiệu a(5/) Vậy (q0 , an bm cn , Z0 ) ⊢ (q1 , ε, Z0 ) ⊢ (q1 , ε, ε) nghĩa an bm cn ∈ N(A) Chiều ngược lại suy từ tính chất quy tắc từ 1-6 b, Otomat đoán nhận {an b2n | n ≥ 1} định nghĩa sau: B = δ xác định sau: 1/ δ(q0 , a, Z0 ) = {} 2/ δ(q1 , a, a) = {} 3/ δ(q1 , b, a) = {} 4/ δ(q2 , b, a) = {} 5/ δ(q1 , ε, Z0 ) = {} Vậy (q0 , an b2n , Z0 ) ⊢ (q1 , ε, Z0 ) ⊢ (q1 , ε, ε) nghĩa an b2n ∈ N(A) Chiều ngược lại suy từ tính chất quy tắc từ 1-5 Footer Page 55 of 161 46 Khóa luận tốt nghiệp Đại học Header Page 56 of 161 Phạm Thị Thu Hà c, Otomat đoán nhận {an bn+1 | n ≥ 1} định nghĩa sau: C = δ xác định sau: 1/ δ(q0 , a, Z) = {} 2/ δ(q0 , a, a) = {} 3/ δ(q0 , ε, a) = {} 4/ δ(q1 , b, a) = {} 5/ δ(q1 , b, Z) = {} 6/ δ(q1 , ε, Z) = {} Vậy (q0 , an bn+1 , Z) ⊢ (q1 , ε, Z) ⊢ (q2 , ε, ε) nghĩa an bn+1 ∈ N(A) Chiều ngược lại suy từ tính chất quy tắc từ 1-6 Bài tập 2.3 Xây dựng văn phạm phi ngữ cảnh G để sinh N(M), M = δ xác định sau: 1/ δ(q0 , a, Z0 ) = {} 2/ δ(q0 , ε, Z0 ) = {} 3/ δ(q0 , b, Z) = {} 4/ δ(q0 , a, Z) = {} 5/ δ(q1 , b, Z) = {} 6/ δ(q1 , a, Z0 ) = {} Lời giải Xây dựng G = ∆ = {[q0 , Z0 , q0 ], [q0 , Z0 , q1 ], [q0 , Z, q0 ], [q0 , Z, q1 ], [q1 , Z0 , q0 ], [q1 , Z0 , q1 ], [q1 , Z, q0 ], [q1 , Z, q1 ]} P bao gồm quy tắc: P1 : S → [q0 , Z0 , q0 ], P2 : S → [q0 , Z0 , q1 ] Vì δ(q0 , b, Z) = {< q0 , ZZ >} nên Footer Page 56 of 161 47 Khóa luận tốt nghiệp Đại học Header Page 57 of 161 Phạm Thị Thu Hà P3 : [q0 , Z0 , q0 ] → b[q0 , Z, q0 ][q0 , Z0 , q0 ] P4 : [q0 , Z0 , q0 ] → b[q0 , Z, q1 ][q1 , Z0 , q0 ] P5 : [q0 , Z0 , q1 ] → b[q0 , Z, q0 ][q0 , Z0 , q1 ] P6 : [q0 , Z0 , q1 ] → b[q0 , Z, q1 ][q1 , Z0 , q1 ] Vì δ(q0 , ε, Z0 ) = {} nên P7 : [q0 , Z0 , q0 ] → ε Vì δ(q0 , b, Z) = {} nên P8 : [q0 , Z, q0 ] → b[q0 , Z, q0 ][q0 , Z, q0 ] P9 : [q0 , Z, q0 ] → b[q0 , Z, q1 ][q1 , Z, q0 ] P10 : [q0 , Z, q1 ] → b[q0 , Z, q0 ][q0 , Z, q01 ] P11 : [q0 , Z, q1 ] → b[q0 , Z, q1 ][q1 , Z, q1 ] Vì δ(q0 , a, Z) = {} nên P12 : [q0 , Z, q0 ] → a[q1 , Z, q0 ] P13 : [q0 , Z, q1 ] → a[q1 , Z, q1 ] Vì δ(q1 , b, Z) = {} nên P14 : [q1 , Z, q1 ] → b Vì δ(q1 , a, Z0 ) = {} nên P15 : [q1 , Z0 , q0 ] → a[q0 , Z0 , q0 ] P16 : [q1 , Z0 , q1 ] → a[q0 , Z0 , q1 ] Bài tập 2.4 Cho văn phạm phi ngữ cảnh G = a, Tìm ngôn ngữ sinh L = L(G) b, Xây dựng otomat đẩy xuống M đoán nhận L theo ngăn xếp rỗng Footer Page 57 of 161 48 Khóa luận tốt nghiệp Đại học Header Page 58 of 161 Phạm Thị Thu Hà Lời giải a, Ta có S ⊢ aSa |= abSba |= abcScba |= abcdcba Vậy L(G) = {ωdω R | ω ∈ {a, b, c, d}∗ , ω R đảo ngược ω} b, Otomat đoán nhận {ωdω R | ω ∈ {a, b, c, d}∗ , ω R đảo ngược ω} định nghĩa sau: M = δ xác định sau: δ(q0 , ε, S) = {, , , } δ(q0 , a, a) = {} δ(q0 , b, b) = {} δ(q0 , c, c) = {} δ(q0 , d, d) = {} Bài tập 2.5 Xây dựng văn phạm phi ngữ cảnh sinh ngôn ngữ {an bn | n ≥ 1} ∪ {am b2m | m ≥ 1} xây dựng otomat đẩy xuống đoán nhận chúng theo ngăn xếp rỗng Lời giải G = để sinh L(G) = {an bn | n ≥ 1} ∪ {am b2m | m ≥ 1}, P có quy tắc: S → S1 | S2 , S1 → aS1 b | ab, S2 → aS2 bb | abb Otomat để đoán nhận L(G) định nghĩa sau: M = , δ xác định bởi: δ(q, ε, S) = {< q, S1 >, < q, S2 >} δ(q, ε, S1 ) = {< q, aS1 b >, < q, ab >} Footer Page 58 of 161 49 Khóa luận tốt nghiệp Đại học Header Page 59 of 161 Phạm Thị Thu Hà δ(q, ε, S2 ) = {< q, aS2 bb >, < q, abb >} Footer Page 59 of 161 50 Header Page 60 of 161 Kết luận Khóa luận trình bày kiến thức văn phạm phi ngữ cảnh dẫn xuất, tính nhập nhằng rút gọn văn phạm phi ngữ cảnh, dạng chuẩn: dạng chuẩn Chomsky dạng chuẩn Greibach, bổ đề Bơm cho ngôn ngữ phi ngữ cảnh Tiếp nghiên cứu lớp otomat nhận biết ngôn ngữ phi cảnh otomat đẩy xuống, từ rút liên kết otomat đẩy xuống ngôn ngữ phi ngữ cảnh Hy vọng khóa luận tài liệu tham khảo cho bạn đọc quan tâm đến vấn đề Footer Page 60 of 161 51 Header Page 61 of 161 Tài liệu tham khảo [A] Tài liệu Tiếng Việt [1] TS Nguyễn Văn Định, Bài giảng Otomat ngôn ngữ hình thức [2] Đoàn Văn Ban (2007), Otomat ngôn ngữ hình thức, Đại học Thái Nguyên [3] Nguyễn Văn Ba (1997), Ngôn ngữ hình thức, Đại học Bách Khoa Hà Nội [B] Tài liệu Tiếng Anh [4] John E Hopcroft - Rajeev Motwani - Jeffrey D Ullman, Introduction to Automata Theory, Languages, and Computation Footer Page 61 of 161 52 ... cho ngôn ngữ phi cảnh Để chứng minh ngôn ngữ cho trước phi ngữ cảnh có nhiều cách Một cách xây dựng văn phạm phi ngữ cảnh để đoán nhận ngôn ngữ đó.Tuy nhiên, muốn chứng minh ngôn ngữ phi ngữ cảnh. .. phạm phi ngữ cảnh otomat có nhớ đẩy xuống Khóa luận chia thành hai chương: Chương trình bày văn phạm phi ngữ cảnh ngôn ngữ phi ngữ cảnh Chương trình bày khái niệm otomat đẩy xuống liên kết otomat. .. nhận otomat đẩy xuống không đơn định 2.2.5 Otomat đẩy xuống không đơn định ngôn ngữ phi ngữ cảnh 2.3 2.4 38 40 Otomat đẩy xuống đơn định ngôn ngữ phi 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