Tải bản đầy đủ (.doc) (17 trang)

tiểu luận môn lý thuyết tính toán restricted turing machines máy turing thu gọn

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 (382.04 KB, 17 trang )


Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN

Đề tài:
Restricted Turing Machines (Máy Turing thu gọn)
GVHD : PGS. TS. Phan Huy Khánh
HVTH : Phan Văn Lĩnh
Nguyễn Tùng Sinh
Phan Văn Thảo
LỚP : Khoa học máy $nh
KHÓA : 16 (2011 – 2013)
1
Đà Nẵng, tháng 05/2012
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
LỜI MỞ ĐẦU
Nhân loại đang bước vào một thời đại mới, thời đại mà thông tin, tri thức trở
thành lực lượng sản xuất trực tiếp, thời đại của xã hội thông tin và nền kinh tế tri
thức được hình thành trên cơ sở phát triển và ứng dụng rộng rãi công nghệ thông tin
và truyền thông. Cuộc cách mạng thông tin cùng với quá trình toàn cầu hóa đang
ảnh hưởng sâu sắc đến mọi lĩnh vực trong đời sống kinh tế - xã hội, đưa con người
chuyển nhanh từ xã hội công nghiệp sang xã hội thông tin, từ kinh tế công nghiệp
sang kinh tế tri thức, ở đó năng lực cạnh tranh phụ thuộc chủ yếu vào năng lực sáng
tạo, thu thập, lưu trữ, xử lý và trao đổi thông tin. Máy tính đóng vai trò quan trọng
trong cuộc cách mạng này.
Lý thuyết tính toán là nền tảng lý thuyết của thông tin và tính toán để tạo ra sự
thực thi và các ứng dụng trên hệ thống máy tính. Nó nghiên cứu các khả năng tính
toán khi áp dụng trên các loại máy tính hiện hành. Nguyên lý đã được phát triển bởi
Alan Turing và những nhà khoa học khác. Nó cung cấp những kiến thức cơ bản về


máy tính như: Các máy truy cấp ngẫu nhiên, các ôtômát hữu hạn trạng thái, các
ngôn ngữ hình thức và văn phạm được sử dụng, lý thuyết về độ phúc tạp tính toán,
lý thuyết ước tính, mô hình máy Turing, các hàm đệ quy, …
Trong khuôn khổ đề tài này chúng tôi chỉ trình bày những hiểu biết về một
phần của máy Turing thu gọn.
Phần I: Lý thuyết: Máy Turing thu gọn
Phần II: Bài tập - Mô tả máy đếm chấp nhận các ngôn ngữ sau. Trong mỗi
trường hợp, sử dụng nhiều nhất hai bộ đếm.
a) { 0
n
1
m
n ≥ m ≥1
b) { 0
n
1
m
|1 ≤ m ≤ n}
Mặc dù đã nghiên cứu kỹ phần lý thuyết để có được cách giải quyết bài tập
đúng đắn nhưng chúng tôi không thể tránh khỏi những thiếu sót, kính mong nhận
được sự góp ý kiến của Thầy giáo hướng dẫn PGS. TS. Phan Huy Khánh và các anh
chị trong lớp để đề tài được tốt hơn.
Chúng tôi xin chân thành cảm ơn thầy giáo PGS.TS. Phan Huy Khánh đã tận
tình giảng dạy và hướng dẫn để chúng tôi hoàn thành tiểu luận này.
Học viên thực hiện
Phan Văn Lĩnh
Nguyễn Tùng Sinh
2
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
Phan Văn Thảo

8.5 Restricted Turing Machines(Máy turing thu gọn)
Chúng ta đã thấy một cái nhìn tổng quan về máy Turing cái mà không thêm
bất kỳ tính năng nhận dạng ngôn ngữ. Bây giờ, chúng ta sẽ xem xét một vài
ví dụ rõ ràng về phép thu gọn của máy Turing, cái mà nó cung cấp một tính
năng tương tự như tính năng nhận dạng ngôn ngữ. Phép thu gọn đầu tiên thì
không quan trọng nhưng nó lại hữu dụng trong một số cấu trúc được đưa ra
sau đây: Chúng tat hay thế một dải Turing cái mà vô hạn ở cả hai hướng
bằng một dải chỉ vô hạn ở hướng bên phải. Ngoài ra chúng ta cũng không
cho phép phép thu hẹp TM in ra một khoảng trống như là một ký hiệu thay
thế của dải. Công dụng của phép thu gọn này là chúng ta có thể giả định một
ID chứa đựng chỉ những ký hiệu không phải là ký hiệu trống, và chúng luôn
bắt đầu ở phía trái của đầu vào.
Trong khi chúng ta cho phép một dải vào máy Turing để di chuyển nó từ bên
trái hay bên phải từ vị trí ban đầu của nó. Điều này cần thiết để cái đầu đọc của
máy Turing được phép di chuyển bên trong tại vị trí đó và về phía bên phải của vị
trí ban đầu của đầu đọc. Thực tế, chúng ta có thể giả định rằng dải là bán hữu hạn
có nghĩa là không có những ô đến phía bên trái của vị trí ban đầu của đầu đọc.
Trong nguyên tắc tiếp theo, chúng tôi sẽ cho một cấu trúc hiển thị một máy
Turing với một dải bán hữu hạn, can thể mô phỏng toàn bộ về nó, giống như mô
hình nguyên thủy của máy Turing, vô hạn cả hai hướng.
8.5.1 Turing Machines With Semi-infinite Tapes( Máy Turing với những
dải bán hữu hạn)
Bí quyết đằng sau của qua trình xây dựng là sử dụng 2 tracks trên semi-infinite TM
tape(dãi băng), việc theo dõi trên đại diện các ô bắt đầu từ vị trí đầu tiên hoặc bên
phải của vị trí đầu tiên đó, nhưng trong thứ tự đảo ngược.
Việc bố trí được xác định trong hình 8.19
Việc theo dõi trên các ô X0,Xi, với xo là vị trí đầu tiên; X\, X->v v
là các ô bên pải của nó
3
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh

ô x-i, x-2 vv.vv là đại diện cho các ô bên trái của vị trí ban đầu
thanhha_2611: chú ý:
dấu * trên track phía dưới ô tận cùng bên trái. Biểu tượng này như là dấu hiệu kết
thúc và ngăn chặn semi-infinite TM đứng đầu vô tình rơi xuống đầu bên trái của
tape( dãi băng)
Chúng ta sẽ làm thêm một cái hạn chế cho máy Turing của chúng ta.Nó ko thể viết
trống. cái hạn chế đơn giản này,được cặp đôi với cái hạn chế mà
cái tape chỉ là một nữa vô hạn nghĩa là cái tape kia tại tất cả các điểm thời gian một
tiếp đầu ngữ của những biểu tượng ko có khoảng trống theo 1 khoảng trống vô tận.
Xa hơn nữa, cái tiếp theo của những nonblank luôn luôn bắt đầu tại vị trí tape đầu
tiên. Chúng ta sẽ nhìn thấy Theorem 9.19 và lập lại là theorem 10.9, hữu dụng như
thế nào để giả sử ID có cái form này.
8.5.2 Multistack Machines
Chúng ta xem xét một số mô hình máy tính mf dựa trên phương pháp của automát
đẩy xuống (Pushdown automata). Trước hết, chúng ta xem xét chuyện gì sẽ xảy ra
nếu PDA có nhiều hơn một stack. Như chúng ta đã biết thì TM có thể chấp nhận
các ngôn ngữ mà không được chấp nhận bởi PDA một stack. Vấn đề là nếu cho
PDA 2 stack thì nó có thể chấp nhận ngôn ngữ mà TM chấp nhận.
Chúng ta sẽ xem một loại máy gọi là “counter machine”.máy này chỉ có khả năng
lưu trữ các số nguyên hữu hạn, và tạo ra các dịch chuyển khác nhau phụ thuộc vào
bất kỳ một “counter” đang có giá trị là 0.
Counter Machine có thể chỉ thực hiện phép cộng hoặc trừ 1 từ bộ đếm counter đó.
Thực ra, một bộ đếm Counter tương tự một stack mà chúng ta có thể đặt vào đó 2
ký hiệu: bộ đánh dấu đáy của stack và một ký hiệu đánh dấu đỉnh stack dùng cho
thực hiện phép toán push, pop từ stack.
4
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
Một máy TM với 3 stack.
Một máy k-stack là một PDA đơn định với k-stacks. Nó nhận input của nó – như
cách của PDA làm, từ một input nguồn, giá trị input được đặt vào tape hay stack

như cách thực hiện của TM. Multistack machine (MM) có một điều khiển hữu hạn
mà là một trong những tập hữu hạn các trạng thái. Nó có một ngăn xếp hữu hạn các
bộ aphabet, mà nó sẽ dùng cho tất cả các stacks của nó. Một dịch chuyển của MM
dựa trên:
1. Trạng thái của một điều khiển hữu hạn
2. Một ký hiệu đọc (vào) mà được chọn từ tập ký tự vào alphabet hữu hạn. một
cách luân phiên, MM có thể thực hiện một dịch chuyển sử dụng ε-input,
nhưng đối với các máy đơn định, không thể có sự lựa chọn của ε-move (dịch
chuyển) hoặc ε-move không dịch chuyển trong bất kỳ tình huống nào.
3. Ký hiệu đỉnh của stack ở trên chính stack đó.
Một dịch chuyển, MM có thể:
a. Thay đổi một trạng thái mới
b. Thay thế ký hiệu trên đỉnh của mỗi stack bằng một chuỗi 0 hoặc nhiều
ký hiệu, có thể có một chuỗi thay thế khác cho từng stack.
Hàm dịch chuyển cho k-stack machine có dạng:
δ(q,a,X1,X2,…,Xk) = (p,γ1, γ2,…, γk)
Để làm sáng tỏ qui tắc này là ở tại trạng thái q, với Xi trên đỉnh của stack thứ i,
với i =1,2, …k. máy có thể sử dụng ký hiệu a (có thể là ký hiệu vào hoặc ε) từ
5
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
input của nó, chuyển đến trạng thái p, và thay thế Xi trên đỉnh của stack thứ i
bởi chuỗi γi với i=1,2…,k. MM chấp nhận bởi việc đưa vào trạng thái cuối
cùng.
Thêm một khả năng xử lý dữ liệu vào đơn giản bởi máy đơn định này là: giả sử
có một ký hiệu đặc biệt $, gọi là endmarker (điểm đánh dấu kết thúc), mà chỉ
xuất hiện ở cuối chuỗi vào và không phải là một phần của input. Endmarker này
cho phép chúng ta nhận biết khi khôi phục tất cả input tồn tại.
Định lý: Nếu một ngôn ngữ L được chấp nhận bởi TM, thì L cũng được chấp
nhận bởi máy 2-stack.
Chứng minh:

Ý tưởng chính về bản chất của vấn đề là 2 stack có thể mô phỏng thành TM 1
băng, với 01 stạck chứa những gì của đầu đọc trái, stack còn lại chứa những gì
của đầu đọc phải ngoại trừ các chuỗi vô hạn các ký tự trắng ở hai đầu băng.
L(M) là ngôn ngữ của TM (một băng) M.
1. S bắt đầu từ điểm đánh dấu cuối stack của mỗi stack. Điểm đánh dấu này có
thể là ký tự bắt đầu cho các stack, và không xuất hiện bất cứ ở đâu khác
trong stacks. Và khi đó có thể nói rằng stack là rỗng khi nó chỉ chứa ký tự
endmarker.
2. Giả sử rằng w$ là chuỗi vào của S. S sao chép vào stack đầu tiên của nó và
sao chép cho đến khi đọc ký tự endmark trên chuỗi vào.
3. S sẽ pop mỗi ký hiệu trở ra từ stack đầu tiên của nó và đẩy vào stack thứ 2.
Và bây giờ stack thứ nhất là rỗng và stack thứ 2 chứa w với ký tự bên trái
cùng của w trên đỉnh stack.
4. S đưa vào trạng thái bắt đầu của M, nó rỗng ở stack thứ nhất. Nó thể hiện sự
kiện M không có gì cả nhưng các ký tự trống được duyệt ở bên trái đầu đọc
của băng. S có một stack thứ 2 chứa w, cho biết sự kiện w có ở bên phải đầu
đọc của băng của M
5. Số mô phỏng dịch chuyển của M như sau:
6
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
a. S nhận biết trạng thái của M, gọi là q, bởi vì S mô phỏng trạng thái
của M bằng điều khiển hữu hạn của chính nó.
b. S nhận biết ký hiệu X được đọc bởi đầu đọc trên băng của M, nó là
đỉnh của stack thứ 2 của S. Ngoại trừ khi stack thứ 2 chỉ còn ký hiệu
endmarker, thì M được dịch chuyển đến ký tự trống. S thông dịch ký
tự được đọc bởi M như là ký tự trống.
c. S nhận biết dịch chuyển tiếp theo của M
d. Trạng thái tiếp theo của M được ghi nhận trong thành phần của điều
khiển hữu hạn của S ở trạng thái trước đó.
e. Nếu M thay thế X bởi Y và dịch chuyển sang phải, S đẩy Y vào Stack

đầu tiên, điều này thể hiện bây giờ Y ở bên trái của đầu đọc của M. X
được lấy ra khỏi Stack thứ hai của S. tuy nhiên có 2 ngoại lệ:
i. Nếu stack thứ 2 rỗng (chỉ có endmarker – X là ký tự trắng) thì
stack thứ 2 sẽ không thay đổi. M được dịch chuyển sang ký tự
trắng khác bên phải.
ii. Nếu Y là ký tự trống, stack thứ nhất rỗng, thì stack giữ trạng
thái rỗng. trường hợp này bên trái đầu đọc của M vẫn là ký tự
rỗng.
f. Nếu M thay thế X bởi Y và chuyển sang trái, S lấy từ đỉnh của stack
thứ nhất, gọi là Z và thay thế X bởi ZY trên stack thứ 2. Vị trí bên trái
của đầu đọc bây giờ là vị trí của đầu đọc của M. Nếu Z là điểm đáy
của stack, M đẩy BY vào stack thứ 2 và không lấy ra từ stack thứ
nhất.
6. S chấp nhận nếu trạng thái mới M chấp nhận. S mô phỏng dịch chuyển khác
của M theo cách tương tự.
8.5.3 Counter Machines(Máy Đếm)
Máy đếm gồm 2 loại:
1. Máy đếm có cấu trúc như một máy đa tầng ( hình 8.20) nhưng trong mỗi
tầng điều có một bộ đếm.
7
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
Bộ chứa các số nguyên dương, nhưng ta chỉ có thể phân biệt được giữa các số đếm
0 và khác 0 có nghĩa là, sự biến đổi của bộ đếm tuỳ thuộc vào trạng thái của nó,
biểu tượng (dữ liệu) được nhập vào là những dữ liệu đó là bằng 0.
Trong 1 lần biến đổi, máy đếm có thể.
(a) Thay đổi trạng thái
(b) Tự do cộng vào hoặc trừ đi một từ bã từ dữ liệu nào của bộ đếm. tuy
nhiên, bộ đếm không được phép chuyển hoá thành số âm, do đó nó không thể trừ đi
một từ bộ đếm mà hiện đại đang bằng 0.
2. Máy đếm được xem như máy đa tầng có giới hạn. Sự giới hạn đó được giải

thích như sau:
(a) Chỉ có hai biểu tượng về tầng gọi là Z
0
( đáy tầng của độ đánh dấu) và X.
(b) Z
0
có mặt ở mỗi tầng ngay từ đầu.
(c) Ta chỉ có thể thay thế Z
0
bởi chuổi cấu trúc X
i
Z
0
nếu i lớn hơn hoặc
bằng 0.
(d) Ta chỉ có thể thay thế X bởi X
i
nếu i lớn hơn hoặc bằng 0; có nghĩa là, Z
0
chỉ
xuất hiện ở đáy của mỗi tầng, còn tất cả không biểu tượng (ký hiệu) về tầng khác
nếu có được gọi là X.
Ta sẽ sử dụng định nghĩa (1) cho máy đếm, nhưng 2 định nghĩa cũng đã xác định rõ
năng lượng tương đương của các máy đếm. Bởi vì chuổi X
i
Z
0
được xác định bởi bộ
đếm i. còn trong định nghĩa (2), ta có thể chỉ ra bộ đếm vì đổ mới bộ đếm 0, ta thấy
Z

0
nằm ở đỉnh tầng và hơn nữa ta cũng thấy X tuy nhiên, ta không thể phân biệt
được 2 bộ đếm dương vì cả 2 điều có X nằm ở đỉnh tầng.
Chương 8: giớ thiệu về máy Turing.
Phương pháp trong phần 8.1 là sử dụng “hello, world” như một công cụ thay
thế cho việc đồng ý hay dừng lại vì máy Turing xuất hiện trong những chú thích
chưa được xuất bản của S.Rudich.
1. “ Vấn đề không thể quyết định được trong lý thuyết sơ đẳng về số”
2. “ Máy Turing với phương pháp bộ nhớ hạn chế”.
3. chưa dịch
4.“ Về sự phức tạp có sử dụng điện toàn của thuật toán”
5. “ Chức năng đệ quy chung của số học tự nhiên”
8
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
6. “ Sự bất khả thi đệ quy về việc bổ sung dữ liệu của “tag” và những vấn đề khác
lý thuyết về máy Turing”
7. Qui trình kết nối xác định – công thức “.
8. Về số học điện thao thao tác điện toán với những ứng dụng đối với….
8.5.4 Chú ý rằng có thể sử dụng bộ điều khiển của máy đa năng nhiều ngăn để làm
cho mỗi mày hoạt động thì phải (đòi hỏi) tính đến r hay là ít hơn.
1. Trên đầu ngăn xếp, chúng ta phải thay thế i bằng i/r, hay bỏ đi một vài trình
nhắc nhở, đó là X1. Bắt đầu là con đếm thứ 3 ở vị trí 0, chúang ta làm một cách
đều đặn đếm i bởi r và tăng con đếm thứ 3 lên 1. Khi con đếm xuất phát từ i đến
0, chúng ta dừng lại. Sau đó chúng ta tăng lên một cách đều đặn con đếm có
xuất phát bởi 1 và giảm xuống con đếm thứ 3 bằng 1 mãi cho tới khi con đếm
thứ 3 trở về 0 một lần nửa. Lúc này con đếm được dùng để giữ i giữ i/r.
2. Để thay đổi X sang Y trên đỉnh của một ngăn được trình bày một cách đếm i,
chúng ta tăng hay giảm i bằng một số lượng nhỏ, chắc chắn rằng không hơn r.
Nếu Y lớn hơn X, như những con số, tăng i bởi Y-X; nếu Y nhỏ hơn X rồi thì
giảm i bằng X-Y.

3. Đưa X vào một ngăn mà giữ i ban đầu, chúng ta cần thay thế i bằng ir +X.
Chúng ta nhân đầu tiên bằng r. Để làm được điều này, việc tăng đều đặn con
đếm i bằng 1 và tăng con đếm thứ 3 (con đếm này bắt đầu từ 0, luôn luôn là như
vậy) bằng r. Khi con đếm ban đầu trở thành 0, chúng ta có ir trên con đếm thứ 3.
ghi con đếm thứ 3 đến con đếm đầu tiên làm con đếm thứ 3 trở về 0 một lần
nữa, như chúng ta đã làm trong mục (1). cuối cùng chúng ta tăgn con đếm gốc
bằng X.
Đế hoàn thành cấu trúc, chúng ta phải khởi tạo nhwxng con đếm để kích
hoạt những ngăn trong điều kiện ban đầu: chỉ cần giữ biểu tượng bắt đầu của 2 máy
ngăn - Bước này được hoàn thành bởi sự tăng lên của 2 con đếm liên quan đến một
vài số nguyên nhỏ, mà bất cứ số nguyên từ 1 đến r-1 thực thể biểu tượng ban đầu.
8.15 Mọi ngôn ngữ liệt kê đệ qui được chấp nhận bởi một máy có 2 con đếm
Nguồn gốc: Với những theorem trước, chúng ta phải trình bày làm như thế
nào để kích hoạt 3 con đếm với 2 con đếm. Khái niệm tiêu biểu 3 con đếm, nơi i, j
và k bởi số nguyên đơn lẻ. Số nguyên chúng ta chọn m=2
i
3
j
5
k
, một con đếm sẽ giữ
9
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
một con số này, trong khi những con khác dùng để trợ giúp nhân hay chia m bởi
một trong 3 nguyên thuỷ: 2, 3, và 5. Để tương tác máy có 3 con đếm, chúng ta cần
phải trình bày những hoạt động sau:
1. Tăng i, j và/hoặc k. Tăng i = 1 chúng ta nhân m với 2, chúng ta đã thấy gốc
của 8.14 nhân bằng cách nào 1 phép tính bằng 1 vài hằng số r, sử dụng con
đếm thứ 2. Như vậy chúng ta tăng j bằng cách nhân m với 3 và chúng ta tăng
k bằng cách nhân m với 5

2. Nói rằng, nếu bất kỳ con đếm nào của i,j và k là 0, chúng ta giảm bất cứ khi
nào m có thể chia hết cho 2. Chép m vào trong máy đếm 2, sử dụng máy
đếm để nhớ m có thể tăng bất cứ khi nào
Bài Tập: Mô tả máy đếm chấp nhận các ngôn ngữ sau. Trong mỗi trường hợp,
sử dụng nhiều nhất hai bộ đếm.
c) { 0
n
1
m
n ≥ m ≥1
d) { 0
n
1
m
|1 ≤ m ≤ n}
Bài giải:
Cho biết ID của máy Turing được mô tả trong hình bên dưới, nếu đầu vào của nó
là: 00011
# 0 0 0 1 1

.
10
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
Máy Turing chấp nhận ngôn ngữ {0
n
1
m
| n≥m≥1}
Trạng thái q
0

là trạng thái khởi tạo, và M cũng đi đến trạng thái q
0
mỗi khi nó quay
lại bên trái nhất giữ số 0. Nếu M ở trạng thái q
0
và đang quét một số 0, qui luật
trong góc trái-trên của Hình 1 nói lên rằng để đi đến trạng thái q
1
, thay số 0 thành
X, và di chuyển sang phải. Một khi đang trong trạng thái q
1
, M giữ việc di chuyển
sang phải khắp tất cả các ô số 0 và Y mà nó tìm thấy trong băng, giữ nguyên trạng
thái q
1
. Nếu M gặp một X thì nó chết. Tuy nhiên, nếu M gặp một số 1 khi trong
trạng thái q
1
, nó thay đổi 1 thành Y, đi đến trạng thái q
2
, và bắt đầu việc di chuyển
sang trái. Nếu M gặp B thì nó chuyển thành trạng thái q
3
, ghi B và sang phải. Nếu
M gặp số 0, thì nó lặp chu kỳ so khớp mà chúng ta vừa mô tả. Nếu M gặp Y, thì nó
đã thay đổi tất cả các ô số 0 thành X. Nếu tất cả các ô số 1 đã được chuyển thành Y,
thì đầu vào là mẫu 0
n
1
m

và M sẽ chấp nhận. Vì vậy M đi đến trạng thái q
3
.
Trọng trạng thái q
2,
M di chuyển sang trái qua các ô số 0 và Y, giữ
nguyên trạng thái q
2
. Khi M đến bên phải nhất của X, vị trí đánh dấu kết thúc bên
phải của khối các ô số 0 đã được huyển thành X, M trở về trạng thái q
0
và di chuyển
sang phải.
Theo qui luật trên, với đầu vào là 00011, ID của máy Turing M được trình
bày như sau:
- Khởi tạo máy Turing M ở trạng thái q
0
11
1→Y,L
Y→Y,L
0→0,L
0→0,R
0→X,R
YB→B,R
Y→Y,R
X→X,R
q
0
q
1

q
2
q
3
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
- ID khởi tạo của M là: q
0
00011
- Toàn bộ dãy của việc di chuyển M là:
q
0
00011 Xq
1
0011 X0q
1
011 X00q
1
11
X0q
2
0Y1
Xq
2
00Y1 q
2
X00Y1 Xq
0
00Y1
XXq
1

0Y1
XX0q
1
Y1 XX0Yq
1
1 XX0q
2
YY
XXq
2
0YY
Xq
2
X0YY XXq
0
0YY XXXq
1
YY
XXXYq
1
Y
XXXYYq
1
B XYYYBq
3
B
Mô tả sự hoạt động của máy đếm sử dụng hai ngăn xếp với đầu vào là chuỗi 00011
như sau:
Bài tập: Cho biết ID của máy Turing được mô tả trong hình 3 nếu đầu vào của
nó là:

000111
Trạng thái
Ký hiệu
0 1 X Y B
q
o
(q
1
, X, R) - - (q
3
, Y, R) -
q
1
(q
1
, 0, R) (q
2
, Y, L) - (q
1
, Y, R) -
q
2
(q
2
, 0, L) - (q
0
, X, R) (q
2
, Y, L) -
q

3
- - - (q
3
, Y, R) (q
4
, B, R)
q
4
- - - - -
Máy Turing chấp nhận {0
n
1
n
| n ≥ 1}
Bài giải:
Ta mô tả một TM: M=(Q,
Σ
,
Γ
,
δ
,q
0
,B,F)
Thành phần trên có nghĩa sau:
Q: Tập hữu hạn của các trạng thái của sự điều khiển có giới hạn.
Σ
: Tập hữu hạn của các ký hiệu đầu vào.
Γ
: Tập so sánh của các ký hiệu băng,

Σ
luôn luôn là một tập con của
Γ
.
δ
: Hàm chuyển trạng thái. Đối số của
δ
(q,X), nếu nó được định nghĩa, là một
bộ ba (p,Y,D):
12
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
1. p là trạng thái tiếp theo, trong Q.
2. Y là ký hiệu, trong
Γ
, được viết trong ô được quét, thay thế bất cứ ký
hiệu nào ở đó.
3. D là một sự điều khiển, cả L hay R, đang dứng bên “trái” hay “phải”,
và điều khiển đầu di chuyển.
q
0
: Trạng thái bắt đầu, một thành phần của Q, trong sự điều khiển có giới
hạn được tìm thấy lúc đầu.
B: Ký hiệu rỗng. Ký hiệu này trong
Γ
nhưng không trong
Σ
; ví dụ, nó là
một ký hiệu đầu vào. Ký hiệu rỗng xuất hiện lần đầu trong tất cả nhưng số
hữu hạn của các ô lúc đầu giữ các ký hiệu đầu vào.
F: Tập của các trạng thái cuối hoặc trạng thái chấp nhận, một tập con của Q.

Cho biểu đồ 8.9, TM M được mô tả cụ thể như sau:
M= ({q
0
,q
1
,q
2
,q
3
,q
4
),{0,1},{0,1,X,Y,B},
δ
,q
0
,B,{q
4
})
δ
được cho trong biểu đồ 8.9.
Biểu đồ trạng thái cho một TM thừa nhận các chuỗi dạng 0
n
1
n
như biểu đồ 8.9 là:
Trạng thái q
0
là trạng thái khởi tạo, và M cũng đi đến trạng thái q
0
mỗi khi nó

quay lại bên trái nhất giữ số 0. Nếu M ở trạng thái q
0
và đang quét một số 0, qui luật
trong góc trái-trên của hình 8.9 nói lên rằng để đi đến trạng thái q
1
, thay số 0 thành
X, và di chuyển sang phải. Một khi đang trong trạng thái q
1
, M giữ việc di chuyển
sang phải khắp tất cả các ô số 0 và Y mà nó tìm thấy trong băng, giữ nguyên trạng
thái q
1
. Nếu M gặp một X hoặc một B, nó chết. Tuy nhiên, nếu M gặp một số 1 khi
trong trạng thái q
1
, nó thay đổi 1 thành Y, đi đến trạng thái q
2
, và bắt đầu việc di
chuyển sang trái.
Trọng trạng thái q
2,
M di chuyển sang trái qua các ô số 0 và Y, giữ nguyên
trạng thái q
2
. Khi M đến bên phải nhất của X, vị trí đánh dấu kết thúc bên phải của
khối các ô số 0 đã được huyển thành X, M trở về trạng thái q
0
và di chuyển sang
phải. Có hai trường hợp:
Y / Y →

0 / 0 →
Y / Y ←
13
q
0
q
1
q
2
q
3
q
4
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
0 / 0 ←
Start 0 / X → 1/ Y ←
X / X →
Y / Y →

B / B →
Y / Y →
1. Nếu M gặp số 0, thì nó lặp chu kỳ so khớp mà chúng ta vừa mô tả.
2. Nếu M gặp Y, thì nó đã thay đổi tất cả các ô số 0 thành X. Nếu tất cả các ô
số 1 đã được chuyển thành Y, thì đầu vào là mẫu 0
n
1
n
, và M sẽ chấp nhận. Vì vậy
M đi đến trạng thái q
3

, và bắt đầu việc di chuyển sang phải, qua các ô Y. Nếu ký
hiệu đầu tiên khác với một Y mà M gặp là một ô rỗng, thì dẫn đến có sự bằng nhau
của các ô số 0 và các ô số 1, vì thế M đi đến trạng thái q
4
và chấp nhận. Theo cách
khác, nếu M bắt gặp số 1 khác, thì có quá nhiều ô số 1, vì thế M chết mà không
chấp nhận. Nếu nó bắt gập một số 0, thì đầu vào là trong hình thức sai và M cũng
chết.
Theo qui luật trên, với đầu vào là 000111, ID của máy Turing M được trình
bày như sau:
- Khởi tạo máy Turing M ở trạng thái q
0
- ID khởi tạo của M là: q
0
000111
- Toàn bộ dãy mô tả M là:
14
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
q
0
000111 Xq
1
00111 X0q
1
0111 X00q
1
111 X0q
2
0Y11 Xq
2

00Y11
q
2
X00Y11
Xq
0
00Y11 XXq
1
0Y11 XX0q
1
Y11 XX0Yq
1
11 XX0q
2
YY1 XXq
2
0YY1
Xq
2
X0YY1
XXq
0
0YY1 XXXq
1
YY1 XXXYq
1
Y1 XXXYYq
1
1 XXXYq
2

YY XXXq
2
YYY
XXq
2
XYYY
XXXq
0
YYY XXXYq
3
YY XXXYYq
3
Y XXXYYYq
3
B XXXYYYBq
4
B
Như vậy TM M đã được thừa nhận chuỗi 000111 .
Bài Tập:
Viết chuỗi mã hóa có thể cho máy Turing như hình sau
Hình 1. Một TM chấp nhận {0
n
1
n
| n≥1}
Bài giải
Sơ đồ trạng thái của TM ở hình 1 có thể biễu diễn như sau:
15
Stat
e

Symbol
q
0
(q
1
,X,R
)
0
1 X Y B
- -
(q
3
,Y,R
)
-
q
1
(q
1
,0,R
)
(q
2
,Y,L
)
-
(q
1
,Y,R
)

-
q
2
(q
2
,0,L
)
(q
0
,X,R
)
(q
2
,Y,L
)
-
-
q
3
(q
3
,Y,R
)
(q
4
,B,R
)
- - -
q
4

- - - - -
q
0
q
1
q
2
q
3
q
4
0/X→
Y/Y→
0/0→
1/Y¬
Y/Y→
0/0¬
X/X→
Y/Y¬
B/B→
Y/Y→
Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
TM gồm các luật:
1/ δ(q
0
,0)=(q
1
,X,R) 2/ δ(q
0
,Y)=(q

3
,Y,R) 3/ δ(q
1
,0)=(q
1
,0,R) 4/
δ(q
1
,1)=(q
2
,Y,L)
5/ δ(q
1
,Y)=(q
1
,Y,R) 6/ δ(q
2
,0)=(q
2
,0,L) 7/ δ(q
2
,X)=(q
0
,X,R) 8/
δ(q
2
,Y)=(q
2
,Y,L)
9/ δ(q

3
,Y)=(q
3
,Y,R) 10/ δ(q
0
,B)=(q
4
,B,R)
Ta đặt:
- Các trạng thái: q
1
, q
2
, q
3
, q
4
,

q
5
với q
0
= q
1
, q
1
= q
2
, q

2
= q
3
, q
3
= q
4
, q
4
= q
5

- Băng ký tự: X
1
, X
2
,

X
3
,

X
4
, X
5
với 0=X
1
, 1=X
2

, X=X
3
, Y=X
4
, B=X
5
- Hướng: L là D
1
, R là D
2
Mã của các luật:
1/ Với luật đầu tiên δ(q
0
,0)=(q
1
,X,R) có thể viết δ(q
1
,X
1
)=(q
2
,X
3
,D
2
)
thì i=1,j=1,k=2,l=3,m=2
Thì mã của nó là 0
1
10

1
10
2
10
3
10
2
hay 0101001000100
2/ Với luật δ(q
0
,Y)=(q
3
,Y,R) có thể viết δ(q
1
,X
4
)=(q
4
,X
4
,D
2
)
thì i=1,j=4,k=4,l=4,m=2
Thì mã của nó là 0
1
10
4
10
4

10
4
10
2
hay 0100001000010000100
3/ Với luật δ(q
1
,0)=(q
1
,0,R) có thể viết δ(q
2
,X
1
)=(q
2
,X
1
,D
2
)
thì i=2,j=1,k=2,l=1,m=2
Thì mã của nó là 0
2
10
1
10
2
10
1
10

2
hay 001010010100
4/ Với luật δ(q
1
,1)=(q
2
,Y,L) có thể viết δ(q
2
,X
2
)=(q
3
,X
4
,D
1
)
thì i=2,j=2,k=3,l=4,m=1
Thì mã của nó là 0
2
10
2
10
3
10
4
10
1
hay 0010010001000010
16

Tiểu Luận: Lý Thuyết Tính Toán GVHD: PGS. TS. Phan Huy Khánh
5/ Với luật δ(q
1
,Y)=(q
1
,Y,R) có thể viết δ(q
2
,X
4
)=(q
2
,X
4
,D
2
)
thì i=2,j=4,k=2,l=4,m=2
Thì mã của nó là 0
2
10
4
10
2
10
4
10
2
hay 001000010010000100
6/ Với luật δ(q
2

,0)=(q
2
,0,L) có thể viết δ(q
3
,X
1
)=(q
3
,X
1
,D
1
)
thì i=3,j=1,k=3,l=1,m=1
Thì mã của nó là 0
3
10
1
10
3
10
1
10
1
hay 0001010001010
7/ Với luật δ(q
2
,X)=(q
0
,X,R) có thể viết δ(q

3
,X
3
)=(q
1
,X
3
,D
2
)
thì i=3,j=3,k=1,l=3,m=2
Thì mã của nó là 0
3
10
3
10
1
10
3
10
2
hay 0001000101000100
8/ Với luật δ(q
2
,Y)=(q
2
,Y,L) có thể viết δ(q
3
,X
4

)=(q
3
,X
4
,D
1
)
thì i=3,j=4,k=3,l=4,m=1
Thì mã của nó là 0
3
10
4
10
3
10
4
10
1
hay 0001000010001000010
9/ Với luật δ(q
3
,Y)=(q
3
,Y,R) có thể viết δ(q
4
,X
4
)=(q
4
,X

4
,D
2
)
thì i=4,j=4,k=4,l=4,m=2
Thì mã của nó là 0
4
10
4
10
4
10
4
10
2
hay 0000100001000010000100
10/ Với luật δ(q
0
,B)=(q
4
,B,R) có thể viết δ(q
1
,X
5
)=(q
5
,X
5
,D
2

)
thì i=1,j=5,k=5,l=5,m=2
Thì mã của nó là 0
1
10
5
10
5
10
5
10
2
hay 0100000100000100000100
Vậy mã của TM là:
0101001000100110100001000010000100110010100101001100100100010000101
1001000010010000100110001010001010110001000101000100110001000010001
000010110000100001000010000100110100000100000100000100
17

×