Zusammenfassung
- Es gibt eine Theorie der Komplexität von Suchproblemen (auch Beziehungsprobleme genannt). Diese Theorie beinhaltet Klassen mit den Namen FP , FNP und FBQP, in denen es effektiv darum geht, Suchprobleme mit verschiedenen Arten von Ressourcen zu lösen.
- Aus Suchproblemen können Sie auch Entscheidungsprobleme definieren, mit denen Sie Suchprobleme mit den üblichen Klassen P , NP und BQP in Beziehung setzen können .
- Unabhängig davon, ob Sie die Suchversion der Entscheidungsversion des Problems berücksichtigen, bestimmt die Art und Weise, wie Sie die Eingabe für das Problem der unstrukturierten Suche berücksichtigen, welche Obergrenzen Sie für die Komplexität des Problems festlegen können.
Die Komplexität von Beziehungsproblemen
Wie Sie bemerken, löst das Problem von Grover ein Suchproblem , das in der Komplexitätsliteratur manchmal auch als Beziehungsproblem bezeichnet wird. Das heißt, es ist ein Problem der folgenden Art:
Die Struktur eines allgemeinen Suchproblems. Finden Sie bei
gegebener Eingabe und einer binären Beziehung R ein y, so dass R ( x , y ) gilt.xRyR ( x , y)
Die Komplexitätsklassen FP und FNP werden im Hinblick auf solche Probleme definiert, wobei insbesondere der Fall von Interesse ist, bei dem höchstens eine Polynomfunktion der Länge von x hat und die Beziehung R ( x , y ) selbst kann in einer Zeitspanne berechnet werden, die durch ein Polynom in der Länge von ( x , y ) begrenzt ist .yxR ( x , y)( x , y)
Insbesondere: Das Beispiel für das Problem der Datenbanksuche, auf das Grovers Suche normalerweise angewendet wird, kann wie folgt beschrieben werden.
Unstrukturierte Suche.
Bei einem eingegebenen Orakel so dass O | ein ⟩ | b ⟩ = | ein ⟩ | b ⊕ f ( a ) ⟩ für eine Funktion f : { 0 , 1 } m → { 0 , 1 } , finde a y so, dass O | y ⟩ | 0 ⟩ = | y ⟩ | 1O : H⊗m+12→H⊗m+12O|a⟩|b⟩=|a⟩|b⊕f(a)⟩f:{0,1}m→{0,1}y .O|y⟩|0⟩=|y⟩|1⟩
Hier ist das Orakel selbst der Input für das Problem: Es spielt die Rolle von , und die Beziehung, die wir berechnen, ist
R ( O , y ).x
R(O,y)≡[O|y⟩|0⟩=|y⟩|1⟩]≡[f(y)=1].
Angenommen, wir haben anstelle eines Orakels eine bestimmte Eingabe die beschreibt, wie die Funktion f berechnet werden soll. Dann können wir überlegen, zu welcher Komplexitätsklasse dieses Problem gehört. Wie angegeben , hängt die entsprechende Komplexitätsklasse davon ab, wie die Eingabe bereitgestellt wird.xfpyramids
Angenommen, die Eingabefunktion wird als Datenbank bereitgestellt (wie das Problem manchmal beschrieben wird), wobei jeder Eintrag in die Datenbank eine Länge . Wenn n die Länge der Zeichenfolge x ist , mit der die gesamte Datenbank beschrieben wird , hat die Datenbank N = n / ℓ Einträge. Es ist dann möglich, die gesamte Datenbank vollständig zu durchsuchen, indem jeder der N Einträge der Reihe nach abgefragt wird, und anzuhalten, wenn wir einen Eintrag y finden , der f ( y ) = 1 ist . Angenommen, jede Abfrage in der Datenbank benötigt so etwas wie O (ℓnxN=n/ℓNyf(y)=1 Zeit, dieser Vorgang stoppt in der Zeit O ( N log N ) ⊆ O ( n log n ) , so dass das Problem inFP liegt.O(logN)⊆O(logn)O(NlogN)⊆O(nlogn)
Unter der Annahme, dass die Datenbanksuche in kohärenter Überlagerung erfolgen kann, lässt der Algorithmus von Grover zu, dass dieses Problem in FBQP vorliegt . Als FP ⊆ FBQP beweist die klassische umfassende Suche jedoch auch, dass es sich um ein FBQP- Problem handelt . Alles, was wir (bis zu Protokollfaktoren) erhalten, ist eine quadratische Beschleunigung aufgrund einer Einsparung bei der Anzahl von Datenbankabfragen.
Angenommen, die Eingabefunktion wird kurz und bündig durch einen Polynom-Zeit-Algorithmus beschrieben, der eine Spezifikation und ein Argument y ∈ { 0 , 1 } m verwendet und O : H m + 1 2 berechnetx∈{0,1}ny∈{0,1}mO:Hm+12→Hm+12auf einem Standard - Basiszustand , wobei m kann viel größer sein als Ω ( log n ) . Ein Beispiel wäre, wenn x die CNF-Form einer booleschen Funktion f angibt : { 0 , 1 } m → { 0 , 1 } für m ∈ O ( n ) . In diesem Fall können wir f ( y ) an einer Eingabe effizient auswerten y ∈|y⟩|b⟩mΩ(logn)xf:{0,1}m→{0,1}m∈O(n)f(y) und werten dadurch O auf Standardbasiszuständeneffizient aus. Dies versetzt das Problem inFNP.y∈{0,1}mO
Eine Prozedur gegeben, um aus ( x , y ) in der Zeit O ( p ( n ) ) für n = | zu bewerten x | Der Algorithmus von Grover löst das Problem der unstrukturierten Suche nach O in der Zeit O ( p ( n ) √f(y)(x,y)O(p(n))n=|x|O⊆O(p(n)√O(p(n)2m−−−√) . Dies ist innkein Polynomund reicht daher nicht aus, um dieses Problem inFBQP umzusetzen: Wir erhalten nur eine quadratische Beschleunigung - obwohl dies immer noch eine potenziell enorme Einsparung an Rechenzeit darstellt, vorausgesetzt, der Vorteil, den der Algorithmus von Grover bietet, geht nicht verloren der für die fehlertolerante Quantenberechnung erforderliche Overhead.⊆O(p(n)2n−−√)n
In beiden Fällen wird die Komplexität durch die Länge der Zeichenkette x * bestimmt, die angibt, wie das Orakel O berechnet wird . In dem Fall, dass x eine Nachschlagetabelle darstellt, ist N = n / ℓ , in welchem Fall die Leistung als Funktion von N der Leistung als Funktion von n ähnlich ist ; Aber in dem Fall, dass x genau O und N ∈ O ( 2 n / 2 ) angibt , löst Grovers große Botschaft das Problem in OnxOxN=n/ℓNnxON∈O(2n/2)Abfragen verschleiern die feinkörnige Nachricht, dass dieser Algorithmus für einen Quantencomputer immer noch Exponentialzeit ist.O(N−−√)
Entscheidungskomplexität aus Beziehungsproblemen
Es gibt einen einfachen Weg, Entscheidungsprobleme aus Beziehungsproblemen zu ziehen, der aus der Theorie der NP- vollständigen Probleme bekannt ist: das Suchproblem in eine Frage nach der Existenz einer gültigen Lösung umzuwandeln .
Die Entscheidungsversion eines allgemeinen Suchproblems. Bestimmen Sie bei
gegebener Eingabe und einer binären Beziehung R , ob ∃ y : R ( x , y ) gilt.xR∃y:R(x,y)
Die Komplexitätsklasse NP kann im Wesentlichen anhand solcher Probleme definiert werden, wenn die Beziehung effizient berechenbar ist: Bei den bekanntesten NP- vollständigen Problemen (CNF-SAT, HAMCYCLE, 3-COLORING) handelt es sich um die bloße Existenz einer gültigen Lösung für ein effizient überprüfbares Beziehungsproblem. Dieser Wechsel von der Erzeugung von Lösungen zur einfachen Behauptung der Existenz von Lösungen ermöglicht es uns auch, Versionen der ganzzahligen Faktorisierung zu beschreiben, die sich in BQP befinden (indem wir fragen, ob es nicht-triviale Faktoren gibt, anstatt nach den Werten nicht-trivialer Faktoren zu fragen ). .R
Im Fall der unstrukturierten Suche hängt es wiederum davon ab, wie die Eingabe strukturiert ist, welche Komplexitätsklasse das Problem am besten beschreibt. Das Ermitteln, ob es eine Lösung für ein Beziehungsproblem gibt, kann sich darauf beschränken , eine Lösung für dieses Problem zu finden und zu überprüfen . Für den Fall, dass die Eingabe eine Zeichenfolge , die das Orakel als Nachschlagetabelle angibt, liegt das Problem der unstrukturierten Suche in P ; und allgemeiner, wenn x ein effizientes Mittel zur Bewertung des Orakels angibt, liegt das Problem in NP . Es ist auch möglich, dass es eine Möglichkeit gibt, festzustellen, ob es eine gibtxx eine Lösung für die unstrukturierte Suche, bei der keine Lösung gefunden wird, obwohl im Allgemeinen nicht klar ist, wie dies in einer Weise erfolgen soll, die einen Vorteil gegenüber der tatsächlichen Suche nach einer Lösung bietet.
Oracle Komplexität
Ich habe auffällig von der Rede über das Orakel zu Möglichkeiten übergegangen , mit denen eine Eingabe x verwendet werden kann, um das Orakel O zu spezifizieren (und zu bewerten) . Wir betrachten den Algorithmus von Grover jedoch hauptsächlich als ein Orakelergebnis, bei dem die Bewertung des Orakels nur einen einzigen Zeitschritt dauert und keine Angabe erforderlich ist. Wie beurteilen wir die Komplexität des Problems in diesem Fall?OxO
In diesem Fall haben wir es mit einem relativierte Modell der Berechnung, bei der Auswertung dieses eine spezifische Orakel (was, denken Sie daran, ist der Eingang zu dem Problem) eine primitive Operation ist. Dieses Orakel ist für alle Eingabegrößen definiert: Um das Problem bei der Suche nach Zeichenfolgen der Länge n zu berücksichtigen, müssen Sie angeben, wie sich das Orakel O auf Eingaben der Länge n auswirkt , was wiederum unter Berücksichtigung der Länge von a erfolgen würde Boolescher String x wird als Eingabe verwendet. In diesem Fall könnte das Problem folgendermaßen dargestellt werden.OnOnx
Suchen relativ unstrukturierten zu Oracle . O
Bei einer Eingabe der Länge n ,x=11⋯1n
finde ein (Beziehungsproblem) odery∈{0,1}n
festzustellen, ob es ein (Entscheidungsproblem)y∈{0,1}n
so dass .O|y⟩|0⟩=|y⟩|1⟩
Dieses Problem wird in (für das Entscheidungsproblem) oder F N P O (für das Beziehungsproblem) angegeben, je nachdem, welche Version des Problems Sie berücksichtigen möchten. Da der Algorithmus von Grover kein Polynom-Zeit-Algorithmus ist, ist nicht bekannt, dass dieses Problem in B Q P O oder F B Q P O vorliegt . Tatsächlich können wir etwas Stärkeres sagen, wie wir gleich sehen werden.NPOFNPOBQPOFBQPO
Der Grund, warum ich die eigentliche, orakelbasierte Beschreibung der unstrukturierten Suche überflogen habe, bestand darin, Ihre Komplexität und insbesondere die Frage der Eingabegröße zu behandeln . Die Komplexität der Probleme hängt weitgehend davon ab, wie die Eingaben angegeben werden: als prägnante Spezifikation (für den Fall, dass eine Funktion in CNF-SAT angegeben wird), als explizite Spezifikation (für eine Nachschlagetabelle für a function) oder auch als Ganzzahl in unary angegeben, dh als Länge einer Zeichenfolge von 1s wie oben (wie oben in "Unstructured Search relativ zu Oracle ").O
Wie wir aus dem letzteren Fall sehen können, sieht die Situation ein wenig unintuitiv aus, wenn wir die Eingabe nur als Orakel behandeln, und es ist sicherlich unmöglich, darüber zu sprechen, wie die "Datenbank" realisiert werden kann. Eine Tugend der Betrachtung der relativierten Version des Problems mit einem tatsächlichen Orakel ist jedoch, dass wir Dinge beweisen können, die wir sonst nicht beweisen können. Wenn wir nachweisen könnten, dass die Entscheidungsversion des kurzen Problems der unstrukturierten Suche in BQP enthalten ist , würden wir einen enormen Durchbruch in der praktischen Berechnung erzielen. und wenn wir nachweisen könnten, dass das Entscheidungsproblem nicht in BQP bestand , hätten wir gezeigt, dass P ≠ PSPACEDies wäre ein enormer Durchbruch bei der Komplexität der Berechnungen. Wir wissen auch nicht, wie wir das machen sollen. Aber für das relativiert Problem, können wir zeigen , dass es Orakel , für die die Entscheidung Version von „Unstructured Suche in Bezug auf O “ ist in N P O , aber nicht in B Q P O . Auf diese Weise können wir zeigen, dass Quantencomputer zwar potenziell leistungsfähig sind, es jedoch Gründe gibt, zu erwarten, dass BQP wahrscheinlich kein NP enthält und dass insbesondere die Beziehungsversion von Unstructured Search wahrscheinlich nicht in FBQP enthalten ist, ohne dass die Art und Weise stark eingeschränkt wird Die Eingabe wird dargestellt.OONPOBQPO
\text{}
Namen von Komplexitätsklassen zu schreiben. Zum Beispiel\text{NP}
oder\text{BQP}