5.2.2 Die Hadamard-Transformation und Interferenz
Der Algorithmus von Deutsch ist zwar sehr überraschend, erreicht aber nur eine geringe Verbesserung gegenüber klassischen Algorithmen, nämlich 1 anstelle von 2 Ausführungen von . Das könnte natürlich nützlich sein, wenn das Evaluieren von sehr lange dauert, beispielsweise ein Jahr. Aber wenn es sich nur um Millisekunden handelt, macht es für die meisten keinen Unterschied eine Millisekunde länger zu warten (dafür aber viel weniger zu zahlen, da man keinen Quantencomputer bräuchte)! Um den Nutzen von Quantencomputern zu zeigen, würden wir gerne eine Berechnung um mehr als nur den Faktor 2 beschleunigen.
Wenn wir uns nur Funktionen mit einem Bit anschauen, können wir eine stärkere Beschleunigungen vergessen, da diese mit nur zwei Auswertungen voll bestimmt werden können: und . Daher schauen wir uns allgemeinere Funktionen mit Eingabe-Bits an, da es davon viel mehr gibt (tatsächlich gibt es viele). Bedenke, unser Ziel ist es nicht, die Funktion auszuwerten (das erreichen wir schon mit nur einer Evaluation des Orakels) sondern eine interessante Eigenschaft der Funktion zu bestimmen, die Funktionswerte auf verschiedenen Eingaben zueinander in Relation stellt. Gibt es Eigenschaften von -Bit Funktionen, die wir effizient mit cleveren Quantenalgorithmen in Erfahrung bringen können?
Um den Algorithmus von Deutsch zu verallgemeinern, bemerken wir, dass es ein Schlüsselbestandteil war, ein Hadamard-Gatter vor und nach dem Phasen-Orakel einzufügen. In diesem Fall ist das Phasen-Orakel eine Quantenoperation auf Qubit, also könnten wir auf all diesen Qubits ein Hadamard-Gatter vor und nach dem Orakel einfügen. Die Quantenoperation, die parallel auf allen Qubits eine Hadamard-Operation anwedet nennt sich Hadamard-Transformation. Erinnere dich aus Abschnitt 3.2.3, dass wir sie so schreiben können:
Lass uns zunächst herausfinden, wenn wir die Hadamard-Transformation auf einen Basiszustand anwenden. Auf ergibt sich einfach die gleichverteilte superposition über alle Basiszustände:
Dieser Zustand ist eine superposition von Basiszuständen. Kompakter könnte man auch schreiben:
Die Notation bedeutet, dass die Summe von über alle möglichen Kombinationen von den Bits gebildet wird.
Allgemeiner gesagt ist die Ausgabe auf einem beliebigen Basiszustand immer eine superposition von allen Basiszuständen mit gleichen Amplituden, bis auf Vorzeichen. Diese Vorzeichen genauer zu bestimmen kann manchmal schwierig sein.
Übungsaufgabe 5.4 (Zwei Hadamards).
In Gl. 2.34 hatten wir gesehen, dass für alle gilt.
-
1.
Schreibe den Zustand für beliebige wie folgt:
wobei ??? ein Ausdruck ist, der enthält. Finde diesen Ausdruck.
-
2.
Schreibe den Zustand für beliebige wie folgt:
wobei ??? ein Ausdruck ist, der enthält.
Findest du auch diesen Ausdruck?
Lösung.
-
1.
Hier steht ??? für .
-
2.
Für ,
also steht ??? für .
Hast du die Lösung gefunden? Gut, dann darfst du weiter lesen!
Im Allgemeinen kann man sich die folgende Formel herleiten, die die Vorzeichen der Amplituden beschreibt, die man erhält, wenn man die Hadamard-Transformation auf einen beliebigen -Qubit-Basiszustand anwendet: Für alle ,
Nun können wir den Algorithmus von Deutsch recht einfach verallgemeinern. Wir starten mit einem -Qubit-Basiszustand , wenden zunächst die Hadamard-Transformation an und anschließend das Phasen-Orakel der Funktion , die wir untersuchen wollen, und abschließend eine weitere Hadamard-Transformation. Für beispielsweise ergibt sich der folgende Schaltkreis in Quirky:
Für allgemeine lässt sich der finale -Qubit-Zustand wie folgt beschreiben:
Können wir das auch expliziter schreiben? Wie schon zuvor, rechnen wir Schritt für Schritt. Zunächst wenden wir die Hadamard-Transformation auf den Null-Basiszustand an. Nach Gl. 5.10 erhalten wir die uniforme Überlagerung aller Basiszustände:
Anschließend wenden wir das Phasen-Orakel an:
Was erreicht die abschließende Hadamard-Transformation? Durch Linearität können wir Gl. 5.11 auf jeden Basisvektor anwenden, also erhalten wir den folgenden Ausdruck für den Zustand in Gl. 5.12:
wobei die zwei Summen im letzten Schritt getauscht wurden. Für entspricht das genau Gl. 5.7. Im Allgemeinen sieht dieser Ausdruck aber kompliziert und schwer zu interpretieren aus – es scheint, der Schaltkreis berechnet eine Superposition der Basiszustände, wobei die Amplitude eine seltsame Summe von Plus- und Minuszeichen ist!
Wir können versuchen ein intuitives Verständnis zu erreichen, indem wir uns die Amplitude von in Gl. 5.13 anschauen. Das Quadrat dieser Zahl ist die Wahrscheinlichkeit, dass beim messen der Qubits alle Ergebnisse Null sind. Da diese Amplitude entspricht, ist sie gegeben durch
Aber was bedeutet das? Nehmen wir an, es gibt Eingabe-Bitstrings für die Null ergibt und Bitstrings für die Eins ergibt. Dann,
Dabei gibt es zwei interessante Extremfälle: 1414 14 Für ist jede Funktion entweder konstant oder balanced. Für ist das nicht der Fall (z.B. ist die AND-Funktion weder konstant noch balanced).
-
•
Wenn eine konstante Funktion ist, gilt entweder (für die Alles-Null-Funktion) oder (für die Alles-Eins-Funktion). In jedem Fall ist die Amplitude . Da die Summe der Quadrate der Amplituden genau 1 ergeben muss, können wir Schlussfolgern, dass alle anderen Amplituden in Gl. 5.13 genau 0 sein müssen. Mit anderen Worten, wenn konstant ist, muss der Zustand in Gl. 5.13 einfach . Wenn wir alle Qubits dieses Zustands messen, müssen alle Ergebnisse Null sein.
-
•
Wenn eine balanced Funktion1515 15 (engl. für “gleichmäßig/balanciert”) ist, also das Ergebnis der Funktion genauso oft Null wie Eins ist, dann ist und die Amplitude ist 0. Wenn man also den Zustand in Gl. 5.13 misst, werden niemals alle Ergebnisse Null sein. Also wird für eine balanced Funktion immer mindestens ein Messergbnis Eins sein.
Bemerke, dass diese zwei Fälle sehr verschiedenen Interferenzmustern entsprechen (siehe Abschnitt 2.6.1). Im ersten Fall wird die Amplitude von durch stark fokussierte konstruktive Interferenz zu verstärkt, wobei gleichzeitig alle anderen Amplituden durch verbreitete destruktive Interferenz verschwinden. Im zweiten Fall erfährt dagegen destruktive Interferenz, wodurch überall sonst Nicht-Null-Amplituden auftauchen. Die Hadamard-Transformation zeigt auf wie wichtig Interferenz für die Quanteninformatik ist. In den nächsten zwei Abschnitten wird sie eine entscheidende Rolle für das Design von Quantenalgorithmen auf vielen Qubits spielen.