Zatrzymanie problemu bez odniesienia

10

W przypadku problemu zatrzymania jesteśmy zainteresowani, czy istnieje maszyna Turinga T która może stwierdzić, czy dana maszyna Turinga M zatrzymuje się, czy nie na danym wejściu . Zwykle dowód zaczyna zakładać, że taki istnieje. Następnie rozważamy przypadek, w którym ograniczamy do samego , a następnie wyprowadzamy sprzeczność za pomocą wystąpienia argumentu przekątnego. Jestem zainteresowany, jak poszedłby dowód, gdyby dano nam obietnicę, że ? Co z obietnicą , gdzie jest funkcjonalnie równoważne ?iTiMiMiMMM

dzwonek
źródło
2
Podpowiedź: nawet jeśli nie jest wymagane, aby poprawnie odpowiedzieć na pytania o sobie, a nawet o M ' „s równoważne do niego, możemy nadal karmić równoważny M " i zobaczyć, co robi. Ponieważ nie można obliczyć, czy M ' jest równoważne M , M nie będzie w stanie powiedzieć, że ma coś równoważnego sobie. MMMMMM
Andrej Bauer,
@AndrejBauer Czy to tylko wskazówka, którą mi dałeś i że powinienem rozwiązać mój rzeczywisty problem za pomocą tej wskazówki? Jestem trochę zdezorientowany, ponieważ rozwiązujesz problem, mówiąc „nie wymagający”, gdzie w moim otoczeniu obiecuję, że nie będzie karmiony równoważnym M . Zasadniczo chciałbym zobaczyć jakikolwiek „odnośnik”, który sprawia, że ​​problemy są nierozstrzygalne. Uważano, że tak jest w przypadku logiki i niekompletności. MM
bellpeace,
Możesz złamać obietnicę i nakarmić co chcesz. W każdym razie nie może powiedzieć, że złamałeś obietnicę. Jeśli uważasz, że to oszustwo, nakarmię M rzeczami, które nie są równoważne M, ponieważ są one podobne do M, ale wszystkie dane wejściowe są przesunięte o 1 lub inne. MMMM1
Andrej Bauer,
W rzeczywistości twoje pytania nie są dobrze sformułowane. Powinieneś nakreślić rzeczywisty dowód, który masz na myśli, a następnie określić, czego dokładnie chcesz uniknąć. Nie sądzę, że masz na myśli , ale coś innego. iM
Andrej Bauer,

Odpowiedzi:

7

Załóżmy, że HALTS to TM, która odczytuje dane wejściowe jako parę i x , gdzie M jest kodowaniem TM, a x jest dowolnym wejściem do tej TM.MxMx

Twoje pytanie brzmi, czy to, co by się stało, jeśli założyliśmy zatrzymuje rozwiązało problemu stopu dla wszystkich wejść takie, że x nie jest kodowanie TM, który jest funkcjonalnym odpowiednikiem M .M,xxM

Twierdzę, że oznacza to sprzeczność. Wymyśliłem to na miejscu, dlatego z zadowoleniem przyjmuję wszelką krytykę mojego dowodu. Ideą dowodu jest to, że zamiast przekątnej czegoś na sobie, tworzymy dwie wzajemnie rekurencyjne TM, które zachowują się różnie na niektórych danych wejściowych (a zatem nie są funkcjonalnie równoważne), ale w przeciwnym razie powodują sprzeczności.

Niech i D 2 będą dwiema wzajemnie rekurencyjnymi bazami TM (co oznacza, że ​​możemy symulować, drukować itp., Opis D 2 w programie D 1 i odwrotnie). Zauważ, że możemy tworzyć wzajemnie rekurencyjne bazy TM na podstawie twierdzenia o rekurencji.D1D2D2D1

Zdefiniuj i D 2 w następujący sposób: na wejściu x , jeśli | x | < 10 (10 wybranych dowolnie), następnie D 1 akceptuje i D 2 pętle. (W związku z tym nie są funkcjonalnie równoważne).D1D2x|x|<10D1D2

Biorąc pod uwagę pomocą | x | 10 , określa D 1 do symulacji zatrzymywane na D 2 , x i zatrzymania, jeśli D 2 zatrzymanie lub pętli, jeśli D 2 pętli.x|x|10D1D2,xD2D2

Biorąc pod uwagę pomocą | x | 10 , określa D 2 symulować zatrzymywane na D 1 , x i uchwyt, gdy D 1 zatrzymanie lub wstrzymania, jeśli D 1 pętli.x|x|10D2D1,xD1D1

Następnie zauważ, że dla dowolnego z | x | 10 , D 1 (x) zatrzymuje się lub zapętla. Jeśli D 1 zatrzymuje się na wejściu x, to wiemy, że HALTS ( D 2 , x) ustaliło, że D 2 zatrzymuje się na wejściu x. Jednak zatrzymanie D 2 na wejściu x oznacza, że ​​pętle HALTS ( D 1 , x).x|x|10D1D1D2D2D2D1

Jeśli na wejściowych pętlach x , sprzeczność zachodzi podobnie.D1x

Jest to sprzeczność, chyba że jest kodowaniem dla maszyny Turinga funkcjonalnie równoważnym z D 1 lub D 2 , w którym to przypadku HALTS ma niezdefiniowane zachowanie. Jednak x wybrano dowolnie ze wszystkich ciągów o rozmiarze większym niż 10 . Pozostaje więc pokazać, że istnieje maszyna Turinga z kodowaniem o rozmiarze większym niż 10, który zachowuje się inaczej niż D 1 i D 2 . Możemy zbudować taką maszynę w sposób trywialny. CO BYŁO DO OKAZANIA.xD1D2x10D1D2

Myśli?

Kurt Mueller
źródło
Dlaczego musisz upewnić się, że i D 2 nie są funkcjonalnie równoważne? D1D2
bellpeace
Myślę, że masz rację, że nie jest to konieczne. Mój pierwotny zamiarem było diagonalize na postojami ( )D1,D2
Kurt Mueller
Bez tego dowód jest bardziej elegancki, ale i tak wygląda dla mnie dobrze i jest dokładnie tym, czego potrzebowałem.
bellpeace,
2

Nadal nie jesteś z lasu. Napotkasz ten sam problem, tylko teraz dać mu inny TM jako wejścia, gdzie wybrałeś M ' być funkcjonalnie równoważny M (powiedzmy dodać nową regułę do M tak, że M ' porusza otwarcia s są jeden krok w prawo, jeden krok w lewo, w przeciwnym razie nie wprowadzisz żadnych zmian). Nadal będziesz w sprzeczności. Możesz spróbować wyeliminować wszystkie TM, które są równoważne M , ale to jest nierozstrzygalny zestaw.MMMMMM


Aktualizacja . Napraw schemat kodowania, w którym Oznacza opis w ramach tego schematu TM M i załóżmy, że miałeś TM, H gdzieMMH

  • jest niezdefiniowane, gdy x jest kodowaniem TM, która oblicza tę samą funkcję cząstkową co H (tj. X i H są funkcjonalnie równoważne).H(M,x)xHxH
  • Dla wszystkich innych danych wejściowych zwraca wartość true tylko wtedy, gdy M ( x ) zatrzymuje się.H(M,x)M(x)

Obecnie zwykła konstrukcja przekątna wciąż powoduje sprzeczność. Zdefiniuj TM przezQ

Q(x)=
  if H(<Q>, x) = false
    return true
  else
    loop forever

Oczywiście i H są funkcjonalnie inequivalent, więc można pozwolić x = QH I znajdź to Q ( x=Q Zatrzymanie wtedy i tylko wtedy, jeśli nie zatrzymać, więc nie mogą być takie TM H .Q(Q)H

Rick Decker
źródło
I załóżmy, że mam obietnicę, że nie jest TM funkcjonalnie równoważne M ? Może mogę przedłużyć moje pytanie w PO? iM
bellpeace,
1
Załóżmy, że otrzymałeś taką obietnicę; Wiem, że nie można tego obliczyć. Zaktualizowałem PO.
bellpeace,
@bellpeace: Jak to w ogóle zdefiniujesz?
Wejście: parę liczb w taki sposób, i nie oznacza TM TM funkcjonalnie równoważne przedstawiony M . Wyjście: 1, jeśli M zatrzymuje się na i , w przeciwnym razie 0 . Czy można rozwiązać ten problem? (M,i)iM1Mi0
bellpeace
1
@RickyDemer Tak, dwie bazy TM są uważane za funkcjonalnie równoważne, jeśli obliczają tę samą funkcję częściową. Zauważ, że jak zauważył Andrey, że chociaż ustalenie, czy i M ' są równoważne, jest nierozstrzygalne, nadal możemy rozważyć problem, w którym otrzymujemy obietnicę, że dwa wejściowe TMS nie są równoważne, tak jak to zilustrowałem powyżej. MM
bellpeace,