Máy Turing
(Turing Machine)
Nội dung:
•
Mô hình TM
•
TM nhận dạng ngôn ngữ
•
TM tính toán hàm số nguyên
•
Các kỹ thuật xây dựng TM
Chương 7:
1
Mô hình TM
Định nghĩa: TM là một hệ thống gồm 7 thành phần
M (Q, Σ, Γ, δ, q
0
, B, F)
●
Q : tập hữu hạn các trạng thái
●
Σ : bộ ký hiệu nhập
●
Γ : tập hữu hạn các ký hiệu được viết trên băng
●
δ : hàm chuyển Q x Γ → Q x Γ x {L, R, Ø}
●
q
0
: trạng thái khởi đầu
●
B : ký hiệu dùng để chỉ khoảng trống trên băng
●
F ⊆ Q : tập các trạng thái kết thúc
Hình thái: α
1
qα
2
với q là trạng thái hiện hành của TM, α
1
α
2
là nội dung
của băng tính từ đầu băng cho đến ký hiệu khác Blank bên phải nhất
2
3
Phép chuyển
Định nghĩa: Đặt X
1
X
2
...X
i-1
qX
i
...X
n
là một hình thái (ID)
Giả sử : δ(q, X
i
) = (p, Y, L)
•
Nếu i - 1 = n thì X
i
là B
•
Nếu i = 1 thì không có ID kế tiếp (đầu đọc không được phép
vượt qua cận trái của băng.
•
Nếu i > 1 ta viết:
X
1
X
2
...X
i-1
qX
i
...X
n
⊢
X
1
X
2
...X
i-2
pX
i-1
YX
i+1
...X
n
Tương tự : δ(q, X
i
) = (p, Y, R)
X
1
X
2
...X
i-1
qX
i
...X
n
⊢
X
1
X
2
...X
i-2
X
i-1
YpX
i+1
...X
n
Và với : δ(q, X
i
) = (p, Y, Ø)
X
1
X
2
...X
i-1
qX
i
...X
n
⊢
X
1
X
2
...X
i-2
X
i-1
pYX
i+1
...X
n
4
TM nhận dạng ngôn ngữ
Định nghĩa: ngôn ngữ được chấp nhận bởi TM M là
L(M) = {w | w∈ Γ* và q
0
w ⊢
α
1
pα
2
với p∈ F}
Xét chuỗi 0011 ta có: q
0
0011 ⊢ Xq
1
011 ⊢ X0q
1
11 ⊢ X q
2
0Y1 ⊢ q
2
X0Y1 ⊢
X q
0
0Y1 ⊢ XXq
1
Y1 ⊢ XXY q
1
1 ⊢ XX q
2
YY ⊢ X q
2
XYY ⊢ XX q
0
YY ⊢
XXYq
3
Y ⊢ XXYYq
3
⊢ XXYYq
4
Ví dụ: thiết kế TM chấp nhận L = {0
n
1
n
| n > 0}
Đặt TM M(Q, Σ, Γ, δ, q
0
, B, F) với
Q = {q
0
, q
1
, q
2
, q
3
, q
4
}, Γ = {0, 1, X, Y, B}, F = {q
4
}
5
TM nhận dạng ngôn ngữ
q
0
q
3
q
1
q
2
start
(0,X,R)
(Y,Y,R)
(0,0,R)
(Y,Y,R)
(1,Y,L)
(X,X,R)
(0,0,L)
(Y,Y,L)
(Y,Y,R)
q
4
(B,B,Ø)