Aktuelle Trends im Quantencomputing - Teil 1: Typen von Quantenrechnern und ihre Vorteile

 

Wie kann man sich Quantencomputing praktisch vorstellen?

Stellen Sie sich als erstes vor, Sie befinden sich in einem Gebirge und suchen ein möglichst tiefes Tal in Ihrer Umgebung. In der normalen Welt müssten Sie jetzt zeitintensiv und fehlerträchtig das ganze Gebirge absuchen, um ein solches Tal zu finden. In einer Quantenwelt wären Sie in der Lage, auf der Suche nach diesem Tal zielsicher durch die Berge „hindurch zu tunneln“ und würden so auf Anhieb in ein möglichst tiefes Tal gelangen.

Stellen Sie sich als zweites vor, Sie suchen eine bestimmte Telefonnummer in einer langen Liste. Wie fabelhaft wäre es da, wenn Sie sich in einem unbeobachteten Moment in mehrere „Paralleluniversen“ kopieren, dort jeweils eine Nummer oder einen Nummernblock parallel überprüfen und die Ergebnisse in die reale Welt zurückmelden könnten? Welch eine Zeitersparnis!

Beide Beispiele klingen vielleicht zunächst einmal völlig abwegig und utopisch, aber genau diese Vorgänge laufen bereits heute Tag für Tag in Quantencomputern ab. Unternehmen lösen auf diese Weise knifflige Optimierungsprobleme in Rekordzeit, andere bereiten einer Revolution in der Datenanalyse und der Verschlüsselungstechnologie den Weg.

Die zwei Typen von Quantencomputern

Unter Quantencomputing versteht man also – zur massiven Beschleunigung von Rechenprozessen – die Ausnutzung von quantenmechanischen Effekten, wie dem quantenmechanischen Tunneln und der Überlagerung von quantenmechanischen Zuständen physikalischer Systeme („Qubits“). Der Begriff umfasst sowohl die technische Entwicklung von Quantencomputern (QC), Quantenprozessoren (QPU), als auch die zugehörigen Algorithmen, Software und Einsatzszenarien.

Dabei kristallisieren sich zwei Typen von Quantencomputern heraus, die beide quantenmechanischen Prinzipien zur Berechnung von Problemen nutzen, allerdings mit unterschiedlichen Rechnerarchitekturen und unterschiedlicher Zweckbestimmung. Ein wenig erinnert das an den alten Gegensatz von Analog- und Digitalrechnern aus der Frühzeit der Computertechnik.

Quantum Annealer – der „analoge“ Optimierer

Zum einen gibt es die Quantum Annealer, die keine universell programmierbaren Computer sind, sondern speziell für die Lösung von Optimierungsproblemen konstruiert wurden. Alle Fragestellungen, egal ob Kosten, Wegstrecken oder andere Variablen, werden in Form einer „Energielandschaft“ auf einem Gitter aus Qubits modelliert. Jedem Qubit wird dazu ein Gewicht zugeordnet, ebenso den Verbindungen zwischen benachbarten Qubits. Während sich die Qubits zu Beginn in einem Überlagerungszustand aus 0 und 1 befinden, werden die Gewichtswerte langsam hochgeregelt, und da das Gitter aus Qubits als Ganzes immer bestrebt ist, ein Energieminimum einzunehmen, werden die Qubits im Verlauf dieses Prozesses „gezwungen“, entweder den Zustand 0 oder 1 anzunehmen („Annealing“). Dieser Endzustand entspricht einem Energieminimum und der Lösung des Optimierungsproblems.

Einziger Anbieter dieses Typs von Quantencomputern ist die kanadische Firma D-Wave, die marktreife Quantum Annealer mit bis zu 2.048 Qubits entwickelt hat und diese auch auf ihrer Cloud Plattform „Leap“ für einen bequemen Zugriff per Python-Programmierung zur Verfügung stellt.

Der programmierbare Quantencomputer – der „digitale“ Analyst und Codeknacker

Zum anderen werden universell programmierbare Quantencomputer entwickelt, wie sie meist im Zusammenhang mit dem Knacken von Verschlüsselungen und der Suche in großen Datenmengen genannt werden.

In einem programmierbaren QC werden die Qubits – wie die Bits in einem klassischen Computer – zu Registern zusammengefasst, den Quantenregistern, die selbst wieder quantenmechanischen Gesetzen gehorchen und Überlagerungen verschiedener Registerzustände darstellen („Verschränkung“). Wendet man nun einen elementaren Rechenschritt auf solch einen verschränkten Quantenregisterzustand an, führt man diesen Schritt für alle Zustände, d.h. alle Zahlen, die dargestellt werden könnten, quasi gleichzeitig aus („Quantenparallelisierung“). Diese revolutionäre Form der Parallelisierung ermöglicht es, Probleme, die in einem klassischen Computer einen irreal hohen Rechenaufwand erfordern, in einem vertretbaren Zeitraum zu lösen.

Schauen wir uns ein einfaches Beispiel an: Ein klassisches Register aus 2 Bits kann nur eine von 4 Zahlen darstellen: 00; 01; 10; 11 (aus Gründen der Anschaulichkeit wurden in Abb. 1 nur drei Zahlen dargestellt). Die Anwendung einer Rechenoperation manipuliert nur diese eine Zahl. Man benötigte also 4 „parallele“ Rechner, um diese 4 Zahlen gleichzeitig zu berechnen. Ein Quantenregister aus 2 Qubits dagegen stellt diese 4 Zahlen in Form einer „Verschränkung“ in einem Zustand  gleichzeitig dar. Die Anwendung einer quantenmechanischen Rechenoperation („Quantengatter“) entspricht einer Manipulation des verschränkten Zustandes , d.h. aller 4 überlagerter Eingabedaten gleichzeitig.

Abbildung 1: Quantenparallelität

Der programmierbare Quantencomputer hat seine Marktreife noch nicht ganz erreicht. Der größte derzeitige Quantenprozessor „Bristlecone“ von Google besteht aus lediglich 72 Qubits. IBM bietet in seiner Quanten-Cloud „IBM Q Experience“ für interessierte Partner Zugriff auf Quantencomputer mit bis zu 20 Qubits an. Die Anbieter von Quantencomputer-Plattformen, wie IBM oder die Firma Rigetti, haben Software Development Kits integriert, mit denen man bequem per Drag & Drop von grafischen Elementen („Low Coding“) oder per Python-Schnittstelle Programme für den QC entwickeln kann.

 

Glossar