Nội dung Ô tôt mát đẩy xuống Sự tương đương giữa các loại ô tô mát đẩy xuống Mối quan hệ giữa ô tô mát đẩy xuống và văn phạm phi ngữ cảnh Ngôn ngữ phi ngữ cảnh... Ô tô mát đẩy xuố
Trang 1Chương 4 Ôtômat đẩy xuống
Trang 2Nội dung
Ô tôt mát đẩy xuống
Sự tương đương giữa các loại ô tô mát đẩy xuống
Mối quan hệ giữa ô tô mát đẩy xuống và văn phạm
phi ngữ cảnh
Ngôn ngữ phi ngữ cảnh
Trang 3Ô tô mát đẩy xuống (ODX)
Mô tả trực quan:
Trang 4Ô tô mát đẩy xuống
Cấu tạo:
Một băng vào chứa các kí hiệu của xâu vào
Một đầu đọc duyệt băng từ trái qua phải
Một bộ điều khiển các trạng thái hữu hạn
Một stack có khả năng nhớ vô hạn, lúc đầu là rỗng (lúc đầu stack chứa một kí hiệu đặc biệt để đánh dấu đáy stack)
Trang 5Hoạt động của Ô tô mát đẩy
xuống
Ban đầu, stack là rỗng
Quá trình thực hiện của ô tô mát đẩy xuống tương tự
như ô tô mát hữu hạn không tiền định
Mỗi bước thực hiện của Ô tô mát đẩy xuống căn cứ vào
ba yếu tố:
Kí hiệu ở đỉnh stack
Trạng thái của ô tô mát
Kí hiệu đọc được trên băng vào
Trang 6Hoạt động của Ô tô mát đẩy
xuống
Mỗi dịch chuyển gồm các hành động:
Thay đổi nội dung stack (đỉnh stack)
Thay đổi trạng thái
Đầu đọc dịch sang phải một ô
Chú ý: tồn tại dịch chuyển ε nghĩa là kí hiệu trên băng không được tham khảo (đầu đọc không dịch chuyển sang phải)
Trang 7Sự đoán nhận của ODX
Có hai cách thừa nhận xâu:
Xâu vào được thừa nhận khi ô tô mát đọc hết xâu và đến một trạng thái thừa nhận
Xâu vào được thừa nhận khi ô tô mát đọc hết xâu và lúc đó stack rỗng
Trang 8Ô tô mát đẩy xuống
δ : hàm chuyển Γ x Q x (Σ ∪ {ε}) → tập con của Q x Γ*
q0 : trạng thái khởi đầu
Z0 : ký hiệu bắt đầu trên Stack(đáy stack)
F ⊆ Q : tập các trạng thái kết thúc
Trang 9Ô tô mát đẩy xuống
Ta gọi hình trạng của ô tô mát đẩy xuống là mọi xâu có dạng γ qw trong đó γ ∈Γ*, q∈Q, w∈∑*
Hình trạng có dạng Z0q0x được gọi là hình trạng ban đầu
Hệ viết lại ngầm định trong M là W=(V, P):
V=Q∪∑∪Γ
P: (α,p)∈δ(z,q,a) hay zqaαp là một quy tắc trong P
Trang 10Ô tô mát đẩy xuống
Ngôn ngữ được thừa nhận theo trạng thái cuối bởi
Trang 11 Với δ : δ (Z,q0,a)={(Za,q1)} nạp a và stack
δ (a,q1,a)={(aa,q1)} nạp tiếp a vào stack
δ (a,q1,b)={( ε ,q2)} xóa a khỏi stack
δ (a,q2,b)={( ε ,q2)} tiếp tục xóa a khỏi stack
δ (Z,q2, ε )={( ε ,q0)} về trạng thái thừa nhận
Quá trình dịch chuyển của M với xâu aabb
Zq0aabb=>Zaq1abb=>Zaaq1bb=>Zaq2b=>Zq2=>q0
Vì q0 ∈ F nên aabb ∈ L(M)
Trang 13Ví dụ 2
Cây hình trạng với xâu vào là abba:
Xâu abba là thuộc ngôn ngữ N(M) vì có một đường (một suy dẫn) hình trạng Zq0abba đến hình trạng
q1(stack rỗng)
Trang 14Các tính chất cơ bản của ODX
Cho M (Σ, Q, Γ, δ, q0, Z0, F) là ô tô mát đẩy xuống có các quy tắc trong hệ viết lại: Zpaγ q (trong đó p,
Trang 16Các tính chất cơ bản …
Định lý IV.2: Cho một quá trình dịch chuyển α pw=> i βqv.
Nếu α = ξ α ’ trong đó | α ’|≥1 và trong suốt quá trình dịch chuyển không
kể trong hình trạng cuối cùng, độ dài của stack luôn lớn hơn | ξ | thì:
β = ξ β’ với | β’|≥0
α ’pw=> i β’qv.
Hệ quả IV.2: Cho một quá trình dịch chuyển α pw=>*βv.
Nếu α = ξ α ’ trong đó | α ’|≥1 và trong suốt quá trình dịch chuyển không
kể trong hình trạng cuối cùng, độ dài của stack luôn lớn hơn | ξ | thì:
β = ξ β’ với | β’|≥0
α ’pw=>* βqv.
Trang 17Sự tương đương giữa các
ODX
Định lý IV.4:
Cho L=L(M) trong đó M là một ODX Tồn tại một
ODX M’ sao cho L=N(M’) ( Nghĩa là Nếu L được đoán nhận bởi ODX theo kiểu trạng thái cuối thì L cũng
được đoán nhận bởi một ODX theo kiểu stack rỗng)
Trang 18Sự tương đương giữa các
Trang 19Sự tương đương giữa các ODX
Ví dụ: Ngôn ngữ L={a n b n |n≥0} được đoán nhận theo trạng thái cuối của ODX M:
M=({a,b}, {q 0 ,q 1 ,q 2 },{Z,a}, δ , q 0 , Z, {q 0 })
Với δ : δ (Z,q 0 ,a)={(Za,q 1 )} nạp a và stack
δ (a,q 1 ,a)={(aa,q 1 )} nạp tiếp a vào stack
δ (a,q 1 ,b)={( ε ,q 2 )} xóa a khỏi stack
δ (a,q 2 ,b)={( ε ,q 2 )} tiếp tục xóa a khỏi stack
δ (Z,q2, ε )={( ε ,q0)} về trạng thái thừa nhận
M đoán nhận ngôn ngữ trên theo trạng thái cuối.
Xây dựng M’ cũng đoán nhận ngôn ngữ trên theo stack rỗng
Trang 20Sự tương đương giữa các ODX
Xây dựng M’=({a,b}, {q0,q1,q2,q0’,qe},{Z,a,X}, δ ’, q0’, X, ∅ ) trong
Trang 21Sự tương đương giữa các ODX
Với xâu đầu vào aabb, chuỗi suy dẫn như sau:
Như vậy quá trình suy dẫn kết thúc khi đọc hết xâu, trạng thái là qe và stack rỗng => xâu aabb được ô tô mát thừa nhận theo hình thức stack rỗng
Trang 22Sự tương đương giữa các
Xây dựng ô tô mát M’: thêm hai trạng thái mới q0’ và
qf , và một kí hiệu đáy stack mới X0: M’=(Σ, Q∪{q0’,
qf}, Γ∪{X0}, δ’, q0’, X0, {qf})
Trang 23Sự tương đương giữa các ODX
Hàm dịch chuyển δ ’ như sau:
(1) δ ’(X 0 , q 0 ’, ε ) = {(X 0 Z 0 , q 0 )}
(2) δ ’(Z, q, a) = δ (Z, q, a) (với mọi q ∈ Q, a ∈Σ ∪ { ε }, Z ∈Γ )
(3) δ ’(X 0 , q, ε ) = {( ε , q f )} (với mọi q ∈ Q)
Ví dụ: Cho ô tô mát đẩy xuống M đoán nhận theo stack rỗng:
M=({+,a}, {q}, {E,+,a}, δ , q, E, ∅ ) trong đó δ gồm các dịch chuyển:
δ (E, q, ε ) = {(a+E, q), (a,q)}
δ (+, q, +) = {( ε ,q)}
δ (a, q, a) = {( ε ,q)}
Trang 24Sự tương đương giữa các
ODX
Xây dựng ô tô mát M’ đoán nhận theo trạng thái cuối
tương đương với M: M’=({+,a}, {q,q 0 ,q f }, {E,+,a,X}, δ ’,
q 0 , X, {q f }) trong đó hàm dịch chuyển δ ’ gồm các sản xuất sau:
Trang 25Sự tương đương giữa các
ODX
Với xâu đầu vào a+a, chuỗi suy dẫn như sau:
Như vậy chuỗi suy dẫn có một nhánh đọc hết xâu và trạng thái là qf
là trạng thái thừa nhận => xâu được thừa nhận theo trạng thái cuối
Trang 26Sự tương đương giữa ODX và
Nếu đỉnh stack là một kí hiệu không kết thúc A
(1) với mọi A∈∆: δ(A,q,ε)={(αR,q)|Aα∈P}
Nếu đỉnh stack là một kí hiệu kết thúc a
(2) với mọi a∈∑: δ(a,q,a)={(ε,q)}
Trang 28Sự tương đương giữa ODX và
Trang 29Sự tương đương giữa ODX và
văn phạm phi ngữ cảnh
Tập các quy tắc P được thiết lập như sau:
(1) với mọi q∈Q, S[Z0,q0,q] là một quy tắc
(2) nếu (Xk…X2X1,p)∈δ(Z,q,a) trong đó k≥1 và X1,X2,
Trang 30Ngôn ngữ phi ngữ cảnh
Ngôn ngữ phi ngữ cảnh được xác định bởi văn phạm phi
ngữ cảnh và ô tô mát đẩy xuống
Các tính chất đóng của ngôn ngữ phi ngữ cảnh:
Định lý IV.8: Cho L1 và L2 là các ngôn ngữ phi ngữ cảnh Thế thì L1∪ L2, L1.L2 và L1* đều là các ngôn ngữ phi ngữ cảnh
Định lý IV.9: Lớp các ngôn ngữ phi ngữ cảnh là không
đóng đối với phép giao và phép lấy bổ sung
Định lý IV.10: Nếu ngôn ngữ R là chính quy, ngôn ngữ L
là phi ngữ cảnh thì ngôn ngữ R ∩ L là phi ngữ cảnh
Trang 31Các bài toán quyết định trên ngôn ngữ phi ngữ cảnh
Bài toán ngôn ngữ rỗng: Phải chăng L=∅
Bài toán xâu rỗng: Phải chăng ε∈L
Bài toán về tính hữu hạn: Cho ngôn ngữ phi ngữ cảnh
L Vấn đề là xác định xem L là hữu hạn hay vô hạn
Bài toán thành viên: Cho văn phạm phi ngữ cảnh G và
một xâu w Xác định phải chăng w∈G