Zastanawiam się, czy decydowanie o rozstrzygalności problemu jest problemem rozstrzygalnym. Chyba nie, ale po wstępnych poszukiwaniach nie mogę znaleźć literatury na ten temat.
Zastanawiam się, czy decydowanie o rozstrzygalności problemu jest problemem rozstrzygalnym. Chyba nie, ale po wstępnych poszukiwaniach nie mogę znaleźć literatury na ten temat.
Odpowiedzi:
Główna edycja mojego oryginału:
Naiwne czytanie twojego pytania wydaje się być, niech będzie problemem
danym języku jest rozstrzygalne?
Więc pytasz
Czy rozstrzygalne?
Jak zauważyli DW i David, odpowiedź brzmi „tak”, choć nie wiemy, który z dwóch trywialnych decydentów jest właściwy. Sugeruję to, aby ułożyć problem tak, aby nie był tak trywialny. Najpierw rzeczy nieco ograniczyć poprzez uwzględnienie tylko tych języków , które są językami zaakceptowane przez jakiś TM . Powodem tego jest to, że jeśli język nie jest akceptowany przez żadną bazę TM, to nie jest on ponownie (rozpoznawalny), a zatem nie może być rekurencyjny (rozstrzygalny). Następnie możemy przekształcić jakoM P
⟨ M ⟩ M L ( K ) Biorąc pod uwagę opis, TM, czy rozstrzygalne?
Teraz jest językiem opisów TM, a nie językiem, jakim wydawało się (pod hojną interpretacją), i teraz jest całkowicie rozsądne pytanie, czy język jest rozstrzygalny. W tym czytaniu język składający się z opisów TM nie jest rozstrzygalny. Jest to łatwa konsekwencja twierdzenia Rice'a . Mamy teraz dwie odpowiedzi: moje „nie” i „tak” DW, w zależności od interpretacji. P P " { ⟨ M ⟩ | M jest TM i L ( K ) jest rozstrzygalne }
Jak widzieliśmy w różnych odpowiedziach, część odpowiedzi polega na sformułowaniu właściwego problemu.
W 1985 r. Joost Engelfriet napisał „Nieobliczalność obliczeń” (Biuletyn EATCS nr 26, czerwiec 1985 r., Strony 36–39) jako odpowiedź na pytanie zadane przez sprytnego studenta. Niestety, BEATCS było wtedy w wersji papierowej, a artykuł nie pozostawił elektronicznych śladów.
Cytuję:
Zabawną częścią są następujące spostrzeżenia poczynione w artykule:
Tak. Zawsze jest rozstrzygalne.
Dla każdego problemu P, niech Q będzie problemem ustalenia, czy P jest rozstrzygalne, czy nie. Twierdzę, że Q jest rozstrzygalne. Dlatego. Tautologicznie albo P jest rozstrzygalne, albo nie. Tak więc jeden z dwóch programów jest poprawny: (1) print "yup P is decidable"
lub (2) print "nope P is not decidable"
. Ustalenie, który z tych dwóch programów jest poprawny, jeden z nich jest prawidłowy, więc decydujący dla Q na pewno istnieje . Dlatego problem Q jest rozstrzygalny.
Przypomina to następujące klasyczne pytanie: czy można rozstrzygnąć, czy hipoteza Collatza jest prawdziwa? Odpowiedź brzmi tak. Może to wyglądać dziwnie, ponieważ nikt nie wie, czy Hipoteza Collatza jest prawdziwa (to słynny otwarty problem). Wiemy jednak, że hipoteza Collatza jest albo prawdziwa, albo nieprawda. W pierwszym przypadku program print "yup it's true"
jest decydujący. W tym drugim przypadku program print "nope it's not true"
jest decydujący. Nie wiemy, który z nich jest prawidłowym decydentem, ale to wystarczy, aby udowodnić, że istnieje prawidłowy decydent. Dlatego problem jest rozstrzygalny.