Câu hỏi này là về việc liệu có bất kỳ tarp Turing có thể đảo ngược nào được biết đến hay không, trong đó "đảo ngược" có nghĩa là theo nghĩa của Axelsen và Glück , và "tarpit" là một khái niệm không chính thức hơn nhiều (và có thể không phải là một lựa chọn từ ngữ tốt), nhưng tôi sẽ làm hết sức mình để giải thích những gì tôi muốn nói.
Ý tôi là gì bởi "tarpit"
Một số mô hình tính toán được thiết kế để hữu ích theo một cách nào đó. Những người khác tình cờ hoàn thành Turing và không thực sự có bất kỳ thuộc tính đặc biệt hữu ích nào; chúng được gọi là "Turing tarpits". Các ví dụ bao gồm ngôn ngữ Brainfuck , quy tắc tự động di động Quy tắc 110 và Thẻ Bitwise Cyclic ( ngôn ngữ tôi thích vì nó rất dễ thực hiện và bất kỳ chuỗi nhị phân nào cũng là một chương trình hợp lệ).
Không có định nghĩa chính thức về "Turing tarpit", nhưng đối với câu hỏi này, tôi đang sử dụng nó có nghĩa là một hệ thống khá đơn giản (về mặt có một số lượng nhỏ "quy tắc") mà "chỉ xảy ra" là Turing hoàn chỉnh, không có trạng thái bên trong của nó có bất kỳ ý nghĩa ngữ nghĩa rõ ràng. Khía cạnh quan trọng nhất cho mục đích của tôi là sự đơn giản của các quy tắc, thay vì thiếu ngữ nghĩa rõ ràng. Về cơ bản, chúng ta đang nói về những điều mà Stephen Wolfram đã từng viết một cuốn sách rất lớn , mặc dù ông không sử dụng từ "tarpit".
Ý tôi là "đảo ngược"
Tôi quan tâm đến tính toán đảo ngược. Đặc biệt, tôi quan tâm đến các ngôn ngữ hoàn chỉnh, theo nghĩa của Axelsen và Glück , có nghĩa là họ có thể tính toán mọi chức năng tiêm tính toán và chỉ có thể tính toán các chức năng tiêm. Bây giờ, có nhiều mô hình tính toán có thể đảo ngược theo nghĩa này, chẳng hạn như máy Turing phổ dụng đảo ngược của Axelsen hoặc ngôn ngữ đảo ngược cấp cao Janus . (Có nhiều ví dụ khác trong tài liệu; đó là một lĩnh vực nghiên cứu tích cực.)
Cần lưu ý rằng định nghĩa về tính hoàn chỉnh r-Turing của Axelsen và Glück là một cách tiếp cận khác với điện toán đảo ngược so với cách tiếp cận thông thường do Bennett. Theo cách tiếp cận của Bennett, một hệ thống được phép tạo ra "dữ liệu rác" bị vứt bỏ khi kết thúc tính toán; trong những điều kiện như vậy, một hệ thống đảo ngược có thể được hoàn thành. Tuy nhiên, theo cách tiếp cận của Axelsen và Glück, hệ thống không được phép tạo ra "dữ liệu rác" như vậy, điều này hạn chế loại vấn đề mà nó có thể tính toán. (Do đó, "r-Turing hoàn thành" thay vì "Turing hoàn thành".)
Lưu ý: giấy Axelsen và Glück đứng sau một bức tường. Điều này thật đáng tiếc - theo hiểu biết của tôi hiện tại không có bất kỳ tài nguyên không phải trả tiền nào về chủ đề hoàn thiện r-Turing. Tôi sẽ cố gắng bắt đầu một trang Wikipedia nếu tôi có thời gian, nhưng không có lời hứa.
Thứ tôi đang tìm kiếm
Các ví dụ về điện toán đảo ngược được đề cập ở trên đều khá "nặng về ngữ nghĩa". Đây là một điều tốt trong hầu hết các bối cảnh, nhưng nó có nghĩa là các quy tắc cần thiết để cập nhật trạng thái của chúng ở mỗi bước thời gian là khá phức tạp. Tôi đang tìm kiếm "tarpits" của điện toán đảo ngược. Đó là, các hệ thống tùy ý ít nhiều có các quy tắc khá đơn giản "chỉ xảy ra" là các ngôn ngữ hoàn chỉnh. Tôi nhắc lại rằng không có định nghĩa chính thức về những gì tôi đang tìm kiếm, nhưng tôi sẽ biết nó khi tôi nhìn thấy nó, và tôi nghĩ đó là một điều hợp lý để hỏi về.
Có một số điều tôi biết gần như phù hợp với hóa đơn, nhưng không hoàn toàn. Có một số automata di động đảo ngược đã được chứng minh là hoàn thành Turing. Kiến của Langton (một loại máy Turing hai chiều với chức năng chuyển đổi trạng thái đảo ngược khá đơn giản và khá đơn giản) cũng đã hoàn tất, miễn là điều kiện ban đầu của nó được phép chứa các mẫu lặp lại vô hạn. Tuy nhiên, với các hệ thống này, việc xác định ánh xạ từ trạng thái của chúng sang "đầu ra" theo cách mà không có dữ liệu rác nào bị vứt đi là không tầm thường. Tôi đặc biệt quan tâm đến các hệ thống có thể được coi là nhận đầu vào, thực hiện một số chuỗi biến đổi (có thể đảo ngược) trên đó và sau đó (nếu chúng chấm dứt) trả lại một số đầu ra.
(Tôi hy vọng câu hỏi này sẽ dễ trả lời hơn câu hỏi liên quan trước đây của tôi về một phép đảo ngược tương đương với phép tính lambda.)