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 .