Rozumiem więc, że problem decyzyjny jest zdefiniowany jako
Czy istnieje ścieżka P taka, że koszt jest niższy niż C?
i możesz łatwo sprawdzić, czy to prawda, weryfikując otrzymaną ścieżkę.
Co jednak, jeśli nie ma ścieżki, która spełniałaby te kryteria? Jak zweryfikowałbyś odpowiedź „nie” bez rozwiązania problemu z najlepszą ścieżką TSP, a znalezienie najlepszego ma gorszy koszt niż C?
Odpowiedzi:
NP to klasa problemów, w których można zweryfikować wystąpienia „tak”. Nie ma gwarancji, że możesz zweryfikować instancje „nie”.
Klasą problemów, w których można zweryfikować instancje „nie” w czasie wielomianowym, jest ko-NP . Dowolny język w co-NP jest uzupełnieniem jakiegoś języka w NP i odwrotnie. Przykłady obejmują rzeczy takie jak brak 3-kolorowalności. Opisany problem: „Czy nie ma ścieżki TSP o długości co najwyżej ?” jest również w ko-NP : jeśli usuniesz podwójną negację, instancja „nie” dla tego problemu jest instancją „tak” dla TSP i możemy je zweryfikować w czasie wielomianowym.do
Istnieją pewne problemy, takie jak faktoryzacja liczb całkowitych i każdy problem w P , o których wiemy, że występują zarówno w NP, jak i w ko-NP . (Podziękowania dla user21820 za zwrócenie na to uwagi.)
Nie wiadomo, czy NP i co-NP to ten sam zestaw problemów. Jeśli są takie same, możemy zweryfikować zarówno „tak”, jak i „nie” wystąpienia TSP. Jeśli są różne, to P NP≠ , ponieważ wiemy, że P co-P= (ponieważ możemy po prostu zanegować odpowiedź maszyny deterministycznej, dając odpowiedź na problem uzupełnienia) .
źródło
Albo w sposób, w jaki opisujesz, albo nie jest znany taki sposób.
W takim przypadku dla wszystkich maszyn NP dla problemu decyzyjnego maszyna zwróci nie dla wszystkich certyfikatów-kandydatów.
Cóż, można otrzymać interaktywny dowód, że nie ma takich ścieżek .
Opisany przez ciebie problem, TSP, nie jest znany z koNP , więc nie wiadomo, że istnieje „podobny do NP” sposób sprawdzenia, czy nie ma takiej ścieżki.
źródło