Analyse
Wir analysieren nun Grovers Algorithmus, um zu verstehen, wie er funktioniert. Wir beginnen mit dem, was man als symbolische Analyse beschreiben könnte, bei der wir berechnen, wie die Grover-Operation auf bestimmte Zustände wirkt, und verbinden diese symbolische Analyse dann mit einem geometrischen Bild, das dabei hilft, die Funktionsweise des Algorithmus zu visualisieren.
Lösungen und Nicht-Lösungen
Beginnen wir mit der Definition zweier Mengen von Zeichenketten.
Die Menge enthält alle Lösungen unseres Suchproblems, während die Zeichenketten enthält, die keine Lösungen sind (die wir als Nicht-Lösungen bezeichnen, wenn es praktisch ist). Diese beiden Mengen erfüllen und , das heißt, dies ist eine Bipartition von .
Als Nächstes definieren wir zwei Einheitsvektoren, die gleichmäßige Überlagerungen über die Mengen der Lösungen und Nicht-Lösungen darstellen.
Formal gesehen ist jeder dieser Vektoren nur definiert, wenn die entsprechende Menge nicht leer ist, aber im Folgenden konzentrieren wir uns auf den Fall, dass weder noch leer ist. Die Fälle und lassen sich leicht separat behandeln, was wir später tun werden.
Nebenbei sei bemerkt: Die hier verwendete Notation ist üblich – immer wenn wir eine endliche und nicht leere Menge haben, können wir schreiben, um den Quantenzustandsvektor zu bezeichnen, der gleichmäßig über den Elementen von verteilt ist.
Definieren wir außerdem als gleichmäßigen Quantenzustand über alle -Bit-Zeichenketten:
Beachte, dass
Wir haben außerdem, dass gilt, also stellt den Zustand des Registers nach der Initialisierung in Schritt 1 von Grovers Algorithmus dar.
Das impliziert, dass der Zustand von unmittelbar vor den Iterationen von in Schritt 2 im zweidimensionalen Vektorraum liegt, der von und aufgespannt wird, und dass die Koeffizienten dieser Vektoren reelle Zahlen sind. Wie wir sehen werden, werden diese Eigenschaften des Zustands – dass er eine reelle Linearkombination von und ist – nach jeder Anzahl von Iterationen der Operation in Schritt 2 erhalten bleiben.
Eine Beobachtung zur Grover-Operation
Wir wenden uns nun der Grover-Operation zu:
beginnend mit einer interessanten Beobachtung darüber.
Stellen wir uns kurz vor, wir würden die Funktion durch die Komposition von mit der NOT-Funktion ersetzen – oder anders gesagt, durch die Funktion, die wir erhalten, wenn wir das Ausgabebit von invertieren. Wir nennen diese neue Funktion und können sie symbolisch auf einige alternative Weisen ausdrücken.
Beachte, dass
für jede Zeichenkette gilt und daher
Das bedeutet, wenn wir die Funktion durch die Funktion ersetzen würden, würde Grovers Algorithmus nicht anders funktionieren – denn die Zustände, die wir aus dem Algorithmus in den beiden Fällen erhalten, sind notwendigerweise äquivalent bis auf eine globale Phase.
Das ist kein Problem! Intuitiv gesprochen ist es dem Algorithmus egal, welche Zeichenketten Lösungen sind und welche nicht – er muss nur in der Lage sein, Lösungen von Nicht-Lösungen zu unterscheiden, um korrekt zu funktionieren.
Wirkung der Grover-Operation
Betrachten wir nun die Wirkung von auf die Quantenzustandsvektoren und .
Zunächst stellen wir fest, dass die Operation eine sehr einfache Wirkung auf und hat.
Zweitens haben wir die Operation . Die Operation ist definiert als
wiederum für jede Zeichenkette , und eine praktische alternative Ausdrucksweise dieser Operation ist:
Eine einfache Möglichkeit, zu überprüfen, dass dieser Ausdruck mit der Definition von übereinstimmt, besteht darin, seine Wirkung auf Standard-Basiszustände zu evaluieren.
Die Operation kann daher wie folgt geschrieben werden: