Ein Kollege von mir und ich haben gerade einige Notizen von einem unserer Professoren getroffen. Die Notizen besagen, dass es Aufgaben gibt, die in Polynomzeit gelöst werden können (in der Klasse von PF), die jedoch in Polynomzeit NICHT überprüfbar sind (in der Klasse von NPF NICHT).
Um auf diese Klassen einzugehen: Wir erhalten eine Eingabe X und erzeugen eine Ausgabe Y, so dass (X, Y) in Beziehung R stehen und unsere Aufgabe darstellen. Wenn es möglich ist, Y für X in Polynomialzeit zu erhalten, gehört die Aufgabe zur Klasse von PF. Wenn es möglich ist, das Polynomlängenzertifikat Z zu verifizieren, das beweist, dass ein Tupel (X, Y) in Polynomzeit in Relation R ist, gehört die Aufgabe zur Klasse der NPF.
Es handelt sich nicht um Entscheidungsprobleme, bei denen die Antwort einfach JA oder NEIN lautet (eher formal, wenn ein String zu einer Sprache gehört). Bei Entscheidungsproblemen scheint es, dass PF eine richtige Teilmenge von NPF ist. Bei anderen Aufgaben kann dies jedoch anders sein.
Kennen Sie eine Aufgabe, die in Polynomzeit gelöst, in Polynomzeit aber nicht verifiziert werden kann?
quelle
Antworten:
Dies ist nur möglich, wenn für einen bestimmten Eingang viele Ausgänge zulässig sind. Dh, wenn die Beziehung keine Funktion ist, weil sie die Eindeutigkeit verletzt.R
Betrachten Sie beispielsweise dieses Problem:
Dies zu lösen ist trivial: Fügen Sie dem TM weiterhin einige redundante Zustände hinzu , möglicherweise mit einigen Dummy-Übergängen zwischen ihnen, bis seine Codierung überschreitet . Dies ist eine grundlegende wiederholte Anwendung des Padding Lemma auf TMs. Dies erfordert Auffüllungen, von denen jede einen Zustand hinzufügen kann, daher kann dies in Polynomzeit erfolgen.n nM n n
Andererseits kann bei , ob eine korrekte Ausgabe für die Eingaben . Tatsächlich Überprüfung ist unentscheidbare (das Reis - Theorem gilt), und die Beschränkungs nur endlich viele verwirft s von denen. Da wir eine begrenzte Anzahl von Elementen aus einem unentscheidbaren Problem entfernen, erhalten wir immer noch ein unentscheidbares Problem.N N , M L ( M ) = L ( N ) , # N > n Nn , m, N N n , m L ( M) = L ( N) # N> n N
Sie können auch die unentscheidbare Eigenschaft ersetzen , um Variationen zu erhalten, die noch berechenbar, aber NP hart / vollständig sind. Zum Beispiel ist es bei (in unary) trivial, einen Graphen zu berechnen , in dem sich eine Klasse befindet. Mit es jedoch schwierig zu überprüfen, ob eine Klasse existiert.n G n n , G nL ( M) = L ( N) n G n n , G n
quelle
Dies ist nur eine Ausarbeitung des ersten Satzes von @ chis Antwort, da ich es nicht offensichtlich fand.
Die Idee ist, wenn Sie einen Algorithmus haben, der die Antwort auf ein Problem in der Polynomzeit findet, dann gibt es zwei Möglichkeiten:
Sie haben zuvor (mathematisch) bewiesen, dass die Ausgabe des Algorithmus eine Lösung des Problems darstellt. In diesem Fall bilden die Schritte des Algorithmus selbst den Beweis für die Richtigkeit.
Sie haben einen anderen Algorithmus, um zu überprüfen, ob die Ausgabe tatsächlich eine Lösung ist. In diesem Fall müssen Sie diesen Algorithmus ausführen (andernfalls würden Sie unter Fall 1 fallen), was impliziert, dass Sie dies in polynomieller Zeit tun.
Daher kann es kein solches Problem geben.
quelle