Máy Turing, các biến thể của máy Turing, máy học, học má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.
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN - - BÀI TIỂU LUẬN Môn: LÝ THUYẾT TÍNH TOÁN Đề tài: CÁC BIẾN THỂ CỦA MÁY TURING (Chương 8: Mục 8.4) GVHD: PGS TS Phan Huy Khánh HVTH: LỚP : Khoa học máy tính - K31 Đà Nẵng, tháng 12/2014 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh MỤC LỤC LỜI MỞ ĐẦU I.2 ĐỊNH NGHĨA: CHƯƠNG II CÁC BIẾN THỂ CỦA MÁY TURING II.1 MÁY TURING NHIỀU BĂNG: II.1.1 Máy Turing với băng vô hạn hai chiều II.2 SỰ TƯƠNG ĐƯƠNG CỦA MÁY TURING MỘT BĂNG VÀ NHIỀU BĂNG 12 II.3 THỜI GIAN THỰC HIỆN VÀ CHUYỂN TM NHIỀU BĂNG VỀ TM MỘT BĂNG 13 II.4 MÁY TURING KHÔNG ĐƠN ĐỊNH 14 CHƯƠNG III BÀI TẬP 15 KẾT LUẬN .19 TÀI LIỆU THAM KHẢO 20 HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh LỜI MỞ ĐẦU Lý thuyết tính toán tảng lý thuyết thông tin tính toán để tạo thực thi ứng dụng hệ thống máy tính Nó nghiên cứu khả tính toán áp dụng loại máy tính hành Nguyên lý phát triển Alan Turing nhà khoa học khác Nó cung cấp kiến thức máy tính như: Các máy truy cấp ngẫu nhiên, ôtômát hữu hạn trạng thái, ngôn ngữ hình thức văn phạm sử dụng, lý thuyết độ phức tạp tính toán, lý thuyết ước tính, mô hình máy Turing, hàm đệ quy, … Trong khuôn khổ đề tài (Chương 8, mục 8.4), nhóm trình bày hiểu biết “Các biến dạng máy Turing” Bài tiểu luận gồm nội dung sau: [1] Giới thiệu mô hình máy Turing [2] Các biến dạng máy Turing [3] Giải tập Mặc dù nghiên cứu kỹ phần lý thuyết để có cách giải tập đắn tránh khỏi thiếu sót, kính mong nhận đóng góp ý kiến Thầy giáo hướng dẫn PGS TS Phan Huy Khánh để đề tài tốt Chúng 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 hướng dẫn để hoàn thành tiểu luận Đà Nẵng, tháng 12 năm 2014 Học viên thực Vũ Long Lương Duy Bảo Nguyễn Thị Mai Thủy HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh CHƯƠNG I GIỚI THIỆU MÔ HÌNH MÁY TURING MÔ HÌNH MÁY TURING (TM) Một mô hình, hình thức cho thủ tục hiệu có đặc tính cụ thể Đầu tiên, thủ tục mô tả cách hữu hạn Tiếp đó, thủ tục phân thành số bước độc lập, mà bước thực thi vấn đề Nguyên tắc hình thức mô hình máy Turing Máy Turing có băng nhớ, dùng để ghi loại liệu (dữ liệu nhập, liệu dùng cho việc điều khiển tương tự chương trình máy tính kết trung gian làm việc) Với điều khiển chứa số hữu hạn trạng thái, TM ôtômát khác, làm việc theo lối "ngắt quãng" theo bước chuyển I.1 MÔ TẢ TM: Máy Turing có nhiều dạng đồng khả năng, nghĩa có nhiều mô hình định nghĩa khác cho máy Turing tất chúng tương đương Song, nói chung mô hình máy Turing gồm : - Một điều khiển hữu hạn - Một băng chia thành ô - Một đầu đọc-viết, lần đọc duyệt qua ô băng để đọc hay viết ký hiệu Mỗi ô giữ ký hiệu số hữu hạn ký hiệu băng (các ký hiệu phép viết băng) Khởi đầu xem n ô bên trái băng (n ≥ 0) giữ chuỗi nhập (input), chuỗi nhập chuỗi ký tự chọn từ tập hợp tập hợp ký hiệu băng, tập hợp gọi tập ký hiệu nhập Phần lại băng coi có vô hạn khoảng trống, ký hiệu B (Blank), B ký hiệu đặc biệt băng ký hiệu nhập Hình - Mô tả TM Mỗi bước chuyển máy Turing, phụ thuộc vào ký hiệu đầu đọc đọc băng trạng thái điều khiển, máy thực bước sau : HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh 1) Chuyển trạng thái 2) In ký hiệu băng ô duyệt (nghĩa thay ký hiệu đọc băng ký hiệu đó) 3) Dịch chuyển đầu đọc-viết (sang trái (L), sang phải (R) đứng yên(∅)) I.2 ĐỊNH NGHĨA: Một cách hình thức, ta định nghĩa máy Turing (TM) sau : Định nghĩa: TM hệ thống M (Q, Σ, Γ, δ, q0, B, F), đó: Q : tập hữu hạn trạng thái Σ: ký hiệu nhập Γ : tập hữu hạn ký tự phép viết băng B : ký hiệu thuộc Γ dùng khoảng trống băng (Blank) δ : hàm chuyển ánh xạ : Q × Γ → Q × Γ × {L, R, ∅} (δ không xác định với vài đối số) q0 ∈ Q trạng thái bắt đầu F ⊆ Q tập trạng thái kết thúc Hình thái TM (Instantaneous description_ID) Một hình thái máy Turing M cho α1 q α2 Trong q trạng thái hành M; α1α2 ∈ Γ* nội dung băng tính từ đầu băng ký hiệu khác Blank bên phải băng Giả sử Q Γ rời nhau: đầu đọc đọc ký hiệu bên trái α2 α2 = ε đầu đọc đọc Blank Hàm chuyển Ta định nghĩa phép chuyển trạng thái TM sau: Đặt X1X2 Xi-1 q Xi Xn ID + Giả sử δ(q, Xi) = (p, Y, L), đó: - Nếu i - = n Xi B - Nếu i =1 ID kế tiếp, nghĩa đầu đọc không phép vượt qua cận trái băng - Nếu i > ta viết : X1X2 Xi-1 q Xi Xn ⊢ X1X2 Xi-2 p Xi-1Y Xi+1 Xn + Tương tự δ(q, Xi) = (p, Y, R) ta viết : X1X2 Xi-1 q Xi Xn ⊢M X1X2 Xi-1 Yp Xi+1 Xn + Tương tự δ(q, Xi) = (p, Y, ∅) ta viết : X1X2 Xi-1 q Xi Xn ⊢M X1X2 Xi-1 pY Xi+1 Xn HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh Chú ý i - = n chuỗi Xi Xn rỗng vế phải dài vế trái, nghĩa TM M mở rộng chuỗi ký hiệu băng Nếu hai ID quan hệ ⊢M ta nói ID thứ hai kết ID thứ lần chuyển, bước áp dụng hàm chuyển (hoặc nói thứ hai thu từ thứ lần chuyển) Nếu ID thu từ ID khác số lần chuyển (có thể 0) ta ký hiệu quan hệ ⊢M* Ta bỏ ký hiệu M cách viết quan hệ nhầm lẫn Ngôn ngữ chấp nhận TM Ký hiệu L(M): tập hợp chuỗi Γ* nguyên nhân đưa TM M vào trạng thái kết thúc thực việc thay từ bên trái ký hiệu băng M với trạng thái bắt đầu q0 Một cách hình thức, ta định nghĩa tập hợp ngôn ngữ chấp nhận TM M (Q, ∑, Γ, δ, q0, B, F) tập L(M) = { w | w ∈ Γ* q0 w ⊢M* α1 p α2 với p ∈ F α1α2 ∈ Γ*} Cho TM nhận diện ngôn ngữ L cho từ L vào TM xem TM có chấp nhận từ không TM dừng vào trạng thái kết thúc ∈ F (không có phép chuyển kế tiếp) từ chấp nhận, TM không chấp nhận từ TM ngừng trạng thái ∉ F chạy mà không dừng lại Ví dụ : Thiết kế TM chấp nhận ngôn ngữ L = { 0n1n | n ≥ 1} Khởi đầu TM chứa 0n1n bên trái băng sau vô hạn khoảng trống Blank TM lặp lại trình sau: - M thay bên trái X chuyển sang phải tới trái nhất, TM thay Y dịch chuyển bên trái gặp X phải chuyển sang phải ô (tới trái nhất) tiếp tục lặp chu trình - Nếu dịch chuyển sang phải để tìm mà TM gặp Blank TM dừng không chấp nhận input Tương tự, TM thay hết X kiểm tra băng TM dừng không chấp nhận input - TM chấp nhận input không ký hiệu băng Đặt TM M (Q, ∑, Γ, δ, q0, B, F) với thành phần : Q = {q0, q1, q2, q3, q4}; ∑= {0, 1}; Γ = {0, 1, X, Y, B} F = {q4} Ta hình dung trạng thái câu lệnh nhóm câu lệnh chương trình Trạng thái q0 trạng thái khởi đầu làm cho ký HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh hiệu bên trái thay X Trạng thái q1 dùng để tiến sang phải bỏ qua số Y để tìm bên trái Nếu M tìm thấy thay Y vào trạng thái q2 Trạng thái q2 đưa M tiến sang trái X vào trạng thái q0, dịch chuyển sang phải để tới bên trái tiếp tục chu trình Khi M tiến sang phải trạng thái q1, B X tìm thấy trước input bị loại bỏ (không chấp nhận) có chứa nhiều ký hiệu input dạng 0*1* Trạng thái q0 có vai trò khác Nếu trạng thái q2 tìm thấy X bên phải sau Y số xét hết, trạng thái bắt đầu chu trình q0 không tìm thấy ký hiệu để thay thành X mà gặp Y TM vào trạng thái q3 duyệt qua Y để kiểm tra có hay ký hiệu lại Nếu theo sau Y B, nghĩa băng nhập không ký hiệu TM vào q4 (trạng thái kết thúc) để chấp nhận input Ngược lại input bị loại bỏ Hàm chuyển δ cho bảng sau : Các phép chuyển hình thái TM M input 0011 : q00011 ⊢ Xq1011 ⊢ X0q111 ⊢ X q20Y1 ⊢ q2X0Y1 ⊢ X q00Y1 ⊢ XXq1Y1 ⊢ XXY q11 ⊢ XX q2YY ⊢ X q2XYY ⊢ XX q0YY ⊢ XXYq3Y ⊢ XXYYq3 ⊢ XXYYq4 Nhận xét: Như vậy, ta dễ dàng thấy, TM khác với ôtômát hữu hạn chỗ đầu đọc-viết dịch chuyển tự băng, đọc mà có khả viết băng vùng làm việc mở rộng theo yêu cầu phát sinh TM khác với ôtômát đẩy xuống chỗ không dùng thêm Stack giữ nhớ mà viết ký hiệu cần ghi nhớ băng HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh CHƯƠNG II CÁC BIẾN THỂ CỦA MÁY TURING Một số biến thể máy Turing, chúng phức tạp tinh vi hơn, song thực tế chúng tương đương với mô hình TM nghiên cứu phần trước II.1 MÁY TURING NHIỀU BĂNG: Một cách hình thức máy TM nhiều băng tương tự máy TM băng , bao gồm 7-bộ (Q, ∑, Γ, δ, q0, B, F), với định nghĩa trên, riêng : Q x → Q x x {L, R}k hàm dịch chuyển máy với k băng (1 ≤ k) Hình - Mô tả máy Turing nhiều băng II.1.1 Máy Turing với băng vô hạn hai chiều Máy Turing với băng vô hạn hai chiều tương tự mô hình gốc (TM vô hạn chiều băng), khác băng cận trái mô hình gốc, nghĩa ta xem TM có vô hạn Blank hai đầu băng Vì hàm δ mở rộng thêm cách xét thêm trường hợp đặc biệt cận trái sau : Nếu δ(q, X) = (p, Y, L) qXα ⊢ pBYα Nếu δ(q, X) = (p, B, R) qXα ⊢ pα HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh ĐỊNH LÝ 1: Nếu L nhận diện TM với băng vô hạn hai chiều L nhận diện TM vô hạn chiều băng Chứng minh Gọi M2 TM với băng vô hạn hai chiều M2 (Q2, Σ2, Γ2, δ2, q2, B, F2) nhận diện L Ta xây dựng M1 TM vô hạn chiều băng nhận diện L Băng M có rãnh: - Rãnh biểu diễn cho băng M2 phía phải đầu đọc lúc khởi đầu - Rãnh biểu diễn cho băng phía trái đầu đọc lúc khởi đầu theo thứ tự ngược lại A-5 A-4 A-3 A-2 (a) - Băng M2 A-1 A0 A1 A2 A3 A4 A5 A0 A1 A2 A3 A4 A5 ⊄ A-1 A-2 A-3 A-4 A-5 (b) - Băng M1 Hình - Băng nhập TM M2 M1 M1 thực phép chuyển tương tự M2 M2 thực phép chuyển phía phải đầu đọc M1 làm việc với rãnh trên, M2 thực phép chuyển bên trái đầu đọc M1 làm việc rãnh Một cách hình thức M1 (Q1, Σ1, Γ1, δ1, q1, B, F1), : Q1 tập hợp đối tượng dạng [q, U] [q, D], q trạng thái Q2, U, D dùng M1 làm việc với rãnh (Up) hay rãnh (Down) Các ký hiệu băng M1 (các ký hiệu thuộc Γ1) có dạng [X, Y] X, Y thuộc Γ2, Y ⊄ ký hiệu Γ2 dùng để đánh dấu ô trái băng M1 1 tập hợp đối tượng dạng [a, B] a ∈ Γ2 F1 = {[q, U], [q, D]⎟ q ∈ F2} Hàm chuyển δ1 có dạng sau: 1) δ1(q1, [a, B]) = ([q, U], [X, ⊄], R) δ2(q2, a) = (q, X, R) Nếu M2 chuyển sang phải lần chuyển M in ⊄ rãnh dưới, ghi nhớ U vào thành phần thứ hai trạng thái dịch phải Thành phần HVTH: … Trang LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh thứ trạng thái lưu trạng thái M2 M1 in X (ký hiệu mà M2 in ra) rãnh 2) ∀a ∈ Σ2 U {B} : δ1(q1, [a, B]) = ([q, D], [X, ⊄], R) δ2(q2, a) = (q, X, L) Nếu M2 chuyển sang trái lần chuyển M1 in ⊄ rãnh dưới, ghi nhớ D vào thành phần thứ hai trạng thái dịch phải Thành phần thứ trạng thái lưu trạng thái M2 M1 in X (ký hiệu mà M2 in ra) rãnh 3) ∀ [X, Y] ∈Γ1, với Y ≠ ⊄ A = L R : δ1([q, U], [X, Y]) = ([p, U], [Z, Y], A) δ2(q, X) = (p, Z, A) M1 rãnh thực tương tự M2 4) δ1([q, D], [X, Y]) = ([p, D], [X, Z], A) δ2(q, Y) = (p,Z,A) (Trong A = L A = R A = R A = L) Ở rãnh dưới, M1 làm tương tự M2 dịch chuyển đầu đọc theo hướng ngược lại 5) δ1([q, U], [X, ⊄]) = δ1([q, D], [X, ⊄]) = ([p, C], [Y,⊄], R] δ2(q, X) = (p, Y, A) (Trong C = U A = R, C = D A = L) M1 làm tương tự M2 ô khởi đầu, công việc M1 thực rãnh hay phụ thuộc vào hướng chuyển đầu đọc M2 II.1.2 Máy Turing với nhiều băng vô hạn hai chiều Xét máy Turing có điều khiển có k đầu đọc k băng vô hạn hai chiều Mỗi phép chuyển máy Turing, phụ thuộc vào trạng thái điều khiển ký tự đọc đầu đọc, thực bước sau : 1) Chuyển trạng thái 2) In ký hiệu đầu đọc để thay ký hiệu vừa đọc 3) Đầu đọc giữ nguyên vị trí dịch trái dịch phải ô cách độc lập Khởi đầu input xuất băng thứ nhất, băng khác toàn Blank Một máy Turing gọi máy Turing với nhiều băng vô hạn hai chiều HVTH: … Trang 10 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh ĐỊNH LÝ : Nếu L nhận dạng máy Turing nhiều băng vô hạn hai chiều nhận dạng máy Turing băng vô hạn hai chiều Chứng minh Giả sử L nhận diện máy Turing k băng vô hạn hai chiều M1, ta xây dựng máy Turing M2 băng với 2k rãnh, rãnh mô băng M1 cách: rãnh giữ ký hiệu băng M1 rãnh giữ ký hiệu đánh dấu vị trí đầu đọc Mỗi phép chuyển M1 mô M2 sau: M2 xuất phát vị trí trái chứa ký hiệu đánh dấu đầu đọc, M2 quét sang phải, qua ô có đánh dấu vị trí đầu đọc ghi nhớ ký hiệu vị trí đếm số vị trí đầu đọc gặp Khi M2 sang phải đếm đủ k đầu đọc có đủ thông tin để xác định phép chuyển tương tự M1, M2 lại quét từ phải sang trái, ngang qua ô có đánh dấu đầu đọc in ký hiệu thay ký hiệu đầu đọc (như M1) chuyển vị trí đánh dấu đầu đọc (như M1 chuyển đầu đọc nó) Cuối M2 đổi trạng thái điều khiển thành trạng thái mà M1 chuyển tới Ví dụ : Ngôn ngữ {ww ⎜w ∈ (0+1)*} chấp nhận máy Turing có băng cách sau: Đầu tiên, chép lại chuỗi nhập băng thứ lên băng thứ hai Sau đó, băng thứ đầu đọc chuyển dần từ cận trái sang cận phải chuỗi, băng thứ hai đầu đọc lại chuyển HVTH: … Trang 11 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh ngược lại từ cận phải sang cận trái chuỗi Chuỗi chấp nhận suốt trình đó, ký hiệu đọc băng luôn đồng Như ta biết, để đoán nhận ngôn ngữ TM băng đầu đọc phải dịch chuyển tới lui nhiều lần để so sánh hai nửa chuỗi nhập từ hai đầu băng Như vậy, số bước dịch chuyển xấp xỉ bình phương độ dài chuỗi nhập, TM với băng nhập cần thực số bước chuyển tỷ lệ với độ dài chuỗi nhập II.2 SỰ TƯƠNG ĐƯƠNG CỦA MÁY TURING MỘT BĂNG VÀ NHIỀU BĂNG Các ngôn ngữ liệt kê đệ qui định nghĩa cho máy TM băng, điều chắn rằng, TM nhiều băng chấp nhận ngôn ngữ liệt kê đệ qui TM băng TM nhiều băng Trong trường hợp ngôn ngữ liệt kê đệ qui TM nhiều băng có chấp nhận hay không? Câu trả lời không, điều chứng minh qua việc mô TM nhiều băng TM băng ĐỊNH LÝ 3: Mọi ngôn ngữ chấp nhận TM nhiều băng ngôn ngữ liệt kê đệ qui Chứng minh: Giả sử L chấp nhận k-băng TM M Mô M TM N băng với 2k rãnh (tracks) Một track chứa băng M, nửa lại chứa marker (điểm đánh dấu ) mà đầu đọc M trỏ đến Xét trường hợp k=2 track thứ track thứ tư chứa nội dung băng thứ băng thứ M track giữ vị trí đầu đọc băng 1, track giữ vị trí đầu đọc băng thứ HVTH: … Trang 12 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh Hình Mô TM băng TM băng Để mô dịch chuyển M, đầu đọc N phải viếng thăm k điểm đánh dấu đầu đọc M N phải ghi nhớ tất điểm đánh dấu đầu đọc M (k băng) bên trái nó, việc đếm lưu trữ thành phần điều khiển hữu hạn N Sau thăm điểm đánh dấu lưu trữ ký hiệu đọc vào thành phần điều khiển hữu hạn nó, N nhận biết ký hiệu băng đọc vào đầu đọc M N nhận biết trạng thái M Bây N thăm lại điểm đánh dấu đầu đọc băng nó, việc thay đổi ký hiệu rãnh tương ứng với băng M dịch chuyển đầu đọc sang trái, sang phải đứng yên Vậy N thay đổi trạng thái M việc ghi lại điều khiển hữu hạn Và N mô dịch chuyển M Vậy N chấp nhận trạng thái tất trạng thái M việc chấp nhận trạng thái Như vậy, M chấp nhận N chấp nhận ngược lại II.3 THỜI GIAN THỰC HIỆN VÀ CHUYỂN TM NHIỀU BĂNG VỀ TM MỘT BĂNG ĐỊNH LÝ 4: Thời gian thực hiển máy TM băng N mô n lần dịch chuyển TM k-băng M O(n2) Chứng minh: Sau n lần dịch chuyển M, điểm đánh dấu đầu đọc băng chia nhiều 2n cells Nếu N bắt đầu vị trí bên trái điểm đánh dấu, phải dịch chuyển không 2n cells sang phải để tìm tất HVTH: … Trang 13 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh điểm đánh dấu đầu đọc (head maker) Nó duyệt ngược lại thay đổi nội dung băng M dịch chuyển đầu đọc trái phải cần điều cần 2n lần dịch chuyển sang trái cộng với 2k lần quay lui ghi giá trị đánh dấu X vào ô bên phải Như vậy, số lần dịch chuyển mà N cần để mô n dịch chuyển không nhiều 4n + 2k k số, độ phức tạp O(n) Do đó, để mô n dịch chuyển O(n2) II.4 MÁY TURING KHÔNG ĐƠN ĐỊNH Có thể định nghĩa cách hình thức, máy TM không đơn định bao gồm bộ: M (Q, ∑, Γ , δ, q0, B, F), đó: Q : tập hữu hạn trạng thái ∑: ký hiệu nhập Γ : tập hữu hạn ký tự phép viết băng B : ký hiệu thuộc Γ dùng khoảng trống băng (Blank) δ : hàm chuyển ánh xạ : Q × Γ → P(Q × Γ × {L, R, ∅} ) q0 ∈ Q trạng thái bắt đầu F ⊆ Q tập trạng thái kết thúc Ρ (Q x x {L, R}) tập hợp tất tập hợp (Q x x {L, R}) Máy Turing không đơn định có mô hình tương tự mô hình gốc điểm khác biệt chỗ lần chuyển, máy Turing lựa chọn số hữu hạn trạng thái kế tiếp, lựa chọn hướng chuyển đầu đọc, lựa chọn ký hiệu in băng để thay ký hiệu vừa đọc Máy Turing mô hình gốc gọi máy Turing đơn định (mỗi lần chuyển trạng thái) ĐỊNH LÝ : Nếu L chấp nhận máy Turing không đơn định M1 L chấp nhận máy Turing đơn định M2 Chứng minh Với trạng thái ký hiệu băng M 1, có số hữu hạn phép chuyển đến trạng thái kế tiếp, ta đấnh số trạng thái 1, 2, Gọi r số lớn số cách lựa chọn với cặp trạng thái ký kiệu Ta có, dãy phép chuyển trạng thái HVTH: … Trang 14 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh dãy chứa số từ đến r Ngược lại dãy hữu hạn gồm số từ đến r biểu diễn cho dãy phép chuyển không M2 thiết kế có ba băng: Băng chứa input Băng sinh dãy chứa số từ đến r cách tự động theo tính chất dãy ngắn sinh trước, dãy độ dài sinh theo thứ tự liệt kê số (numerical order) Băng dùng chép input băng vào để xử lý: với số sinh băng 2, M2 chép input băng vào băng thực phép chuyển theo dãy số băng Nếu có chuỗi băng làm cho M vào trạng thái kết thúc M2 dừng chấp nhận input Nếu chuỗi M không chấp nhận input Tất nhiên M2 chấp nhận input M1 chấp nhận input CHƯƠNG III BÀI TẬP Bài 1: Thiết kế TM chấp nhận ngôn ngữ L = { 0n1n | n ≥ 1} Khởi đầu TM chứa 0n1n bên trái băng sau vô hạn khoảng trống Blank TM lặp lại trình sau: - M thay bên trái X chuyển sang phải tới trái nhất, TM thay Y dịch chuyển bên trái gặp X phải chuyển sang phải ô (tới trái nhất) tiếp tục lặp chu trình - Nếu dịch chuyển sang phải để tìm mà TM gặp Blank TM dừng không chấp nhận input Tương tự, TM thay hết X kiểm tra băng TM dừng không chấp nhận input - TM chấp nhận input không ký hiệu băng Đặt TM M (Q, ∑, Γ, δ, q0, B, F) với thành phần : Q = {q0, q1, q2, q3, q4}; ∑= {0, 1}; Γ = {0, 1, X, Y, B} F = {q4} Ta hình dung trạng thái câu lệnh nhóm câu lệnh chương trình Trạng thái q0 trạng thái khởi đầu làm cho ký hiệu bên trái thay X Trạng thái q dùng để tiến sang phải HVTH: … Trang 15 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh bỏ qua số Y để tìm bên trái Nếu M tìm thấy thay Y vào trạng thái q2 Trạng thái q2 đưa M tiến sang trái X vào trạng thái q0, dịch chuyển sang phải để tới bên trái tiếp tục chu trình Khi M tiến sang phải trạng thái q 1, B X tìm thấy trước input bị loại bỏ (không chấp nhận) có chứa nhiều ký hiệu input dạng 0*1* Trạng thái q0 có vai trò khác Nếu trạng thái q2 tìm thấy X bên phải sau Y số xét hết, trạng thái bắt đầu chu trình q0 không tìm thấy ký hiệu để thay thành X mà gặp Y TM vào trạng thái q3 duyệt qua Y để kiểm tra có hay ký hiệu lại Nếu theo sau Y B, nghĩa băng nhập không ký hiệu TM vào q (trạng thái kết thúc) để chấp nhận input Ngược lại input bị loại bỏ Hàm chuyển δ cho bảng sau : Các phép chuyển hình thái TM M input 0011: q00011 ⊢ Xq1011 ⊢ X0q111 ⊢ X q20Y1 ⊢ q2X0Y1 ⊢ X q00Y1 ⊢ XXq1Y1 ⊢ XXY q11 ⊢ XX q2YY ⊢ X q2XYY ⊢ XX q0YY ⊢ XXYq3Y ⊢ XXYYq3 ⊢ XXYYq4 Bài Máy Turing với băng vô hạn hai chiều tương tự mô hình gốc (TM vô hạn chiều băng), khác băng cận trái mô hình gốc, nghĩa ta xem TM có vô hạn Blank hai đầu băng Vì hàm δ mở rộng thêm cách xét thêm trường hợp đặc biệt cận trái sau : Nếu δ(q, X) = (p, Y, L) qXα ⊢ pBYα Nếu δ(q, X) = (p, B, R) qXα ⊢ pα HVTH: … Trang 16 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh Yêu cầu Chứng minh: Nếu L nhận diện TM với băng vô hạn hai chiều L nhận diện TM vô hạn chiều băng Gọi M2 TM với băng vô hạn hai chiều M (Q2, Σ2, Γ2, δ2, q2, B, F2) nhận diện L Ta xây dựng M1 TM vô hạn chiều băng nhận diện L Băng M có rãnh: - Rãnh biểu diễn cho băng M2 phía phải đầu đọc lúc khởi đầu - Rãnh biểu diễn cho băng phía trái đầu đọc lúc khởi đầu theo thứ tự ngược lại M1 thực phép chuyển tương tự M2 M2 thực phép chuyển phía phải đầu đọc M làm việc với rãnh trên, M2 thực phép chuyển bên trái đầu đọc M1 làm việc rãnh Một cách hình thức M1 (Q1, Σ1, Γ1, δ1, q1, B, F1), : Q1 tập hợp đối tượng dạng [q, U] [q, D], q trạng thái Q2, U, D dùng M1 làm việc với rãnh (Up) hay rãnh (Down) Các ký hiệu băng M1 (các ký hiệu thuộc Γ1) có dạng [X, Y] X, Y thuộc Γ2, Y ⊄ ký hiệu Γ2 dùng để đánh dấu ô trái băng M1 Σ1 tập hợp đối tượng dạng [a, B] a ∈ Γ2 F1 = {[q, U], [q, D]÷ q F2} Hàm chuyển δ1 có dạng sau: 1) HVTH: … δ1(q1, [a, B]) = ([q, U], [X, ⊄], R) δ2(q2, a) = (q, X, R) Trang 17 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh Nếu M2 chuyển sang phải lần chuyển M in ⊄ rãnh dưới, ghi nhớ U vào thành phần thứ hai trạng thái dịch phải Thành phần thứ trạng thái lưu trạng thái M2 M1 in X (ký hiệu mà M2 in ra) rãnh 1) 2) ∀a Σ2 U {B} : δ1(q1, [a, B]) = ([q, D], [X, ⊄], R) δ2(q2, a) = (q, X, L) Nếu M2 chuyển sang trái lần chuyển M in ⊄ rãnh dưới, ghi nhớ D vào thành phần thứ hai trạng thái dịch phải Thành phần thứ trạng thái lưu trạng thái M2 M1 in X (ký hiệu mà M2 in ra) rãnh 3) ∀ [X, Y] ∈Γ1, với Y ≠ ⊄ A = L R : δ1([q, U], [X, Y]) = ([p, U], [Z, Y], A) δ2(q, X) = (p, Z, A) M1 rãnh thực tương tự M2 4) δ1([q, D], [X, Y]) = ([p, D], [X, Z], A) δ2(q, Y) = (p, Z, ) (Trong A = L = R A = R = L) Ở rãnh dưới, M1 làm tương tự M2 dịch chuyển đầu đọc theo hướng ngược lại 5) δ1([q, U], [X, ⊄]) = δ1([q, D], [X, ⊄]) = ([p, C], [Y,⊄], R] δ2(q, X) = (p, Y, A) (Trong C = U A = R, C = D A = L) M1 làm tương tự M2 ô khởi đầu, công việc M1 thực rãnh hay phụ thuộc vào hướng chuyển đầu đọc M2 HVTH: … Trang 18 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh KẾT LUẬN Được giúp đỡ tận tình thầy giáo ý kiến đóng góp anh (chị) lớp, nhóm hoàn thành xong tiểu luận Nhóm đạt số kết định: Biết cách mô tả máy Turing Biết biến dạng máy Turing Giải số tập Tuy nhiên thời gian khả hạn chế nên đề tài dừng lại mức độ tìm hiểu thiếu xót Nhóm mong giúp đỡ, đóng góp ý kiến PGS.TS Phan Huy Khánh anh (chị) lớp để đề tài hoàn thiện hơn! Nhóm xin chân thành cảm ơn! Đà nẵng, tháng 12/2014 HVTH: … Trang 19 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh TÀI LIỆU THAM KHẢO TS Phan Huy Khánh (1999), Lý thuyết tính toán John C Martin (1996), Introduction to languages and the theory of computation, North Dakota State University, Singapore - HVTH: … Trang 20 ... máy Turing GVHD: PGS.TS Phan Huy Khánh MỤC LỤC LỜI MỞ ĐẦU I.2 ĐỊNH NGHĨA: CHƯƠNG II CÁC BIẾN THỂ CỦA MÁY TURING II.1 MÁY TURING NHIỀU BĂNG: II.1.1 Máy Turing. .. toàn Blank Một máy Turing gọi máy Turing với nhiều băng vô hạn hai chiều HVTH: … Trang 10 LTTT: Các biến thể máy Turing GVHD: PGS.TS Phan Huy Khánh ĐỊNH LÝ : Nếu L nhận dạng máy Turing nhiều băng... thay ký hiệu vừa đọc Máy Turing mô hình gốc gọi máy Turing đơn định (mỗi lần chuyển trạng thái) ĐỊNH LÝ : Nếu L chấp nhận máy Turing không đơn định M1 L chấp nhận máy Turing đơn định M2 Chứng