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.
Trang 1Lí thuyết Ngôn ngữ hình thức và Ô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
Trang 2 Điều kiện cần của ngôn ngữ phi ngữ cảnh
Tính đóng của ngôn ngữ phi ngữ cảnh
Trang 3Văn phạm/ngôn ngữ ε - tự do
Định nghĩa:
ε – quy tắc, quy tắc rỗng: quy tắc có vế phải là 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ự do L: tồn tại văn phạm ε – tự do sinh ra L
Tính chất:
Mọi văn phạm phi ngữ cảnh G = ( , V, , P) đều đưa được về văn
phạm phi ngữ cảnh G’ = ( , V’, ’, P’) tương đương với nó sao cho nếu G’ chứa quy tắc rỗng thì vế trái của nó phải là tiên đề ( ’ ε).
Với mọi ngôn ngữ phi ngữ cảnh L, ngôn ngữ L \ {ε} luôn là ngôn ngữ ε – tự do.
VD:
S SB | c
A aA | B
B b |
Trang 4 Mọi văn phạm phi ngữ cảnh ε – tự do đều đưa được về dạng chuẩn Chomsky tương đương với nó
Trang 5 Cây dẫn xuất kết: Cây tương ứng với dẫn xuất [w0, w1, …,
wn] trong đó wn chỉ chứa các kí hiệu cơ bản
Cây dẫn xuất đầy đủ: Cây dẫn xuất kết [w0, w1, …, wn] với
w0 =
Trang 6Cây dẫn xuất (2)
Tính chất:
Trong cây dẫn xuất kết trong văn phạm dạng chuẩn
Chomsky, các đỉnh không kề với đỉnh ra bao giờ cũng có 2 cung đi ra, các đỉnh kề với đỉnh ra bao giờ cũng có đúng 1 cung đi ra
Nếu T là cây dẫn xuất trong văn phạm G mà vế phải các
quy tắc đều có độ dài m thì T có số đỉnh ra mh(T) G làdạng chuẩn Chomsky thì mỗi cây dẫn xuất kết có số đỉnh
ra 2h(T)-1
Nếu văn phạm G có cây dẫn xuất T với h(T) > |V| thì G
cũng có cây dẫn xuất T’ với h(T’) |V|
Trang 10y
Trang 12 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ù thì cũng đóng với phép giao vì L1 L2 = C(C L1 CL2), mâu thuẫn với kết luận ở trên.
Trang 13Ô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 + bộ nhớ “đẩy xuống” (pushdown automata - PDA)
…
Bộ ĐK
ABAB
cb
ba
Băng vào
(vô hạn)
Bộ nhớ xếp chồng
Trang 14Băng vào Trạng thái Bộ nhớ xếp chồng
Trang 15Ôtômat đẩy xuống (3)
Định nghĩa: Ôtômat đẩy xuống không đơn định là bộ bảy
M = (S, , V, s0, $, , F)
S – tập trạng thái, trong đó s0 – trạng thái khởi đầu, F – tập trạng thái kết của ôtômat
- bảng chữ cái vào (hữu hạn)
V – bảng chữ cái ngăn xếp (hữu hạn), trong đó chứa $ – kí hiệu khởi đầu của ngăn xếp
Hàm chuyển trạng thái
: S x V x ( {ε}) 2 S x V*
(s’, ) (s, A, a): máy đang ở trạng thái s, ngăn xếp chứa kí hiệu A ở trên cùng, đọc được kí hiệu a ở băng vào thì chuyển sang trạng thái s’, xoá kí hiệu A khỏi ngăn xếp, thay vào đó xâu
Trang 17Ôtômat đẩy xuống (5)
2 cách định nghĩa:
M chấp nhận từ x khi 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 khi ngăn xếp rỗng L(M) = {x * | TM((s0, $), x) S x {ε}}
Khẳng định:
Nếu M là ôtômat đẩy xuống chấp nhận bằng trạng thái kết thì từ M có thể xây dựng một ôtômát đẩy xuống M’ chấp nhận bằng ngăn xếp rỗng sao cho L(M) = L(M’) và ngược lại
Trang 19Ôtômat đẩy xuống (7)
Cách xây dựng ( ):
Cho M là ôtômát đẩy xuống chấp nhận bằng ngăn xếp
rỗng Xây dựng ôtômát đẩy xuống chấp nhận bằng trạng thái kết M’ tương đương với M (L(M) = L(M’))
Trang 20Ôtômat đẩy xuống (8)
Lớp ngôn ngữ sinh bởi văn phạm phi ngữ cảnh tương đương với lớp ngôn ngữ sinh bởi ôtômat đẩy xuống
( ) Cho văn phạm, xây dựng ôtômat đẩy xuống
Trang 21Ôtômat đẩy xuống (8)
( ) Cho ôtômat đẩy xuống M chấp nhận bằng 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) trong đó
Bảng chữ cái phụ VG chứa kí hiệu phụ đặc biệt là tiên đề và tập các
kí hiệu phụ t.ứ với các bộ [pAq] trong đó p, q S, A V
Tập quy tắc P gồm các quy tắc sau:
[s0 p] p S
Giả sử (r0, B1…Bk) (q, A, a) với a {ε}, k ≥ 0, khi đó dãy trạng thái r1 , …, rk thêm quy tắc [qArk] a [r0B1r1]… [rk-1Bkrk]
Trang 22 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)