Zdaję sobie sprawę, że wydaje się to bardzo głupie (lub zbyt oczywiste, by stwierdzić) pytanie. Jednak w pewnym momencie jestem zdezorientowany.
Możemy pokazać, że P NP wtedy i tylko wtedy, gdy możemy zaprojektować algorytm, który rozwiązuje dowolny przypadek problemu w NP w czasie wielomianowym.
Nie rozumiem jednak, jak, u licha, możemy udowodnić, że P NP . Przepraszam za następującą podobieństwo, ponieważ może być tak nieistotne, ale mówienie komuś, by udowodnił, że P nie jest równe NP, wydaje mi się mówieniem komuś, by udowodnił, że Bóg nie istnieje.
Istnieje szereg problemów, których nie można rozwiązać za pomocą niedeterministycznych automatów skończonych (NFA) o wielomianowej liczbie stanów niezależnie od aktualnej technologii (wiem, że jest to niechlujna definicja). Ponadto mamy dość duży zestaw algorytmów, które powodują pewne kluczowe problemy (najkrótsza ścieżka, minimalne drzewo rozpinające, a nawet suma liczb całkowitych ) problemy z czasem wielomianowym.
Moje pytanie w skrócie: Jeśli wierzę, że P NP , powiedziałbyś „pokaż swój algorytm, który rozwiązuje problem NP w czasie wielomianowym!”. Załóżmy, że wierzę P NP . Więc o co dokładnie zapytasz? Co chciałbyś, żebym pokazał?
Odpowiedź jest wyraźnie „twoim dowodem”. Jednak jaki dowód pokazuje, że algorytm nie może istnieć? (w tym przypadku algorytm wielomianowy dla problemu NP )
źródło
Odpowiedzi:
Są trzy główne sposoby, o których wiem, że mogą udowodnić, że P.≠ NP .
Wskazując, że P i NP mają różne właściwości strukturalne. Na przykład P jest zamknięty w ramach komplementacji. Gdybyś mógł pokazać, że NP≠ co-NP (tzn. że NP nie jest zamknięte w ramach komplementacji), to musi być to, że P≠ NP . Oczywiście popycha to problem o jeden poziom głębiej - jak byś udowodnił, że NP≠ co-NP ?
Udowodnij, że jakiś problem nie jest kompletny z NP . Jeśli P= ∅ Σ∗ ≠ NP .
źródło
Nie zapominaj, że nadal musisz udowodnić, że Twój algorytm rozwiązuje problem i że działa w czasie wielomianowym.
Najpierw spróbuj wyjaśnić „dlaczego” P ≠ NP i dlaczego ten powód można wykorzystać do udowodnienia P ≠ NP w odpowiedniej strukturze logicznej. Następnie naszkicuj dowód i wyjaśnij, w jaki sposób można obronić jego najbardziej wątpliwe części. Następnie podziel ten dowód na prostsze stwierdzenia, które można zweryfikować niezależnie.
Można również zaobserwować, że z czasem próbowano wzmocnić wyniki. Wstępne wyniki dla TSP dotyczyły jedynie symetrycznego sformułowania programowania liniowego, podczas gdy najnowsze wyniki nie mają takiego ograniczenia, a także dotyczą problemów z maksymalnym cięciem i maksymalnym stabilnym zestawem oprócz TSP. Wstępne wyniki rozstrzygania dotyczyły tylko podstawowych procedur rozwiązywania Davisa-Putnama i jednej klasy sztucznych kontrprzykładów, podczas gdy najnowsze wyniki obejmują duże klasy metod opartych na rozdzielczości i dają wiele klas naturalnie występujących kontrprzykładów.
W przypadku TSP nie mam pojęcia, w jaki sposób wyniki powinny być dalej wzmacniane, chyba że przez zastosowanie większej liczby problemów oprócz TSP, maksymalnego cięcia i maksymalnego stabilnego zestawu. Jeśli chodzi o rozdzielczość, miałbym wiele pomysłów na dalsze wzmocnienie wyników, ale artykuł, do którego podłączyłem, pochodzi z 2002 r., Stephen Cook i Phuong Nguyen opublikowali w 2010 r. Monografię Logiczne podstawy dowodu złożoności, której nawet nie przejrzałem, a ja myślę, że obejmie już wiele moich pomysłów. Warto zauważyć, jak niewielka jest różnica dla większości z nas, o ile wyniki te zostały z czasem wzmocnione, pomimo naszego zainteresowania P ≠ NPpytanie. Nawet gdyby w międzyczasie udowodniono, że algorytmy oparte na systemach logicznych bez odpowiednika reguły cięcia nie mogą skutecznie rozwiązać problemów z zadowalalnością, nadal uważalibyśmy, że zasadniczo nie odnotowano postępu na P ≠ NP , że problem jest zasadniczo wciąż tak szeroko otwarte jak zawsze.
źródło