Suche

Quantenalgorithmen – Eine kurze Einführung

Kontext

Dieses Material ist Teil der Unterrichtseinheit Einfache Anwendungen: Qubits in Aktion – Codes knacken und Klima modellieren, die alltagsnahe Anwendungen des Quantencomputings beleuchtet.

Inhalt
Deutsch-Algorithmus
Deutsch‑Jozsa‑Algorithmus 
Der Shor-Algorithmus 
Der Grover-Algorithmus  

Computer lösen Probleme mithilfe von Algorithmen. Man kann sich einen Algorithmus als eine Reihe von Anweisungen vorstellen. Der wesentliche Unterschied zwischen klassischen Algorithmen, die auf herkömmlichen Computern laufen, und Quantenalgorithmen liegt in der Art und Weise, wie sie Informationen verarbeiten.

Klassische Computer verwenden Bits, die entweder 0 oder 1 sein können. Sie verarbeiten Daten sequenziell, d. h. sie lösen einen Schritt nach dem anderen. Selbst Supercomputer, die Algorithmen parallel auf mehreren Prozessoren ausführen, führen diese Algorithmen dennoch Schritt für Schritt aus. Klassische Algorithmen sind für viele Aufgaben sehr effizient, aber bei komplexen Problemen wie dem Knacken von Verschlüsselungen oder der Simulation großer Moleküle geraten sie an ihre Grenzen, da die Laufzeit der Programme einfach zu groß wird.

Quantencomputer verwenden Qubits, die sich in einer Superposition zweier Zustände befinden können. Dadurch können Quantenalgorithmen Berechnungsschritte gleichzeitig verarbeiten, wodurch sie bestimmte Arten von Problemen viel schneller lösen. Eine weitere wichtige Eigenschaft der Quantenphysik ist die Verschränkung. Sie erlaubt es, Qubits miteinander zu verknüpfen, was wiederum die Recheneffizienz erhöht.

Deutsch‑Algorithmus

Was er macht  
Man stelle sich eine Funktion  f vor, die ein einzelnes Bit (0 oder 1) als Eingabe erhält und ein einzelnes Bit als Ausgabe liefert. Es gibt vier mögliche Funktionen dieser Art: zwei konstante Funktionen (  f(0) = f(1) = 0 oder  f(0) = f(1) = 1 ) und zwei sogenannte ausgeglichene Funktionen ( f(0) f(1) ) . Der Deutsch‑Algorithmus bestimmt, ob die Funktion  f konstant oder ausgeglichen ist.

Quanten vs. klassisch 
Um klassisch festzustellen, ob eine Funktion konstant oder ausgeglichen ist, müsste man die Funktion für beide möglichen Eingaben auswerten, also  f(0) und f(1) . Dies erfordert zwei Funktionsauswertungen. Der Deutsch‑Algorithmus erzielt dasselbe Ergebnis jedoch mit nur einer einzigen quantenmechanischen Abfrage der Funktion.

Die Beschleunigung der Rechenzeit beim Deutsch-Algorithmus mag zwar gering erscheinen (von zwei Abfragen auf eine), sie verdeutlicht jedoch einen grundlegenden Unterschied zwischen klassischer und Quanteninformatik: Quantencomputer können manchmal mit weniger Abfragen Informationen über eine Funktion gewinnen als klassische Computer. Dieses Prinzip bildet den Kern vieler komplexerer Quantenalgorithmen, wie beispielsweise des Shor-Algorithmus.

Der Deutsch-Algorithmus ist ein sehr spezielles Beispiel. Er hat kaum praktische Anwendungsmöglichkeiten. Sein Hauptzweck ist didaktischer Natur, da er die Grundprinzipien des Quantencomputings auf prägnante Weise veranschaulicht. Er ebnet den Weg für komplexere Algorithmen wie den Deutsch-Jozsa-Algorithmus, der den Deutsch-Algorithmus auf Funktionen mit mehreren Inputs verallgemeinert und damit zu einer noch drastischeren Quantenbeschleunigung führt.

Deutsch‑Jozsa‑Algorithmus

Was er macht 
Man stelle sich eine Funktion  f vor, die  n Bits als Eingabe nimmt und ein einzelnes Bit als Ausgabe erzeugt. Der Deutsch‑Jozsa‑Algorithmus bestimmt, ob die Funktion konstant ist (das bedeutet, sie gibt für alle möglichen Eingaben dasselbe Bit aus) oder ausgeglichen (das bedeutet, sie gibt für genau die Hälfte der Eingaben den Wert 0 und für die andere Hälfte den Wert 1 aus).

Quanten vs. klassisch 
Um festzustellen, ob die Funktion konstant oder ausgeglichen ist, müsste man die Funktion für alle möglichen Eingaben auswerten. Da es  2 n mögliche Eingaben gibt, erfordert dies  2 n Funktionsauswertungen. Wenn die Funktion ausgeglichen ist, kann man Glück haben und dies nach weniger Versuchen feststellen, aber im ungünstigsten Fall muss man die Hälfte der Eingaben überprüfen. Der Deutsch‑Jozsa‑Algorithmus kann die Art der Funktion jedoch mit nur einer quantenmechanischen Abfrage der Funktion bestimmen, unabhängig von der Anzahl der Eingabebits n .

Der Deutsch-Jozsa-Algorithmus weist eine exponentielle Beschleunigung der Rechenzeit gegenüber klassischen Algorithmen auf. Auch wenn das Problem, das er löst, konstruiert erscheinen mag, zeigt er doch, dass Quantencomputer bestimmte Probleme mit exponentiell weniger Schritten lösen können als klassische Computer.

Ähnlich wie der Deutsch-Algorithmus löst auch der Deutsch-Jozsa-Algorithmus ein ganz bestimmtes Problem. Sein Hauptzweck besteht darin, die Leistungsfähigkeit von Quantencomputern zu veranschaulichen und als Sprungbrett zum Verständnis komplexerer Quantenalgorithmen zu dienen. Er verdeutlicht das Potenzial einer exponentiellen Beschleunigung, was eine wichtige Motivation für die Forschung im Bereich des Quantencomputings ist.

Der Shor-Algorithmus

Was er macht 
Der Shor-Algorithmus ist ein Quantenalgorithmus, der auf sehr effiziente Weise die Primfaktoren großer natürlicher Zahlen findet. Dieses Problem ist für seine rechnerische Schwierigkeit auf klassischen Computern bekannt. Daher wird das Prinzip der Primfaktorzerlegung häufig für Verschlüsselungsmethoden wie die RSA-Verschlüsselung verwendet (RSA steht für die Erfinder der Methode: die Mathematiker Rivest, Shamir und Adleman). Ein Quantencomputer, der den Shor-Algorithmus nutzt, um große Zahlen effizient zu faktorisieren, stellt eine erhebliche Bedrohung für aktuelle kryptografische Systeme dar.

Quanten vs. klassisch 
Der wesentliche Unterschied liegt in der Periodenfindung, d. h. in dem Schritt, in dem ein oder mehrere periodische Muster in den Faktoren der Faktorisierung gefunden werden müssen (siehe auch Das Unknackbare knacken: Der Shor-Algorithmus). Klassische Algorithmen zur Periodenfindung erfordern eine exponentielle Laufzeit, was bedeutet, dass die Zeit, die zum Faktorisieren einer gegebenen Zahl benötigt wird, exponentiell mit der Größe der Zahl zunimmt. Bei sehr großen Zahlen wird die Rechenzeit einfach so absurd groß, dass eine Berechnung auf einem klassischen Computer nicht mehr sinnvoll ist. Der Shor-Algorithmus kann die Periode jedoch in einer polynomialen Rechenzeit finden: Das ist eine drastische Beschleunigung.

Der Shor-Algorithmus hat enorme Auswirkungen auf die Kryptografie. Die RSA-Verschlüsselung und andere Public-Key-Kryptosysteme basieren auf der Schwierigkeit, große Zahlen zu faktorisieren. Ein ausreichend großer Quantencomputer könnte jedoch diese weit verbreiteten Verschlüsselungsmethoden knacken. Dies hat die Forschung im Bereich der quantenresistenten Kryptografie vorangetrieben, deren Ziel es ist, Verschlüs-selungsalgorithmen zu entwickeln, die selbst gegen Angriffe von Quantencomputern si-cher sind. Der Shor-Algorithmus ist nicht nur eine theoretische Kuriosität, sondern eine praktische Bedrohung mit erheblichen realen Konsequenzen.

Der Grover-Algorithmus

Der Grover-Algorithmus ist ein Quantenalgorithmus zum Durchsuchen einer unsortierten Datenbank. Er führt zu einer erheblichen Beschleunigung der Rechenzeit für diese Art von Aufgaben.

Quanten vs. klassisch 
In der klassischen Informatik erfordert die Suche nach einem Element in einer unsortierten Datenbank mit N Einträgen die Überprüfung von im Durchschnitt N/2 Einträgen. Im schlimmsten Fall müssen möglicherweise alle N Einträge (genauer gesagt N – 1) überprüft werden. Der Grover-Algorithmus benötigt jedoch nur etwa √N Schritte, um den gesuchten Eintrag zu finden. Dies ist eine Beschleunigung, die mit zunehmender Größe der Datenbank immer relevanter wird.

Der Grover-Algorithmus hat tiefgreifende Auswirkungen auf verschiedene Bereiche:

  • Kryptografie: Er kann zum Knacken bestimmter Verschlüsselungsarten verwendet werden, was die Notwendigkeit quantenresistenter kryptografischer Methoden unterstreicht.
  • Optimierung: Er kann das Lösen von Optimierungsproblemen beschleunigen, beispielsweise die Suche nach der kürzesten Route zwischen zwei Orten.
  • Data-Mining: Er kann verwendet werden, um Muster in großen Datensätzen effizienter zu finden.

Obwohl er aufgrund der Begrenztheit aktueller Quantencomputer in vielerlei Hinsicht noch theoretisch ist, zeigt der Grover-Algorithmus das Potenzial des Quantencomputings, das Lösen bestimmter Probleme zu revolutionieren.

Arbeitsblatt: Den Grover-Algorithmus verstehen

Ziel ist es, den Grundgedanken und die Funktionsweise des Grover-Algorithmus zu erfassen, insbesondere wie er die Suche in einer unsortierten Liste von Elementen beschleunigen kann. Für diese Aufgabe müsst ihr zu fünft sein.

Arbeitsblatt mit Lösungen: docx oder als PDF.
Arbeitsblatt für Schüler*innen: docx oder als PDF.

Close search