Có rất nhiều (và ý tôi là nhiều) ngôn ngữ có thể đếm được là Turing-decidable. Bất kỳ ngôn ngữ không thể đếm được có thể là Turing có thể quyết định?
Có rất nhiều (và ý tôi là nhiều) ngôn ngữ có thể đếm được là Turing-decidable. Bất kỳ ngôn ngữ không thể đếm được có thể là Turing có thể quyết định?
Câu trả lời:
Mỗi ngôn ngữ trong một bảng chữ cái hữu hạn (hoặc thậm chí có thể đếm được) là có thể đếm được. Giả sử bảng chữ cái máy Turing của bạn là hữu hạn, bất kỳ ngôn ngữ nào nó có thể chấp nhận là có thể đếm được.
Chúng tôi chỉ có thể có các ngôn ngữ không đếm được nếu chúng tôi cho phép các từ có độ dài vô hạn, xem ví dụ về ngôn ngữ thông thường Omega . Những ngôn ngữ này được gọi là ngữ. Một ví dụ khác sẽ là ngôn ngữ của tập hợp con của các số thực chứa phần mở rộng thập phân của tất cả các số thực.
Có một số mô hình trong đó Máy Turing được sửa đổi để chấp nhận ngữ. Một số mô hình này sử dụng điều kiện Buchi để chấp nhận. Vì bạn không thể thấy toàn bộ đầu vào trong thời gian hữu hạn, chúng tôi nói rằng đầu vào được chấp nhận nếu Máy Turing đi vào trạng thái chấp nhận vô hạn nhiều lần. Nếu chúng ta có thể chứng minh điều này bằng cách phân tích đầu vào (không phải bằng cách chạy nó), chúng ta nói rằng đầu vào được chấp nhận.
Khả năng tính toán cổ điển thảo luận về các chức năng trên các chuỗi hữu hạn từ một bảng chữ cái hữu hạn. Kết quả là tất cả các ngôn ngữ cho dù có thể quyết định hay không thể giải quyết được đều có thể đếm được.
Để xem xét các ngôn ngữ không đếm được, chúng ta phải xem xét các chuỗi vô hạn thay cho các chuỗi hữu hạn. (AFAIK, có một bảng chữ cái vô hạn không thú vị lắm và không tương ứng với một mô hình tính toán thực tế của chính nó.)
Có các mô hình tính toán trong đó chúng ta có thể xử lý các chuỗi vô hạn cho phép chúng ta biểu diễn các đối tượng từ các miền không đếm được như số thực. Chúng thường được biểu diễn dưới dạng tính toán loại cao hơn. Một mô hình sử dụng máy Turing là mô hình TTE. Trong mô hình này, đầu vào có thể là các chuỗi vô hạn và các máy có thể truy cập bất kỳ mục nào trong chuỗi mà nó muốn. Máy không cần kết thúc, tuy nhiên vẫn có điều kiện để đảm bảo đầu ra của máy hội tụ.
Nói một cách đơn giản, tính toán của máy TTE Turing luôn bị dừng lại được xác định bằng cách tính toán của máy Turing trên các chuỗi hữu hạn.
Hãy để tôi đưa ra một số ví dụ về các ngôn ngữ có thể quyết định và không thể giải quyết được của các chuỗi vô hạn:
Một ngôn ngữ có thể quyết định nếu cả ngôn ngữ và phần bổ sung của nó đều có thể bán được.
cho chúng tôi
". Ngoài ra còn có rất nhiều tài liệu tham khảo khác trên trang web về Khả năng tính toán và Độ phức tạp trong Mạng phân tích .