Własna aplikacja nie jest niezbędnym składnikiem dowodu
W skrócie
Jeśli istnieje maszyna Turinga która rozwiązuje problem zatrzymania, to z tej maszyny możemy zbudować inną maszynę Turinga L o zachowaniu zatrzymania (funkcja charakterystyczna zatrzymania), która nie może być zachowaniem zatrzymania żadnej maszyny Turinga.HL
Paradoks zbudowany na samodzielnie stosowanej funkcji (zwanej w tej odpowiedzi L - przepraszam za niespójności notacji) nie jest niezbędnym składnikiem dowodu, ale urządzeniem używanym z konstrukcją jednej specyficznej sprzeczności, ukrywającej coś, co wydaje się być „prawdziwym” cel ”konstrukcji. Prawdopodobnie dlatego nie jest intuicyjny.DL
Bardziej bezpośrednie wydaje się wykazanie, że istnieje tylko znaczna liczba zachowań zatrzymania (nie więcej niż maszyny Turinga), które można zdefiniować jako charakterystyczne funkcje zatrzymania związane z każdą maszyną Turinga. Konstrukcyjnie można zdefiniować charakterystyczną funkcję zatrzymania, której nie ma na liście, i zbudować z niej oraz z maszyny
która rozwiązuje problem zatrzymania, maszyny L, która ma tę nową charakterystyczną funkcję zatrzymania. Ponieważ jednak z konstrukcyjnego punktu widzenia nie jest to charakterystyczna funkcja zatrzymywania maszyny Turinga, L nie może być jednym. Ponieważ L jest zbudowany z H przy użyciu technik budowy maszyn Turinga, H nie może być maszyną Turinga.HLLLHH
Samo zastosowanie do siebie, użyte w wielu dowodach, jest sposobem na pokazanie sprzeczności. Działa to jednak tylko wtedy, gdy niemożliwa funkcja zatrzymania charakterystycznego jest zbudowana z przekątnej listy dozwolonych funkcji zatrzymania charakterystycznego Turinga, poprzez odwrócenie tej przekątnej (zamiana 0 i 1 ). Ale istnieje nieskończenie wiele innych sposobów budowania nowej charakterystycznej funkcji zatrzymania. Wtedy nie można już udowodnić braku Turinga paradoksem kłamców (przynajmniej nie tylko). Konstrukcja do samodzielnego zastosowania nie jest intuicyjna, ponieważ nie jest niezbędna, ale wygląda na płynną po wyciągnięciu z magicznego kapelusza.L01
Zasadniczo nie jest maszyną Turinga, ponieważ od samego początku jest zaprojektowany tak, aby zachowywał się tak, jak maszyna Turinga, i którą można pokazać bardziej bezpośrednio, a zatem bardziej intuicyjnie.L
Uwaga : może się zdarzyć, że przy każdym konstruktywnym wyborze niemożliwej charakterystycznej funkcji zatrzymania istnieje obliczalna zmiana kolejności wyliczenia maszyny Turinga w taki sposób, że staje się przekątna (nie wiem). Ale, imho, nie zmienia to faktu, że samodzielna aplikacja jest techniką pośredniego dowodu, która ukrywa bardziej intuicyjny i interesujący fakt.
Szczegółowa analiza dowodów
Nie zamierzam być historią (ale dzięki tym, którzy to lubią), ale staram się działać tylko intuicyjnie.
Wydaje mi się, że prezentacja podana przez @vzn , z którą zetknąłem się dawno temu (zapomniałem), jest w rzeczywistości raczej intuicyjna, a nawet wyjaśnia nazwę przekątnej. Powtarzam to szczegółowo, ponieważ uważam, że @vzn nie podkreślił wystarczająco swojej prostoty.
Moim celem jest mieć intuicyjny sposób na odzyskanie dowodu, wiedząc, że Cantor. Problemem wielu wersji dowodu jest to, że konstrukcje wydają się być wyciągane z magicznego kapelusza.
Dowód, który przedstawiam, nie jest dokładnie taki sam jak w pytaniu, ale jest poprawny, o ile widzę. Jeśli nie popełniłem błędu, jest on wystarczająco intuicyjny, ponieważ mógłbym go odzyskać po latach, które liczę, i pracować nad bardzo różnymi zagadnieniami.
Przypadek podzbiorów (Cantor)N
Dowód Cantor zakłada (jest tylko hipoteza), że nie jest to wyliczenie podzbiorów liczb całkowitych, tak, aby wszystkie podzbiorze można przedstawić jego funkcja charakterystyczna C j ( I ) , który jest 1 , jeżeli
i ∈ S j w przeciwnym razie wynosi 0 .SjCj(i)1i∈Sj0
Może to być postrzegane jako tabela , tak że T [ i , j ] = C j ( i )TT[i,j]=Cj(i)
Następnie, biorąc pod uwagę przekątną, budujemy charakterystyczną funkcję
taką, że D ( i ) = ¯ T [ i , i ] , tj. Jest identyczna z przekątną stołu z każdym bitem odwracanym do drugiej wartości.DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
W przekątnej nie ma nic specjalnego, poza tym, że jest to łatwy sposób na uzyskanie charakterystycznej funkcji która różni się od wszystkich innych i to wszystko, czego potrzebujemy.D
Dlatego podzbiór charakteryzowany przez nie może być w wyliczeniu. Ponieważ byłoby to prawdą jakiegokolwiek wyliczenia, nie może być wyliczenie, które wylicza wszystkie podzbiory N .DN
Jest to wprawdzie, zgodnie z początkowym pytaniem, dość intuicyjne. Czy możemy uczynić dowód problemu zatrzymania za intuicyjny?
Przypadek problemu zatrzymania (Turing)
Zakładamy, że mamy wyliczenie maszyn Turinga (które, jak wiemy, są możliwe). Zahamowanie zachowanie Turingowi urządzenie można przedstawić charakterystycznej funkcji zatrzymania H j ( I ) , który jest 1 , gdy
M j postojów na wejścia I i 0 inaczej.MjHj(i)1Mji0
Można to postrzegać jako tabelę , taką że T [ i , j ] = H j ( i )TT[i,j]=Hj(i)
Następnie, biorąc pod uwagę przekątną, budujemy charakterystyczną funkcję zatrzymania
taką, że D ( i ) = ¯ T [ i , i ] , tj. Jest identyczna z przekątną stołu z każdym bitem odwracanym do drugiej wartości.DD(i)=T[i,i]¯¯¯¯¯¯¯¯¯¯¯¯
W przekątnej nie ma nic specjalnego, poza tym, że jest to łatwy sposób na uzyskanie charakterystycznej funkcji zatrzymania która różni się od wszystkich innych i to wszystko, czego potrzebujemy (patrz uwaga na dole).D
Zatem zachowanie zatrzymania charakteryzowane przez nie może być w wyliczeniu maszyną Turinga. Ponieważ wymieniliśmy je wszystkie, dochodzimy do wniosku, że nie ma maszyny Turinga o takim zachowaniu.D
Nie zatrzymując oracle tak daleko, a nie hipoteza Obliczalność : Nie wiemy nic o obliczalności wiedzieć i funkcji H j .THj
Załóżmy teraz, że mamy maszyny Turinga , które mogą rozwiązać problemu stopu, tak że H ( i , j ) zawsze postojów z H j ( í ) jako wynik.HH(i,j)Hj(i)
Chcemy udowodnić, że dana , możemy zbudować maszynę L , który ma charakterystyczny powstrzymując funkcyjny D . Maszyna
L jest prawie identyczna z H , więc L ( i ) naśladuje
H ( i , i ) , z tym wyjątkiem, że gdy H ( i , i ) kończy się z wartością 1 , L ( i ) przechodzi w nieskończoną pętlę i nie kończy się.HLDLHL(i)H(i,i)H(i,i)1L(i)
Jest całkiem jasne, że możemy zbudować taką maszynę jeśli
istnieje H. Dlatego ta maszyna powinna być w naszym początkowym wyliczeniu wszystkich
maszyn (które, jak wiemy, są możliwe). Ale nie może tak być, ponieważ jego zachowanie zatrzymania D nie odpowiada żadnej z wymienionych maszyn. Maszyna L nie może istnieć, co oznacza, że H nie może istnieć.LHDLH
Celowo naśladowałem pierwszy dowód i wdałem się w drobne szczegóły
Mam wrażenie, że kroki następują naturalnie w ten sposób, szczególnie gdy ktoś uważa dowód Cantora za dość intuicyjny.
Najpierw wymienia się konstrukty sporne. Następnie bierze się i modyfikuje przekątną jako wygodny sposób na dotknięcie ich wszystkich, aby uzyskać nieuwzględnione zachowanie, a następnie uzyskać sprzeczność, pokazując obiekt, którego zachowanie nie zostało uwzględnione ... jeśli pewna hipoteza miałaby być prawdziwa: istnienie wyliczenie dla Cantora i istnienie obliczalnej wyroczni zatrzymującej dla Turinga.
Uwaga: Aby zdefiniować funkcję , możemy zastąpić odwróconą przekątną dowolną inną charakterystyczną funkcją zatrzymania, inną niż wszystkie wymienione w T , która jest obliczalna (od tych wymienionych na przykład w T ), pod warunkiem, że dostępna jest wyrocznia zatrzymująca . Wtedy maszyna L
musiałaby być odpowiednio skonstruowana, aby mieć D jako charakterystyczną funkcję zatrzymania, a L ( i ) korzystałby z maszyny H , ale nie naśladowałby tak bezpośrednio H ( i , i ) . Wybór przekątnej znacznie ułatwia.DTTLDL(i)HH(i,i)
Porównanie z dowodem „innym”
Zdefiniowana tutaj funkcja jest najwyraźniej analogiem funkcji
D w dowodzie opisanym w pytaniu.LD
Budujemy go tylko w taki sposób, że ma charakterystyczną funkcję zatrzymania, która nie odpowiada żadnej maszynie Turinga, i uzyskujemy z tego bezpośrednią sprzeczność. Daje nam to swobodę nieużywania przekątnej (za ile jest ona warta).
Idea „zwykłego” dowodu wydaje się próbować zabić to, co uważam za martwą rybę. Mówi: załóżmy, że jest jedną z wymienionych maszyn (tj. Wszystkie z nich). Następnie musi ona indeksem j L w tej liczby: L = M J L . Zatem jeśli L ( j L ) zatrzyma się, mamy
T [ j L , j L ] = H ( j L , j L ) = 1 , więc L ( j L )LjLL = MjotL.L ( jL.)T.[ jL., jL.] = H( jL., jL.) = 1L ( jL.)zapętli się według konstrukcji. I odwrotnie, jeśli czy nie, a następnie zatrzymania
T [ j L , J l ] = H ( j L , J l ) = 0 tak, że L ( j L ) zatrzyma się konstrukcyjnie. Mamy zatem sprzeczność. Ale sprzeczność wynika ze sposobu, w jaki skonstruowano charakterystyczną funkcję zatrzymującą L , i wydaje się o wiele prostsze powiedzieć, że LL ( jL.)T.[ jL., jL.] = H( jL., jL.) = 0L ( jL.)L.L. nie może być maszyną Turinga, ponieważ jest skonstruowana tak, aby miała charakterystyczną funkcję zatrzymywania, która nie jest funkcją maszyny Turinga.
Z drugiej strony ten zwykły dowód byłby o wiele bardziej bolesny, gdybyśmy nie wybrali przekątnej, podczas gdy bezpośrednie podejście zastosowane powyżej nie ma z tym problemu. Czy to może być przydatne, nie wiem.