Co-NP
Im Computerkomplexitätstheorie, Co-NP ist ein Komplexitätsklasse. EIN Entscheidungsproblem X ist ein Mitglied von CO-NP, wenn und nur wenn es ist ergänzen X ist in der Komplexitätsklasse Np. Die Klasse kann wie folgt definiert werden: Ein Entscheidungsproblem ist genau, wenn nur in Co-NP nein-Istanzen haben eine Polynomlänge "Zertifikat"Und es gibt einen Polynom-Zeit-Algorithmus, mit dem ein angebliches Zertifikat überprüft werden kann.
Das ist, Co-NP ist die Reihe von Entscheidungsproblemen, bei denen es ein Polynom gibt P (n) und eine Polynomzeit begrenzt Turing Maschine M so dass für jeden Fall x, x ist ein nein-Wenn und nur dann, wenn: für ein mögliches Zertifikat c von Länge von begrenzt von P (n), die Turing -Maschine M akzeptiert das Paar (x, c).[1]
Ergänzende Probleme
Während ein NP -Problem fragt, ob eine bestimmte Instanz a ist Jawohl-Iverstanz, es ergänzen fragt, ob eine Instanz a ist nein-Iver, was bedeutet, dass das Komplement in Co-NP ist. Irgendein Jawohl-Iver für das ursprüngliche NP -Problem wird a nein-Iver für seine Komplement und umgekehrt.
Unzufriedenheit
Ein Beispiel für ein NP-Complete Problem ist das Boolesche Zufriedenheitsproblem: Bei einer Booleschen Formel, ist es das erfüllbar (Gibt es eine mögliche Eingabe, für die die Formel wahr ausgibt)? Das ergänzende Problem fragt: "Angesichts einer booleschen Formel ist es Unzufrieden (Ziehen Sie alle möglichen Eingaben in die Formel falsch aus)? “. Da dies das ist ergänzen des Befriedigungsproblems ein Zertifikat für a nein-Ists ist dasselbe wie für a Jawohl-Instanz aus dem ursprünglichen NP -Problem: Eine Reihe von booleschen Variablenzuweisungen, die die Formel wahr machen. Andererseits eine Bescheinigung von a Jawohl-Iver für das komplementäre Problem wäre genauso komplex wie die nein-instanz des ursprünglichen NP -Erfüllbarkeitsproblems.[Klarstellung erforderlich]
Doppelte Probleme
Co-NP-Vervollständigung
Ein Problem L ist CO-NP-Complete dann und nur dann, wenn L ist in CO-NP und für jedes Problem in CO-NP gibt es a Polynomzeitreduktion von diesem Problem zu L.
Reduzierung der Tautologie
Bestimmen, ob eine Formel in Aussagelogik ist ein Tautologie ist Co-NP-Vervollständigung: Das heißt, wenn die Formel unter jeder möglichen Zuordnung zu ihren Variablen zu true bewertet wird.[1]
Beziehung zu anderen Klassen
PDie Klasse der polynomialen lösbaren Probleme ist eine Untergruppe von NP und CO-NP. Es wird angenommen, dass P in beiden Fällen eine strenge Teilmenge ist (und in einem Fall nachweislich nicht streng und in der anderen nicht streng sein kann).
NP und CO-NP gilt auch als ungleich.[2] Wenn ja, dann kann kein NP-Complete-Problem in Co-NP und nein sein CO-NP-Complete Problem kann in NP sein.[3] Dies kann wie folgt angezeigt werden. Nehmen wir an, für den Widerspruch gibt es ein NP-Complete-Problem X Das ist in Co-NP. Da alle Probleme in NP auf reduziert werden können auf XDaraus folgt, dass wir für jedes Problem in NP a konstruieren können Nichtdeterministische Turing-Maschine Das entscheidet seine Ergänzung in der Polynomzeit; d.h. np ⊆ co-np. Daraus folgt, dass die Anzahl der Ergänzungen der Probleme in NP eine Teilmenge der Anzahl der Komplemente der Probleme in CO-NP ist. d.h. co-np ⊆ np. Somit Co-np = np. Der Beweis, dass kein CO-NP-Complete-Problem in NP sein kann, wenn NP ≠ Co-NP symmetrisch ist.
Ganzzahlfaktorisierung
Ein Beispiel für ein Problem, von dem bekannt ist, dass es sowohl zu NP als auch zu CO-NP gehört (aber nicht bekannt ist) ist Ganzzahlfaktorisierung: positive Ganzzahlen gegeben m und n, bestimmen Sie, ob m hat einen Faktor weniger als n und mehr als eins. Die Mitgliedschaft in NP ist klar; wenn m Hat einen solchen Faktor, dann ist der Faktor selbst ein Zertifikat. Die Mitgliedschaft in CO-NP ist ebenfalls unkompliziert: Man kann einfach die Hauptfaktoren von auflisten m, alles größer oder gleich zu n, was der Überprüfer als Multiplikation und die bestätigen kann ASS -Primalitätstest. Es ist derzeit nicht bekannt in P. sein
Verweise
- ^ a b Arora, Sanjeev; Barak, Boaz (2009). Komplexitätstheorie: ein moderner Ansatz. Cambridge University Press. p. 56. ISBN 978-0-521-42426-4.
- ^ Hopcroft, John E. (2000). Einführung in die Automatentheorie, Sprachen und Berechnung (2. Auflage). Boston: Addison-Wesley. ISBN 0-201-44124-1. Kerl. 11.
- ^ Goldreich, Oded (2010). P, NP und NP-Vervollständigung: Die Grundlagen der Computerkomplexität. Cambridge University Press. p. 155. ISBN 9781139490092.