Bedeutet coNP-Vollständigkeit NP-Härte? Insbesondere habe ich ein Problem, von dem ich gezeigt habe, dass es coNP-vollständig ist. Kann ich behaupten, dass es NP-schwer ist? Mir ist klar, dass ich CoNP-Härte beanspruchen kann, aber ich bin nicht sicher, ob diese Terminologie Standard ist.
Ich bin mit der Behauptung einverstanden, dass NP = coNP ist, wenn ein NP-vollständiges Problem zu coNP gehört. In diesen Vorlesungsunterlagen heißt es jedoch, dass, wenn ein NP-hartes Problem zu coNP gehört, NP = coNP ist. Dies würde dann bedeuten, dass ich nicht behaupten kann, dass mein Problem NP-schwer ist (oder dass ich coNP = NP nachgewiesen habe, was ich sehr bezweifle).
Vielleicht stimmt etwas nicht mit meinem Denken. Meiner Meinung nach ist ein coNP-vollständiges Problem NP-schwer, weil:
- Jedes Problem in NP kann auf sein Komplement reduziert werden, das zu coNP gehört.
- Das Komplementproblem in CoNP reduziert sich auf mein CoNP-vollständiges Problem.
- Somit haben wir eine Reduktion von jedem Problem in NP auf mein CoNP-Complete, also ist mein Problem NP-schwer.
quelle
Antworten:
Sie behaupten, dass jedes Problem in NP auf sein Komplement reduziert werden kann , und dies gilt für Turing-Reduktionen, aber (wahrscheinlich) nicht für Viel-Eins-Reduktionen. Eine viel eine Reduktion von bis L 2 ist eine polytime Funktion f so dass für alle x , x ∈ L 1 iff f ( x ) ∈ L 2L1 L2 f x x ∈ L1 f( x ) ∈ L2 .
Wenn ein Problem in coNP NP-hart waren, dann für jede Sprache M ∈ N P würde es eine Funktion sein polytime f so dass für alle x , x ∈ M iff f ( x ) ∈ L . Da L in coNP ist, ergibt dies einen coNP-Algorithmus für M , der zeigt, dass NP ⊆ coNP ist und somit NP = coNP. Die meisten Forscher erwarten nicht, dass dies der Fall ist, und daher sind Probleme bei der CoNP wahrscheinlich nicht NP-schwer.L M∈ NP f x x∈M f(x)∈L L M ⊆ =
Der Grund, warum wir Karp-Reduktionen anstelle von Turing-Reduktionen verwenden, besteht darin, dass wir zwischen NP-harten und coNP-harten Problemen unterscheiden können. Weitere Informationen finden Sie in dieser Antwort (Turing-Reduzierungen werden in dieser Antwort als Cook-Reduzierungen bezeichnet).
Schließlich sind coNP-hard und coNP-complete Standardbegriffe, die Sie frei verwenden können.
quelle
Das Problem mit dieser Argumentation ist der erste Schritt. Im deterministischen Fall können Sie mit einem TM M entscheiden, wenn Sie x ∉ ¯ L damit entscheiden können, weil die Art und Weise, dies zu tun, nur das Ausgangsbit von M umdrehen ist, da sein Ausgang nur von x abhängt (wenn wir Vergleiche mit der Verifier-Definition vonx∈L M x∉L¯¯¯¯ M x ).NP
Im nicht deterministischen Fall, in dem die Verifiziererdefinition verwendet wird, ist nicht bekannt, ob Sie einen Verifizierer aus einem coNP- Verifizierer oder umgekehrt erstellen können, und das Problem besteht darin, dass die Definitionen, die die Verifizierermaschinen erfüllen müssen, unterschiedliche Quantifizierer aufweisen. Lassen L ∈ coNP , dann haben wir ein Verifizierer DTMNP coNP L∈coNP , so dass:M
Für ist der Prüfer M 'L¯¯¯¯ M' müssen erfüllen
Warum können wir dann nicht einfach den Verifizierer M ' der Sprache K verwenden , um einen coNP- Verifizierer M für K zu erstellen ? Das Problem ist, dass der ∀- Quantifizierer einen coNP- Verifizierer benötigt. Die NP -verifier M‘ können Sie 0 für einig (falsches) Zertifikat auch für x ∈ K , so dass Sie nicht aus gehen können ∃ zu ∀ .NP M' K coNP M K ∀ coNP NP M' 0 x∈K ∃ ∀
Vielleicht abstrakter: Es ist nicht klar, wie (in Polynomialzeit) eine Maschine erstellt werden soll, die genau die Elemente einer Sprache erkennt, unabhängig davon, welches Zertifikat sie enthält, und zwar von einer Maschine, die genau die Elemente einer Sprache erkennt, für die ein Zertifikat vorliegt es, aber für die auch einige Zertifikate nicht funktionieren.
quelle