Der Zugriff auf ein -Orakel würde für alles in N P - P (vorausgesetzt, die Menge ist nicht leer) eine bedeutende, superpolynomielle Beschleunigung bewirken. Es ist jedoch weniger klar, wie sehr P von diesem Zugang zum Orakel profitieren würde . Natürlich kann die Beschleunigung in P kein Superpolynom sein, aber es kann immer noch ein Polynom sein. Könnten wir zum Beispiel mit einem S A T -Orakel einen kürzesten Weg schneller finden als ohne? Wie wäre es mit anspruchsvolleren Aufgaben wie der Minimierung submodularer Funktionen oder der linearen Programmierung? Würden sie (oder andere natürliche Probleme in P ) von einem S A T profitieren ? Orakel?
Wenn wir im Allgemeinen ein Problem in finden und ein Orakel dafür verwenden können, welches der Probleme in P könnte dann eine Beschleunigung sehen?
quelle
Antworten:
Eigentlich Akzeptanz von nichtdeterministischen Turingmaschinen in der Zeit ist O ( t log t ) -Zeit reduzierbar SAT (die Konstruktion über oblivious Simulation ist, siehe Arora-Barak), so typischerweise jederzeit eine nichtdeterministische Maschine ist erheblich schneller als ein determinis Wir werden zumindest eine gewisse Beschleunigung mit einem SAT-Orakel sehen.t O(tlogt)
Um genauer zu sein, denken Sie an Primalitätstests, da die beste Variante des AKS - Algorithmus die Primalität einer Bit - Zahl in der Zeit O ( n 6 zu testen scheintn . Aber wenn wir "old school" gehen, hat Pratt ein nicht deterministisches TM gegeben, um die Primalität in der Zeit O ( n 3) zu bestimmenO(n6polylogn) . Die Akzeptanz dieser Maschine kann (deterministisch) in O ( n 3 reduziert werdenO(n3polylogn) Zeit zu einer SAT-Instanz.O(n3polylogn)
Das 3SUM-Problem kann ein weiteres Beispiel sein, da man eine Lösung zu erraten scheint und sie in subquadratischer Zeit überprüfen kann. Dann kann die Akzeptanz einer solchen Maschine in subquadratischer Zeit auf SAT reduziert werden.
quelle
Diese Frage wird direkter bei der Darstellung und der Zeit, die erforderlich ist, um ein Problem auf ein anderes zu reduzieren.
Die Hauptantwort, die ich vor Augen habe, ist ein Orakel der Integer / Linearen Programmierung. Die Entscheidungsversion dieses Problems ist NP-vollständig. Es gibt eine triviale "Reduktion" der linearen Programmierung, da es sich um einen Sonderfall handelt. Ein Orakel für die lineare Programmierung allein (geschweige denn ILP) beschleunigt jedoch viele Probleme, die durch die lineare Programmierung sofort lösbar sind. Sie können in linearer Zeit darauf reduziert werden, indem das Problem als LP umgeschrieben wird. Zum Beispiel kürzeste Wege und andere Strömungsprobleme, Matchings.
Aber ich denke nicht, dass ILP der einzige ist, es ist wahrscheinlich eher so, dass die Leute nicht viel darüber nachgedacht haben, z. B. den kürzesten Weg zu TSP zu verkürzen oder so weiter.
quelle
Wenn in einer verwandten Anmerkung (eher ein Kommentar, der als Antwort auf Anfrage veröffentlicht wird) anstelle eines Orakels ein Σ 2 S A T- Orakel zugelassen wird, kann dies verwendet werden, um minimale Schaltkreise für ein Problem in P zu finden (Dies folgt der gleichen Idee wie der Beweis von Karp-Lipton). Dies würde zu nahezu optimalen Amortisationskosten für jedes Problem führen. Der Grund, warum es nur amortisiert wird, ist, dass, wenn Sie es nur einmal verwenden, die Größe der Σ 2 S A T -Formel, die Sie aufschreiben, im Wesentlichen die Laufzeit Ihres ursprünglichen Polyzeit-Algorithmus ist, aber nach diesem Schritt haben Sie dann eine optimale Schaltung für alle Fälle von Größe ≤ nSAT Σ2SAT P Σ2SAT ≤n .
quelle