Mój kolega i ja właśnie uderzyliśmy w notatki jednego z naszych profesorów. Notatki stwierdzają, że istnieją zadania, które można rozwiązać w czasie wielomianowym (są w klasie PF), ale NIE są możliwe do zweryfikowania w czasie wielomianowym (NIE są w klasie NPF).
Aby rozwinąć te klasy: Otrzymujemy trochę danych wejściowych X i tworzymy dane wyjściowe Y tak, że (X, Y) są w relacji R reprezentującej nasze zadanie. Jeśli możliwe jest uzyskanie Y dla X w czasie wielomianowym, zadanie należy do klasy PF. Jeśli jest możliwe zweryfikowanie wielomianowego certyfikatu Z, który dowodzi, że krotka (X, Y) jest w relacji R w czasie wielomianowym, zadanie należy do klasy NPF.
Nie mówimy o problemach decyzyjnych, gdzie odpowiedź brzmi TAK lub NIE (bardziej formalnie, jeśli jakiś ciąg należy do jakiegoś języka). W przypadku problemów decyzyjnych wydaje się, że PF jest właściwym podzbiorem NPF. Jednak w przypadku innych zadań może być inaczej.
Czy znasz zadanie, które można rozwiązać w czasie wielomianowym, ale nie zweryfikować w czasie wielomianowym?
źródło
Odpowiedzi:
Jest to możliwe tylko wtedy, gdy istnieje wiele dopuszczalnych wyjść dla danego wejścia. To znaczy , gdy relacja nie jest funkcją, ponieważ narusza wyjątkowość.R
Rozważmy na przykład ten problem:
Rozwiązanie tego jest trywialne: dodawaj kilka nadmiarowych stanów do TM , być może z pewnymi przejściowymi przejściami między nimi, dopóki kodowanie nie przekroczy n . Jest to podstawowe, powtarzające się zastosowanie Padding Lemma na bazach TM. Będzie to wymagało n wypełnień, z których każdy może dodać jeden stan, a zatem można to zrobić w czasie wielomianowym.M n n
Z drugiej strony, biorąc pod uwagę jest nierozstrzygalny, aby sprawdzić, czy N jest prawidłowe wyjście dla wejść n , M . Rzeczywiście, sprawdzenie L ( M ) = L ( N ) jest nierozstrzygalne (zastosuj twierdzenie Rice'a), a ograniczenie # N > n odrzuca tylko wiele N z nich. Ponieważ usuwamy skończoną liczbę elementów z nierozstrzygalnego problemu, nadal mamy problem nierozstrzygalny.n,M,N N n,M L(M)=L(N) #N>n N
Można również zastąpić niezdecydowaną właściwość aby uzyskać warianty, które są nadal obliczalne, ale NP trudne / pełne. Np. Biorąc pod uwagę n (w jedności), obliczenie wykresu G zawierającego n- klikę jest banalne . Ale biorąc pod uwagę n , G trudno jest sprawdzić, czy istnieje n- klika.L(M)=L(N) n G n n,G n
źródło
Jest to jedynie rozwinięcie pierwszego zdania odpowiedzi @ chi, ponieważ nie uważałem tego za oczywiste.
Chodzi o to, że jeśli masz algorytm, który znajduje odpowiedź na jakiś problem w czasie wielomianowym, istnieją dwie możliwości:
Wcześniej udowodniono (matematycznie), że dane wyjściowe algorytmu są rozwiązaniem problemu, w którym to przypadku same kroki algorytmu stanowią dowód poprawności.
Masz inny algorytm do sprawdzania, czy dane wyjściowe są rzeczywiście rozwiązaniem, w którym to przypadku musisz uruchomić ten algorytm (w przeciwnym razie byłbyś objęty przypadkiem nr 1), co oznacza, że robisz to w czasie wielomianowym.
Dlatego nie może być takiego problemu.
źródło