Suche

Der Bernstein-Vazirani-Algorithmus - aus der Informatikperspektive

Coverbild Illustration

Übersicht

Sekundarstufe

Mathematik, Informatik

Quantencomputing

Deutsch

Auf einen Blick

Schlüsselwörter: Bernstein‑Vazirani-Algorithmus, versteckter Binärstring, Hadamard-Gatter, ⊕-Gatter, eine einzelne Abfrage
Altersgruppe: 16–18 Jahre
Erforderliche Vorkenntnisse/Fähigkeiten: Schüler*innen sollten Lektion 2 zum "Deutsch-Algorithmus - aus der Informatikperspektive" bearbeitet haben
Zeitrahmen: 60 Minuten

Autor: Wolfgang Geist (CH)

Inhalt

Lernziele 
Zusätzliches Tool für die Bernstein‑Vazirani-Unterrichtseinheit 
Einleitung
Mathematische Beschreibung des Problems
Aufgabe 1
Aufgabe 2
Simulation mit dem IBM Quantum Composer - erster Ansatz
Aufgabe 3
Simulation mit dem IBM Quantum Composer - zweiter Ansatz
Aufgabe 4

Zusammenfassung

Diese Unterrichtseinheit behandelt den Deutsch-Algorithmus, der als erster Quantenalgorithmus einen Geschwindigkeitsvorteil gegenüber einem klassischen Ansatz erzielt, und liefert den theoretischen Rahmen dafür, wie alle quantenmechanischen Suchalgorithmen funktionieren.

Illustration zu Quantum Algorithms

Lernziele

Ziel dieses Teils der Unterrichtseinheit ist es, dass Schüler*innen ihr Verständnis des Bernstein‑Vazirani-Algorithmus durch die Analyse seiner quantenmechanischen Implementierung vertiefen.

Anhand eines niedrigdimensionalen Beispiels konzentrieren sich die Schüler*innen darauf, wie die Abfolge von Quantengattern zur Messung des versteckten Bitstrings führt und wie sich dieses Ergebnis auf größere Eingabewerte übertragen lässt.

Sie können das Arbeitsblatt als PDF- und docx-Datei herunterladen.

Zusätzliches Tool für die Bernstein‑Vazirani-Unterrichtseinheit

Das Tabellenkalkulations-Tool kann verwendet werden, um jedes 3‑Qubit-Bernstein‑Vazirani-Problem zu modellieren und die grundlegende Struktur der Funktion sowie der zugrunde liegenden Schaltung zu veranschaulichen. Durch den Einsatz von Hadamard-Gattern zeigt es, wie der versteckte Bitstring bestimmt werden kann, und die ai -Koeffizienten können ausgeblendet werden, sodass Schüler*innen versuchen können, den String selbst zu erschließen.

Das Tool ist für eine lehrkraftgeleitete Einführung vor den Übungen der Unterrichtseinheit konzipiert. Obwohl es für jedes Bernstein‑Vazirani-Problem konfiguriert werden kann, wurden vier Versionen vorab so eingestellt, dass sie den Aufgaben des Arbeitsblatts entsprechen.

Sie finden das zusätzliche Excel-Tool hier zum Download. 

In dieser Unterrichtseinheit werden mehrere Tabellenkalkulations-Tools (BV Sheet 3 Qubits Task 1.xlsm usw.) verwendet, die eingebettete Makros enthalten. Ihre Sicherheitseinstellungen könnten diese Makros beim Herunterladen der Datei blockieren. Um sie wieder zu aktivieren, klicken Sie mit der rechten Maustaste auf die Datei, wählen „Proberties/Eigenschaften“ und anschließend „Unblock/Zulassen“, wie unten dargestellt.

Einleitung

Stell dir vor, du bist in einer Spielhalle und entdeckst einen geheimnisvollen Spielautomaten. So funktioniert er: Du hast drei Münzen – einige 10-Cent-Münzen und einige 20-Cent-Münzen. Der Automat erlaubt dir, diese Münzen in verschiedenen Kombinationen einzuwerfen. Als Ergebnis bekommst du entweder nichts oder genau 1 Euro. Dein Ziel ist es, die exakte versteckte Kombination aus 10-Cent- und 20-Cent-Münzen herauszufinden, die den Dollar-Jackpot auslöst.

Dieses Spiel ist eine anschauliche Analogie für den Bernstein-Vazirani-Algorithmus, der ein ähnliches Problem löst – allerdings mit einem Quanten-Algorithmus! So wie der Spielautomat eine versteckte Regel besitzt, die von deiner Münzkombination abhängt, geht es bei diesem Algorithmus darum, ein geheimes Muster (eine versteckte Folge aus 0 und 1) zu entdecken, das das Verhalten einer Funktion bestimmt. Die Herausforderung besteht darin, dies möglichst effizient zu tun.

Spielregeln:

  1. Die Schüler*innen erhalten drei Münzen, dargestellt als Bits (0 für die 10-Cent-Münze und 1 für die 25-Cent-Münze)
  2. Der Spielautomat (Lehrkraft) kennt die geheime Kombination (versteckte Bitfolge) und überprüft die eingegebene Kombination. Er gibt zurück: 0 → kein Gewinn oder 1 → Gewinn (1 Euro).
  3. Ziel: Die Schüler*innen sollen die versteckte Regel (Bitfolge) herausfinden.

Mathematische Beschreibung des Problems

Stell dir vor, du hast eine Blackbox, die durch eine Funktion fa definiert wird. Die Eingabe in die Box (bzw. in die Funktion) ist eine Binärzahl mit n Bits. Die Ausgabe ist entweder 0 oder 1. Die Funktion fa wird über eine festgelegte geheime Binärzahl a= ( a1 , a2 , ... , an ) definiert, wobei jedes ai 0 oder 1 ist.

Um die Ausgabe fa (x) zu berechnen, machen wir die folgenden Schritte:

  1. Die Eingabe besteht aus n Bits x= ( x1 , x2 , ... , xn ) , wobei xi jeweils 0 oder 1 ist.
  2. Multipliziere jedes Eingabebit mit dem entsprechenden Bit aus a a1x1 + a2x2 + ... + anxn
  3. Überprüfe das Ergebnis der Summe:
  • Falls die Summe gerade ist, gibt die Funktion 0 zurück.
  • Falls die Summe ungerade ist, gibt die Funktion 1 zurück.

Aufgabe 1

Berechne die Ausgaben fa (x) für a = ( 1,0,1 ) (also n=3 ) anhand der Tabelle:

Input x

 

a·x = a1·x1 + a2·x2 + a3·x3
ungeradegeradeOutput   fa (x)

 

000

 

1·0 + 0·0 + 1·0 =0
 x0

 

001

 

1·0 + 0·0 + 1·1 =1
x 1

 

010
    

 

011
    

 

100
    

 

101
    

 

110
    

 

111
    

 

Analysiere die Ergebnisse: Wie viele und welche Kombinationen aus 10-Cent- und 20-Cent-Münzen führen zu einem Gewinn von 1 Euro? Merke dir, wie die Ausgaben vom versteckten Muster  abhängen. Dieses Muster ist der Schlüssel zum Verständnis des Funktionsverhaltens.

 

x1

 

x2

 

x3

 

fa ( x1 , x2 , x3 )
0000
0011
0100
0111
1001
1010
1101
1110

Die Datei BV Sheet 3 Qubits Task 1.xlsm zeigt das erste Problem. Die blauen Zellen in Spalte E enthalten die xi -Eingaben der Funktion, die grünen Zellen in Spalte J zeigen die ai -Koeffizienten, die dem versteckten Bitstring entsprechen, und die rote Zelle in Spalte AC zeigt den Funktionswert. 

Das Tool kann verwendet werden, um die Wirkung der in den ersten beiden Zeilen der Tabelle in Aufgabe 1 gewählten xi -Werte zu demonstrieren.

Aufgabe 2

Nun betrachten wir das eigentliche Problem: Bestimme die versteckte Bitfolge a = ( a1 , a2 , a3 ) einer Funktion fa ( x1 , x2 , x3 ) aus der folgenden Tabelle.

 

x1

 

x2

 

x3

 

fa ( x1 , x2 , x3 )
0000
0011
0100
0111
1001
1010
1101
1110

 

Überlege dir die effizienteste Strategie, um a = ( a1 , a2 , a3 ) zu bestimmen:

  • Wie viele Abfragen benötigst du?
  • Welche Eingabewerte ( x1 , x2 , x3 ) solltest du nutzen, um a = ( a1 , a2 , a3 ) am effizientesten zu bestimmen?
  • Wie lautet die geheime Binärzahl a ?

Simulation mit dem IBM Quantum Composer

1. Erster Ansatz: Klassische Lösung zum Finden der geheimen Zeichenkette

Öffne die Seite https://quantum.ibm.com/composer/files/new. Die folgende Schaltung implementiert eine bestimmte Bitfolge, die wir herausfinden möchten.

Beispiel: Eingabe x1 = ( 1,0,0 ) .

  • Die Eingabewerte x1 , x2 , x3 entsprechen den Werten der drei ersten Qubits q[0] , q[1] , q[2] .
  • Das Ergebnis der Funktion ist der output von Qubit q[3] .
  • Alle Qubits haben den Startwert 0. Um von 0 zu 1 zu wechseln, wende auf das entsprechende Qubit an.
  • Die Messung des letzten Qubits q[3] ergibt das Ergebnis f( x1 , x2 , x3 ) .

Der gemessene Wert (in diesem Fall 1) kann im Wahrscheinlichkeitsdiagramm der Simulation abgelesen werden:

Wir benötigen 3 Abfragen. 
Verwende die Kombinationen x1=(1,0,0), x2=(0,1,0), x3=(0,0,1), da 
ax1=a1
ax2=a2
ax3=a3
 

Ergebnis: a=(1,0,1)

Die Datei BV Sheet 3 Qubits Task 2.xlsm zeigt das zweite Problem (wobei die ai nun ausgeblendet sind). Dieses kann vor der Bearbeitung der zweiten Aufgabe zur Demonstration im Unterricht eingesetzt werden, um Schüler*innen zur Entwicklung einer Strategie für das Auffinden der versteckten Koeffizienten anzuregen. 

Schüler*innen können Vorschläge für Eingaben der xi machen, anschließend kann die Auswirkung auf den Funktionswert gezeigt werden, und danach können sie abschätzen, welche ai -Koeffizienten vorliegen. Es ist möglich, die ai -Koeffizienten zu verändern, falls Sie nicht dieselben Werte wie in der Aufgabe verwenden möchten.

Aufgabe 3

Baue die obige Schaltung nach und verwende den Quantum Composer, um die Tabelle zu vervollständigen:

 

x1 , x2 , x3
0,0,01,0,00,1,00,0,11,1,01,0,10,1,11,1,1

 

f ( x1 , x2 , x3 )
 1      

 

2. Der Bernstein-Vazirani-Algorithmus ist ein Quanten-Algorithmus, der den untenstehenden Schaltkreis verwendet.

Die Funktion wird, wie im klassischen Fall, mit zwei CNOT-Gates implementiert. Die versteckte Bitfolge erhält man nach der Messung der ersten drei Qubits. Wie beim Deutsch-Algorithmus erzeugen die anfänglichen Hadamard-Gates eine Superposition aller möglichen Eingabewerte.

Baue den Schaltkreis im Quantum Composer nach und bestätige: Die Simulation liefert dieselbe Bitfolge wie in Aufgabe 3. 

Beachte: Klassisch waren drei Abfragen notwendig, während der Quanten-Algorithmus nur eine Abfrage benötigt.

Um besser zu verstehen, wie der Quanten-Algorithmus das Problem löst, betrachten wir ein Beispiel mit nur zwei Bits f( x1 , x2 ) . Wir können die Zustandsentwicklung dann einfach mit einer Tabellenkalkulation nachvollziehen.

Hier finden Sie die Excel-Tabelle zum Download.

Die Datei BV Sheet 3 Qubits Task 3.xlsm zeigt die Schaltung, die Schüler*innen im Composer umsetzen sollen. Sie kann verwendet werden, um zu demonstrieren, welche Effekte bei der Veränderung der Zustände der Eingangs-Qubits im Composer auftreten sollten.

Die Datei BV Sheet 3 Qubits Task 3.2.xlsm zeigt die Schaltung zur Bestimmung des versteckten Bitstrings mit nur einer Abfrage, unter Verwendung von Hadamard-Gattern vor und nach der Funktion. Sie ist für das Problem in der Tabelle konfiguriert, kann jedoch für andere versteckte Bitstrings angepasst werden, indem die grünen  ai -Koeffizienten verändert und anschließend im Tabellenblatt „Matrices And Controls“ die Schaltfläche „Hide circuit diagrams“ zweimal betätigt wird, um das Schaltbild neu zu erzeugen. Die Zeilen 17–20 des Tabellenblatts „BV Game“ führen alle Tensorprodukte und Matrizenmultiplikationen durch, die der Anwendung von Hadamard- und CNOT-Gattern entsprechen. Diese können erweitert werden, wenn die Lehrkraft die Details der Wirkung der verschiedenen Gatter auf die Zustände der Qubits im Unterricht vertiefen möchte.

Aufgabe 4

Baue die folgende Schaltung Gate für Gate nach und ergänze parallel die Tabelle in einem Tabellenkalkulationsprogramm Schritt für Schritt.

Überprüfe nach jedem Schritt: Stimmt deine Berechnung in der Tabelle mit der Simulation im Composer überein?

Hinweise zur Hilfe:

  • Verwende die Ket-Notation, wobei in der Tabelle der Normierungsfaktor weggelassen wird.
  • Zunächst sind alle Qubits in Zustand |0 :    |q0 |q1 |q2 | q0 , q1 , q2 = | 0,0,0 .
  • Das -Gate wird auf |q2 ausgeführt und ändert den Gesamtzustand zu | 0,0,1 , was in der Tabelle folgendermaßen notiert wird:

 

Das Hadamard auf |q0 erzeugt eine Superposition 12 ( |0 + |1 ) . Der Gesamtzustand ist daher 12 ( |0 + |1 ) |0 |1 = 12 ( |0,0,1 + |1,0,1 ) . Ohne den Normalisierungsfaktor 12 ergibt sich in der Tabelle dann:

 

Beantworte anschließend folgende Fragen:

  1. Welche Bedeutung haben die beiden Hadamard-Gates am Anfang?
  2. Warum befindet sich am Anfang ein  -Gate auf dem Ausgabe-Qubit q[2] ? Was würde passieren, wenn dieses Gate fehlen würde?
  3. Welche Funktion haben die letzten beiden Hadamard-Gates?
  4. Welche Bitfolge  ( a1 , a2 ) ergibt sich aus der Messung?
  1. Alle Abbildungen sind Screenshots aus dem Composer | IBM Quantum Platform.

Close search