Tiểu luận môn học lý thuyết tính toán THE TURING MACHINE

18 372 0
Tiểu luận môn học lý thuyết tính toán THE TURING MACHINE

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tiểu luận Lý thuyết tính tốn BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TIỂU LUẬN MÔN HỌC LÝ THUYẾT TÍNH TỐN ĐỀ TÀI: 8.2 THE TURING MACHINE Giảng viên hướng dẫn : PGS.TS Phan Huy Khánh Nhóm học viên: Nguyễn Nương Quỳnh Lê Nam Trung Nguyễn Duy Linh Hồng Đình Tuyền Lớp: Khoa học Máy tính - K24 Quảng Bình Khóa: 2011-2013 Quảng Bình, tháng 12 năm 2012 Nhóm Trang Tiểu luận Lý thuyết tính toán MỤC LỤC 8.2 Máy Turing 8.2.1 Các Quest Quyết định Tất câu hỏi toán học .3 8.2.2 Ký hiệu cho Máy Turing .4 8.2.3 Mô tả tức thời cho máy Turing 8.2.4 Sơ đồ trình chuyển đổi cho máy Turing .10 8.2.5 Ngôn ngữ máy Turing 14 8.2.6 Máy Turing Tạm dừng 15 8.2.7 Các tập cho Phần 8.2 16 Nhóm Trang Tiểu luận Lý thuyết tính tốn 8.2 Máy Turing Mục đích lý thuyết vấn đề khơng giải không thiết lập tồn vấn đề - ý tưởng trí tuệ thú vị riêng – mà cịn để cung cấp hướng dẫn cho lập trình viên họ hay khơng thể thực thơng qua lập trình Lý thuyết có tác động tích cực ta thảo luận, quy định chương 10, vấn đề giải được, cần nhiều thời gian để giải chúng Những vấn đề này, gọi "vấn đề nan giải", có xu hướng trình bày khó khăn cho lập trình viên nhà thiết kế hệ thống để làm vấn đề giải Lý là, vấn đề giải thường rõ ràng, giải pháp họ cố gắng thực tế, vấn đề nan giải phải đối mặt hàng ngày Hơn nữa, người ta thường mang lại thay đổi nhỏ yêu cầu giải pháp dựa kinh nghiệm cải tiến Do đó, người thiết kế thường xuyên phải đối mặt với việc định có khơng có vấn đề lớp nan giải, phải làm với nó, Chúng ta cần công cụ cho phép chứng minh câu hỏi khơng thể giải khó giải hàng ngày Các công nghệ giới thiệu phần 8.1 hữu ích cho câu hỏi đối phó với chương trình, khơng dịch cách dễ dàng đến vấn đề lĩnh vực khơng liên quan Ví dụ, gặp khó khăn việc giảm vấn đề hello-world câu hỏi cho dù ngữ pháp mơ hồ Kết là, cần xây dựng lại lý thuyết không giải chúng ta, không dựa chương trình C ngơn ngữ khác, dựa mơ hình đơn giản máy tính, gọi máy Turing Thiết bị chủ yếu tự động hữu hạn có băng dài vơ hạn mà đọc ghi liệu Một lợi máy Turing qua chương trình đại diện tính máy Turing đủ đơn giản mà đại diện cho cấu hình cách xác, cách sử Nhóm Trang Tiểu luận Lý thuyết tính toán dụng ký hiệu đơn giản giống ID PDA Trong đó, chương trình C có trạng thái, liên quan đến tất biến trình tự chức gọi thực hiện, ký hiệu để mô tả trạng thái phức tạp phép chúng tơi làm cho dễ hiểu, chứng minh thức Sử dụng ký hiệu máy Turing, chứng minh số vấn đề không giải xuất khơng liên quan đến lập trình Ví dụ, hiển thị mục 9,4 "Vấn đề tương ứng viết", câu hỏi đơn giản liên quan đến hai danh sách chuỗi, không giải được, vấn đề làm cho dễ dàng để hiển thị câu hỏi ngữ pháp, chẳng hạn mơ hồ, không giải tương tự vậy, giới thiệu vấn đề khó, thấy câu hỏi đó, dường có để làm với tính tốn (ví dụ, khả đáp ứng cơng thức boolean), khó chữa 8.2.1 Các Quest để định tất câu hỏi toán học Bước vào kỷ 20, nhà toán học D.Hilbert hỏi liệu tìm thấy thuật tốn để xác định thật hay dối trá mệnh đề tốn học Đặc biệt, ơng hỏi có cách để xác định xem cơng thức tính toán vị để áp dụng cho số nguyên, thật Kể từ tính tốn vị để tính tốn số ngun đủ mạnh để thể báo cáo "ngữ pháp mơ hồ", hay "Chương trình in chào, giới", có phải Hilbert thành cơng, vấn đề có thuật tốn mà biết khơng tồn Tuy nhiên, vào năm 1931, K Gưdel cơng bố định lý bất tồn tiếng ơng Ơng xây dựng cơng thức tính tốn vị áp dụng cho số nguyên, khẳng định cơng thức chứng minh khơng phải khơng bác bỏ tính tốn Gưdel kỹ thuật tương tự việc xây dựng chương trình mâu thuẫn sefl-H2 phần 8.1.2, giao dịch với chức số nguyên, với chương trình C Các tính tốn vị khái niệm mà nhà tốn học có "bất kỳ tính tốn có thể" Trong thực tế tính tốn vị, khai báo khơng phải tính tốn, phải cạnh tranh với loạt số, bao gồm "một phần Nhóm Trang Tiểu luận Lý thuyết tính tốn hàm đệ quy", thay ký hiệu giống ngơn ngữ lập trình, ký hiệu tương tự khác Năm 1936, sáng Turing đề xuất máy Turing mơ hình "bất kỳ tính tốn có thể" Mơ hình giống máy tính, khơng phải chương trình thế, điện tử , chí máy tính điện tử năm tương lai (Turing tự tham gia việc xây dựng máy Thế chiến thứ II) Thật thú vị, tất đề nghị nghiêm trọng cho mơ hình tính tốn có sức mạnh tương tự, có nghĩa là, họ tính tốn chức tương tự nhận ngôn ngữ tương tự Giả định Unprovable cách thức chung để tính tốn cho phép tính tốn có phần hàm đệ quy (hoặc tương đương, máy Turing máy tính đại tính tốn) biết giả thuyết Church (sau nhà lý luận học A Church) luận án ChurchTuring 8.2.2 Ký hiệu cho Máy Turing Chúng ta hình dung máy Turing hình 8.8 Máy bao gồm điều khiển hữu hạn, tập hợp hữu hạn trạng thái Có băng chia thành hình vng ơ, nắm giữ hữu hạn biểu tượng Finite control … B B X1 X2 Xi Xn B B … Hình 8.8: Máy Turing Ban đầu, đầu vào, chuỗi hữu hạn chiều dài biểu tượng chọn từ bảng chữ đầu vào, đặt băng Tất ô băng khác, mở rộng vô hạn bên trái bên phải, ban đầu giữ biểu tượng đặc biệt gọi trống Trống biểu tượng băng, biểu tượng Nhóm Trang Tiểu luận Lý thuyết tính tốn đầu vào, có biểu tượng băng khác biểu tượng đầu vào trống Có đầu băng ln vị trí ô băng Máy Turing cho qt Ban đầu, đầu băng ngồi bên trái chứa đầu vào Một di chuyển máy Turing chức trạng thái kiểm soát hữu hạn biểu tượng băng quét Trong động thái, máy Turing sẽ: Thay đổi trạng thái Trạng thái tùy chọn giống trạng thái Viết biểu tượng băng ô quét Biểu tượng băng thay biểu tượng có Tùy chọn, biểu tượng viết vào giống biểu tượng có Di chuyển đầu băng sang trái phải Trong hình thức chúng ta, yêu cầu di chuyển, không cho phép đầu băng đứng n Hạn chế khơng hạn chế máy Turing tính tốn, từ trình tự di chuyển với đầu băng cố định ngưng tụ, với di chuyển đầu băng tiếp theo, vào thay đổi trạng thái nhất, biểu tượng băng mới, di chuyển sang trái phải Các ký hiệu thức sử dụng cho máy Turing (TM) tương tự sử dụng cho automat hữu hạn PDA Chúng mô tả TM thành phần M = (Q, Σ, Г, δ, q0, B, F) Có thành phần có ý nghĩa sau đây: Q: tập hữu hạn trạng thái kiểm soát hữu hạn Σ: tập hợp hữu hạn ký hiệu đầu vào Г: tập hợp đầy đủ biểu tượng băng; Σ: luôn tập hợp Г δ: chức chuyển đổi Những lập luận δ (q, X) trạng thái q băng biểu tượng X Giá trị δ(q, X), định nghĩa, ba (p, Y, D), đó: Nhóm Trang Tiểu luận Lý thuyết tính tốn p trạng thái tiếp theo, Q Y biểu tượng, Г, viết ô quét, thay biểu tượng có D định hướng, L R, đứng "bên trái" "phải" tương ứng, nói với hướng di chuyển đầu đọc q0: Trạng thái bắt đầu, thành viên Q, kiểm sốt hữu hạn tìm thấy ban đầu B: Các biểu tượng trống Biểu tượng Г Σ, tức là, khơng phải biểu tượng đầu vào Trống xuất ban đầu tất cả, số lượng hữu hạn ô ban đầu nắm giữ ký hiệu đầu vào F: tập hợp trạng thái cuối trạng thái chấp nhận, tập hợp Q 8.2.3 Mô tả tức thời cho máy Turing Để mơ tả thức máy Turing, cần phải phát triển ký hiệu cho cấu hình mơ tả tức thời (ID), giống ký hiệu phát triển cho PDA Với máy Turing, nguyên tắc, có băng dài vơ tận, tưởng tượng khơng thể mơ tả cấu hình máy Turing cách thật ngắn gọn Tuy nhiên, sau số lượng hữu hạn di chuyển, máy Turing thăm số hữu hạn ơ, số lượng đến thăm phát triển vượt giới hạn hữu hạn Như vậy, ID, có vơ hạn tiền tố vô hạn hậu tố ô mà chưa duyệt Những ô phải nắm giữ khoảng trắng số hữu hạn ký hiệu đầu vào Như vậy, hiển thị ID ô tận bên trái tận bên phải khoảng trắng Dưới điều kiện đặc biệt, đầu đọc quét khoảng trắng hàng đầu cuối, số hữu hạn khoảng trắng từ bên trái bên phải ký hiệu khoảng trắng băng phải bao gồm ID Nhóm Trang Tiểu luận Lý thuyết tính tốn Ngồi việc mơ tả băng, phải mơ tả kiểm sốt hữu hạn vị trí đầu đọc băng Để làm vậy, nhúng trạng thái băng, đặt bên trái ô quét Để phân biệt với chuỗi băng cộng với trạng thái, phải đảm bảo không sử dụng biểu tượng trạng thái biểu tượng băng Tuy nhiên, dễ dàng để thay đổi tên trạng thái để chung với ký hiệu băng, từ hoạt động máy Turing không phụ thuộc vào tên gọi trạng thái Do đó, sử dụng chuỗi X 1X2 Xi-1qXiXi +1 Xn để mô tả cho ID, đó: q trạng thái máy Turing Đầu đọc băng quét qua ký hiệu thứ i từ trái sang X1X2 Xn phần băng tận bên trái tận bên phải ký hiệu trắng Như ngoại lệ, đầu đọc bên trái tận bên trái ký hiệu trắng bên phải tận bên phải ký hiệu trắng, tiền tố hậu tố X 1X2 Xn để trống, i tương ứng n Chúng ta mô tả di chuyển máy Turing M = (Q, Σ, Γ, δ, Q 0, B, F) ký hiệu├M sử dụng cho PDA Khi máy Turing hiểu, sử dụng ký hiệu ├ để phản ánh di chuyển Thông thường, ├M* ├*, sử dụng để không, hay nhiều bước di chuyển máy Turing M Cho δ(q, Xq, Xi) = (q, Xp,Y,L) ) tức bước dịch chuyển sang trái Thì : X1 X2 …Xi-1 q Xi Xi+1…Xn ├M X1 X2 …Xi-2 p Xi-1 Y Xi+1…Xn Chú ý động thái phản ánh thay đổi trạng thái p thực tế người đầu đọc băng đặt vị trí ô i-1 Có hai trường hợp ngoại lệ quan trọng: Nếu i =1, M dịch chuyển đến ký tự trắng bên trái X1 Trong trường hợp này, q X1 X2…Xn ├M p B Y X2…Xn Nhóm Trang Tiểu luận Lý thuyết tính tốn Nếu i = n Y=B, ký hiệu B ghi đè lên Xn tham gia vào chuỗi vô hạn khoảng trắng theo sau không xuất ID Do đó: X1 X2 …Xn-1 q Xn ├M X1 X2 …Xn-2 p Xn-1 Bây giờ, cho δ(q, Xq, Xi) = (q, Xp,Y,R)) ; tức bước dịch chuyển sang phải Thì: X1 X2 …Xi-1 q Xi Xi+1…Xn ├M X1 X2 …Xi-1 Y p Xi+1…Xn Ở đây, bước dịch chuyển phản ánh thay đổi đầu đọc dịch chuyển đến ô i+1 Lại có hai ngoại lệ quan trọng: Nếu i =n, ô thứ 1+1 chứa ký tự trắng , ô khơng thuộc phần ID trước Do đó, thay có: X1 X2 …Xn-1 q Xn ├M X1 X2 …Xn-1 Y p B Nếu i = Y=B, ký hiệu B ghi đè lên X1 tham gia vào chuỗi vơ hạn khoảng trắng trước khơng xuất ID Do đó: q X1 X2…Xn ├M p X2…Xn Ví dụ 8.2: Chúng ta thiết kế máy Turing xem cách hoạt động đầu vào điển hình Máy Turing chấp nhận ngôn ngữ {0 n1n | n≥ 1} Ban đầu, cung cấp chuỗi hữu hạn băng, trước sau khoảng trắng đến vô Luân phiên, TM thay ký tự X ký tự Y, tất ký tự thay Chi tiết hơn, phía bên trái dãy liệu vào, liên tục thay đổi ký tự X di chuyển bên phải qua ký tự Y tìm thấy, tìm thấy ký tự Thay Y , chuyển sang trái, qua ký tự Y 0, đến tìm thấy ký tự X Lúc đó, tìm kiếm ký tự phía bên phải, tìm thấy ký tự, thay X lặp lại tiến trình, thay Y Nếu liệu vào khác ký tự trắng khác 0*1*, máy Turing bị lỗi Tuy nhiên, kết thúc thay đổi tất ký tự X vịng thay ký tự cuối Y, sau tìm thấy đầu vào có dạng n1n chấp nhận Đặc tả thức máy Turing M là: M= ({q0,q1,q2,q3,q4}, {0,1},{0,1,X,Y,B}, δ, q0, B, {q4}) Nhóm Trang Tiểu luận Lý thuyết tính tốn Trong δ mơ tả bảng mục 8.9 M thực tính tốn nó, phần băng nơi đầu đọc M duyệt qua, chuỗi ký hiệu mô tả biểu thức quy X*0*Y*1* Nghĩa là, có số ký tự thay X, theo sau số ký tự chưa thay X Và vậy, có số ký tự thay Y, số ký tự chưa thay Y Có thể có khơng có số ký tự theo sau Bảng 8.9: TM chấp nhận {0n1n | n≥ 1} Khởi động trạng thái q0, M nhập từ trạng thái q quay ký tự lại bên trái Nếu M trạng thái q0 quét qua ký tự 0, theo quy tắc góc bên trái hình 8.9 dịch chuyển đến trạng thái q1, thay X, chuyển sang phải Mỗi lần trạng thái q1, M chuyển sang phải qua tất ký tự Y tìm thấy băng, lưu lại trạng thái q1 Nếu M tìm thấy ký tự X B, lỗi Tuy nhiên, M thấy trạng thái q1, thay Y, chuyển sang trạng thái q2, bắt đầu dịch chuyển sang trái Ở trạng thái q2, M dịch chuyển trái qua ký tự Y, lưu lại lại trạng thái q2 Khi M nhận ký tự X bên phải nhất, đánh dấu vị trí cuối bên phải dãy ký tự thay X, M quay trạng thái q0 chuyển sang phải Có hai trường hợp: Nếu M thấy ký tự 0, lặp lại chu kỳ phù hợp mô tả Nếu M thấy ký tự Y, thay đổi tất ký tự X Nếu tất ký tự thay Y, đầu vào dạng 0n1n, M chấp nhận Do đó, M chuyển sang trạng thái q3, di chuyển sang phải, qua ký tự Y Nếu ký tự khác Y, M xem ký tự trắng, sau thực có số lượng tương đương ký tự 1, vậy, M chuyển sang trạng thái q4 chấp nhận Mặt khác, Nhóm Trang 10 Tiểu luận Lý thuyết tính tốn M gặp ký tự khác, tức có q nhiều ký tự 1, M khơng chấp nhận bị lỗi Nếu gặp ký tự 0, liệu vào sai định dạng, M lỗi Đây ví dụ tính tốn M chấp nhận Dữ liệu vào 0011 Khởi động trạng thái q0, quét ký tự đầu tiên, tức ID khởi động M q00011 Toàn bước di chuyển M là: q00011 ├ Xq1011 ├ X0q111 ├ Xq20Y1 ├q2X0Y1 ├ Xq00Y1 ├ XXq1Y1 ├ XXYq11├ XXq2YY ├ Xq2Xyy ├ XXq0YY ├ XXYq3Y ├ XXYYq3B ├ XXYYBq4B Ví dụ khác cách M thực liệu vào 0010, ngôn ngữ không chấp nhận q00010 ├ Xq1010 ├ X0q110 ├ Xq20Y0 ├ q2X0Y0 ├ Xq00Y0 ├ XXq1Y0 ├ XXYq10├ XXY0q1B Hoạt động M 0010 tương tự với 0011, đến ID XXYq10 M quét ký tự cuối lần M phải dịch chuyển sang phải, dừng lại trạng thái q1, có ID XXY0q1B Tuy nhiên, trạng thái q1 M không di chuyển băng ký hiệu B; M lỗi khơng chấp nhận liệu vào 8.2.4 Sơ đồ trình chuyển đổi cho máy Turing Chúng ta đại diện cho trình chuyển đổi hình ảnh máy Turing, nhiều làm cho PDA Sơ đồ chuyển đổi bao gồm tập nút tương ứng với trạng thái máy Turing Một vòng cung từ trạng thái q đến trạng thái p dán nhãn nhiều mục mẫu X / YD, X Y biểu tượng băng, D hướng, L R Đó là, δ (q, X) = (p, Y, D), tìm thấy nhãn X/YD vòng cung từ q để p Tuy nhiên, sơ đồ chúng ta, hướng D thể hình ảnh ← "trái" → cho "phải" Đối với loại biểu đồ chuyển đổi, đại diện cho trạng thái "Start" mũi tên vào trạng thái Trạng thái chấp nhận định vịng trịn đơi Như vậy, thơng tin máy Turing Nhóm Trang 11 Tiểu luận Lý thuyết tính tốn khơng thể đọc trực tiếp từ biểu đồ biểu tượng sử dụng trống Chúng ta giả định biểu tượng B trừ trạng thái khác Ví dụ 8.3: Hình 8.10 cho thấy sơ đồ chuyển tiếp cho máy Turing ví dụ 8.2, có chức chuyển đổi đưa hình 8.9 Ví dụ 8.4: Trong ngày tìm thấy thuận tiện để suy nghĩ TM ngơn ngữ đốn nhận, tương đương, giải vấn đề, xem nguồn gốc máy Turing máy tính chức giá trị số nguyên Trong kế hoạch mình, số nguyên đại diện nguyên phân, khối ký tự đoen, máy tính cách thay đổi độ dài khối cách xây dựng khối nơi khác băng Trong ví dụ đơn giản này, hiển thị máy Turing tính tốn chức -, gọi Monus thích hợp trừ xác định m - n = max (mn, 0) Đó là, m - n m-n m> = n m = n trường hợp này, m-n = m_ + n Bắt đầu chu kỳ, M khơng thể tìm thấy ký tự để thay thành chỗ trống, n ký hiệu 0đầu tiên thay đổi thành B Sau đó, n> = m, đó, m-+ n = M thay tất ký tự lại thành B kết thức với băng hồng tồn trống Hình 8.11 đưa quy tắc chức chuyển đổi δ, đại diện δ sơ đồ chuyển đổi hình 8.12 Sau tóm tắt vai trị trạng thái trạng thái: q0: Trạng thái bắt đầu chu kỳ, phá vỡ chu kỳ thích hợp Nếu M quét ký tự 0, chu kỳ phải lặp lại thay B, đầu đọc di chuyển sang bên phải, trạng thái q1 nhập Mặt khác, M quét ký tự 1, sau tất trận đấu (matches) có hai nhóm ký tự băng thực hiện, M đến trạng thái q5 để làm trống băng Nhóm Trang 13 Tiểu luận Lý thuyết tính tốn Hình 8.11: Một máy Turing tính chức thích hợp-trừ Hình 8.12: Sơ đồ chuyển đổi cho TM Ví dụ 8.4 q1: Trong trạng thái này, M tìm kiếm bên phải, thơng qua khối ban đầu 0, tìm ký tự tận bên trái Khi tìm thấy, M vào trạng thái q2 q2: M di chuyển sang phải, bỏ qua ký tự 1, tìm thấy ký tự Nó thay đổi ký tự thành ký tự 1, quay về bên trái, vào trạng thái q3 Tuy nhiên, khơng có thêm ký tự bên trái sau khối ký tự Trong trường hợp đó, M trạng thái q gặp trống Chúng ta có trường hợp (1) mơ tả trên, nơi m ký tự khối thứ hai khối ký tự sử dụng để hủy bỏ n m ký tự khối Và phép trừ hoàn tất M vào trạng thái q4, mà mục đích để chuyển đổi ký tự băng thàng khoảng trống q3: M di chuyển sang trái, bỏ qua của, tìm thấy trống Khi tìm thấy B, di chuyển phải trở lại trạng thái q 0, bắt đầu chu kỳ lần Nhóm Trang 14 Tiểu luận Lý thuyết tính tốn q4: Ở đây, trừ hồn tất, chưa có ký tự khối thay đổi khơng xác thành B M di chuyển trái, thay đổi thành B, gặp B băng Nó thay đổi mà B trở 0, vào trạng thái q6, M tạm dừng q5: Trạng thái q5 nhập vào từ trạng thái q0 tìm thấy tất ký tự khối thay đổi thành B Trong trường hợp này, mô tả (2) trên, kết phép trừ thích hợp M thay đổi tất lại thành B vào trạng thái q6 q6: Mục đích trạng thái cho phép M dừng hồn tất nhiệm vụ Nếu phép trừ xử lý số chức phức tạp hơn, sau q6 bắt đầu bước tính tốn lớn 8.2.5 Ngơn ngữ máy Turing Chúng ta thấy theo trực giác cách mà máy Turing chấp nhận ngôn ngữ Chuỗi đầu vào đặt băng, đầu băng biểu tượng đầu vào tận bên trái Nếu máy Turing cuối vào trạng thái chấp nhận, sau đầu vào chấp nhận, khơng khơng Chính thức, cho M = () máy Turing Sau đó, L (M) tập hợp chuỗi w Σ q0w ├ * αpβ cho số trạng thái p F bất kỳpβ cho số trạng thái p F chuỗi băng αpβ cho số trạng thái p F và β Định nghĩa giả định thảo luận máy Turing ví dụ 8.2, mà chấp nhận chuỗi có hình thức 0n1n Tập ngơn ngữ chấp nhận cách sử dụng máy Turing thường gọi ngôn ngữ liệt kê đệ quy ngôn ngữ RE Thuật ngữ "liệt kê đệ quy” đến từ hình thức tính tốn mà có trước máy Turing xác định lớp ngôn ngữ chức số học Chúng ta thảo luận nguồn gốc thuật ngữ hướng (sang bên) (hộp) mục 9.2.1 Quy ước ký hiệu cho máy Turing Các biểu tượng thường sử dụng cho máy Turing tương tự loại automat khác mà thấy Nhóm Trang 15 Tiểu luận Lý thuyết tính tốn Các chữ thường đầu bảng chữ chữ đứng cho ký hiệu đầu vào Các chữ hoa, thường gần cuối bảng chữ sử dụng cho ký hiệu băng có khơng có biểu tượng đầu vào Tuy nhiên, B thường sử dụng cho biểu tượng trống Các chữ thường gần cuối bảng chữ chuỗi ký hiệu đầu vào Chữ Hy Lạp chuỗi ký hiệu băng Các chữ q, p chữ gần trạng thái 8.2.6 Máy Turing Tạm dừng Cịn có khái niệm khác "chấp nhận" thường sử dụng cho máy Turing: chấp nhận tạm ngừng Chúng tơi nói TM tạm dừng vào trạng thái q, quét biểu tượng băng X, khơng có di chuyển tình này, tức là, δ(q, X) khơng xác định Ví dụ 8.5: Các máy Turing M Ví dụ 8.4 không thiết kế để chấp nhận ngơn ngữ mà w xem tính tốn chức số học Lưu ý, nhiên, M tạm dừng tất chuỗi 1, kể từ khơng có đồng hồ đo chuỗi M tìm thấy băng nó, cuối hủy bỏ nhóm số 0, tìm thấy nhóm nhạc, so với nhóm = , phải đạt trạng thái q6 dừng lại Chúng ta ln ln giả định máy Turing tạm dừng chấp nhận Đó là, mà không thay đổi ngôn ngữ chấp nhận, làm cho δ (q, X) khơng xác định q trạng thái chấp nhận Nói chung, khơng có khơng nói vậy: * Chúng ta cho TM luôn tạm dừng trạng thái chấp nhận Thật khơng may, khơng phải lúc yêu cầu TM tạm dừng chí khơng chấp nhận Những ngơn ngữ với máy Turing mà làm dừng cuối cùng, chúng có chấp nhận hay khơng, gọi đệ quy, chúng tơi xem xét thuộc tính quan trọng chúng bắt đầu Nhóm Trang 16 Tiểu luận Lý thuyết tính tốn mục 9.2.1 Máy Turing mà ln ln dừng, chúng có chấp nhận hay khơng, mơ hình tốt "thuật toán" Nếu thuật toán để giải vấn đề định tồn tại, sau chúng tơi nói vấn đề "giải được", Máy Turing mà luôn ngăn chặn số quan trọng vào lý thuyết decidability Chương 8.2.7 Các tập cho Phần 8.2 Bài tập 8.2.1: Các ID máy Turing hình 8.9 băng đầu vào có chứa: Bảng 8.9: TM chấp nhận {0n1n | n≥ 1} *a) 00 Ta có: q000 ├ Xq10 ├ X0q1B Ngơn ngữ khơng đoán nhận b) 000111 q0000111├ Xq100111├ X0q10111├ X00q1111├ X0q20Y11├ Xq200Y11 ├ q2X00Y11├ Xq000Y11├ XXq10Y11├ XX0q1Y11├ XX0Yq111 ├ XX0q2YY1├ XXq20YY1├ Xq2X0YY1├ XXq00YY1├ XXXq1YY1 ├ XXXYq1Y1├ XXXYYq11├ XXXYq2YY├ XXXq2YYY├ XXq2XYYY ├ XXXq0YYY├ XXXYq3YY├ XXXYYq3Y├ XXXYYYq3B ├ XXXYYYBq4B Ngơn ngữ đốn nhận c) 00111 q000111├ Xq10111├ X0q1111├ Xq20Y11├ q2X0Y11├ Xq00Y11 ├ XXq1Y11├ XXYq111├ XXq2YY1├ Xq2XYY1├ XXq0YY1 ├ XXYq3Y1├ XXYYq31 Nhóm Trang 17 Tiểu luận Lý thuyết tính tốn Tiếp theo khơng có luật để áp dụng ngơn ngữ khơng đốn nhận ! Bài tập 8.2.2: Thiết kế máy Turing cho ngôn ngữ sau: *a) Các thiết lập chuỗi với số lượng b) {anbncn | n> = 1} c) {WWR | w chuỗi 1} Bài tập 8.2.3: Thiết kế máy Turing có đầu vào số N thêm hệ nhị phân Để xác, băng ban đầu có chứa theo sau N hệ nhị phân Đầu đọc ban đầu quét trạng thái q TM bạn nên Galt với N +1, hệ nhị phân, băng nó, qt biểu tượng ngồi bên trái N +1, trạng thái QF Bạn phá hủy việc tạo N +1, cần thiết Ví dụ - q0 $ 10.011 - $ qf10100, q0 $ 11.111 - qf100000 a) Cung cấp cho trình chuyển đổi máy Turing bạn, giải thích mục đích trạng thái b) Các trình tự ID TM bạn cho đầu vào $ 111 Bài tập: 8.2.5: Hãy xem xét máy Turing M = ({q0, q1, q2, qf}, {0, 1}, {0, 1, B}, δ, q0, B, {qf}) Chính thức mô tả rõ ràng ngôn ngữ L(M) δ bao gồm quy tắc sau đây: *a) δ (q0, 0) = (q1, 1, R), δ (q1, 1) = (q0, 0, R); δ (q1, B) = (qf, B, R) L(M) = 01 b) δ (q0, 0) = (q0, B, R), δ (q0, 1) = (q1, B, R); δ (q1, 1) = (q1, B, R); δ (q1, B) = (qf, B, R) L(M) = c) δ (q0, 0) = (q1, 1, R), δ (q1, 1) = (q2, 0, L); δ (q2, 1) = (q0, 1, R); δ (q1, B) = (qf, B, R) Nhóm Trang 18 .. .Tiểu luận Lý thuyết tính tốn MỤC LỤC 8.2 Máy Turing 8.2.1 Các Quest Quyết định Tất câu hỏi toán học .3 8.2.2 Ký hiệu cho Máy Turing .4 8.2.3 Mô tả tức thời cho máy Turing. .. cho máy Turing .10 8.2.5 Ngôn ngữ máy Turing 14 8.2.6 Máy Turing Tạm dừng 15 8.2.7 Các tập cho Phần 8.2 16 Nhóm Trang Tiểu luận Lý thuyết tính tốn 8.2 Máy Turing Mục... mà đọc ghi liệu Một lợi máy Turing qua chương trình đại diện tính máy Turing đủ đơn giản mà đại diện cho cấu hình cách xác, cách sử Nhóm Trang Tiểu luận Lý thuyết tính tốn dụng ký hiệu đơn giản

Ngày đăng: 23/03/2015, 13:29

Từ khóa liên quan

Mục lục

  • Nhóm học viên: Nguyễn Nương Quỳnh

  • Lớp: Khoa học Máy tính - K24 Quảng Bình

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan