Làm thế nào là quy tắc 110 Turing hoàn thành?


19

Tôi đã đọc trang wikipedia cho quy tắc 110 trong automata di động và tôi ít nhiều biết cách chúng hoạt động (một bộ quy tắc quyết định nơi sẽ vẽ 1 hoặc 0 tiếp theo).

Tôi vừa đọc xong Turing, nhưng tôi thậm chí không thể hiểu được bạn sẽ 'lập trình' theo 'quy tắc 110' như thế nào?


Đó thực sự là quy tắc 110, không phải quy tắc 101. Bằng chứng được nêu trên trang wikipedia mặc dù nó lưu ý hoàn toàn rõ ràng cách văn bản tạo kết nối với bằng chứng.

@WolfgangBangerth cảm ơn vì điều đó, tôi đã sửa nó. Nếu bằng chứng / cách lập trình ở đó thì không đủ rõ ràng để tôi phát hiện ra điều đó, xin lỗi.
Pureferret

1
Câu hỏi tương tự cũng xảy ra với tôi, nếu có một kịch bản để chuyển đổi một chương trình đơn giản thành automata này bằng cách nào đó, và sau đó một số "trình giả lập" để thực hiện nó.

2
câu hỏi tuyệt vời. các chi tiết rất phức tạp và có trong các bài báo khoa học. xem tcs.SE, điều kiện ban đầu cho quy tắc 110 để có bản phác thảo & một số ref. về cơ bản, có một cách để chuyển đổi hoặc biên dịch TM thành một "hệ thống thẻ" (được biết là hoàn thành TM) và sau đó biên dịch một "hệ thống thẻ" thành quy tắc 110. sẽ rất "tuyệt vời" nếu việc triển khai thực tế đã được xây dựng cho ppl để thử nghiệm (và chắc chắn dẫn đến những hiểu biết / khám phá mới) nhưng thật không may, dường như không có gì tồn tại hoặc các tác giả không xuất bản mã của họ.
vzn

1
liên quan chặt chẽ là automata di động 2d và chúng có thể được nghiên cứu cho một số trực giác trong trường hợp 1d. Nó được biết đến từ những năm 70 hoặc lâu hơn do bằng chứng của Conway rằng "trò chơi cuộc sống" đã hoàn tất. xem ví dụ giả lập Paul Rendell TM trong Game of Life để biết phiên bản hiện đại / đồ họa.
vzn

Câu trả lời:


11

fPPx

Các từ được trích dẫn là những từ cần được xác định. Đối với máy Turing:

  • Một chương trình được chỉ định là danh sách các trạng thái, bảng chữ cái băng, trạng thái ban đầu, trạng thái cuối cùng và chuyển tiếp.
  • T xxT
  • Một máy Turing dừng lại nếu nó đạt đến trạng thái cuối cùng. (Có một số biến thể ở đây.)
  • Những gì máy Turing xuất ra (nếu nó dừng lại) là nội dung của băng.

SPxS(P,x)PxS(p,x)Px

Nếu bạn tò mò về thiết lập cụ thể của Quy tắc 110 như một hệ thống máy tính, tôi khuyên bạn nên xem bài viết của Matthew Cook, điều này chứng minh tính phổ biến của Quy tắc 110 (hay đúng hơn là của một hệ thống máy tính được xây dựng theo Quy tắc 110).

Đối với các quy tắc khác, chẳng hạn như Quy tắc 30 và Quy tắc 90, chúng tôi không biết rằng chúng không phổ biến. Có thể có các hệ thống máy tính thuyết phục được xây dựng xung quanh chúng là phổ quát, nhưng chúng tôi chỉ không nhận thức được bất kỳ.


3
Tất cả đều đúng, nhưng quy tắc 110 không có cách tạm dừng .. Nó chỉ có thể tính toán mọi thứ chứ không thể dừng lại.
Pavel

@Pavel Không bắt buộc phải dừng Turing-Complete
MilkyWay90

8

Từ bằng chứng của Matthew:

Cách tiếp cận được thực hiện ở đây không phải là thiết kế một thiết bị tự động di động mới, mà là sử dụng một thiết bị đơn giản nhất tự nhiên thể hiện các hành vi phức tạp và xem liệu chúng ta có thể tìm thấy trong hành vi phức tạp đó một cách để làm cho nó thực hiện những gì chúng ta muốn. Chúng tôi sẽ không quan tâm trực tiếp đến bảng tra cứu được đưa ra ở trên, nhưng thay vào đó chúng tôi sẽ xem xét hành vi được thể hiện tự nhiên bằng hành động của máy tự động theo thời gian.

Đầu tiên tác giả bắt đầu bằng cách chứng minh rằng một "hệ thống thẻ" loại bỏ 2 ký hiệu ở mỗi bước là phổ biến bằng cách biên dịch chương trình máy turing 2 trạng thái. Sau đó, ông chứng minh rằng một hệ thống tàu lượn thực sự có thể thực hiện một hệ thống thẻ. Đây là một quá trình từng bước. Sau đó, anh nghiên cứu thời gian không gian của CA-110 để tìm tàu ​​lượn và liên kết chúng với hệ thống tàu lượn một cách chính xác.

Bây giờ, cho câu hỏi của bạn: bạn sẽ 'lập trình' theo 'quy tắc 110' như thế nào?

  1. Hãy tìm máy turing 2 trạng thái đơn giản nhất và tìm các cuộn băng của các hoạt động cơ bản HOẶC, VÀ, XOR, KHÔNG .

  2. Biên dịch chúng vào hệ thống thẻ.

  3. Biên dịch triển khai hệ thống thẻ thành triển khai tàu lượn.

  4. Điều chỉnh nó phù hợp với tàu lượn CA-110 một cách chính xác và bạn có các hoạt động cơ bản trong máy tự động di động.

1+1=2

Một lưu ý sang một bên. Tàu lượn là những cấu trúc rất đặc biệt. Các hoạt động sẽ được xem như là các hạt chuyển động và va chạm (tàu lượn), tạo ra đầu ra khác nhau tùy thuộc vào cách tàu lượn này bắt đầu hoặc va chạm.


Vì vậy, hai glidder có thể 'mã hóa' a + và khi chúng va chạm tôi có được 2 không?
Pureferret

3
chính xác hơn, nhiều cặp tàu lượn sẽ mã hóa '+' giả sử rằng một cặp tàu lượn có thể mã hóa OR, AND, XOR hoặc KHÔNG. Cũng xem xét rằng các số có thể sẽ được biểu diễn dưới dạng một chuỗi các bit và tổng sẽ được thực hiện bằng các cổng logic trên mỗi cặp bit.
labotsirc

3
Hãy cẩn thận, có một số tranh cãi về bằng chứng hoàn thành quy tắc 110 TM trong cộng đồng CS vì lý do linh tinh. một điều rõ ràng là điều kiện đầu vào trên CA yêu cầu các mẫu vô cùng định kỳ (nhưng lặp đi lặp lại).
vzn

1
Tôi đồng ý với bạn vzn về tranh cãi. Cá nhân tôi không biết phải nghĩ gì khi từ chối giải pháp lý thuyết bằng phương thức chính thức hoặc chấp nhận CA-110 như một siêu máy tính hoạt động như một cỗ máy bảo vệ (thực tế là CA là không gian tính toán hoạt động như hệ thống động lực và trên song song với công việc đó khiến tôi tự hỏi liệu chúng có đại diện cho một vũ trụ tổng hợp đang tiến triển không).
labotsirc

Tôi không phải là người thích bỏ qua những hạn chế về không gian và thời gian thực tế. Wikipedia trích dẫn tính đầy đủ P của Quy tắc tự động di động 110 và giải thích rằng Cận cảnh và Rừng đã tránh được chi phí theo thời gian theo cấp số nhân bằng cách tránh sử dụng các hệ thống 2 thẻ. Tuy nhiên, Neary và Woods sau đó trong cùng năm (2006) đã chỉ ra rằng ngay cả các hệ thống 2 thẻ cũng không có chi phí thời gian theo cấp số nhân để mô phỏng các máy Turing.
Thomas Klimpel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.