Jestem pewien, że nie jako pierwszy rozważyłem pomysł, który zamierzam przedstawić. Przydałoby się jednak znalezienie literatury związanej z tym pomysłem.
Chodzi o to, aby zbudować Maszynę Turinga M z właściwością, że jeśli P = NP, wówczas M rozwiąże 3-SAT w czasie wielomianowym. (Wybór 3-SAT jest arbitralny. To może być naprawdę dowolny problem w NP).
Dla jasności nie jest to twierdzenie, że P = NP. W rzeczywistości uważam, że jest odwrotnie. Po prostu stwierdzam, że jeśli P = NP, to M dostarczy rozwiązanie wielomianowe. Jeśli szukasz skutecznego rozwiązania, powinienem ostrzec, że jest to dalekie od skutecznego.
M jest skonstruowany w następujący sposób: po pierwsze, załóż kodowanie kanoniczne dla wszystkich maszyn Turinga i zastosuj numerację na tych maszynach. Istnieje więc maszyna Turinga nr 1, liczba 2 itd. Idea uniwersalnej maszyny Turinga, która potrafi odczytać format dostarczonej maszyny, a następnie symulować działanie tej maszyny na osobnym wejściu, jest dość dobrze znana. M zastosuje uniwersalną maszynę Turinga do budowy i symulacji kolejno każdej maszyny Turinga.
Najpierw symuluje działanie maszyny Turinga 1 dla jednego kroku.
Następnie analizuje wydajność maszyny Turinga 1.
Symuluje działanie maszyny Turinga 1 dla dwóch etapów i analizuje wyniki, a następnie przechodzi do symulacji maszyny Turinga 2 dla dwóch kroków. Kontynuuje i zapętla w ten sposób, z kolei uruchamiając maszynę Turinga 1 dla k kroków, a następnie 2 dla k kroków ... a następnie ostatecznie k dla maszyny k dla kroków.
Po każdym uruchomieniu symulacji bada jego wynik. Jeśli wyjście jest przypisaniem zmiennych spełniających problem 3-SAT, M zatrzymuje się w stanie akceptacji. Z drugiej strony, jeśli dane wyjściowe są ciągiem sprawdzającym w jakimś weryfikowalnym języku sprawdzającym, z udowodnionym wynikiem, że wystąpienie problemu nie jest zadowalające, M zatrzymuje się w stanie odrzucenia. (W przypadku języka próbnego moglibyśmy na przykład użyć aksjomatów Peano z logiką drugiego rzędu i podstawowych aksjomatów logicznych w stylu Hilberta. Pozostawiam to dla czytelnika ćwiczenie, aby dowiedzieć się, że jeśli P = NP, poprawne język sprawdzający istnieje i jest weryfikowalny w czasie wielomianowym).
Twierdzę tutaj, że M rozwiąże 3-SAT w czasie wielomianowym wtedy i tylko wtedy, gdy P = NP. W końcu algorytm znajdzie magiczną maszynę Turinga o numerze K, która okazuje się być skutecznym rozwiązaniem dla problemu 3-SAT, i jest w stanie udowodnić swoje wyniki dla powodzenia lub niepowodzenia. K będzie w końcu symulowany podczas wykonywania kroków poli (strlen (wejściowych)) dla niektórych wielomianów. Wielomian dla M jest w przybliżeniu kwadratem wielomianu dla k w największym współczynniku, ale z pewnymi straszliwymi stałymi w wielomianu.
Powtórzę tutaj moje pytanie: chcę wiedzieć, czy istnieje źródło literatury, które wykorzystuje ten pomysł. Nieco mniej interesuje mnie omawianie samego pomysłu.