Die häufigsten Beispiele für NP-harte Probleme (Clique, 3-SAT, Scheitelpunktabdeckung usw.) sind solche, bei denen wir vorher nicht wissen, ob die Antwort "Ja" oder "Nein" lautet.
Angenommen, wir haben ein Problem, bei dem wir wissen, dass die Antwort Ja lautet. Außerdem können wir einen Zeugen in Polynomzeit verifizieren.
Können wir dann in der Polynomzeit immer einen Zeugen finden? Oder kann dieses "Suchproblem" NP-schwer sein?
Antworten:
TFNP ist die Klasse mehrwertiger Funktionen mit Werten, die polynomiell verifiziert sind und deren Existenz garantiert ist.
In TFNP gibt es ein Problem, das genau dann FNP-vollständig ist, wenn NP = co-NP, siehe Satz 2.1 in:
Nimrod Megiddo und Christos H. Papadimitriou. 1991. Über Gesamtfunktionen, Existenzsätze und Rechenkomplexität. Theor. Comput. Sci. 81, 2 (April 1991), 317-324. DOI: 10.1016 / 0304-3975 (91) 90200-L
und die Referenzen [6] und [11] innerhalb. PDF hier verfügbar .
quelle
Nein, Sie können nicht immer eine Lösung in Polynomzeit finden, selbst wenn Sie wissen, dass es eine Lösung gibt.
Nach Khanna, Linial und Safra [1] (siehe 3. Absatz) folgt bereits aus der klassischen Arbeit von Karp aus dem Jahr 1972, dass das Färben eines dreifarbigen Graphen mit drei Farben NP-hart ist. (Ihre Arbeit erweitert dies, um zu zeigen, dass 4-farbige 3-farbige Graphen immer noch NP-hart sind).
Beachten Sie, dass dies nicht der Antwort von Rahul Savani widerspricht . Dies liegt daran , dass wir für alle binären Beziehungen in FNP in der Polynomzeit überprüfen können müssen, ob in der Beziehung ist. Angesichts der Entscheidung, ob ein dreifarbiger Graph mit drei Farben NP-vollständig ist, ist es unwahrscheinlich, dass das Problem, einen vierfarbigen Graphen in einem dreifarbigen Graphen zu finden, in FNP liegt, da wir die Gültigkeit der Eingabe in Polynomzeit nicht überprüfen können . Somit besteht kein Widerspruch zum Megiddo-Papadimitriou-Ergebnis.P ( x , y ) xP P(x,y) x
[1] Khanna, Sanjeev, Nathan Linial und Shmuel Safra. "Über die Härte der Annäherung an die chromatische Zahl." Theory and Computing Systems, 1993., Proceedings of the 2nd Israel Symposium on the. IEEE, 1993.
quelle
Wenn eine NP-Beziehung in Bezug auf nichtNP=coNP
-deterministische Polynomzeit-Turing-Reduktionen, die nur mit Ja-Antwort beantwortet werden, NP-hart ist , dann ist. Beweis: Wenn eine NP-Beziehung NP-hart ist in Bezug auf co-nichtdeterministische Polynomzeit-Turing-Reduktionen, die nur mit Ja-Antwort beantwortet werden, dann:
Sei eine so harte Beziehung und sei eine ko-nichtdeterministische Polynomzeit-Turing-Reduktion von auf Ja-Antwort . Sei der coNP-Algorithmus, der gegeben ist durch: Versuchen Sie, das angebliche Anti- Zertifikat in ein inneres Zertifikat und Antworten zu analysieren . Wenn dies fehlschlägt, geben Sie YES aus. Andernfalls versuchen Sie, auf dem inneren Anti-Zertifikat auszuführen indem Sie die gleiche Antwort wie zuvor für Wiederholungsabfragen und unter Verwendung der Antworten von das (äußere) Anti-Zertifikat für alle anderen Orakelabfragen. M ' S A T R.R M′ SAT R M
M′
Wenn deutlicher machen würde
Abfragen als die Anzahl der Antworten oder eine ihrer Abfragen würden von mit
in Beziehung gesetztDie Antwort dieser Abfrage oder würde JA ausgeben, gibt JA aus, andernfalls gibt NEIN aus.
Da ein Orakel für nur unabhängige Bedingungen für die Antworten des Orakels auferlegt
und eine Nur-Ja-Antwort-Reduktion darstellt, können die von
und einem gültigen Anti-Zertifikat erzeugten Abfrage-Antwort-Paare immer zu einem Orakel für , also löstM′
R
M M R M ' M ' R M S A T.M′ M M
R
M′ M′
R M SAT .
SAT∈coNP SAT NP NP⊆coNP
coNP⊆NP NP=coNP
NP=coNP
Also. Da ist -hard mit Bezug auf deterministische Reduzierungen Polynom-Zeit,. Aus Symmetriegründen. Also. Wenn daher eine NP-Beziehung in Bezug auf nicht -deterministische Polynomzeit-Turing-Reduktionen nur mit Ja-Antwort NP-hart ist , dann ist.
N P.
quelle
Dies hängt geringfügig von der genauen Interpretation Ihrer Frage ab, aber ich denke, Ihr Szenario kann allgemein als Problem 'COMPUTE Y' beschrieben werden, wenn ein universell festgelegter Polynomzeitalgorithmus und Polynom bei Eingabe , gib einen String , so dass 1 ausgibt und immer für alle möglichen .p ⟨ x , 1 n ⟩ y ∈ { 0 , 1 } p (T p ⟨x,1n⟩ y∈{0,1}p(n) T(x,y,1n) y x
Eine Frage könnte dann sein, ob ein Polynomzeitalgorithmus für 'COMPUTE Y' impliziertP=NP
In diesem Fall wird angenommen, dass Sie 3SAT in Polynomzeit mit einer konstanten Anzahl von Aufrufen an ein Orakel lösen können, das 'COMPUTE Y' löst, dh einen Algorithmus mit wenn erfüllt werden kann, sonst. Drehen Sie das Ausgabebit, um , einen Algorithmus, bei dem wenn erfüllt werden kann, und wenn erfüllt werden kann.A ( ϕ ) = 1 ϕ A ( ϕ ) = 0 ˉ A ˉ A ( ϕ ) = 0A A(ϕ)=1 ϕ A(ϕ)=0 A¯ A¯(ϕ)=0 ϕ A¯(ϕ)=1 ϕ
Konvertieren Sie diesen Algorithmus (der ein Orakel für 'COMPUTE Y' verwendet) in einen nicht deterministischen Algorithmus (der keine Orakel verwendet), indem Sie einfach jeden Orakelaufruf durch eine nicht deterministische Schätzung von ersetzen , die Sie mit einem Aufruf von überprüfen können . Jetzt haben Sie einen nichtdeterministischen Algorithmus, der unbefriedigende 3CNF-Instanzen erfolgreich entscheidet, also yTNP=coNP.A¯ y T NP=coNP
Abgesehen davon, wenn , bedeutet dies, dass alle vollständigen Probleme (wie Clique oder 3SAT) geringfügige Abweichungen aufweisen, deren Entscheidungsproblem einfach ist (immer 'Ja'), deren Suchversion jedoch hart istN P k N P.NP=coNP NP k NP
quelle