P vs. NP, technicznie vs. moralnie
Jak powiedział Yuval, możliwe jest, że P = NP jest technicznie prawdziwe, ale moralnie fałszywe. P = NP jest moralnie prawdziwe (nawet jeśli niekoniecznie technicznie), jeśli istnieje szybki algorytm deterministyczny (powiedzmy , a może nawet z małymi stałymi, niczym ), który rozwiązuje jeden ze słynnych problemów NP-zupełnych, takich jak SAT. IIRC, Russell Impagliazzo powiedział kiedyś, że uważa problem P vs. NP za zasadniczo rozwiązany, jeśli ktoś pokaże, że SAT można rozwiązać w czasie .O(n2)O(nlg∗n)265536+21024n256O(nlgn)
Co się stanie, jeśli P = NP jest moralnie prawdziwe?
To przypomina nam, dlaczego NP jest tak interesującą klasą problemów. Ogólnie intuicja polega na tym, że często chcemy znaleźć obiekty o rozsądnym rozmiarze (sformalizowane jako rozmiar wielomianowy), które posiadają właściwość a właściwość jest łatwa do zweryfikowania (sformalizowana jako obliczalna w czasie wielomianowym). Ta klasa problemów obejmuje prawie wszystkie problemy, którymi jesteśmy zainteresowani. Aby wyjść poza to, musisz pomyśleć o interakcjach między graczami, takich jak gry. Liczba naturalnych interesujących problemów, których nie ma w NP (lub PH ), jest bardzo mała w porównaniu do naturalnych interesujących problemów NP . Jeśli P = NP jest moralnieQQQto prawda, że wszystkie te problemy można rozwiązać bardzo szybko. Aby dać przykład, możesz nauczyć się najlepszych wag dla bardzo skomplikowanych modeli uczenia maszynowego. Możesz złamać protokoły szyfrowania.
Porównanie z przypadkiem, w którym P NP jest moralnie prawdziwe≠
Przez P NP jest prawdą moralną Mam na myśli, że nie możemy rozwiązać SAT (ani żadnego z innych znanych problemów NP-zupełnych) znacznie szybciej niż brutalną siłą, wówczas problemów tych nie da się rozwiązać w praktyce dla ogólnych danych wejściowych nawet o dość niewielkim rozmiarze powiedz 100.≠
Czy P NP jest prawdą moralną, co oznacza, że nie możemy w praktyce rozwiązać problemów trudnych dla NP?≠
Nawet jeśli P NP jest prawdą moralną , nadal możliwe jest, że w przypadku niektórych z tych problemów nie jesteśmy zainteresowani ogólnymi danymi wejściowymi i najgorszym przypadkiem, ale klasą / rozkładem danych wejściowych, które można skutecznie rozwiązać. Np. Może się zdarzyć, że rozwiązanie SAT w uzasadnionym przypadku wymaga czasu wykładniczego, ale w praktyce możemy już rozwiązać SAT na wielu interesujących klasach,
takich jak weryfikacja oprogramowania, weryfikacja sprzętu itp. Znacznie szybciej.≠
Jest to trochę podobne do rozwiązania prostszego problemu, np. TSP nie może być nawet efektywnie przybliżone, jeśli P NP jest moralnie prawdziwe, ale już możemy przybliżać szczególny przypadek TSP na grafach euklidesowych.≠
Jeśli wiesz, że chcesz rozwiązać problem NP-complete nie na ogólnych danych wejściowych, ale na danych wejściowych o określonych właściwościach, nie musisz przejmować się ogólnym problemem. Musisz tylko rozwiązać prostszy problem. Niestety często niełatwo jest ustalić, o jakie dane dbają w praktyce.
Wciąż heurystyka może zadziwiająco dobrze sprawdzać się w praktyce, co widzimy w SAT lub programowaniu całkowitym lub uczeniu maszynowym. ( Nauka PAC przy użyciu bardzo prostego modelu 3-DNF jest trudna, jeśli NP RP , a wielu ekspertów uważa, że RP = P).≠