Ein Orakel, um NP von coNP zu trennen

12

Wie kann man beweisen, dass ? Ich suche nur nach einem solchen Orakel TM M und einer rekursiven Sprache L ( M ) = L, für die dies gilt.NPAcoNPAML(M)=L

Ich kenne den Beweis , wo Sie zeigen , dass es ein Orakel , so dass P AN P A und ein Orakel A , so dass P A = N P A . Ich habe einen Hinweis darauf, dass ich ein solches Orakel A finden sollte, indem ich den Beweis von P AN P A erweitere, aber wo immer ich suche und lese, ist es überall "offensichtlich" oder "direkt", aber ich verstehe einfach nicht, wie ich es überhaupt beweisen soll .APEINNPEINEINPEIN=NPEINEINPEINNPEIN

Stewenson
quelle
6
Es ist nicht klar, ob Sie dem Hinweis gefolgt sind. Ich bin überrascht zu hören, dass offensichtlich ist, aber Sie können den Beweis in (zum Beispiel) Computational Complexity: A Modern Approach von Arora und Barak finden. PEINNPEIN

Antworten:

9

Da Max sagte, dass die Änderung nicht schwierig ist, schlage ich vor, dass Sie den Rest dieser Antwort nicht lesen und ein wenig mehr über das Problem nachdenken. Es gibt nur einen Teil, der geändert werden muss und der sich an die Definition erinnert, wann ein Durch die Annahme durch die Maschine können Sie dieses Problem beheben.cÖNP

Ich werde die erforderliche Modifikation unten erläutern, aber lassen Sie uns zuerst einen kurzen Blick auf den Originalbeweis werfen.

In dem ursprünglichen Beweis wird in den Schritten gebaut , wo im Schritt i mit dafür sorgen , dass i - ten Maschine in P , M i , entscheidet nicht die Sprache { x | y A | x | = | y | } richtig. Beachten Sie, dass sich der Satz in N P A befindet .EIN=nEINnichichPMich{xyEIN |x|=|y|}NPEIN

Dies erreichen wir, indem wir mit dem Teil von A simulieren , den wir auf einer 0 m aufgebaut haben, wobei m groß genug ist (die Zeichenfolge ist länger als die in den vorherigen Schritten berücksichtigten Zeichenfolgen). M i akzeptiert, wir fügen nichts hinzu, wenn es ablehnt, fügen wir eine Zeichenkette der Länge m hinzu , die M i nicht in der Menge abfragt (eine solche Zeichenkette existiert, da exponentiell viele Zeichenketten mit einer LängeMichEIN0mmMichmMich aber M i kann nicht nach allen in polynomialer Zeit fragen). Wir werden diesen Teil von A in zukünftigen Schrittennicht ändern(dh Zeichenketten mit der Länge mmMichEINmoder weniger bleibt gleich). Dies stellt sicher , dass wird die Sprache nicht richtig entscheiden , und ist der Beweis.MichEIN

Nehmen wir nun an, dass die Maschinen in waren c o N P anstelle von P . Wir müssen den Beweis modifizieren, um sicherzustellen, dass M A ich L nicht wiedererkenne . Wenn es akzeptiert, behalten wir A wie zuvor und alles funktioniert wie im Original-Proof. Wenn es abgelehnt wird, müssen wir dem Satz eine Zeichenfolge hinzufügen, um sicherzustellen, dass es nicht richtig antwortet. Wir können M i immer noch mit dem Teil von A simulieren , das Problem ist, dass M i möglicherweise alle Zeichenfolgen der Länge n abfragt . Hier ist der Weg a c oMichcÖNPPMichEINLEINMichEINMichn Maschinenarbeit wird wichtig. Es akzeptiert genau dann, wennalleBerechnungspfade akzeptieren. Da es in diesem Fall abgelehnt wird, gibt es einen Berechnungspfad, der abgelehnt wird. Solange dieser Pfad intakt bleibt, funktioniert alles. Daher müssen die Antworten auf die Abfragen in diesem Pfad nur gleich bleiben. Die Anzahl der Abfragen in diesem Pfad ist polynomial (da die Maschine in polynomialer Zeit ausgeführt wird). Es gibt also Zeichenfolgen der Länge m , nach denen der Pfad keine Abfrage vornimmt. Fügen Sie einfach eine davon zu A hinzu, und der Rest des Beweises funktioniert wiefolgtVor.cÖNPmEIN

EINDSpeince(nω(1))

Kaveh
quelle
3

PEIN=NPEINPBNPBEINB

Vincent Russo
quelle