Liệu bằng chứng về tính không ổn định của vấn đề Ngừng gian lận bằng cách đảo ngược kết quả?


12

Tôi gặp khó khăn trong việc hiểu vấn đề tạm dừng của Turing.

Bằng chứng của anh ta giả định rằng có tồn tại một cỗ máy ma thuật có thể xác định liệu một máy tính sẽ dừng lại hay lặp lại mãi mãi cho một đầu vào nhất định. Sau đó, chúng tôi gắn một máy khác đảo ngược đầu ra và chúng tôi có mâu thuẫn và do đó không thể tồn tại.HHH

Mối quan tâm của tôi là dường như chúng ta đang nói một câu trả lời là sai vì chúng ta đã đảo ngược nó. Tương tự như vậy, nếu có một máy gọi là sao cho đưa ra một câu trả lời đúng trên một số đầu vào nhất định và một câu trả lời không chính xác trên các đầu vào khác. Sau đó, chúng tôi gắn một máy khác đảo ngược kết quả của để kết hợp hai máy có mâu thuẫn với cách xác địnhHai máy hiện tạo câu trả lời không chính xác cho đầu vào mà được xác định để đưa ra câu trả lời đúng và đưa ra câu trả lời đúng cho đầu vào mà được xác định để xuất câu trả lời sai. Điều này có được gọi là mâu thuẫn không, và do đó không tồn tại một cỗ máy đưa ra câu trả lời đúng trên một số đầu vào và câu trả lời không chính xác trên những cái khác?A A A A AAAAAA

Câu trả lời:


20

Phiên bản ngắn: Đầu ra của các máy không đúng hoặc không chính xác, chúng chỉ trái ngược nhau, điều này chứng tỏ rằng máy ban đầu quyết định xem máy đầu vào có dừng trên chuỗi đã cho hay không tồn tại.

Phiên bản dài : Đầu tiên chúng ta sẽ phác thảo bằng chứng (hoặc ít nhất một phiên bản của nó - có rất nhiều).

  1. Giả sử rằng chúng ta có một Turing Machine mà quyết định xem máy Turing M tạm dừng trên đầu vào x hay không.HALT(M,x)Mx
  2. Sử dụng chúng ta xây dựng một máy F L Tôi P ( M , x ) trong đó sử dụng H Một L T để kiểm tra xem M tạm dừng trên x hay không, sau đó làm ngược lại, tức là nếu M tạm dừng trên x , F L I P vòng, nếu M không dừng trên x , F L I P dừng lại.HALTFLIP(M,x)HALTMxMxFLIPMxFLIP
  3. Cuối cùng chúng ta hãy tạo một TM (Tôi chạy ra khỏi tên tốt), trong đó có mô tả của một TM và chạy F L Tôi P với đầu vào ( M , M ) , xuất ra bất cứ điều gì F L tôi Đầu ra P.C(M)FLTôiP(M,M)FLTôiP

Điều quan trọng cần lưu ý là miễn là người quyết định tồn tại, mỗi bước này đều đơn giản để thực hiện; F L Tôi P chỉ cần có để sử dụng H Một L T để kiểm tra phải làm gì, và C chỉ là bản sao đầu vào của nó để vượt qua để F L Tôi P .HMộtLTFLTôiPHMộtLTCFLTôiP

Mâu thuẫn nảy sinh khi chúng ta nhìn vào những gì sẽ xảy ra khi chúng tôi chạy . Hoặc C dừng lại khi được cho là đầu vào hoặc không. H A L T sẽ quyết định điều này:C(C)CHMộtLT

  • Nếu tạm dừng trên đầu vào C , H Một L T sẽ nói Y e s , nhưng sau đó F L Tôi P sẽ lặp, vì vậy C sẽ lặp, mâu thuẫn H Một L T .CCHMộtLTYeSFLTôiPCHMộtLT
  • Nếu vòng trên đầu vào C , H Một L T sẽ nói N o , nhưng sau đó F L Tôi P sẽ tạm dừng, vì vậy C cũng sẽ dừng lại, mâu thuẫn H Một L T .CCHMộtLTNoFLTôiPCHMộtLT

Vì mỗi bước trong quá trình xây dựng đều rõ ràng, chúng tôi chỉ có thể kết luận rằng không thể tồn tại; chúng tôi đã xây dựng một trường hợp mà không có vấn đề gì, H A L T không thể quyết định đầu ra là gì, tức là vấn đề không thể giải quyết được. Chỉ cần thực sự nhấn mạnh vào vấn đề một chút, H A L T không thể tồn tại - đó là không thể có một TM quyết định vấn đề dừng - bởi vì có ít nhất một trường hợp chúng tôi đã xây dựng rõ ràng khi không có logic câu trả lời có thể Hãy nhớ rằng một người quyết định không được phép đưa ra câu trả lời sai và phải đưa ra một cái gì đó, nhưng trong trường hợp chúng tôi đã xây dựng, cả hai câu trả lời có thể đều sai.HMộtLTHMộtLTHMộtLT


Định nghĩa của bạn về máy không có ý nghĩa gì vì nó không chấp nhận bất kỳ đầu vào nào mà M chấp nhận. Vậy làm thế nào nó có thể chạy? CM
AleksandrH

7

Bạn đang thảo luận về hai ý nghĩa khác nhau của mâu thuẫn với nhau.

Trong sự tương tự của bạn, máy A và sửa đổi lật của nó mâu thuẫn với nhau chỉ theo nghĩa là đầu ra của chúng luôn khác nhau. (Ví dụ, họ có thể thực hiện hai chức năng thử nghiệm trên số nguyên, “ x ≤ 5?” Và “ x > 5?”) Đó là chắc chắn một điều “mâu thuẫn” có thể có nghĩa là trong việc sử dụng hàng ngày, nhưng nó không có nghĩa là gì nó trong logic bằng chứng.

Trong các bằng chứng logic, nó có nghĩa là một cái gì đó mạnh mẽ hơn: thứ gì đó đơn giản là không thể. Ví dụ: hàm trả về đúng true trên tất cả các đầu vào trên 5 và hàm false trên tất cả các đầu vào nhỏ hơn 10 - điều đó mâu thuẫn theo nghĩa mạnh hơn này, bởi vì, giả sử, 7, đầu ra của nó sẽ phải là cả hai đúng. và phạm sai, nhưng những cái đó không giống nhau. Lập luận của Turing cho thấy chương trình tạm dừng là mâu thuẫn theo nghĩa mạnh mẽ hơn: giả sử nó dẫn đến một điều gì đó không thể, hoặc đã được biết là sai.


2

Đây là một bằng chứng khác cho thấy vấn đề tạm dừng là không thể giải quyết được. Chúng ta nói rằng một chương trình xuất ra một chuỗi nếu nó dừng lại và xuất ra x . (Nếu chương trình không bao giờ dừng, thì nó không xuất ra bất kỳ chuỗi nào.) Xác định f ( n ) là độ dài của chuỗi dài nhất được xuất ra bởi một chương trình C có độ dài tối đa n .xxf(n)n

Giả sử rằng vấn đề tạm dừng là có thể quyết định. Sau đó có thể được tính bằng chương trình C:f(m)

Trên đầu vào , chạy trên tất cả các chương trình C tạm dừng có độ dài tối đa m và xác định đầu ra của chúng; trả về độ dài của đầu ra tối đa.mm

Điều đó có nghĩa rằng đối với mỗi , chúng ta có thể viết một chương trình P m mà đầu ra f ( m ) + 1 zero. Độ dài của P m là bao nhiêu? Có một mẫu chương trình C cố định, với một trình giữ chỗ, thực hiện P m ; giữ chỗ nên được điền với hằng số m . Chỉ định m mất | m | ký tự (ở đây | m | là độ dài của biểu diễn thập phân của m ), trong đó | m | log 10mPmf(m)+1PmPmmm|m||m|m . Mẫu lấy một sốký tự T cố địnhvà do đó độ dài của P m T + log 10 m . Nếu chúng ta chọn m đủ lớn ( m = 2 T sẽ làm), chúng ta sẽ có T + log 10 m m , và do đó f ( m ) ít nhất là kích thước của đầu ra chuỗi theo P m , tức là f ( m ) f ( m ) + 1|m|đăng nhập10mTPmT+đăng nhập10mmm= =2TT+đăng nhập10mmf(m)Pmf(m)f(m)+1. Chúng tôi đã đạt đến một mâu thuẫn.

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.