Tải bản đầy đủ (.ppt) (21 trang)

ĐỀ TÀI Ô TÔ MÁT ĐẨY XUỐNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.7 MB, 21 trang )

Chương 6

Ô TÔ MÁT ĐẨY XUỐNG
1


Bảng phân công công việc(Nhóm 4)
Công
việc
Thành viên
Trần Thị Minh
Hiếu
Ngô Thị Thu
Hiền
Nguyễn Thị
Minh
Đông(Nhóm
trưởng)
Trương Thị
Thanh Dung

Mô tả và
định
nghĩa
không
hình
thức

Biểu
diễn
ODX


bằng
biểu đồ.

Cấu hình
của
ODX.

Ngôn
ngữ
đoán
nhận
của
ODX

X

X

X

X

Ô tô mát
đẩy
xuống
không
đơn định.

Tỉ lệ
hoàn

thành

X

100%

X

100%

X

100%

X

100%



1. Mô tả không hình thức.

Một ô-tô-mát đẩy xuống (PushDown Automata)
là một ô-tô-mát hữu hạn không đơn định với
một bộ nhớ vô hạn hoạt động theo cơ chế ngăn
xếp.


1. Mô tả không hình thức.


Mỗi bước dịch chuyển ô-tô-mát đẩy

Mỗi bước dịch chuyển ô-tô-mát đẩy
xuống thực hiện:
-Đọc một ký hiệu trên băng vào, nếu là ký hiệu rỗng ε thì không ký
hiệu nào được đọc.
-Chuyển sang trạng thái mới, tuy nhiên có thể ở lại cùng trạng thái
trước đó.
Đọc một ký hiệu trên băng vào, nếu là ký hiệu rỗng e thì không ký hiệu nào
được đọc.
Chuyển sang trạng thái mới, tuy nhiên có thể ở lại cùng trạng thái trước đó.


1. Mô tả không hình thức.
Thay thế ký hiệu trên đỉnh ngăn xếp bởi một xâu ký
hiệu. Có các khả năng dưới đây xảy ra:
 Nếu xâu ký hiệu là ε thì tương ứng việc lấy ký hiệu
trênđỉnh ngăn xếp.
 Nếu xâu ký hiệu chính là ký hiệu trên đỉnh ngăn xếp
thì
đỉnh ngăn xếp được giữ nguyên.
Thay thế ký hiệu trên đỉnh ngăn xếp bởi một ký hiệu
khác.
Thay thế ký hiệu trên đỉnh ngăn xếp bởi hai hay
nhiều
các ký hiệu.


2.Định nghĩa hình thức
Một ô-tô-mát đẩy xuống M, được ký hiệu

ODX, là một bộ bảy:

M = (Q, Σ, Γ, δ, q0, z, F) trong đó:


2.Định nghĩa hình thức

- Q là tập hữu hạn các trạng thái
- Σ là bảng chữ vào,
- Γ là tập các ký hiệu sử dụng trên ngăn xếp hay
còn gọi là bộ chữ ngăn xếp,
-q0 ∈ Q là trạng thái đầu,
- z ∈ Γ là ký hiệu đầu tiên trên đỉnh ngăn xếp,
- F ⊆ Q là tập hữu hạn các trạng thái cuối,
δ là hàm dịch chuyển được định nghĩa như sau:
δ: Q x (Σ ∪ {ε}) x Γ → tập con hữu hạn của Q x
Γ*.


3.Biểu
diễn
ODX
bằng
biểu
đồ.
Việc biểu diễn ODX bằng danh sách
các dịch chuyển là không dễ dàng để
theo dõi. Một cách trực quan hơn,
chúng ta có thể sử dụng biểu đồ dịch
chuyển biểu diễn một ODX.



3.Biểu diễn ODX bằng biểu đồ.


4.Cấu hình của ODX.
- Đoán nhận bởi trạng thái cuối:
xâu vào được đọc xong và ô-tômát ở trong một trong các trạng
thái cuối.
- Đoán nhận bởi ngăn xếp rỗng:
xâu vào được đọc xong và ngăn
xếp rỗng.


4.Cấu hình của ODX.
Cho ODX M = (Q, Σ, Γ, δ, q0, z, F).
Gọi L(M) là ngôn ngữ được đoán
nhận bởi trạng thái cuối:
L(M) = {w | (q0, w, z) ├* (qf, ε, α)}
trong đó, qf ∈F và a ∈ Γ
*
.


4.1 Đoán nhận bởi trạng thái cuối.

Ví dụ 6.4. Xây dựng ODX đoán
nhận ngôn ngữ sau bởi trạng
thái cuối:
R

*
L = {ww | w ∈ {a, b} }.


Như thế, chúng ta xây dựng ODX M
gồm các thành phần như sau:
Q = {q0, q1, q2},
•Σ = {a, b},
•Γ = {z, a, b},
•q0 ∈ Q là trạng thái đầu
•z là ký hiệu đầu tiên trên đỉnh ngăn
xếp,
•F = {q2},


δ được định nghĩa bởi các dịch chuyển sau:
1. δ(q0, a, z) = {(q0, az)} và δ(q0, b, z) = {(q0,
bz)}.
2. δ(q0, a, a) = {(q0, aa)}, δ(q0, a, b) = {(q0, ab)},
δ(q0, b, a) ={(q0, ba)} và δ(q0, b, b) = {(q0, bb)}.
3. δ(q0,ε, a) = {(q1, a)} và δ(q0, ε, b) = {(q1, b)}.
4. δ(q1, a, a) = {(q1, ε)} và δ(q1, b, b) = {(q1, ε)}.
5. δ(q1, ε, z) = {(q2, z)}.
6. δ(q0, ε, z) = {(q2, z)}.


Chúng ta biểu diễn ODX trên bằng biểu
đồ dịch chuyển trong hình 6.3.



2 Đoán nhận bởi ngăn xếp rỗng.
Cho ODX M = (Q,Σ, Γ, δ, q0, z, F). Gọi N(M)
là ngôn ngữ được đoán nhận bởi ngăn xếp
rỗng:
N(M) = {w | (q0, w, z) ├* (q, ε, ε)},trong đó,
q ∈ Q.
Ví dụ 6.5. Xây dựng ODX đoán nhận ngôn
ngữ L bởi trạng thái cuối: L = {wwR | w ∈ {a,
b}*}.


Chuyển từ ODX đoán nhận bởi ngăn xếp rỗng
thành ODX đoán nhận bởi trạng thái cuối .

Định lý 6.1. Nếu L = N(M) với một ODX
đoán nhận bởi ngăn xếp rỗng
M = (Q, Σ, Γ, δ, q0, z), thì tồn tại ODX
đoán nhận bởi trạng thái cuối M’ sao
cho L = L(M’).


Ví dụ 6.6. Chuyển ODX đoán nhận bởi
ngăn
xếp rỗng

M = ({q0}, {o, c}, {z}, δ, q0, z)
1.δ(q0, o, z) = {(q0, zz)}.
2.δ(q0, c, z) = {(q0, ε)}.



M’ = ({q0’, q0, qf}, {o, c}, {z, z’}, δ’, q0’, z’, {qf})
trong đó δ’ được định nghĩa như sau:
δ’(q0’, ε, z’) = {(q0, zz’)},
δ’(q0, o, z) = {(q0, zz)},
δ’(q0, c, z) = {(q0, ε)},
δ’(q0, ε, z’) = {(qf, ε)}.


6



×