Quantencomputer – was geht, was geht nicht?
Große Geldsummen werden inzwischen bewegt, Versprechen liegen in der Luft – Quantencomputer sind gerade mit viel Echo in den Medien unterwegs, und Künstliche Intelligenz sowie Berechnungen auf riesigen Datenmengen sind Treiber dieser Entwicklung.
Ursprung der Quantencomputer
Der geniale Physiker Richard Feynman entwickelte als erster die Idee eines Quantencomputers. Mit ihm wollte er physikalische Systeme mit vielen Teilchen simulieren, was auf herkömmlichen Computern nicht möglich ist, weil der Simulationsaufwand exponentiell mit der Anzahl der Teilchen wächst. Beispielsweise ist bereits eine Kaffeetasse ein Quanten-Simulator, der ein physikalisches System exakt simuliert. Dieser Simulator simuliert nämlich genau diese Kaffeetasse. Jedoch ist dieser Simulator nicht universell, weil er nicht gut kontrollierbar ist. Feynman wollte einen Quanten-Simulator, der gut kontrollierbar ist und genau das tut, was der Mensch ihm vorgibt. Hierzu schlug er als ersten Schritt zu einer Lösung vor, ein Zwei-Teilchen-System aus beispielsweise zwei polarisierten Photonen zu betrachten, deren Zustände verschränkt sind. Diese könne man mit Pauli-Operatoren manipulieren. Hiervon wollte er mehrere Kopien zusammenbringen und lokal verschränken.
Damit beschreibt er bereits einen Ansatz für den Aufbau eines Quantencomputers mit Qubits (Quantum Binary Digits) und Quanten-Gates, in seinem Fall Pauli-Operatoren. Die Quanten-Gates entsprechen genau den unitären Matrizen. Ein Qubit wird durch einen Vektor im zweidimensionalen komplexen Raum beschrieben, der die Länge Eins hat. Dies entspricht den Punkten auf der Oberfläche einer Kugel. Für Physiker ist dies die Bloch-Kugel, der Mathematiker stellt sich eher die Riemannsche Zahlenkugel vor. Eine Messung des Zustands des Qubits verändert diesen Zustand. Das Ergebnis der Messung ist zufällig und entspricht einem herkömmlichen Bit. Es ist Null oder Eins, Nordpol oder Südpol der Bloch-Kugel, und die Wahrscheinlichkeitsverteilung hängt vom Abstand des Zustandsvektors vom Nord- beziehungsweise Südpol ab.
Heutige Quantencomputer
Die fortgeschrittensten Quantencomputer basieren auf Ionenfallen und supraleitenden Qubits. Ionenfallen versprechen eine geringe Fehlerrate und gute Skalierungsmöglichkeiten. Supraleitende Qubits werden durch Josephson Junctions realisiert. Diese bestehen aus zwei Supraleitern, die durch eine wenige Nanometer dünne nicht-supraleitende Barriere getrennt sind, durch die Elektronen und Cooper-Paare hindurchtunneln. Google, IBM, Intel und andere haben mit dieser Technologie bereits recht große Quantencomputer gebaut.
Die internationale Forschung nimmt immer mehr Fahrt auf. Seit 2016 steigt die Anzahl an Veröffentlichungen und Patenten zu Quantencomputern stark an. In Bezug auf die Forschungsergebnisse sind neben den USA und China auch Europa und speziell Deutschland wegweisend.
Leistungsfähigkeit
Die unglaubliche theoretische Leistungsfähigkeit eines Quantencomputers folgt einerseits daraus, dass eine einzige Rechnung mit n Qubits in gewisser Weise Rechnungen mit gleichzeitig allen möglichen Zuständen von n herkömmlichen Bits entspricht. Andererseits wächst der Zustandsraum eines quantenmechanischen Systems exponentiell mit der Anzahl der betrachteten Teilchen, so dass der Zustand von n miteinander verschränkten Qubits durch einen Vektor der Länge Eins im 2^n-dimensionalen komplexen Raum beschrieben wird. Dies liegt daran, dass eine Verschränkung dem Tensorprodukt der Zustandsvektoren entspricht. Manche Autoren interpretieren dies so, dass die Erweiterung eines Quantencomputers um nur ein Qubit die Speicherkapazität oder die Leistungsfähigkeit des Quantencomputers verdoppelt. Reale Quantencomputer weisen oftmals nur lokale Verschränkungen auf, womit sie dann wesentlich weniger leistungsfähig sind. Auch die Fehleranfälligkeit verringert die Leistungsfähigkeit. Um trotzdem Leistungsvergleiche anstellen zu können, hat IBM den Begriff Quantenvolumen eingeführt, das die Fehlerrate, die Anzahl an Qubits und die möglichen Verschränkungen in einer Zahl vereinigt:
https://www.honeywell.com/us/en/news/2020/03/quantum-volume-the-power-of-quantum-computers
Komplexitätstheoretisch wird vermutet, dass ein Quantencomputer komplexere Aufgaben bewältigen kann als ein klassischer Computer, siehe dazu auch:
https://en.wikipedia.org/wiki/Quantum_complexity_theory
Die Klasse BQP ist die Klasse der Probleme, die ein Quantencomputer effizient mit beschränktem Fehler lösen kann. Die vermuteten Beziehungen der Klasse BQP zu anderen Klassen zeigt das folgende Diagramm:
https://en.wikipedia.org/wiki/File:BQP_complexity_class_diagram.svg
Hier tauchen als Quantencomputer die “Quanten-Annealer” nicht auf. Solche “Quanten-Annealer” sind vergleichsweise einfach aufgebaut und nur für ganz bestimmte Aufgaben geeignet. Trotzdem haben sie ein vielversprechendes Anwendungsspektrum. Sie lösen ein diskretes Optimierungsproblem, genauer ein quadratisch binäres Optimierungsproblem (QUBO) durch Quantum Annealing. Dies funktioniert ähnlich wie das klassische “Simulated Annealing”. Man kann sich einen Wassertropfen auf einer heißen, sich abkühlenden Herdplatte vorstellen, der schließlich im tiefsten Punkt landet. Ein adiabatischer Quantencomputer kann durch Superposition alle potentiellen Lösungen gleichzeitig untersuchen. Eine weitere Beschleunigung kommt daher, dass ein Quantenteilchen mit dem Tunneleffekt große Hindernisse direkt durchqueren kann. Die folgenden Betrachtungen beziehen sich nicht auf Quanten-Annealer, da sie nicht im Sinne Feynmans universelle Quantencomputer sind.
Quantengates, Simulatoren, Programmierung
Quantengates verändern den Zustand der n Qubits. Sie verschieben den Punkt auf der komplexen Kugeloberfläche im 2^n-dimensionalen komplexen Raum. Die Multiplikation des Zustandsvektors mit der dem Quantengate entsprechenden Matrix verschiebt den Zustandsvektor. Weil die Matrix längenerhaltend ist, landet der Zustandsvektor wieder auf der Kugeloberfläche. Eine Rechnung auf einem Quantencomputer ist die Hintereinanderausführung solcher Matrixmultiplikationen, also solcher Anwendungen von Quantengates. Das Hadamard-Gatter überführt beispielsweise ein Qubit vom Anfangszustand in einen Überlagerungszustand von 0 und 1, indem es den Zustandsvektor vom Pol zum Äquator der Bloch-Kugel dreht.
Der Simulator der Website https://algassert.com/quirk lädt zum direkten Experimentieren mit solchen Quantengates ein. Der Simulator Qiskit ist auch für den Zugriff auf einen echten Quantencomputer in der Cloud geeignet. Die Website https://quantiki.org/wiki/list-qc-simulators listet zahlreiche weitere Libraries und Software-Pakete auf, die den Umgang mit Quantengates vereinfachen.
Eine Messung des Ergebnisses einer Quanten-Rechnung ergibt jedoch nicht den Zustand der n Qubits, sondern lediglich n Bit. Somit bleibt das eigentliche Ergebnis der Berechnung ein Geheimnis. Physiker sprechen dabei vom Kollaps der Wellenfunktion. Noch schlimmer: Das Ergebnis dieser Messung ist auch noch zufällig. Deshalb führt ein Quantencomputer die gleiche Rechnung mehrfach aus, damit unter mehreren Messungen das gewünschte Ergebnis wenigstens einmal auftaucht. Der Programmierer setzt die Quantengates dabei so ein, dass die Wahrscheinlichkeit, das gewünschte Ergebnis zu messen, möglichst groß ist. Oftmals kann er anschließend das Ergebnis mit einem herkömmlichen Computer verifizieren. Findet ein Quantencomputer beispielsweise mit dem Shor-Algorithmus die Faktorisierung einer großen Zahl, so kann ein herkömmlicher Computer durch Multiplikation der Faktoren das Ergebnis überprüfen.
Wesentliche Algorithmen
Sobald der Shor-Algorithmus auf einem Quantencomputer für genügend große Bit-Längen durchführbar wird, würde dies die Sicherheit von gängigen Krypto-Verfahren aushebeln. Forscher entwickeln daher schon länger quanten-resistente Krypto-Verfahren, und beim US-amerikanischen National Institute of Standards and Technology NIST läuft die dritte Runde eines Standardisierungsprozesses für solche Post-Quanten-Algorithmen.
Bahnbrechende Fortschritte erwarten Technologietreiber wie Google und IBM jedoch in anderen Bereichen wie der Künstlichen Intelligenz. Die Hoffnungen beruhen auf neuen Algorithmen, die exponentielle Beschleunigungen von klassischen Algorithmen versprechen, insbesondere für praktische Probleme aus den Bereichen Maschinelles Lernen, Clustering, Klassifizierung und Mustererkennung in riesigen Datenmengen. Diese Algorithmen kann jeder in Simulatoren auf konventionellen Computern und sogar auf realen Quantencomputern in der Cloud ausprobieren.
Reale Quantencomputer in der Cloud
Ideale Quantencomputer mit einer sinnvollen Anzahl von Qubits gibt es zurzeit nicht. Die großen Quantencomputer mit einigen Dutzend Qubits leiden unter Störungen, die durch Fehlerkorrekturen behoben werden müssten. Die Fehler, die bei Rechnungen mit realen Qubits auftauchen, werden auch als Rauschen bezeichnet. Sie entstehen einerseits durch inhärente Drifts der quantenmechanischen Zustände und andererseits durch ungewollte Interaktion mit der physikalischen Umgebung. Eine gute Abschottung von der Umgebung wird mit steigender Anzahl an Qubits immer schwieriger. Ein Großteil der Forschungsanstrengungen zielt darauf ab, dieses Rauschen zu verringern.
Für sinnvolle Fehlerkorrekturen haben Quantencomputer noch zu wenige Qubits, so dass die Störungen in tatsächlichen Rechnungen berücksichtigt werden müssen. John Preskill bezeichnet die Technologie dieser Quantencomputer als Noisy-Intermediate-Scale-Quantum-Technology (NISQ). Die Herausforderung besteht darin, aus den störungsbehafteten Ergebnissen von NISQ-Prozessoren nützliche klassische Information zu ziehen. Während dieser NISQ-Ära sind Quanten-Algorithmen wie Shors Faktorisierung oder Grovers Suchalgorithmus noch nicht in sinnvoller Skalierung realisierbar.
Trotzdem können solche Computer voraussichtlich in naher Zukunft sinnvolle Aufgaben lösen. Darauf setzen die großen Cloud-Anbieter mit Azure Quantum, TensorFlow Quantum (TFQ) und Baidu Paddle Quantum, meist mit Blick auf Künstliche Intelligenz. Hierzu müssen NISQ-Prozessoren mit klassischen Co-Prozessoren kombiniert werden. So gestattet es das Python Framework TFQ, Quantum Machine Learning im Rahmen von TensorFlow mit klassischen Methoden zu verbinden. Dabei dient die Python Library Cirq (https://quantumai.google/cirq/tutorials/basics) dem Erstellen der Quantenschaltkreise auf so genannten Devices. Ein Device ist nicht unbedingt ein idealer Quantencomputer, sondern mit Definitionen von Einschränkungen wird das Device zu einer Simulation eines realen NISQ-Prozessors, auf dem einige Operationen nicht möglich sind. So simuliert das Device cirq.google.Foxtail ein (2×11)-Gitter von Qubits einer frühen realen Hardware von Google. Eine Einschränkung kann sein, dass Operationen nur auf benachbarten Qubits erlaubt sind. Cirq gibt dann für nicht-lokale Operationen einen Fehler zurück, weil auf Foxtail solche Operationen nicht realisiert werden können. Der konkrete Prozessor bestimmt die Menge an verfügbaren Quantengattern.
Eine Hochsprache für Quantencomputer
Das Programmieren eines Quantencomputers ist zurzeit sehr Hardware-zentriert: Explizite Operationen durch Quantengates verändern direkt Zustände von Qubits. Einen anderen Weg geht die Programmiersprache Silq der ETH Zürich (https://silq.ethz.ch/).
Silq ist eine High-Level-Programmiersprache für Quantencomputer. Sie gestattet, komplexe Aufgaben intuitiver und mit weniger Code zu beschreiben, und schafft eine Brücke zu klassischen Programmier- und Analysetechniken.
Ein wesentlicher Vorteil von Silq ist die Automatic Uncomputation, welche ein wesentliches Problem des manuellen Speichermanagements in Quantencomputern löst. In Algorithmen gibt es oft temporäre Variablen, die in klassischen Computern einfach gelöscht werden können. Nicht so in Quantencomputern: Ein Löschen der temporären Variable bedeutet eine implizite Messung der betroffenen Qubits. Diese sind jedoch mit anderen Qubits verschränkt, so dass unerwünschte Seiteneffekte entstehen können. Werden die temporären Variablen jedoch bis zum Ende der Rechnung beibehalten, so ist dies wegen des Deferred Measurement Principles äquivalent dazu, die Variable direkt nach der letzten Verwendung zu messen. Deshalb folgt in den meisten Algorithmen auf eine Berechnung auch eine Rückrechnung der temporären Variablen, um sie in einen Zustand zu versetzen, der das Endergebnis nicht stört. Silq führt diese Rückrechnung auf sichere Weise aus, so dass sich der Programmierer mit diesem unintuitiven Problem nicht beschäftigen muss. In der Folge sind alle Silq-Algorithmen auf Quantencomputern ausführbar, weil physikalisch nicht mögliche Operationen Fehlermeldungen in Silq produzieren. Andererseits läuft Silq bisher nicht auf realen Quantencomputern, sondern nur im eigenen Simulator.
Wirtschaftliche Chancen
Quantencomputer lassen sich bisher noch nicht wirklich wirtschaftlich nutzen. Erste kommerzielle Anwendungen erwartet man bei der Entwicklung neuer Materialien und medizinischer Wirkstoffe. Meist geht es darum, die Wirkmechanismen von Molekülen zu verstehen und vorherzusagen. Das Verhalten von Katalysatoren und Hemmstoffen hängt oft von kleinen Teilen der Moleküle ab, den so genannten aktiven Zentren. Durch bessere Berechnungsmöglichkeiten könnten Forscher neue Medikamente und Materialien designen. Dies wird vermutlich die in naher Zukunft wichtigste Anwendung sein, da sie aus heutiger Sicht realisierbar erscheint und wirtschaftlich bedeutend ist.
Es bleibt spannend, wo die Reise hingeht und mit welcher Geschwindigkeit.
Die Autoren
Dr. Christine Priplata und Dr. Colin Stahlke arbeiten als Senior Experts für künstliche Intelligenz bei der CONET Solutions GmbH und beraten zum Einsatz neuer Technologien und komplexer Algorithmen sowie zur Entwicklung geeigneter KI-Lösungen basierend auf Textanalyse, Bild- und Videoerkennung und Deep Reinforcement Learning.
Mehr Interesse an Quantencomputern? Dieser Blogartikel dient zur Ergänzung eines Beitrags unserer Autoren im iX Special – Quantencomputer aus dem Juni. Mehr Infos zu diesem Heft finden Sie direkt bei heise.de: https://heise.de/-6065669 Schauen Sie doch mal rein, den Beitrag unserer CONET-Autoren zum Thema „HHL: Quantenverfahren für lineare Gleichungssysteme“ finden Sie ab Seite 86!
Über den Autor
Christine Priplata berät zum Einsatz neuer Technologien und komplexer Algorithmen sowie zur Entwicklung geeigneter KI-Lösungen basierend auf Textanalyse, Bild- und Videoerkennung und Deep Reinforcement Learning.