Ein Quantenzahlenschloss
Um zu lernen, wie sich Quantenalgorithmen von klassischen Algorithmen unterscheiden, brauchen wir ein Problem, das es uns erlaubt einen Quantenalgorithmus mit seinem klassischen Gegenstück zu vergleichen. Das Problem, mit dem wir uns befassen wollen, ist, einen Geheimcode herauszufinden, der sich hinter einem Quanten-"Zahlenschloss" steckt.
Stellen wir uns eine Black-Box vor, bei der wir einen Code einstellen können und die für jede 1, die an derselben Stelle auch im geheimen Code vorkommt, die Antwort ändert (0 wird zu 1, 1 wird zu 0).
Im Falle des Geheimcodes 110 hätten wir also die folgenden Zwei-Qubit-Operationen zwischen Guess und Answer Qubits:
-
A
\(\ket{0}\)
-
B
\(\ket{1}\)
Ganz genau! Der erste Operator wird angewendet, weil die erste Ziffer richtig erraten wurde, der zweite nicht angewandt.
Nicht ganz! Der erste Operator wird angewendet, weil die erste Ziffer richtig erraten wurde, der zweite nicht angewandt.
Die Black-Box knacken
Normalerweise haben wir den Schaltkreis nicht zur Verfügung und uns bleibt einzig die Möglichkeit, den geheimen Code durch Raten herauszufinden.
Lassen Sie uns zunächst eine Lösung mit herkömmlichen Computer ansehen. Können Sie den Geheimcode herausfinden, ohne ohne die Blackbox zu öffnen?
Messungen
-
A
1001
-
B
0101
-
C
1100
-
D
1101
Genau! Der geheime Code lautet 1101.
Jetzt kann auch die Black-Box geöffnet werden.
Nicht ganz! Der geheime Code lautet tatsächlich 1101.
Jetzt kann auch die Black-Box geöffnet
werden.
-
A
1
-
B
2
-
C
3
-
D
4
Genau! Allgemein benötigt man mindestens vier Rateversuche um den geheimen Code herauszufinden.
Knapp, aber nicht ganz! Allgemein benötigt man mindestens vier Rateversuche um den geheimen Code herauszufinden.
Eine Quantencomputinglösung für das Quanten-"Zahlenschloss"
Bei der herkömmlichen Lösung des Quanten-Zahlenschlosses mussten wir für jede Stelle des Geheimcodes einen weiteren Rateversuch tätigen. Das ist nicht schlecht. Aber das geht besser! Wie? Mit Quantencomputern!
Eine weitere Black-Box untersuchen
Eine gängige Methode, mit Quantenalgorithmen zu arbeiten, besteht darin, einen gleichmäßigen Superpositionszustand herzustellen und diesen für Berechnungen zu verwenden. Dies wird auch im Bernstein-Vazirani-Algorithmus verwendet, den wir uns jetzt ansehen wollen.
Messungen
Hinweise
- Um Qubits in eine gleichmäßige Superposition zu versetzen, müssen wir ein H Gatter auf jedes Qubit anwenden.
- Das letzte Qubit ist das Ausgabe-Qubit.
-
A
1001
-
B
0101
-
C
0110
-
D
1101
Ganz genau! Der Geheimcode lautet tatsächlich 0110.
Wir können jetzt auch die Blackbox öffnen,
um einen Blick
hineinzuwerfen.
Nicht ganz! Der Geheimcode lautet tatsächlich 0110.
Wir können jetzt auch die Blackbox öffnen,
um einen Blick
hineinzuwerfen.
-
A
1
-
B
2
-
C
3
-
D
4
Genau! Es ist tatsächlich nur ein Versuch nötig.
Nicht ganz! Es ist tatsächlich nur ein Versuch nötig.