Ist ein Orakel jemals nützlich, wenn Sie die Eingabeinstanzen nicht steuern können?


8

Angenommen, ist ein Orakel für ein Problem in N P , aber ich kann dieses Orakel mit keiner Eingabeinstanz aufrufen. Stattdessen erhalte ich bei jedem Aufruf von F eine zufällige Instanz und Lösung zurück. Daher weiß ich, dass F tatsächlich in der Lage ist, beliebige N P -harte Probleme zu lösen. Ich kann einfach nicht angeben, welches ich lösen möchte.F.N.P.F.F.N.P.

Ist es möglich, ein solches Orakel zu verwenden, um ein vollständiges Problem schneller zu lösen ? Mein Bauch sagt nein, weil der naive Gebrauch des Orakels immer noch O ( 2 n ) Zeit erfordert, indem das Orakel genug angerufen wird, um jede Lösung zu überprüfen. Ich kann mir einfach keinen Weg vorstellen, dies zu beweisen.N.P.Ö(2n)


2
Vielleicht sollten Sie die Frage folgendermaßen ändern: "... wenn ich aufrufe, wird eine zufällige Instanz der Größe n mit gleichmäßiger Verteilung zurückgegeben ..." (wobei n die Größe der Eingabe der Turing-Maschine ist, auf die zugegriffen werden kann F ). F. n nF.
Vor dem

@Vor, ich habe darüber nachgedacht, diese Bestimmung ebenfalls hinzuzufügen, aber ich bin mir nicht sicher, ob es überhaupt einen Unterschied macht. Selbst wenn die Verteilung so wäre, dass eine Polynomanzahl von Aufrufen bestimmte Instanzen abrufen könnte, wären mehr als Polynomanrufe erforderlich, um die überwiegende Mehrheit der Instanzen abzurufen. Ich denke, das einzige, was zählt, ist, dass die Verteilung ist, dass ich die Verteilung nicht irgendwie ändern kann, um sie zugunsten meiner spezifischen Instanz zu verzerren.
Mike Izbicki

1
Ich stimme Ihnen zu, aber ohne Bindung / Verteilung ist "zufällige Instanz" bedeutungslos.
Vor dem

1
Ich denke mit "schneller" meinst du "in P", aber vielleicht möchtest du stattdessen fragen, ob es in BPP ist .
Xodarap

@Xodarap Ich interessiere mich mehr für eine Methode zur Verwendung eines solchen Orakels, um eine (hypothetisch) komplexere Klasse in eine schwächere Klasse umzuwandeln. Nicht unbedingt NP -> P. Außerdem sehe ich nicht besonders, wie nützlich Wahrscheinlichkeitsklassen wären.
Mike Izbicki

Antworten:


8

Wie Xodarap betonte , ist das zufällige Orakel nutzlos , wenn Sie Ihren Algorithmus mit dem „zufälligen Orakel“ benötigen, um immer die richtige Antwort auszugeben. Das Problem wird interessanter, wenn wir eine geringe Fehlerwahrscheinlichkeit zulassen (wobei sich die Wahrscheinlichkeit auf die vom Orakel gewählte zufällige Instanz bezieht).

Darüber hinaus ist es, wie Vor in den Kommentaren zu der Frage betonte, bedeutungslos, „zufällige Instanz“ zu sagen, ohne eine Wahrscheinlichkeitsverteilung anzugeben. Eine der vernünftigen Annahmen, die hier zu treffen sind, ist, dass diese zufällige Instanz gleichmäßig zufällig aus der Menge aller Zeichenketten der Länge p ( n ) ausgewählt wird, wobei n die Eingangslänge und p ein festes Polynom ist. Wir könnten andere, schwächere Annahmen über die Wahrscheinlichkeitsverteilung treffen.

Hier werden wir die Annahme ganz allgemein machen und zeigen, dass die Existenz eines randomisierten Polynom-Zeit-Algorithmus mit einem „zufälligen Orakel“ für NP-vollständige Probleme selbst unter dieser schwachen Annahme eine überraschende Konsequenz hat.

Lassen Sie uns die Anforderung fallen, dass das „zufällige Orakel“ ein Problem in NP löst (auf einer zufällig ausgewählten Instanz). Jetzt kann das "zufällige Orakel" eine beliebige vorbestimmte Wahrscheinlichkeitsverteilung über Strings mit Polynomlänge sein, und jedes Mal, wenn es gefragt wird, gibt es einen String gemäß dieser Wahrscheinlichkeitsverteilung aus. Die einzige Voraussetzung ist, dass diese Wahrscheinlichkeitsverteilung nur von der Eingabelänge abhängt. Beachten Sie, dass Ihr Modell in der Tat ein Sonderfall dieses Modells ist. In Ihrem Modell muss die Wahrscheinlichkeitsverteilung die folgende Form haben: Sie wählt zuerst eine gleichmäßig zufällige Instanz y aus einer Menge in Abhängigkeit von der Eingabelänge aus und gibt dann ein Paar ( y , g ( y )) zurück, wobei g: {0, 1} * → {0, 1} ist die charakteristische Funktion eines Entscheidungsproblems in NP. Jetzt erlauben wir jede Wahrscheinlichkeitsverteilung, solange die Verteilung allein durch die Eingabelänge bestimmt wird.

Ein „Orakel“ dieser allgemeinen Form wird als randomisierter Rat bezeichnet . Die Klasse von Entscheidungsproblemen, die durch einen randomisierten Polynom-Zeit-Algorithmus mit einem randomisierten Ratschlag (mit begrenztem zweiseitigem Fehler) entschieden werden kann, heißt BPP / rpoly, und es ist bekannt, dass diese Klasse gleich P / poly ist . (Der Einschluss BPP / rpoly⊆P / poly kann auf die gleiche Weise wie ein bekannter Einschluss BPP⊆P / poly nachgewiesen werden. Für einen Beweis des letzteren siehe z. B. Satz 6.3 von Goldreich [Gol08].)

Dies bedeutet, dass NP⊆P / Poly, wenn ein NP-vollständiges Problem in Ihrem Modell gelöst werden kann. Es ist jedoch bekannt, dass NP⊆P / Poly impliziert, dass die Polynomhierarchie auf die zweite Ebene zusammenbricht [KW98, Cai07]. Die meisten Komplexitätstheoretiker betrachten einen Zusammenbruch der Polynomhierarchie als große Überraschung. Wenn wir glauben, dass die Polynomhierarchie nicht zusammenbricht, können NP-vollständige Probleme mit dem „zufälligen Orakel“ in Ihrem Sinne nicht effizient gelöst werden.

Verweise

[Cai07] Jin-Yi Cai. S 2 p ⊆ ZPP NP . Journal of Computer and System Sciences , 73 (1): 25–35, Februar 2007. DOI: 10.1016 / j.jcss.2003.07.015 .

[Gol08] Oded Goldreich. Computerkomplexität: Eine konzeptionelle Perspektive . Cambridge University Press, 2008.

[KW98] Johannes Köbler und Osamu Watanabe. Neue Kollapsfolgen von NP mit kleinen Schaltkreisen. SIAM Journal on Computing , 28 (1): 311–324, 1998. DOI: 10.1137 / S0097539795296206 .


0

Lassen Sie uns speziell über das beliebteste NP-Komplettproblem aller nachdenken: 3SAT.

Es ist möglich (wenn auch unwahrscheinlich), dass Sie jedes Mal, wenn Sie Ihr Orakel anrufen, eine Zuweisung für dieselbe Instanz erhalten. Insbesondere könnte es Ihnen jedes Mal eine Zuordnung für den trivialen Satz geben:

(xxx)(xxx)

Aber Sie kennen bereits die Aufgabe dafür. Ihr Oracle kann also nicht nützlich sein.

EINP.EINN.P.P.N.P.


Dies würde nicht bedeuten, dass zwei beliebige 3SAT-Instanzen durch Polynomzeit reduzierbar sind. Nur dass sie bei einem zufälligen Instanz-Orakel polynomiell zeitreduzierbar sind. Recht?
Mike Izbicki

Klargestellt; Lassen Sie mich wissen, wenn ich nicht verstehe, was Sie unter "Orakel mit zufälliger Instanz" verstehen.
Xodarap

Nun, es wird eine exponentielle Anzahl von Aufrufen erfordern, um eine Zuweisung für dieselbe Instanz zu erhalten. Tatsächlich werden genauso viele Anrufe erforderlich sein, um eine Zuordnung zu dem bestimmten Problem zu erhalten, das ich zu lösen versuche! Sie werfen all diese Arbeit weg, und es gibt möglicherweise eine clevere Möglichkeit, sie zu nutzen.
Mike Izbicki

@ Mike: Komplexität betrifft das Worst-Case- Szenario. Da das Orakel im schlimmsten Fall nutzlos ist (wie oben gezeigt), ist das alles, was wir wissen müssen.
Xodarap
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.