Máy Turing (TM) có thể quyết định xem sự cố tạm dừng có áp dụng cho tất cả các TM không?


9

Trên trang web này có nhiều biến thể về câu hỏi liệu các TM có thể quyết định vấn đề tạm dừng hay không, cho dù tất cả các TM khác hoặc các tập hợp con nhất định. Câu hỏi này có phần khác nhau.

Nó hỏi liệu thực tế vấn đề tạm dừng áp dụng cho tất cả các TM có thể được quyết định bởi một TM hay không. Tôi tin rằng câu trả lời là không, và muốn kiểm tra lý luận của tôi.

  1. Xác định ngôn ngữ tạm dừng meta là ngôn ngữ bao gồm các TM quyết định liệu TM có tạm dừng hay không.LMH

LMH={M:M,wM(M,w) accepts if M(w) halts, rejects otherwise}
  1. LMH= do sự cố tạm dừng.

Do đó, câu hỏi tiêu đề được nêu chính xác hơn: liệu có thể quyết định liệu không?LMH=

  1. Định lý của Per Rice, không thể chắc chắn liệu một ngôn ngữ re có trống không.
    Trong cả hai trường hợp, nếu có hoặc không tái thì không thể xác định được liệu . L M H = LMHLMH=

  2. Do đó, không thể xác định được liệu .LMH=

Điều này chứng tỏ một TM không thể quyết định liệu vấn đề tạm dừng có áp dụng cho tất cả các TM hay không.

Tôi hiểu có đúng không?

CẬP NHẬT: Tôi đang cố gắng chứng minh rằng một TM không thể "chứng minh vấn đề tạm dừng" đối với một số định nghĩa về "chứng minh" có vẻ đúng theo trực giác. Dưới đây là một minh họa tại sao tôi nghĩ rằng điều này là chính xác.

Chúng ta có thể tạo TM tạo theo cách sau. TM mất một tuple . Nó mô phỏng cho lặp. Nếu chấp nhận tất cả các tạm dừng và từ chối tất cả các cặp khác thì M M H chấp nhận M i . Mặt khác, nó từ chối M i nếu M i quyết định không chính xác hoặc không dừng lại. L M H ( M i , M j , w k , s t e p s ) M i ( M j , w k ) s t e p s M i ( M j , w k )MMHLMH(Mi,Mj,wk,steps)Mi(Mj,wk)stepsMi(Mj,wk)MMHMiMiMi

không dừng lại, bởi vì nó phải đánh giá vô số cặp cho mỗi M i . Ngoài ra, tất cả các M i sẽ không dừng lại. M M H sẽ không thể chấp nhận hoặc từ chối bất kỳ M i nào vì nó sẽ không biết từ mô phỏng rằng tất cả các M i sẽ không dừng lại. Do đó, ngôn ngữ mà nó định nghĩa là không tái và không thể quyết định.MMHMiMiMMHMiMi

nắm bắt trực giác của tôi về những gì tôi nghĩ nó có nghĩa là một TM để chứng minh vấn đề tạm dừng. Các đề xuất khác, chẳng hạn như M M H từ chối tất cả M i hoặc đưa ra một bằng chứng đã biết cung cấp chokiến thức trước rằng vấn đề tạm dừng áp dụng cho tất cả. Điều này không thể được tính làchứng minh điều gì đó vìtiền đề củalà kết luận mà nó đang chứng minh, và do đó là thông tư.MMHMMHMi M i M M H M M H HMMHMiMMHMMH


3
Sửa chữa của bạn không giúp đỡ. Một vấn đề không có tham số luôn luôn có thể giải quyết được, bởi máy Turing luôn tạo ra CÓ hoặc bởi một luôn luôn tạo ra NO. Thật không may, dòng đối số của bạn không hoạt động, thật không may. Tương tự thực tế của định lý của Godel là định lý của Rice.
Yuval Filmus

5
"Nó hỏi liệu thực tế vấn đề tạm dừng áp dụng cho tất cả các TM có thể được quyết định bởi một TM hay không." - truy vấn đó không có ý nghĩa vì vấn đề tạm dừng không "áp dụng" cho một tập hợp các TM. Ít nhất, tôi không biết điều đó có nghĩa là gì.
Raphael

4
Bạn đã hiểu nhầm định lý của Rice. Bang gạo của định lý (trong trường hợp đặc biệt) mà ngôn ngữ là undecidable. Nó không trạng thái đó là undecidable; trên thực tế, là decidable. {M:L(M)=}
Yuval Filmus

7
Tôi nghĩ rằng sự hiểu lầm là ở chỗ biểu thức "quyết định X" nghĩa là gì. Chính thức, X phải là một vị từ trên chuỗi và sau đó máy quyết định X là một biến mà trên đầu vào s xuất ra giá trị thật của X ( s ). Vị ngữ trong trường hợp của bạn là gì? Đầu vào của nó là gì và khi nào thì đúng?
Yuval Filmus

5
Câu hỏi là một lỗi thể loại. Tính quyết định là một thuộc tính của các ngôn ngữ (bộ chuỗi), không phải là các mệnh đề toán học. Bất kỳ câu hỏi của mẫu "Là thể quyết định?" trong đó X không phải là một chuỗi các chuỗi không có ý nghĩa. XX
David Richerby

Câu trả lời:


5

Quan điểm khác: hãy là một chính thức hóa các tuyên bố " L M H = " trong ZFC ; (tầm thường) chúng ta có:φLMH=

  • tập hợp là có thể quyết định;P={xx is a valid proof of φ in ZFC}

  • bạn cũng có thể xây dựng một TM mà liệt kê những bằng chứng trong ZFC và tạm dừng nếu nó sáng lập một bằng chứng của φ hoặc một bằng chứng của ¬ φ ; rõ ràng M dừng lại;Mφ¬φM

  • tập là undecidable{MM decides P}


19

Ngôn ngữ của máy Turing quyết định vấn đề tạm dừng là có thể quyết định. Một máy Turing quyết định nó chỉ đơn giản là luôn tạo ra NO.

Nói cách khác, là decidable.

Bạn có thể bị nhầm lẫn với thực tế là ngôn ngữ của các máy Turing có ngôn ngữ trống rỗng là không thể giải quyết được. Nghĩa là, không có máy Turing rằng, trên đầu vào , quyết định liệu L ( T ) = .TL(T)=


7
Ngôn ngữ trống rỗng là quyết định. Đối phó với nó.
Yuval Filmus

15
Ngôn ngữ của máy Turing quyết định vấn đề tạm dừng là trống rỗng. Ngôn ngữ trống rỗng là quyết định. Do đó, ngôn ngữ của máy Turing quyết định vấn đề tạm dừng là có thể quyết định.
Yuval Filmus

1
Câu hỏi đặt ra là liệu một TM có thể quyết định ngôn ngữ của các máy Turing quyết định vấn đề tạm dừng là trống không. Một TM không thể làm điều này như tôi đã trình bày ở trên.
thay đổi

1
@yters Bạn đang hỏi liệu một TM có thể chứng minh rằng ngôn ngữ đó trống không? Nó có thể dễ dàng làm như vậy, bằng cách đơn giản xuất ra một bằng chứng đã biết hiện có.
dùng253751

3
Điều đó có nghĩa gì đối với một TM để chứng minh điều gì đó?
Yuval Filmus

2

Bạn hiểu sai định lý của Rice.

Định lý của Rice, trong bối cảnh này, nói rằng bạn không thể quyết định vấn đề "T có quyết định ngôn ngữ trống không?".

Vấn đề của bạn không nằm ở việc quyết định xem một máy Turing tùy ý có quyết định ngôn ngữ trống hay không. Vấn đề của bạn là liệu có tồn tại một M quyết định ngôn ngữ trống hay không.

Và M như vậy tồn tại. Bạn thậm chí có thể làm tốt hơn thế: bạn thực sự có thể xây dựng một M như vậy và cung cấp bằng chứng rằng nó quyết định ngôn ngữ trống.

Vấn đề chung không thể quyết định không có nghĩa là bạn không thể giải quyết các trường hợp cụ thể. Trong thực tế, bằng thiết bị thông thường là liệt kê tất cả các bằng chứng, tồn tại một máy Turing:

  • Chấp nhận mọi máy Turing mà bằng chứng tồn tại mà nó quyết định ngôn ngữ trống
  • Từ chối mọi máy Turing mà bằng chứng tồn tại mà nó không quyết định ngôn ngữ trống
  • Không dừng lại nếu nó không thể được chứng minh một trong hai cách.

1

Định nghĩa về tính quyết định từ Wikipedia :

Ngôn ngữ đệ quy là ngôn ngữ chính thức tồn tại máy Turing, khi được trình bày với bất kỳ chuỗi đầu vào hữu hạn nào , sẽ dừng lại và chấp nhận nếu chuỗi đó nằm trong ngôn ngữ, và tạm dừng và từ chối. Máy Turing luôn dừng lại: nó được biết đến như một người quyết định và được cho là quyết định ngôn ngữ đệ quy.

Nói cách khác, có thể quyết định nếu có một máy Turing quyết định tất cả các chuỗi đầu vào. Đó là điều không thể giải quyết được đối với mỗi máy Turing, nó không quyết định tất cả các chuỗi đầu vào, điều đó có nghĩa là nó có thể quyết định không hoặc một số chuỗi, nhưng có ít nhất một (nhưng thực tế ít nhất là vô hạn trong số chúng) mà nó không thể quyết định.

LL=LMH=

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.