Mindset auf Agil
LEWA Programmmanager Moritz Pastow und unser Agile Coach René Paschold im VDMA-Interview über agile Transformation im Maschinenbau
„Quantencomputer und Quantensimulatoren made in THE LÄND Baden-Württemberg.“ Das ist Slogan und Ziel des Projekts THE QUANTUM LÄND. In den Laboren des 5. physikalischen Instituts und des Instituts für Theoretische Physik III der Universität Stuttgart wird hierzu geforscht, programmiert und entwickelt, was das Zeug hält. Wir steuern einen Drag-and-Drop-Designer für Quantenschaltkreise bei – entwickelt als intuitiv bedienbare Webanwendung.
Im Gegensatz zu klassischen Computern, die auf Bits basieren, verwenden Quantencomputer sogenannte Qubits, deren quantenmechanische Eigenschaften wie Superposition und Verschränkung in speziellen Algorithmen ausgenutzt werden. Superposition bedeutet, dass ein Qubit – anders als ein Bit – nicht nur den Wert 0 oder 1 haben, sondern sich auch in einer Überlagerung dieser beiden Zustände befinden kann. Verschränkung bezieht sich darauf, dass mehrere Qubits so transformiert werden können, dass ihre Zustände miteinander verknüpft sind. Diese (quantenmechanischen) Eigenschaften ermöglichen es, Algorithmen zu entwickeln, die klassischen bei Weitem überlegen sind. Ein wichtiges Beispiel hierfür ist der nach seinem Entdecker benannte Shor-Algorithmus zur Zerlegung einer Zahl in ihre Primfaktoren.
Um die Quanteninformationen zu verarbeiten, werden sogenannte Quantenschaltkreise benötigt. Wie normale Schaltkreise bestehen diese aus einer Abfolge von Gattern – Elementen, die eine Eingabe zulassen und eine Ausgabe erzeugen. Anders als klassische Gatter arbeiten Quantengatter jedoch nicht nur mit binären Ein- und Ausgaben, sondern führen eine spezifische Transformation auf den Zuständen der Qubits aus. Beispielsweise kann ein Quantengatter ein Qubit in eine Superposition von 0 und 1 versetzen oder zwei Qubits in eine Verschränkung bringen. Die Abfolge der Quantengatter in einem Quantenschaltkreis wird oft auch als Quantenalgorithmus bezeichnet, da sie eine bestimmte Berechnung durchführt.
QRydDemo ist eines der Projekte des QUANTUM LÄNDs. Ziel des Projekts ist es, einen Quantenprozessor zu bauen, der mit Qubits arbeitet, die von einzelnen Atomen repräsentiert werden. Die Idee dahinter: ähnlich wie ein Bit durch „Strom an“ oder „Strom aus“ codiert wird, sollen auch Qubits codierbar werden. Das Mittel zum Zweck sind Strontium-Atome, die über gezielte Lasermanipulation in den sogenannten Rydberg-Zustand gebracht werden können. Dies ermöglicht es, Wechselwirkungen zwischen den Atomen schnell ein- und auszuschalten, wodurch Quantengatter mit geringen Fehlerraten implementiert werden können.
Um sich das besser vorstellen zu können, eignet sich ein kleiner Exkurs in die Mathematik: Während man die (Bit-)Basis-Zustände mit den Zahlen 0 oder 1 kennzeichnen kann, benötigt man für Qubits zwei (orthogonale) Basis-Vektoren \( \vec{e_0}= \ket{0} \) und \( \vec{e_1}= \ket{1} \), mit Hilfe derer sich durch Linearkombination und Normierung unendlich viele weitere Zustände konstruieren lassen. Vereinfacht ausgedrückt – und lediglich bezogen auf reelle Zahlen – ist es also möglich, den Zustand eines Qubits durch einen normierten, zweidimensionalen Vektor, also einen Punkt auf dem Einheitskreis, zu beschreiben.
Zurück zu unseren Qubits: Wie erwähnt können diese mittels Lasermanipulation in einen neuen Zustand versetzt werden. Im Vergleich zu Bits ist dieser jedoch nicht binär – also nicht 0 oder 1. Zumindest, solange er nicht gemessen wird (Stichwort: Heisenbergsche Unschärferelation). Nach der Messung erhält man zwar den Zustand 0 oder 1, je nach vorangegangener Manipulation allerdings mit unterschiedlichen Wahrscheinlichkeiten. Aus diesem Grund sind Quantenalgorithmen nicht deterministisch, sondern probabilistisch, liefern also ein Resultat mit einer gewissen Wahrscheinlichkeit.
Wenn man n nummerierte Qubits hat, die nach Durchlaufen des Algorithmus bzw. des Schaltkreises gemessen werden, erhält man einen Gesamtzustand, der in der Form \(c_1c_2\cdots c_n\) mit \(c_i\in\left\{0,1\right\}\) geschrieben werden kann. Um die relative Häufigkeit und damit die Wahrscheinlichkeit für einen Zustand zu ermitteln, muss der Algorithmus mehrmals ausgeführt und die gewonnenen Ergebnisse akkumuliert werden. Je eindeutiger das Ergebnis ist – also je eher die Wahrscheinlichkeit eines Zustands bei 1 ist –, umso aussagekräftiger ist dieses. Sind gewisse Zustände annähernd gleichverteilt, treten also mit recht ähnlicher Häufigkeit auf, sagt das Ergebnis weniger oder – im Falle der Gleichverteilung auf allen Zuständen– gar nichts aus. Diese Eigenschaft kann man allerdings ausnutzen, um Zufallszahlen zu generieren.
Der an der Universität Stuttgart entwickelte Quantenschaltkreis-Simulator des QRydDemo-Projekts simuliert einzelne Gatter und kann diese hintereinander ausführen, um komplexe Logiken aufzubauen. Die Operationen, die auch auf mehrere Qubits gleichzeitig wirken können, werden sequenziell ausgeführt. Dies ermöglicht es nicht nur, den Algorithmus grafisch darzustellen, sondern ihn auch visuell zu entwickeln. Um ein aussagekräftiges Häufigkeitsergebnis zu gewinnen, muss der Algorithmus, wie weiter oben erläutert, mehrmals ausgeführt werden, wobei die Anzahl individuell bestimmt werden kann. Dafür wird der Algorithmus an die Server der Universität Stuttgart geschickt. Um den Algorithmus ausführen zu können, muss dieser jedoch in einer speziellen Assembler-Sprache für Quantencomputer vorliegen. Hierfür wird auf die Sprache OpenQASM zurückgegriffen, die extra für das textbasierte Codieren von Quantenschaltkreisen entwickelt wurde. Der visuell erstellte Schaltkreis muss also übersetzt werden.
Hier kommt nun unser Editor ins Spiel, der es erlaubt, einen visuell gestalteten Quantenschaltkreis in OpenQASM zu übersetzen sowie umgekehrt OpenQASM Code visuell darzustellen. Die Webanwendung basiert auf Angular und ermöglicht grafische Darstellungen von Quantenschaltkreisen über ein gerendertes SVG. Mithilfe des touch-fähigen Drag-and-Drop-Features können verschiedenste Gatter einfach und intuitiv auf ein oder mehrere Qubits „gezogen“ und angeordnet werden. Der automatisch übersetzte OpenQASM-Code wird an die Server der Universität Stuttgart geschickt und dort ausgeführt. Die Ergebnisse der Simulation werden zurückgespielt und über ein Histogramm grafisch dargestellt.
Schritt 1: Zunächst wird die Anzahl der Qubits über + und - eingestellt (1 bis 10 Qubits sind möglich).
Schritt 2: Nun können die verschiedenen Gatter (Gates) aus der Gates Box in die Schaltkreis-Box (Quantum circuit) gezogen und auf die als horizontale Linien dargestellten Qubits gesetzt werden. Die wichtigsten Gatter:
Schritt 3: Sobald die Quantenschaltung editiert wurde, wird sie automatisch in OpenQASM Code übersetzt, der in der QASM code Box angezeigt wird.
Schritt 4: Der aktualisierte OpenQASM-Code wird automatisch an die QRydDemo-API der Universität Stuttgart gesendet und im Simulator ausgeführt. Um die statistischen Schwankungen der Messergebnisse zu beobachten, kann der Algorithmus über die Schaltfläche Manual submit immer wieder neu gestartet werden.
Schritt 5: Der Simulator der Universität Stuttgart führt den Quantenschaltkreis-Simulator wiederholt aus und akkumuliert die Messergebnisse. Sobald der QRydDemo-Quantencomputer funktioniert, kann anstelle des Simulators ein echter Quantencomputer als Ziel ausgewählt werden.
Schritt 6: Die gesammelten Messergebnisse werden an den Quantenschaltungssimulator im Browser zurückgesendet.
Schritt 7: Die Ergebnisse werden im Histogram Feld des Quantenschaltkreis-Simulators angezeigt. Die y-Achse zeigt die Anzahl der Auswertungen des Algorithmus, die nach der Messung zu einer bestimmten Qubit-Konfiguration geführt haben (alle Balken addieren sich also zu 200). Auf der x-Achse werden die möglichen Messergebnisse angezeigt.
Der Quantenschaltkreis-Simulator ist übrigens für jeden frei zugänglich.
Probiert euch doch einfach mal aus.
Auf dieser Homepage findet ihr auch umfangreiche Tutorials zur Quantenmechanik und Quantencomputing.
LEWA Programmmanager Moritz Pastow und unser Agile Coach René Paschold im VDMA-Interview über agile Transformation im Maschinenbau
Die generic.de AG ist seit Februar 2022 Partner des IT-Accelerators CyberLab und unterstützt als Softwaredienstleister Startups bei ihrem Markteintritt.