Meine Interpretation der Frage ist, dass nach den Möglichkeiten in relativierten Welten gefragt wird . Angenommen, in einer relativierten Welt ist P ≠ N PP≠NP . Können wir etwas Nicht-Triviales über die zeitliche Komplexität von NP-vollständigen Problemen ableiten? Das Baker-Gill-Solovay-Argument zeigt, dass wir ein NP-Problem dazu zwingen können, exponentielle Zeit zu benötigen, sodass die in der Frage angegebene Obergrenze im Wesentlichen optimal ist.
In Bezug auf die Untergrenze skizzieren wir unten einen Beweis, dass in Bezug auf ein Orakel N P = T I M E ( 2 O ( log 2 n ) ) ist . Unter der Annahme, dass der skizzierte Beweis korrekt ist, können wir ihn auch auf Funktionen anwenden, die kleiner als 2 O sind ( log 2 n ).NP=TIME(2O(log2n))2O(log2n) , und dies zeigt, dass die in der Frage angegebene Untergrenze ebenfalls im Wesentlichen eng ist.
Proof-Skizze. Wir konstruieren zwei Orakel O 1 , O 2 : das erste verhält sich wie ein T I M E ( 2 O ( log 2 n ) )O1,O2TIME(2O(log2n)) vollständiges Problem und das zweite implementiert die Baker-Gill-Solovay-Diagonalisierung. Es ist einfach, beide Orakel zu einem einzigen Orakel zusammenzufassen.
Das Orakel O 1 besteht aus allen Paaren ⟨ M , x ⟩ , so daß M eine OracleTuringMaschine istdie akzeptiert x in Laufzeit 2 2 √O1⟨M,x⟩MxLog | x | wenn der Zugang zu den OrakelnO1,O2auf Eingaben mit einer Länge von höchstens2√ beschränkt ist22log|x|√O1,O2log | x | . (Dies ist keine zirkuläre Definition.)2log|x|√
Das Orakel O 2 wird wie das Orakel in Baker-Gill-Solovay definiert: für jede getaktete Orakel-Turing-Maschine M, die in der Zeit T = läuftO2M 2 o ( log 2 n ), finden wir eine Eingangslänge n, die ist "Unberührt", führen Sie M auf 1 n für T Schritte aus, und für jede Abfrage nach O 2 der Größe n markieren wir, dass diese Eingabe nicht in O 2 ist (für andere Abfragen markieren wir auch, dass die Eingabe nicht vorhanden ist, es sei denn, wir hatte schon entschieden, dass es inT=2o(log2n)nM1nTO2nO2 O ist2 ). Anfragenan O 1 werden ähnlich behandelt (wie implizite Anfragen an O 1 , O 2 kleinerer Größe, rekursiv behandelt); Beachten Sie, dass solche Abfragen niemals Zeichenfolgen der Länge n in O 2 erwähnen, da 2 √O2O1O1,O2nO2log T <n. Wenn die Maschine akzeptiert, markieren wir alle anderen Zeichenfolgen der LängeninO2als fehlend, andernfalls wählen wir eine Zeichenfolge der Längen ausund geben sie inO2 ein.2logT√<nnO2nO2
Die Klasse P O 1 , O 2 besteht aus allen Programmen, die zur Zeit 2 2 O laufen ( √PO1,O2log n ), Anfragen anO1,O2der Größe2O(√22O(logn√)O1,O2log n ). Die KlasseNPO1,O2ist von der Formx↦∃| y| <NCφ(x,y), wobeiφ∈PO12O(logn√)NPO1,O2x↦∃|y|<nCφ(x,y) , O 2 und damit in der Klasse aller Programme enthalten ist, die zur Zeit 2 n C laufenund Orakelabfragen der Größe
2 O ( √φ∈PO1,O22nClog n ). Letzteres ist inTIME(2log2nC)O1,O2 enthalten, da wirO1 verwenden können, um es zu entscheiden. Dies zeigt, dassNPO1,O2≤TIME(2O(log2n))O1,O2 ist.2O(logn√)TIME(2log2nC)O1,O2O1NPO1,O2⊆TIME(2O(log2n))O1,O2
Für die andere Richtung sei L die Sprache, die aus 1 n für jedes n besteht, so dass O 2 eine Folge der Länge n enthält . Durch Konstruktion von O 2 wird L ∉ T I M E ( 2 1L1nnO2nO2 o ( log 2 n ) ) O 1 , O 2 , währendL∈N P O 1 , O 2 eindeutig ist. Dies zeigtdassNL∉TIME(2o(log2n))O1,O2L∈NPO1,O2 PO , O 2 = T I M E ( 2 O ( log 2 N ) ) O 1 , O 2 .NPO1,O2=TIME(2O(log2n))O1,O2