Deutschs Algorithmus
Deutschs Algorithmus löst das Paritätsproblem für den Spezialfall . Im Kontext des Quantencomputings wird dieses Problem manchmal als Deutschs Problem bezeichnet, und wir folgen dieser Bezeichnung in dieser Lektion.
Genauer gesagt wird die Eingabe durch eine Funktion von einem Bit auf ein Bit dargestellt. Es gibt vier solcher Funktionen:
Die erste und letzte dieser Funktionen sind konstant und die mittleren beiden sind balanciert, was bedeutet, dass die beiden möglichen Ausgabewerte der Funktion gleich oft auftreten, wenn wir alle Eingaben durchlaufen. Deutschs Problem besteht darin, zu bestimmen, zu welcher der beiden Kategorien die Eingabefunktion gehört: konstant oder balanciert.
Wenn wir die Eingabefunktion in Deutschs Problem als Direktzugriff auf eine Zeichenkette betrachten, denken wir über eine Zwei-Bit-Zeichenkette nach: .
So betrachtet ist Deutschs Problem die Berechnung der Parität (oder gleichwertig: des exklusiven ODER) der zwei Bits.
Jeder klassische Abfragealgorithmus, der dieses Problem korrekt löst, muss beide Bits abfragen: und . Wenn wir zum Beispiel wissen, dass gilt, könnte die Antwort immer noch oder sein, je nachdem ob oder gilt. Alle anderen Fälle sind ähnlich; wenn man nur eines der beiden Bits kennt, erhält man keinerlei Information über ihre Parität. Der im vorherigen Abschnitt beschriebene Boolesche Circuit ist also das Beste, was wir in Bezug auf die Anzahl der benötigten Abfragen zur Lösung dieses Problems tun können.
Quantencircuit-Beschreibung
Deutschs Algorithmus löst Deutschs Problem mit einer einzigen Abfrage und bietet damit einen messbaren Vorteil von Quanten- gegenüber klassischen Berechnungen. Das mag ein bescheidener Vorteil sein – eine Abfrage statt zwei –, aber irgendwo muss man anfangen. Wissenschaftliche Fortschritte haben manchmal scheinbar bescheidene Ursprünge.
Hier ist ein Quantencircuit, der Deutschs Algorithmus beschreibt:
Analyse
Um Deutschs Algorithmus zu analysieren, verfolgen wir die Wirkung des obigen Circuits und identifizieren die Zustände der Qubits zu den in dieser Abbildung vorgeschlagenen Zeitpunkten:
Der Anfangszustand ist , und die beiden Hadamard-Operationen auf der linken Seite des Circuits transformieren diesen Zustand zu
(Wie immer folgen wir Qiskits Qubit-Ordnungskonvention, bei der das obere Qubit rechts und das untere Qubit links steht.) Es mag sich unintuitiv anfühlen, diesen Produktzustand teilweise verteilt zu schreiben (wobei die Zustände von Qubit 1 ausgefaktorisiert bleiben), aber das wird unsere späteren Ausdrücke kompakter machen.
Als Nächstes wird das -Gate ausgeführt. Gemäß der Definition des -Gates wird der Wert der Funktion für den klassischen Zustand des oberen/rechtesten Qubits mit dem unteren/linkesten Qubit XOR-verknüpft, was in den Zustand transformiert:
Wir können diesen Ausdruck vereinfachen, indem wir beobachten, dass die Formel
für beide möglichen Werte gilt. Expliziter sind die zwei Fälle wie folgt.
Damit können wir alternativ so ausdrücken: