Bài giảng Lí thuyết Ngôn ngữ hình thức và ôtômat - Chương 3: Ngôn ngữ phi ngữ cảnh cung cấp cho người đọc các kiến thức về: Ngôn ngữ ε - tự do, văn phạm dạng chuẩn Chomsky, cây dẫn xuất, điều kiện cần của ngôn ngữ phi ngữ cảnh,... Mời các bạn cùng tham khảo nội dung chi tiết.
Lí thuyết Ngơn ngữ hình thức Ơtơmat Giảng viên: Nguyễn Thị Minh Huyền Khoa Toán – Cơ – Tin học Trường ĐH Khoa học Tự nhiên Hà Nội Chương Ngôn ngữ phi ngữ cảnh Ngôn ngữ phi ngữ cảnh: Ngôn ngữ ε - tự Văn phạm dạng chuẩn Chomsky Cây dẫn xuất Điều kiện cần ngôn ngữ phi ngữ cảnh Tính đóng ngơn ngữ phi ngữ cảnh Ơtơmat đẩy xuống Văn phạm/ngơn ngữ ε - tự Định nghĩa: ε – quy tắc, quy tắc rỗng: quy tắc có vế phải từ rỗng Văn phạm ε – tự do: Văn phạm phi ngữ cảnh không chứa quy tắc rỗng Ngôn ngữ ε – tự L: tồn văn phạm ε – tự sinh L Tính chất: Mọi văn phạm phi ngữ cảnh G = (, V, , P) đưa văn phạm phi ngữ cảnh G’ = (, V’, ’, P’) tương đương với cho G’ chứa quy tắc rỗng vế trái phải tiên đề (’ ε) Với ngôn ngữ phi ngữ cảnh L, ngôn ngữ L \ {ε} ngôn ngữ ε – tự VD: S SB | c A aA | B B b | Văn phạm dạng chuẩn Chomsky Định nghĩa: Văn phạm G = (, V, , P) gọi thuộc dạng chuẩn Chomsky quy tắc có dạng sau: A BC Aa với A, B, C V, a Mọi văn phạm phi ngữ cảnh ε – tự đưa dạng chuẩn Chomsky tương đương với Thuật tốn: Loại bỏ quy tắc dạng A B Thay tất kí hiệu xuất vế phải với độ dài >1 kí hiệu phụ Rút ngắn độ dài vế phải xuống không vượt Ví dụ S bA | aB; A a | aS | bAA | B ; B b | bS | aBB Cây dẫn xuất (1) Khái niệm: Với văn phạm phi ngữ cảnh G = (, V, , P), quy tắc có vế trái kí hiệu phụ Mỗi dẫn xuất w = [w0, w1, …, wn] với w0 = A V biểu diễn dạng cây, gọi dẫn xuất Chiều cao T: Số cung đường dài xuất phát từ đỉnh gốc đến đỉnh (lá), kí hiệu h(T) Cây dẫn xuất kết: Cây tương ứng với dẫn xuất [w0, w1, …, wn] wn chứa kí hiệu Cây dẫn xuất đầy đủ: Cây dẫn xuất kết [w0, w1, …, wn] với w0 = Cây dẫn xuất (2) Tính chất: Trong dẫn xuất kết văn phạm dạng chuẩn Chomsky, đỉnh không kề với đỉnh có cung ra, đỉnh kề với đỉnh có cung Nếu T dẫn xuất văn phạm G mà vế phải quy tắc có độ dài m T có số đỉnh mh(T) G dạng chuẩn Chomsky dẫn xuất kết có số đỉnh 2h(T)-1 Nếu văn phạm G có dẫn xuất T với h(T) > |V| G có dẫn xuất T’ với h(T’) |V| Điều kiện cần ngôn ngữ phi ngữ cảnh Nếu L ngơn ngữ phi ngữ cảnh ln tồn số nguyên dương l1, l2 cho z có |z| l1 z phân tích thành từ u, x, w, y, v (z = uvwxy) và: |vwx| l2 |vx| > i=0, 1, 2, … zi = uviwxiy L Chứng minh: Ý tưởng: Chọn l1 = 2|V| h(T) ≥|V| + l2 = 2|V| y Điều kiện cần … Ứng dụng: Khẳng định số ngôn ngữ ngôn ngữ phi ngữ cảnh {ap | p số nguyên tố} {an bn cn |n > 0} Tính đóng ngơn ngữ phi ngữ cảnh Lớp ngôn ngữ phi ngữ cảnh đóng với phép tốn hợp, tích ghép, soi gương, lặp, lặp cắt Chứng minh: Xây dựng văn phạm phi ngữ cảnh sinh ngôn ngữ hợp, tích ghép, soi gương, lặp, lặp cắt ngơn ngữ phi ngữ cảnh Lớp ngôn ngữ phi ngữ cảnh khơng đóng phép tốn giao lấy phần bù Chứng minh: Phép giao: Giao {at bt cs} {ap bq cq} ngôn ngữ phi ngữ cảnh Phép lấy phần bù: Nếu lớp ngơn ngữ phi ngữ cảnh đóng với phép lấy phần bù đóng với phép giao L1 L2 = C(C L1 C L2), mâu thuẫn với kết luận 12 Ơtơmat đẩy xuống (1) Công cụ nhận biết ngôn ngữ phi ngữ cảnh Khái niệm: Ơtơmat hữu hạn + nhớ “đẩy xuống” (pushdown automata - PDA) Băng vào (vô hạn) a b b c … B Bộ ĐK Bộ nhớ xếp chồng A B A 13 Ơtơmat đẩy xuống (2) Băng vào aaabbb Trạng thái s0 Bộ nhớ xếp chồng $ aabbb s0 Z$ abbb s0 ZZ$ bbb s0 ZZZ$ bb s1 ZZ$ b s1 Z$ s1 $ s2 Ôtômat đẩy xuống (3) Định nghĩa: Ôtômat đẩy xuống không đơn định bảy M = (S, , V, s0, $, , F) S – tập trạng thái, s0 – trạng thái khởi đầu, F – tập trạng thái kết ôtômat - bảng chữ vào (hữu hạn) V – bảng chữ ngăn xếp (hữu hạn), chứa $ – kí hiệu khởi đầu ngăn xếp Hàm chuyển trạng thái : S x V x ( {ε}) 2SxV* (s’, ) (s, A, a): máy trạng thái s, ngăn xếp chứa kí hiệu A cùng, đọc kí hiệu a băng vào chuyển sang trạng thái s’, xố kí hiệu A khỏi ngăn xếp, thay vào xâu 15 Ơtơmat đẩy xuống (4) Hình trạng C = (s, ) S x V* Hàm chuyển hình trạng tM : (S x V*) x ( {ε}) 2SxV* Cho C = (s, A), a { ε} (s’, ) (s, A, a) (s’, ) tM(C, a) Hàm chuyển mở rộng TM : (S x V*) x * 2SxV* (s’, ’) TM((s, ), a1 a2… an) s1=s, s2, …, sn S, 1=, 2, …, n V* : (si+1, i+1) tM((si, i), ai) (1 i n-1), (s’, ’) tM((sn, n), an) 16 Ơtơmat đẩy xuống (5) Ngơn ngữ sinh/đốn nhận ơtơmat đẩy xuống cách định nghĩa: M chấp nhận từ x chuyển đến trạng thái kết L(M) = {x * | TM((s0, $), x) F x V*} M chấp nhận từ x ngăn xếp rỗng L(M) = {x * | TM((s0, $), x) S x {ε}} Khẳng định: Nếu M ôtômat đẩy xuống chấp nhận trạng thái kết từ M xây dựng ôtômát đẩy xuống M’ chấp nhận ngăn xếp rỗng cho L(M) = L(M’) ngược lại 17 Ơtơmat đẩy xuống (6) Cách xây dựng (): Cho M ôtômát đẩy xuống chấp nhận trạng thái kết Xây dựng ôtômát đẩy xuống chấp nhận ngăn xếp rỗng M’ tương đương với M (L(M) = L(M’)) M’ = (S’, , V’, s0’, , ’, F’) S’ = S {s0’, s1’}, V’ = V {}, F’ = {s1’} (F’ thực không cần) ’ xây dựng dựa , bổ sung quan hệ chuyển sau: ’(s0’, , ε) = {(s0, $)} ’(s, A, ε) = {(s1’, ε)} với A V’, s F ’(s1’, A, ε) = {(s1’, ε)} với A V’ 18 Ơtơmat đẩy xuống (7) Cách xây dựng (): Cho M ôtômát đẩy xuống chấp nhận ngăn xếp rỗng Xây dựng ôtômát đẩy xuống chấp nhận trạng thái kết M’ tương đương với M (L(M) = L(M’)) M’ = (S’, , V’, s0’, , ’, {sf}) S’ = S {s0’sf}, V’ = V {} ’ xây dựng dựa , bổ sung quan hệ chuyển sau: ’(s0’, , ε) = {(s0, $)} ’(s, , ε) = {(sf , ε)} với s S 19 Ôtômat đẩy xuống (8) Lớp ngôn ngữ sinh văn phạm phi ngữ cảnh tương đương với lớp ngôn ngữ sinh ôtômat đẩy xuống () Cho văn phạm, xây dựng ôtômat đẩy xuống tương đương: G = (, V, , P) M = ({s0, s1, s2}, , V $, s0, $, , {s2}) (s0, $, ε) = {(s1, $)} (s1, A, ε) = {(s1, ) | A P} với A V (s1, a, a) = {(s1, ε) } với a (s1, $, ε) = {(s2, ε)} 20 Ơtơmat đẩy xuống (8) () Cho ôtômat đẩy xuống M chấp nhận ngăn xếp rỗng, XD văn phạm phi ngữ cảnh tương đương M = (S, , V, s0, , , F) (có thể bỏ F) Xây dựng văn phạm phi ngữ cảnh G = (, VG, , P) Bảng chữ phụ VG chứa kí hiệu phụ đặc biệt tiên đề tập kí hiệu phụ t.ứ với [pAq] p, q S, A V Tập quy tắc P gồm quy tắc sau: [s0 p] p S Giả sử (r0, B1…Bk) (q, A, a) với a {ε}, k ≥ 0, dãy trạng thái r1 , …, rk thêm quy tắc [qArk] a [r0B1r1]… [rk-1Bkrk] 21 Tổng kết Giới thiệu khái niệm ngơn ngữ hình thức văn phạm hình thức Lớp ngơn ngữ quy (ơtơmát, biểu thức quy, tính chất đóng, điều kiện cần, điều kiện cần đủ) Lớp ngôn ngữ phi ngữ cảnh (ơtơmát đẩy xuống, tính chất đóng, điều kiện cần) .. .Chương Ngôn ngữ phi ngữ cảnh ? ?Ngôn ngữ phi ngữ cảnh: ? ?Ngôn ngữ ε - tự Văn phạm dạng chuẩn Chomsky Cây dẫn xuất Điều kiện cần ngơn ngữ phi ngữ cảnh Tính đóng ngơn ngữ phi ngữ cảnh... gương, lặp, lặp cắt ngôn ngữ phi ngữ cảnh Lớp ngôn ngữ phi ngữ cảnh khơng đóng phép tốn giao lấy phần bù Chứng minh: Phép giao: Giao {at bt cs} {ap bq cq} ngôn ngữ phi ngữ cảnh Phép lấy... Giới thiệu khái niệm ngơn ngữ hình thức văn phạm hình thức Lớp ngơn ngữ quy (ơtơmát, biểu thức quy, tính chất đóng, điều kiện cần, điều kiện cần đủ) Lớp ngôn ngữ phi ngữ cảnh (ơtơmát đẩy xuống,