Tự áp dụng không phải là một thành phần cần thiết của bằng chứng
Tóm lại
Nếu có máy Turing giải quyết vấn đề tạm dừng, thì từ máy đó, chúng ta có thể xây dựng một máy Turing L khác với hành vi tạm dừng (chức năng đặc trưng tạm dừng) không thể là hành vi tạm dừng của bất kỳ máy Turing nào.HL
Nghịch lý được xây dựng trên chức năng tự áp dụng (được gọi là L trong câu trả lời này - xin lỗi về sự không nhất quán ký hiệu) không phải là một thành phần cần thiết của bằng chứng, nhưng là một thiết bị có thể sử dụng với việc xây dựng một mâu thuẫn cụ thể, che giấu những gì có vẻ là "thực mục đích "của việc xây dựng. Đó có lẽ là lý do tại sao nó không trực quan.DL
Dường như trực tiếp hơn để chỉ ra rằng chỉ có vô số hành vi tạm dừng (không nhiều hơn các máy Turing), có thể được định nghĩa là các chức năng tạm dừng đặc trưng được liên kết với mỗi máy Turing. Người ta có thể định nghĩa một cách xây dựng một chức năng tạm dừng đặc trưng không có trong danh sách, và xây dựng từ nó, và từ một máy
giải quyết vấn đề tạm dừng, một máy L có chức năng tạm dừng đặc trưng mới đó. Nhưng vì, bằng cách xây dựng, nó không phải là chức năng tạm dừng đặc trưng của máy Turing, L không thể là một. Vì L được chế tạo từ H sử dụng các kỹ thuật chế tạo máy Turing, H không thể là máy Turing.HLLLHH
Việc tự áp dụng cho chính nó, được sử dụng trong nhiều bằng chứng, là một cách để thể hiện sự mâu thuẫn. Nhưng nó chỉ hoạt động khi chức năng tạm dừng đặc tính không thể được xây dựng từ đường chéo của danh sách các chức năng tạm dừng đặc trưng được phép Turing, bằng cách lật đường chéo này (trao đổi 0 và 1 ). Nhưng có vô số cách khác để xây dựng một chức năng tạm dừng đặc trưng mới. Sau đó, không phải Turing-ness có thể không còn được chứng minh bằng một nghịch lý nói dối (ít nhất là không đơn giản). Cấu trúc tự ứng dụng không trực quan vì nó không cần thiết, nhưng trông có vẻ lắt léo khi được rút ra khỏi chiếc mũ ma thuật.L01
Về cơ bản, không phải là máy Turing vì nó được thiết kế từ đầu để có hành vi tạm dừng không phải là máy Turing và có thể được hiển thị trực tiếp hơn, do đó trực quan hơn.L
Lưu ý : Có thể, đối với bất kỳ lựa chọn mang tính xây dựng nào của chức năng tạm dừng đặc tính không thể, có một sự sắp xếp lại có thể tính toán của phép liệt kê máy Turing sao cho nó trở thành đường chéo (tôi không biết). Nhưng, imho, điều này không thay đổi thực tế rằng tự ứng dụng là một kỹ thuật chứng minh gián tiếp đang che giấu một thực tế trực quan và thú vị hơn.
Phân tích chi tiết các bằng chứng
Tôi sẽ không trở thành lịch sử (nhưng nhờ những người này, tôi thích nó), nhưng tôi chỉ cố gắng làm việc theo khía cạnh trực quan.
Tôi nghĩ rằng bài thuyết trình được đưa ra @vzn , mà tôi đã gặp từ lâu (tôi đã quên), thực sự khá trực quan, và thậm chí giải thích tên chéo. Tôi chỉ nhắc lại chi tiết vì tôi cảm thấy @vzn không nhấn mạnh đủ sự đơn giản của nó.
Mục đích của tôi là có một cách trực quan để lấy lại bằng chứng, biết rằng Cantor. Vấn đề với nhiều phiên bản của bằng chứng là các công trình dường như được kéo ra từ một chiếc mũ ma thuật.
Bằng chứng mà tôi đưa ra không hoàn toàn giống như trong câu hỏi, nhưng nó là chính xác, theo như tôi có thể thấy. Nếu tôi không phạm sai lầm, nó đủ trực quan vì tôi có thể truy xuất nó sau nhiều năm hơn là tôi quan tâm, làm việc với các vấn đề rất khác nhau.
Trường hợp các tập con của (Cantor)N
Bằng chứng của Cantor giả định (đó chỉ là một giả thuyết) rằng có một phép liệt kê các tập con của các số nguyên, do đó tất cả các tập con có thể được mô tả bởi hàm đặc trưng C j ( i ) là 1 nếu
i ∈ S j và bằng 0 nếu không.SjCj(i)1i∈Sj0
Đây có thể được xem như một bảng , sao cho T [ i , j ] = C j ( i )TT[i,j]=Cj(i)
Sau đó, xem xét các đường chéo, chúng tôi xây dựng một chức năng đặc trưng
mà D ( i ) = ¯ T [ i , i ] , tức là nó giống với đường chéo của bảng với mỗi bit lật sang giá trị khác.DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
Không có gì đặc biệt về đường chéo, ngoại trừ đó là một cách dễ dàng để có được một chức năng đặc trưng khác với tất cả những người khác, và đó là tất cả những gì chúng ta cần.D
Do đó, tập hợp con đặc trưng bởi không thể nằm trong bảng liệt kê. Kể từ đó sẽ thực sự của bất kỳ điều tra, không thể có một điều tra rằng liệt kê tất cả các tập con của N .DN
Điều này được thừa nhận, theo câu hỏi ban đầu, khá trực quan. Chúng ta có thể làm cho bằng chứng của vấn đề tạm dừng là trực quan?
Trường hợp của vấn đề tạm dừng (Turing)
Chúng tôi giả định rằng chúng tôi có một bảng liệt kê các máy Turing (mà chúng tôi biết là có thể). Hành vi tạm dừng của máy Turing có thể được mô tả bằng chức năng tạm dừng đặc trưng H j ( i ) là 1 nếu
M j dừng trên đầu vào i và bằng 0 nếu không.MjHj(i)1Mji0
Đây có thể được xem như một bảng , sao cho T [ i , j ] = H j ( i )TT[i,j]=Hj(i)
Sau đó, xem xét các đường chéo, chúng tôi xây dựng một đặc tính ngăn chặn chức năng
mà D ( i ) = ¯ T [ i , i ] , tức là nó giống với đường chéo của bảng với mỗi bit lật sang giá trị khác.DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
Không có gì đặc biệt về đường chéo, ngoại trừ việc dễ dàng có được chức năng tạm dừng đặc trưng khác với tất cả các đường chéo khác, và đó là tất cả những gì chúng ta cần (xem ghi chú ở phía dưới).D
Do đó, hành vi tạm dừng được đặc trưng bởi không thể là hành vi của máy Turing trong bảng liệt kê. Vì chúng tôi liệt kê tất cả, chúng tôi kết luận rằng không có máy Turing nào có hành vi đó.D
Không có lời tiên tri tạm dừng cho đến nay, và không có giả thuyết tính toán : Chúng tôi không biết gì về khả năng tính toán của và của các hàm H j .THj
Bây giờ giả sử chúng ta có một máy Turing có thể giải quyết vấn đề tạm dừng, do đó H ( i , j ) luôn luôn dừng với H j ( i ) .HH(i,j)Hj(i)
Chúng tôi muốn chứng minh rằng, cho , chúng tôi có thể xây dựng một cỗ máy L có đặc tính ngăn chặn chức năng D . Máy
L gần giống với H , do đó L ( i ) bắt chước
H ( i , i ) , ngoại trừ bất cứ khi nào H ( i , i ) sắp kết thúc với giá trị 1 , L ( i ) đi vào một vòng lặp vô hạn và không chấm dứt.HLDLHL(i)H(i,i)H(i,i)1L(i)
Rõ ràng là chúng ta có thể xây dựng một máy như vậy nếu H
tồn tại. Do đó, máy này phải nằm trong bảng liệt kê ban đầu của tất cả các
máy (mà chúng tôi biết là có thể). Nhưng không thể vì hành vi tạm dừng D của nó tương ứng với không có máy nào được liệt kê. Máy L không thể tồn tại, ngụ ý rằng H không thể tồn tại.LHDLH
Tôi cố tình bắt chước bằng chứng đầu tiên và đi vào chi tiết nhỏ
Cảm giác của tôi là các bước đến một cách tự nhiên theo cách này, đặc biệt là khi người ta coi bằng chứng của Cantor là trực quan hợp lý.
Đầu tiên liệt kê các cấu trúc tôn giáo. Sau đó, người ta lấy và sửa đổi đường chéo như một cách thuận tiện để chạm vào tất cả chúng để có được một hành vi không được xác định, sau đó nhận được một mâu thuẫn bằng cách thể hiện một đối tượng không xác định được hành vi ... nếu giả thuyết nào đó là đúng: sự tồn tại của bảng liệt kê cho Cantor, và sự tồn tại của một lời tiên tri tạm dừng tính toán cho Turing.
Lưu ý: Để xác định hàm , chúng ta có thể thay thế đường chéo bị lật bằng bất kỳ hàm tạm dừng đặc trưng nào khác, khác với tất cả các hàm được liệt kê trong T , có thể tính toán được ( ví dụ như các hàm được liệt kê trong T ) . Sau đó, máy L
sẽ phải được xây dựng tương ứng, để có D là chức năng tạm dừng đặc trưng và L ( i ) sẽ sử dụng máy H , nhưng không bắt chước trực tiếp H ( i , i ) . Sự lựa chọn của đường chéo làm cho nó đơn giản hơn nhiều.DTTLDL(i)HH(i,i)
So sánh với bằng chứng "khác"
Hàm được định nghĩa ở đây rõ ràng là tương tự của hàm
D trong chứng minh được mô tả trong câu hỏi.LD
Chúng tôi chỉ xây dựng nó theo cách nó có chức năng tạm dừng đặc trưng tương ứng với không có máy Turing và trực tiếp nhận được mâu thuẫn từ đó. Điều này cho chúng ta sự tự do không sử dụng đường chéo (cho những gì nó có giá trị).
Ý tưởng về bằng chứng "thông thường" dường như cố gắng giết chết những gì tôi thấy là một con cá chết. Nó nói: hãy giả sử rằng là một trong những máy được liệt kê (nghĩa là tất cả chúng). Sau đó, nó có một chỉ số j L trong liệt kê rằng: L = M j L . Sau đó, nếu L ( j L ) dừng lại, chúng ta có
T [ j L , j L ] = H ( j L , j L ) = 1 , sao cho L ( j L )LjLL=MjLL(jL)T[jL,jL]=H(jL,jL)=1L(jL)sẽ lặp bằng cách xây dựng. Ngược lại, nếu không dừng lại, thì
T [ j L , j L ] = H ( j L , j L ) = 0 để L ( j L ) sẽ dừng lại khi xây dựng. Như vậy chúng ta có một mâu thuẫn. Nhưng mâu thuẫn xuất phát từ cách xây dựng chức năng tạm dừng đặc trưng của L , và có vẻ đơn giản hơn rất nhiều khi nói rằng LL(jL)T[jL,jL]=H(jL,jL)=0L(jL)LL không thể là máy Turing vì nó được chế tạo để có chức năng tạm dừng đặc trưng không phải là máy Turing.
Một điểm phụ là bằng chứng thông thường này sẽ đau đớn hơn rất nhiều nếu chúng ta không chọn đường chéo, trong khi cách tiếp cận trực tiếp được sử dụng ở trên không có vấn đề gì với nó. Cho dù điều đó có thể hữu ích, tôi không biết.