Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Quantenalgorithmen und ihre Grenzen

Nach dieser Lektion: Ich kann sagen, was Quantenalgorithmen beschleunigen und was nicht.

Lektion, 75 Min.3 BefehleQuantensimulator-Lab: Qubits, Gatter und Messung in JupyterLab

Was beschleunigen Quantenalgorithmen?

Ein Quantenalgorithmus nutzt Interferenz, um die richtige Antwort wahrscheinlich zu machen, und er beschleunigt nur bestimmte Probleme. Wenn Sie wissen, was er beschleunigt und was nicht, ordnen Sie Meldungen über Quantencomputer nüchtern ein.

In dieser Lektion rechnen Sie einen Suchschritt selbst und sehen dann, warum ein Simulator keinen Vorteil zeigen kann.

Am Ende dieser Lektion

Notiz

Ich kann sagen, was Quantenalgorithmen beschleunigen und was nicht.

Schlüsselwörter

BegriffWas er bedeutet
Amplitudenverstärkungein Verfahren, das die Amplitude der gesuchten Antwort wachsen lässt
Markierendas Vorzeichen der gesuchten Antwort umkehren
Spiegelnjede Amplitude am Mittelwert spiegeln
Rauschenkleine Störungen, die ein echtes Qubit verfälschen
FehlerkorrekturVerfahren, die mit vielen Qubits ein fehlerfreies Qubit nachbilden

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Suche mit vier Elementen

Vier Elemente tragen die Nummern 00, 01, 10 und 11. Das Element 11 ist gesucht. Zu Beginn haben alle dieselbe Amplitude 0,5, also die Chance 0,25.

Dann markieren Sie das gesuchte Element, indem Sie sein Vorzeichen umkehren. Danach spiegeln Sie jede Amplitude am Mittelwert: neue Amplitude gleich zweimal Mittelwert minus alte Amplitude.

Beispiel: ein Verstärkungsschritt bei vier Elementen

Schritt00011011Chance für 11
Start0,50,50,50,50,25
Markiert0,50,50,5-0,50,25
Mittelwert0,250,250,250,25
Gespiegelt00011

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Der Verstärkungsschritt im Lab

Befehl
docker exec jupyter python3 steps/amplify.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Suche braucht etwa die Wurzel der Schritte

Eine ungeordnete Liste mit N Elementen durchsucht ein gewöhnlicher Rechner im Mittel mit etwa N durch 2 Blicken. Die Amplitudenverstärkung kommt mit etwa der Wurzel aus N Schritten aus.

Das ist ein großer Gewinn, aber kein Wunder: Er gilt für die Suche, nicht für jedes Problem.

Beispiel: Blicke gegen Schritte

Elemente NGewöhnlich im MittelVerstärkungsschritte, Größenordnung
4etwa 21
100etwa 50etwa 10
10 000etwa 5 000etwa 100
1 000 000etwa 500 000etwa 1 000

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, ein Quantencomputer probiere alle Antworten gleichzeitig aus und sei für alles schneller. Das stimmt nicht. Eine Messung liefert nur eine Antwort. Ein Gewinn entsteht nur bei Problemen, für die jemand die Interferenz geschickt entworfen hat.

Die Wurzel aus zwei großen Zahlen

Befehl
docker exec jupyter python3 -c "print(10000 ** 0.5, 1000000 ** 0.5)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Faktorisieren: ein bekanntes Beispiel in Worten

Eine große Zahl in ihre Primfaktoren zu zerlegen, ist für gewöhnliche Rechner sehr aufwendig. Ein Quantenalgorithmus, der Shor-Algorithmus, kann das nach heutigem Wissen viel schneller.

Deshalb arbeiten Forschende an Verschlüsselung, die dagegen sicher ist. Die Rechnung ist aber nur im Prinzip bekannt. Eine Maschine, die große Zahlen so zerlegt, gibt es heute nicht.

Echte Qubits sind empfindlich

Ein echtes Qubit wird durch kleine Störungen verfälscht. Das nennt man Rauschen. Je mehr Gatter ein Programm hat, desto mehr Fehler sammeln sich an.

Mit Fehlerkorrektur lässt sich ein gutes Qubit aus vielen schlechten bauen, aber das kostet viele zusätzliche Qubits. Darum sind lange Rechnungen heute selten.

Warum der Simulator keine Beschleunigung zeigt

Der Simulator rechnet jede Amplitude einzeln aus. Für n Qubits sind das 2 hoch n Zahlen zu je 16 Byte. Jedes Qubit mehr verdoppelt Speicher und Zeit.

Er kann die Regeln darum genau zeigen, aber nie, dass ein Quantencomputer schneller ist. Dafür bräuchte man echte Hardware.

Speicher für 30 Qubits in Byte

Befehl
docker exec jupyter python3 -c "print(2 ** 30 * 16)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Beispiel: Speicher des Simulators

QubitsAmplitudenSpeicher bei 16 Byte je Amplitude
101 024etwa 16 Kilobyte
201 048 576etwa 16 Megabyte
301 073 741 824etwa 17 Gigabyte
40etwa 1,1 Billionenetwa 17,6 Terabyte
50etwa 1,1 Billiardenetwa 18 Petabyte

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Über dieses Lab und seinen Quellcode: Quantensimulator-Lab: Qubits, Gatter und Messung in JupyterLab

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.