Welche Quantencomputer gibt es jetzt schon?

<<     >>

Im Folgenden geben ich Ihnen einen detaillierten Überblick, welche Quantencomputer-Angebote bereits heute schon existieren und welche konkreten Pläne die Industrie für die Zukunft verfolgt. Dabei erhalten Sie einen Einblick darüber, was ein Quantencomputer ist und wie man ihn verwenden kann. Diesen Artikel aktualisiere ich regelmäßig und halte Sie über die aktuellen Entwicklungen in der Quantencomputer-Industrie auf dem Laufenden.

Ein Quantencomputer von IBM (Quelle IBM Research)

Als ich 2018 den vorliegenden Artikel zum ersten Mal verfasst habe, war die Situation der kommerziellen Hardware-Hersteller von Quantencomputern und deren Architektur-Strategien ziemlich übersichtlich. Nachdem ich ihn in der Zwischenzeit ein paar Mal angepasst habe, stelle ich fast drei Jahre später fest, dass ich den Text in großen Teilen neu schreiben sollte. Zwar haben sich die Keyplayer von vor drei Jahren weiter etabliert und beeindruckende Ergebnisse vorzuweisen. Aber weitere Firmen sind seitdem auf der Bühne erschienen, die den Markt auf gemischt haben. Gleiches gilt für die Architektur-Strategien: Hatte es 2018 noch den Anschein, als ob es auf absehbare Zeit keine andere ernstzunehmende Quantencomputer-Technologie außer den supraleitenden Qubits geben würde, so war das Jahr 2020 wohl das Jahr der Ionenfallen-Quantencomputer. Der Jahresabschluss aber gehörte den photonischen Quantencomputern, die immer mehr an Fahrt aufnehmen und deren Hersteller gerade spielend Investorengelder einsammeln. Vermutlich wird sich dieser Trend der Diversifizierung in Zukunft weiter fortsetzen.

Im Folgenden stelle ich Ihnen die Hersteller, deren Architekturen und Visionen sehr detailliert vor. In zahlreichen Fußnoten erfahren Sie zusätzliche Hintergründe und erhalten Verweise auf vertiefende Texte und Originalarbeiten. Der Artikel richtet sich an Einsteiger, die einen wirklich umfassenden Überblick erhalten wollen. Er richtet sich allerdings auch an Fortgeschrittene, die auf der Suche nach dem ein oder anderen neuen, spannenden Detail sind.

Was ist ein Quantencomputer?

Ein Quantencomputer ist eine Rechenmaschine, die nicht mit unserer Alltagslogik arbeitet, sondern mit der Quanten-Logik. Die elementaren Recheneinheiten sind dabei Quantenbits („Qubits“). Anders als herkömmliche Bits können Qubits beliebige Überlagerungen von den Zuständen „0“ und „1“ annehmen. Dies ist eine der grundlegenden Eigenschaften der Quantenmechanik („Welle-Teilchen-Dualismus“ genannt). Ich verwende dafür auf quantencomputer-info.de eine vereinfachte Qubit-Darstellung, die das Wesentliche aber gut wiedergibt i. Ein herkömmlicher Computer verwendet zur elektronischen Schaltung elementarer Logikbausteine sogenannte Gatter, die auf unserer Alltagslogik basieren. Also z.B. NICHT-, UND- und ODER-Gatter. Ein universeller Quantencomputer verwendet stattdessen Quantengatter, welche die Quantenlogik abbilden. Diese heißen z.B. H, X, Y, Z, CNOT.

 

Vereinfachte Darstellung eines Qubits, auf das ein H-Quantengatter ausgeführt wird und damit zu einer gleichmäßigen Überlagerung von „0“ und „1“ wird

Anders als herkömmliche Computer verdoppelt ein Quantencomputer sein Leistungspotential mit jedem zusätzlichen Qubit (also eine explosionsartige bzw. exponentielle Steigerung). Aktuelle Quantencomputer sind noch klein, mit aktuell 10 bis 65 Qubits, und stark limitiert (NISQ = „noisy intermediate scale quantum“, mehr dazu weiter unten im Text). Ein Quantencomputer mit einer Größe von etwa 26 perfekten Qubits lässt sich noch mit einem normalen Laptop „simulieren“ ii. Die Luft für herkömmliche Computer wird dann aber wegen der erwähnten Steigerungsrate ganz schnell dünner: Ab einer Größenordnung von etwa 50 Qubits lässt sich ein Quantencomputer von keinem aktuellen Supercomputer mehr simulieren (mehr dazu im Absatz zu Googles Quantencomputer) und danach werden die Unterschiede gewaltig iii. Aufgrund seiner andersartigen Logik, lassen sich herkömmliche Programme allerdings nicht auf einen Quantencomputer übertragen, sondern man benötigt hierfür ganz neue Quanten-Algorithmen, die Gegenstand intensiver Forschung sind. Für einige wichtige Anwendungsfälle wurden bereits Algorithmen gefunden, die einen gewaltigen Geschwindigkeitsvorteil gegenüber herkömmlichen Methoden besitzen (z.B. der „Shor-Algorithmus“ für die Primfaktorzerlegung). Diese eint allerdings auch die Tatsache, dass sie sehr große, fehlerkorrigierende Quantencomputer benötigen.

Für weitere Informationen empfehle Ihnen meine umfangreiche Einführung Der unglaubliche Quantencomputer einfach erklärt“. Dort werden Sie noch mehr spannende Dinge über das Prinzip der Quantencomputer erfahren. Unter anderem erkläre ich Ihnen anhand eines Zeigerbildes wie die „spukhafte“ Quanten-Verschränkung funktioniert. Außerdem erfahren Sie wie ein Quantencomputer-Programm aussieht und wie Sie eines schnell mal selbst online ausprobieren können. Zusätzlich erkläre ich Ihnen auf einfache Weise und sehr bildlich, wie ein bekannter Such-Algorithmus für Quantencomputer (der „Grover-Algorithmus“) in etwa funktioniert.

Qubitzahl, Quantenvolumen und Fehlerraten: Die „bittere Wahrheit“ über NISQ-Quantencomputer

 

Techniker von IBM am „dilution refrigerator“ eines NISQ-Quantencomputers (Quelle IBM Research)

Um das Potential von konkreten Quantencomputern zu Klassifizieren, verwendete man bis vor Kurzem in erster Linie die Anzahl von Qubits. Hierbei liegen supraleitende Quantencomputer aktuell deutlich vorn. Die Kennzahl ist durchaus sinnvoll, da ein Quantencomputer mit jedem zusätzlichen Qubit seine Leistungsstärke verdoppelt. Zumindest auf dem Papier, denn die aktuellen NISQ-Quantencomputer besitzen diverse entscheidende Einschränkungen:

Aufgrund von Umgebungsstörungen können sie den Quantenzustand der Qubits meistens nur für eine kurze Zeitspanne aufrechterhalten (ausgedrückt über die „T1-“ und „T2-Decoherence-Time“). Unter anderem hierbei unterscheiden sich die Ansätze der Quantencomputer-Anbieter stark: Ionenfallen-Quantencomputer besitzen z.B. eine wesentlich größere Qubit-Güte (Sekunden bis zu Stunden) als supraleitende Qubits (etwa 100 Mikrosekunden) iv.

Jede Einzelschaltung hat eine gewisse Fehlerrate („Gate-Fidelity“). Diese sind um viele Größenordnungen größer als bei herkömmlichen Computern und sind der Hauptgrund, warum Quantenprogramme aktuell bestenfalls zweistellige Schaltungstiefen besitzen dürfen: Aktuelle Fehlerraten sind für 1-Qubit-Gatter Größenordnungen von: 0.1% bzw. 1 Fehler je 1000te Schaltung und für 2-Qubit-Gatter 1% bzw. 1:100.

Nicht alle Qubits können paarweise miteinander verschaltet werden („Connectivity“). Für supraleitende Quantencomputer können normalerweise nur die nächsten Nachbar-Qubits kombiniert werden. Das bedingt dann zusätzliche, fehlerbehaftete Tauschoperationen („Swaps“). Auch hierbei sind Ionen-Fallen Quantencomputer wesentlich flexibler.

Im Verbund können sich die Qubits und Quanten-Schaltungen gegenseitig stören („Crosstalk“).

Beim Initialisieren der Qubits und beim Auslesen des Ergebnisses können zusätzliche Fehler auftreten („Readout Error“ bzw. „SPAM-Error“, Größenordnung 1% bzw. 1:100).

Was diese Fehlerquellen und Einschränkungen in der Praxis bedeuten, können Sie z.B. sehr schön in der Untersuchung „The Bitter Truth About Quantum Algorithms in the NISQ Era“ von der Universität Stuttgart erkennen v. Ob man in der Lage sein wird mit NISQ-Quantencomputern einen Quantenvorteil in praktischen und Industrie-relevanten Anwendungen zu erzielen ist aktuell noch offen und Gegenstand intensiver Forschung vi. Auf der anderen Seite steigt die Zahl der Firmen in etablierten Märkten, die bereits in den nächsten Jahren Budget für das Quantencomputing einplanen, stark an vii.

Um den Einschränkungen von NISQ-Quantencomputern in einer einzigen Kennzahl Rechnung zu tragen hat IBMs Quantum-Team 2018 ein Protokoll entwickelt, dass die „effektive“ Qubitanzahl ermitteln soll. Die Kennzahl „Quantenvolumen“ („Quantum Volume“) basiert auf einem Benchmark-Protokoll viii: Dafür misst man das größtmögliche „quadratische“ Quantenprogramm eines bestimmten, einigermaßen aussagekräftigen Typs, das „überzeugende“ Ergebnisse liefert („quadratisch“ bedeutet hier: Die Anzahl der verwendeten Qubits und die Schaltungstiefe sollen gleich sein). Die Quantenprogramme für die Benchmarks müssen einen bestimmten, zufallsbasierten Aufbau besitzen und prüfen dabei die obengenannten Einschränkungen. Allerdings darf der Quantencomputer diesen Aufbau für praktische Gründe zunächst in eine hardware- freundlicheren Aufbau umkompilieren. Aus diesem Quadrat ermittelt man eine effektive Qubitanzahl „q“ (die Firma IonQ nennt diese Zahl auch „algorithmische Qubits“). Das Quantenvolumen ist dann der Wert 2 hoch „q“, um den exponentiellen Charakter der Quantencomputer Rechnung zu tragen.

Die Kennzahl „Quantenvolumen“ hat sich mittlerweile größtenteils industrieweit etabliert. Sie ist aber nicht frei von Kritik. Scott Aaronson, einer der renommiertesten Forscher für Quantencomputing, empfiehlt eher auf alle oben genannten Kennzahlen zu achten ix, weil die Differenzierungen von Fall zu Fall gewaltige Auswirkungen haben können. Ein normaler Laptop-Rechner hätte z.B ein viel größeres Quantenvolumen als der Quantencomputer Sycamore in Googles Quanten-Überlegenheits-Nachweis (hierzu später mehr). Im Umkehrschluss bedeutet Aaronsons Kritik: Gerade in der NISQ-Ära kann die Wahl der Hardware für einen bestimmten Algorithmus und eventuell für einen bestimmten Anwendungsfall entscheidend sein.

Googles supraleitender Quantencomputer „Sycamore“ und die „Quanten-Überlegenheit“

(Google Campus, Quelle „Niharb“)

2013 gründete Google das Quantum AI Lab. Das Quantum AI Lab ist ein Team, das von dem langjährigen, deutschen Google-Mitarbeiter und KI-Forscher Hartmut Neven geführt wird. Es sollte zunächst die Möglichkeiten untersuchen, eine völlig neue Quanten-Hardware der Firma D-Wave-Systems für die künstliche Intelligenz zu nutzen x. Mehr zu D-Waves „Quanten-Annealer“ weiter unten im Text. Als sich abzeichnete, dass der Quantencomputer von D-Wave noch gewisse Einschränkungen hatte, beschloss Google einen eigenen, universellen Quantencomputer zu bauen. 2014 startete das Google Quantum AI Lab eine Koorperation mit dem bekannten Physiker John Martinis von der University of California, Santa Barbara. Er ist einer der führenden Experten für supraleitende Qubits und sollte den Bau des Quantencomputers leiten.

Die Supraleiter-Technologie (bzw. genauer „Circuit QED“) ist einer der aussichtsreichsten Kandidaten um verlässliche, universelle Quantencomputer zu bauen xi xii. Diese gründet letztendlich auf integrierten Schaltkreisen, die durch bekannte Fertigungsmethoden auf einen herkömmlichen Chip gedruckt werden können. Die Schaltkreise verhalten sich ähnlich wie normale Schwingschaltkreise und werden enorm heruntergekühlt, bis fast zum absoluten Temperatur-Nullpunkt („Cryogenics“). Das entstandene Elektronenkondensat erhält dadurch supraleitende Quanteneigenschaften. In dem man gezielt Lücken in jeden Schaltkreis einbaut, sogenannte „Josephson Junctions“, ist es möglich die ansonsten beliebig vielen Zustände des Quantenschaltkreises zu einem Quantensystem mit zwei isolierten Zuständen zu reduzieren xiii („0“ und „1“): Ein supraleitendes Qubit ist entstanden.

Durch schlangenförmige Wellenleiter, sogenannte „waveguide resonators“ die sich ebenfalls auf dem Chip befinden, werden die Supraleiter-Qubits mit einzelnen Lichtteilchen bzw. Photonen im Mikrowellen-Bereich bestrahlt. Die Qubits führen dudurch feinjustierte Übergänge zwischen den beiden Zuständen „0“ und „1“ aus („Rabi-Oszillationen“). Auf diese Weise können die Quantengatter geschaltet und somit die Qubits im Laufe eines Quantenprogramms geändert werden (z.B. die Gatter H, X, Y, Z und CNOT). Auf ähnliche Weise werden die Qubits am Ende des Programms ausgelesen: Die unterschiedlichen Zustände der Qubits verschieben die Resonanzfrequenz der schlangenförmigen Wellenleiter, und diese Verschiebung kann gemessen werden xiv. Der winzig kleine Quantenchip wird an den Fuß eines Gerüsts eingehangen, das aus thermischen Leitern und Kühlaggregaten besteht, die den Chip herunterkühlen („dilution refrigerator“). Die Verbindungen bestehen z.B. aus gebogenem Gold, welches ein idealer thermischer Leiter ist und fexibel auf Verformungen reagiert. Außerdem sieht es ziemlich cool aus :-)! Der ganze Aufbau wird oben mit der externen Steuerelektronik verkabelt und schließlich in einen großen Vakuum-Behälter platziert, der außerdem das Erdmangetfeld abschirmen muss.

Der Vorteil der Supraleiter-Technologie ist es, dass die einzelnen Bestandteile groß im Vergleich zu anderen Quantenobjekten sind. Dadurch lassen sie sich vergleichsweise einfach herstellen und verschalten und ermöglichen verschiedene Architekturansätze (in Googles und IBMs Fall sind es z.B. sogenannte „Transmon“-Qubits). Die Nachteile sind die relativ kurze Lebensdauern der Qubit-Zustände und die benötigte Tiefkühltechnik.

Nahaufnahme eines Quantenchips mit 4 supraleitenden Qubits, allerdings von Googles Konkurrenten IBM, Quelle IBM / Wikipedia: Die schlangenförmigen Linien sind die oben erwähnten Wellenleiter für Mikrowellen-Photonen. Die eigentlichen Qubits sind die kleinen Köpfe der „Nägel“, die nach außen zeigen. Den entsprechenden Fachartikel in „Nature“ 2017 finden Sie ebenfalls über den Link

 

Googles Labor sammelte zunächst unter John Martinis Leitung eine Zeit lang Erfahrungen mit einem 9-Qubit-Quantencomputer. Später begannen sie die Technologie hochzuskalieren. Ziel dabei war es auch das prestigeträchtige Ziel der „Quanten-Überlegenheit“ als erste Gruppe zu erreichen. Anfang 2018 gab Googles Team bekannt, dass ein 72-Qubit-Quantencomputer im Testbetrieb sei, und es sah alles nach einer gewaltigen Sensation aus. Tatsächlich wurde der Quantencomputer „Bristlecone“ allerdings nie in Betrieb genommen. Diese Episode ist ein Beispiel dafür, dass die reine Qubit-Anzahl zunächst nichts aussagt, wenn die anderen relevanten Kennzahlen nicht in den Griff bekommen werden. Außerdem zeigt sie sehr anschaulich, dass alle Ankündigungen der Quantencomputer-Hersteller eine gewisse Unsicherheit besitzen und jeder Schritt mit neuen, zum Teil großen, technologischen Hürden verbunden ist.

Im September 2019 sorgte Google dann aber durch eine geleakte Vorveröffentlichung für einen Paukenschlag. Darin wurde der neue und bis dato unbekannte Quantencomputer „Sycamore“ mit einer Größe von 53 Qubits beschrieben. Zum Vergleich: Der zu diesem Zeitpunkt größte Quantencomputer von IBM besaß 30 Qubits. Google war in der Lage auf „Sycamore“ eine spezielle Quanten-Rechenaufgabe (das „Quantum Random Circuit Sampling“) in Sekundenschnelle auszuführen, die auf den schnellsten aktuellen Supercomputern vermutlich 10 000 Jahre dauern würde. Die offizielle Veröffentlichung folgte einen Monat später. Die Rechenaufgabe war zwar zunächst rein akademisch. Googles Weckruf beweist aber, dass das Prinzip der Quantencomputer und die Vorhersagen dafür tatsächlich in der Praxis umgesetzt werden können: Für gewisse Probleme funktionieren Quantencomputer grandios besser als herkömmliche Computer. Möglich wurde der Durchbruch auch dadurch, dass Martinis Team es schaffte die Fehlerraten der Quantengatter um einen Faktor 10 zu unterdrücken und zwar unabhängig davon wie viele Schaltungen gerade aktiv waren. Alle Details und Erläuterungen zu diesem großen Meilenstein erfahren Sie in meinem Artikel Googles Nachweis der Quanten-Überlegenheit“.

Im Anschluss an Googles Arbeit gab es ein paar Veröffentlichungen, die das Ergebnis in Teilen relativierten (u.a. von IBMs-Team). Die Kernaussage hat aber bis heute bestand. Interessanterweise tauschte Googles Team ein Jahr später die Rollen und stellte seinerseits die Ergebnisse des chinesischen Teams in Teilen in Frage (s.u.den Abschnitt über Chinas Quantencomputer).

Einige Wochen später besuchte John Martinis das California Institute of Technology (Caltech) und hielt dort einen ersten Vortrag zu dem Durchbruch xv. Hier bekommen Sie viele spannenden Details über Googles Quantencomputer zu hören … mit den Worten des Meisters :-).

Nebenbei ist Sycamore aktuell auch der erste Quantencomputer der eine planare, schachbrettartige Anordnung der Qubits mit einer Kopplung der nächsten Nachbar-Qubits besitzt. Diese Qubit-Anordnung ist zum Hochskalieren zukünftiger Quantencomputer besonders wichtig. Um die NISQ-Ära hinter sich zu lassen und wirklich komplexe Quantenprogramme auszuführen, müssen Quantencomputer „fehlerkorrigierte“ Qubits besitzen. Aus diesem Grund ist die „Quantenfehlerkorrektur“ seit jeher ein wichtiger Forschungszweig auf dem Gebiet. Hierbei werden verschaltete Qubitgruppen zu einem einzigen „logischen Qubit“ zusammengefasst, das dann korrigiert werden kann. Die Kehrseite dabei ist, dass dies die tatsächliche Anzahl von verfügbaren Qubits teils drastisch reduziert. Der aussichtsreichste Algorithmus zur Quantenfehlerkorrektur ist der sogenannte „Surface Code“ xvi, der gerade diese planare Qubit-Anordnung benötigt.

Googles Team und die Roadmap

Kurz nach Googles Veröffentlichung endete die erfolgreiche Koorperation zwischen Google und Martinis ziemlich überraschend xvii. Mittlerweile ist Googles Hardware-Team aber wohl so stark aufgestellt, dass es den vorgezeichneten Weg weiter beschreitenwird.

Im Herbst 2020 veröffentlichte Hartmut Neven Googles Roadmap für die nächsten 10 Jahre xviii. Darin skizziert er, wie sein Hardware-Team die aktuelle Technologie bis zum Jahr 2029 zu einem Quantencomputer mit 1000 logischen, fehlerkorrigierten Qubits hochskalieren will. Dabei plant Googles Hardware-Team zunächst zu verifizieren, ob der Surface-Code, die Quantenfehlerkorrektur und logische Quantengatter in der Praxis überhaupt umgesetzt werden können xix.

Neben der Weiterentwicklung der eigenen Hardware, untersucht Googles Quantum AI Lab die Anwendungsmöglichkeiten von heutigen und von zukünftigen Quantencomputern und zwar besonders in den Bereichen Maschinelles Lernen, Chemische Simulationen und Optimierungsaufgaben xx xxi. Dazu ist das Team mit einigen Spitzenforschern stark besetzt. Die Algorithmen für NISQ-Quantencomputer teilen die Eigenschaft, dass sie Quanten-klassische „Hybrid-Algorithmen“ sind. Dazu werden Quantenschaltkreise konstruiert, ausgemessen und dann mittels herkömmlichen Computern für den nächsten Durchlauf optimiert. Dadurch werden schrittweise die Stärken von sowohl Quantencomputern als auch von klassischen Computern ausgenutzt. Diese Verfahren haben den bestechenden Vorteil, dass ihr Quantenanteil sehr kurz sein kann und noch von den aktuellen Quantencomputern bewältigt werden kann. Mehr dazu erfahren Sie auch in meinem Artikel „Anwendungen für Quantencomputer“.

Für die eigenen Quantenprogramme hat Google mit „Cirq“ eine Erweiterung für die beliebte Programmiersprache Python veröffentlicht xxii, über die Quantencomputer ferngesteuert werden können. Basierend auf „Cirq“ hat das Quantum AI-Team die Entwicklung weiterer OpenSource-Frameworks für die chemische Simulation xxiii und für Maschinenlernen bzw. künstliche Intelligenz xxivgestartet.

Das Quantum AI-Team sucht aktuell gezielt nach Kooperationspartner mit einer starken Forschungsabteilung, um die Möglichkeiten der eigenen Hardware für diese Anwendungsgebiete gezielt an konkreten Beispielen zu untersuchen. Googles Quantencomputer stehen aktuell nur diesem exklusiven Anwenderkreis zur Verfügung. Ganz im Gegensatz zu dem anderen Big Player für supraleitende Quantencomputer ….

IBMs Quantencomputer-Flotte in der Cloud

Ein Quantencomputer von IBM (Quelle IBM Research)

IBM ist der Tech-Riese, der von Anfang stark im Bereich Quantencomputer engagiert war. Bereits 2001 sorgte das Unternehmen für Aufsehen, als es den ersten experimentellen Beweis für Shor‘s berühmten Faktorierungsalgorithmus für Quantencomputer lieferte xxv.

Im Mai 2016 startete IBM dann ein völlig überraschendes und sensationelles Cloud-Angebot: In der „IBM Quantum Experience“ stellte IBM als erstes Unternehmen überhaupt den eigenen 5 Qubit Quantencomputer für die Öffentlichkeit zur Verfügung. Seitdem hat IBM insgesamt 28 Systeme zum Einsatz gebracht. Dabei stehen mehrere Quantencomputer mit bis zu 32 Qubits für jeden Interessenten zur Verfügung. Die größeren Systeme sind für Premium-Kunden vorbehalten. Aber selbst die „kleineren“ Quantencomputer werden regelmäßig verbessert und ihr Quantenvolumen wird vergrößert. IBMs aktuell leistungsstärkster Quantencomputer ist der „Hummingbird“ mit 64 Qubits.

https://www.ibm.com/quantum-computing/experience/

Die Quantum Experience von IBM ist über die Jahre zu einer beeindruckenden Größe herangewachsen: Aktuell betreibt IBM insgesamt 18 Quantencomputer gleichzeitig, die für 250 000 User verfügbar sind (Stand Februar 2021). IBMs Cloud-Angebot hat bisher 500 Milliarden Quantenprogramme ausgeführt (mit Tageshöchstwerten von 1 Milliarde Quantenprogrammen), was unter anderem zu 400 wissenschaftlichen Veröffentlichungen führte xxvi.

Wie Googles Quantencomputer sind IBMs Systeme universelle Quantencomputer und basieren ebenfalls auf der Supraleitertechnologie. Dabei werden die üblichen Standard-Quantengatter durch native Quantengatter erzeugt, die charakteristisch für die konkrete Hardware sind. Ein X-Gatter wird z.B. bei IBM durch ein Quantengatter mit der Bezeichnung „U3(π,0,π)“ erzeugt. Die Umwandlung in die nativen Quantengatter bezeichnet man als Transpilation. An dieser Parametrisierung erkennt man auch, dass die Effektivität von gewissen Schaltungskombinationen von Quantencomputer zu Quantencomputer stark abweichen kann.

Wie für alle Quantencomputer gilt auch für die Systeme von IBM: Qubit ist nicht gleich Qubit. Jedes Qubit besitzt seine eigene charakteristische Decoherence-Time (s.o.) und nicht jedes Qubit kann mit jedem anderen Qubit verschaltet werden. IBM muss die Qubits in seinen Quantencomputern deshalb ständig neu kalibrieren. Die aktuellen Metriken und die Auslastung der einzelnen Systeme können die Anwender jederzeit einsehen und eine konkrete Implementierung sollte die aktuellen Metriken berücksichtigen und dafür optimiert werden.

Als Programmierschnittstelle für Anwender stellte IBM im Jahr 2016 zunächst einen grafischen „Composer“ bereit, über den einfache Schaltkreise für die Quantencomputer schnell zusammen geklickt werden können.

IBMs Composer für Quantenprogramme (Quelle IBM Research)

Kurze Zeit später veröffentliche IBM die Erweiterung „Qiskit“ für die beliebte Programmiersprache Python. Über Qiskit können Anwender Quanten-Programme zunächst lokal auf dem eigenen Rechner in einem Simulator vorbereiten und dann an den gewünschten Quantencomputer in der Quantum Experience schicken.

Aufgrund der riesigen Anwenderbasis von IBMs Cloudangebot ist „Qiskit“ derzeit das mit Abstand beliebteste Framework für Quantenprogramme. IBM entwickelt hierfür regelmäßig neue Module: Mit „Pulse“ veröffentlichte IBM z.B. vor Kurzem ein Modul, mit dem der Anwender die nativen Quantengatter der Systeme direkt ansprechen kann. Normalerweise erledigt das Transpilation das Framework komplett selbstständig. Ebenfalls relativ neu ist das Modul „Gradient“ mit dem die sehr komplexen Optimierungsoperationen der oben erwähnten „Hybrid-Algorithmen“ für klassische Rechner und Quantenrechner gezielt unterstützt werden. Neben dem Framework selbst enthält Qiskit eine Vielzahl von Beispielprogrammen und zwar auch zu aktuellen, wissenschaftlichen Veröffentlichungen. IBM veranstaltet regelmäßige „Qiskit Camps“ xxvii und Qiskit-Hackathons. Auf Slack.com gibt es einen eigenen Qiskit-Channel, in dem aktuell etwa 15 000 Mitglieder zusammenarbeiten.

In meinem Artikel „Quantencomputer programmieren mit IBMs Qiskit“ erfahrend sie noch mehr über das Programmieren mit Qiskit. Insbesondere zeige ich Ihnen dort, wie man den sogenannten „Grover-Algorithmus“ konkrekt programmiert.

Auf der Quantum Experience finden sich außerdem eine Vielzahl von sehr hilfreichen Dokumentationen: Der „Userguide“ vermittelt Einsteigern auf möglichst einfache Weise einen Überblick über das Quantencomputing und erläutert das Prinzip von ein paar grundlegenden Quanten-Algorithmen xxviii. Das „Textbook“ ist ein Lehrbuch in Form von „Jupyter Notebook“-Seiten und eine konkrete Einführung in das Quantencomputing mit Qiskit xxix. Wie Qiskit selbst ist das „Textbook“ auf Github als Opensource-Projekt öffentlich zugänglich.

IBMs Roadmap

Im September 2020 kündigte IBM eine Roadmap für die nächsten Jahre an. Im Gegensatz zu Google gab das IBMs Team dabei ein paar konkretere Details bekannt xxx. Demnach soll bereits im Jahr 2021 ein 127-Qubit Quantencomputer mit dem Namen „Eagle“ in Betrieb genommen werden. Im Jahr 2022 soll dann ein 433-Qubit- und 2023 sogar ein 1,121-Qubit-System folgen. Falls IBM diesen Fahrplan aufrecht halten kann, wären dies jeweils gewaltige technologische Sprünge. Für die folgenden Schritte muss IBM zunächst eine neue Tiefkühltechnologie einführen, die in der Lage ist, wirklich große Quantencomputer bis fast zum Temperatur-Nullpunkt zu kühlen. Auch an diesem „Goldeneye“-System forscht das Team.

IBM Roadmap für Quantencomputer (Quelle IBM Research)

Wie auch die anderen Hersteller hat IBM dabei aber tatsächlich besonders ein Fernziel im Auge: Die Entwicklung eines hochskalierten Quantencomputer, der in der Lage ist die Algorithmen für die Quantenfehlerkorrektur auszuführen. Dies reduziert zwar die effektive Anzahl an „logischen Qubits“ um etwa den Faktor 1000, dafür sind dadurch beliebig lange Quantenprogramme möglich. Insbesondere auch die Programme, von denen man jetzt schon weiß, dass sie einen Quantenvorteil gegenüber herkömmlichen Computeralgorithmen besitzen werden.

Für die zukünftige Quantenfehlerkorrektur verfolgt IBM eine Strategie, den das Team als „Bottom-Up“-Ansatz bezeichnet. Hierzu haben die Forscher des Konzerns einen neuen Fehlerkorrektur-Algorithmus entwickelt, der speziell auf genau die Qubit-Struktur optimiert ist, die sie gut kontrollieren können xxxi. In Zukunft verwendet IBM für die eigenen Quantencomputer deshalb nur noch eine sogenannte „heavy-hexagon“-Qubit-Struktur.

Neben diesem Fernziel forscht IBM weiterhin daran, dass Potential der aktuellen NISQ-Quantencomputer auszuloten. Dazu sind am „IBM Quantum Network“ etwa 130 Großkonzerne (wie Daimler, Samsung und JP Morgan), Forschungseinrichtungen und Startups beteiligt, die entsprechende Anwendungen zusammen untersuchen xxxii. Das selbst mit sogenannten „Noisy Shallow Quantum Circuits“ auf NISQ-Systemen ein Quantenvorteil gegenüber herkömmlichen Methoden möglich ist, berechnete das Team 2020 in Zusammenarbeit mit der Technischen Universität München xxxiii.

Rigetti Computing‘s Quantencomputer: Ein David unter Goliaths

In 2013 verließ Chad Rigetti das Quantencomputer-Team bei IBM und gründete die Firma Rigetti Computing. Über mehrere Finanzierungsrunden konnte er genug Investoren für seine Pläne gewinnen: Einem neuen Global Player im Quantencomputer-Markt. Mittlerweile besitzt die Firma ein üppiges Kapitalpolster. Im Juni 2017 startet Rigetti Computing das eigene Quantencomputer-Cloudangebot xxxiv. Aktuell bietet Rigetti fünf Quantencomputer mit bis zu 28 Qubits an. Wie IBM und Google setzt Rigetti dabei auf supraleitende Qubits. Und ebenfalls richtet sich Rigetti als „Fullstack“-Anbieter aus: Also als ein Anbieter der von der Hardware über die Cloudangebote und den Programmierschnittstellen bis hin zu Highlevel-Anwendungen die gesamte Quantencomputer-Palette anbietet. Auch Rigetti setzt als Programmierschnittstelle auf eine Python-API mit dem Namen „Forest“. Als Anwendungsbeispiel für ihr Komplettpaket geben sie etwa die Simulation von Bindungsenergien in Atomenkernen an xxxv.

Quantencomputer durch Ionenfallen

Die Geschichte der Ionenfallen-Quantencomputer („Ion-Trap“) beginnt in Innsbruck, Österreich. Wenige Wochen nachdem Ignacio Cirac and Peter Zoller im Jahr 1995 von Shors spektakulären Faktorierungsalgorithmus hörten, hatten sie die Idee Ionen in sogenannten Ionenfallen mit geeignetem Laserlicht zu bestrahlen, um damit sowohl Qubits als auch die grundlegenden Quantengatter zu erzeugen xxxvi xxxvii xxxviii.

Ionen sind nichts anderes als angeregte bzw. geladene Atome. Für einen Quantencomputer haben sie den riesigen Vorteil, dass sie komplett identische Quantensysteme darstellen. Hinzu kommt, dass z.B. die Hyperfeinstruktur-Zustände von Ionen sehr langlebig sein können (aus diesem Grund werden solche „hyperfine clock states“ auch für Atomuhren verwendet), und sich sehr gut auf ein Zwei-Zustands-System reduzieren lassen: Ein Qubit. Einfangen und kontrollieren lassen sich einzelne Ionen in einer Ionenfalle, für die der deutsche Physiker Wolfgang Paul mit anderen 1989 den Nobelpreis bekam („Paulfalle“) xxxix. Aktuelle Ionenfallen können in Miniaturgröße hergestellt werden und bis zu 50 einzelne Ionen bewältigen. Die hier vorgestellten Ionenfallen-Quantencomputer verwenden alle Yb+ Ionen, da die notwendigen Laser hierfür besonders günstig für den Betrieb sind. Für die Quantengatter induzieren die Laser die Zustandswechsel der einzelnen Qubits (z.B. von Zustand „0“ nach Zustand „1“) nur über Zwischenzustände, die ähnlich wie eine Barriere wirken, und unbeabsichtigte Zustandswechsel unwahrscheinlich machen („stimulierte Raman-Übergänge“). Mit einer ähnliche Methode werden die Qubits für den Start eines Quantenprogramms im Vorfeld in einen definierten „0“-Zustand „gepumpt“, der wie eine Sackgasse keine Übergänge in die Rückrichtung zulässt.

Für die Praxis haben Ionenfallen noch einen weiteren großen Vorteil: Zwar müssen Ionenfallen die Ionen ebenfalls „herunterkühlen“, da diese aber vollkommen isoliert sind, erreichen die Fallen dies über eine Rundumbestrahlung durch Laserlicht. Dies stoppt die Ionen in Richtung der Eigenbewegung immer weiter ab. Dadurch kann ein Ionenfallen-Quantencomputer, ganz im Gegensatz zu einem Supraleiter-Quantencomputer, sogar bei Zimmertemperatur betrieben werden!

Zoller und Cirac haben mittlerweile zusammen mit ihrem Innsbrucker Kollegen Rainer Blatt das Startup „AQT“ gegründet xl. Ihr zunächst theoretischer Ansatz wurde von einem Team um Christopher Monroe (damals am National Institute of Standards and Technology in Colorado) noch im selben im Jahr 1995 experimentell bestätigt xli. Monroe gründete 2015 zusammen mit anderen die Firma „IonQ“.

Neben einigen klaren Vorteilen (z.B. sehr stabile Qubits, volle Qubit-Konnektivität, Betriebstemperatur) besteht bei Ionenfallen-Quantencomputer die große Herausforderung, dass viele Fallen miteinander kombiniert werden müssen, um die Technologie hochzuskalieren.

Honeywell und der erste kommerzielle Ionenfallen-Quantencomputer weltweit

Honeywells Zentrale in New Jersey, Quelle Wikipedia

Einmal im Jahr versammelt sich das Who-Is-Who der Quantencomputer-Branche in der Konferenz „Quantum For Business“ (kurz „Q2B“) der Startup-Firma QCWare aus dem Silicon Valley. Ein Highlight der Q2B 2019 war definitiv der spannende Vortrag von Tony Uttley der Firma Honeywell xlii. In ihm stellt Uttley den ersten kommerziellen Ionenfallen-Quantencomputer weltweit vor. Die Neuigkeit war tatsächlich eine Überraschung gewesen: Obwohl Honeywell in vielen Technologiefeldern stark vertreten ist, hatte man den Konzern beim Thema Quantencomputer eigentlich nicht auf dem Schirm gehabt. So konnte die Firma sein vielfältiges Knowhow in verwandten Technologien bündeln und ein eigenes Quantencomputer-Team unter dem Radar der Öffentlichkeit zusammenstellen.

Im Juni 2020 nahm Honeywell den Quantencomputer H0 mit 6 Qubits in Betrieb und veröffentlichte eine wissenschaftliches Arbeit dazu xliii. Dank der Qubit-Güte und der vollen Konnektivität der Qubits war der H0 mit einem Schlag der Quantencomputer mit dem größten Quantenvolumen. Im Benchmark erzielte Honeywells System den Wert 64. Nur wenige Monate danach nahm Honeywell einen verbesserten Quantencomputer, mit 10 Qubits und einem Quantvolumen von 128, in Betrieb.

Honeywell verwendet für seine Ionenfallen-Quantencomputer eine 2 dimensionale Struktur, die es erleichtern soll in Zukunft mehrere Ionenfallen miteinander zu verbinden. Für diesen Zweck sind Honeywells Ionen auch nicht ortsgebunden, sondern werden über Radiowellen durch die Ionenfalle zu einem „Interaktionsbereich“ bewegt, in denen die 1-Qubit- und 2-Qubit-Quantengatter ausgeführt werden. Über diesen Weg kann insbesondere jedes Qubit mit jedem anderen Qubit verschaltet werden. Eine Besonderheit von Honeywells Quantencomputern ist, dass als „Ionen“ tatsächlich ein Verbund von 2 Ionenpaaren Yb-Ba verwendet werden. Die Ba-Ionen werden nur zur Kühlung bzw. zum Abbremsen der Yb-Ionen benötigt. Indem Honeywell aber jeweils 2 Yb-Ionen für ein Qubit verwendet, kann der Zustand des einen Yb-Ions ausgemessen werden und das Resultat der Messung kann wieder in das Quantenprogramm einfließen. Honeywell bezeichnet dies als „If-Statement“, das auch in der klassischen Programmierung verwendet wird. Dieses Feature war ein absolutes Novum unter den aktuell entwickelten Quantencomputern und ist eine wichtige Voraussetzung für zukünftige Algorithmen zur Quantenfehlerkorrektur.

Wie bei den anderen Anbieter, erreicht man Honeywells Quantencomputer per Fernzugriff. Ein entsprechender Zugang kann per Formular beantragt werden. Zur Programmierung wird aktuell die Sprache „OpenQASM“ verwendet, die ursprünglich von IBM vorgeschlagen hatte und einen Assembler-artigen Syntax besitzt. Ein eigenes Software-Team hat Honeywell nicht, sondern koorperiert zur Evualierung der Hardware mit verschiedenen Startups im Bereich Quantencomputing.

Aus dem Stand heraus ist Honeywell also ein Turbostart in die Riege der Quantencomputer-Hersteller gelungen: Vom „No-Name“ zu einem führenden Anbieter mit einem Quantenvolumen-Rekord von 128. Allerdings sah es zunächst so aus, als ob dieser Rekord nur wenige Tage halten würde …

IonQs Ionenfallen-Quantencomputer

Bereits seit den 1990ern ist Christopher Monroe von der University of Maryland ein führender Wissenschaftler für Ionenfallen-Quantencomputer. Dort entwickelte er zusammen mit seinem Team einen experimentellen 11 Qubit Ionenfallen-Quantencomputer in Laborgröße. Anders als andere Teams verwendete er für die Benchmark-Tests keine rein akademischen Quantenschaltungen, sondern Quantenalgorithmen aus dem Lehrbuch. Also kleine Quantenprogramme, die eine sinnvolle Berechnung ausführen. Zum Einen konnten sie den Bernstein-Vazirani-Algorithmus mit allen 11 Qubits ausführen: Dieser ermittelt mit einem einzigen Aufruf für eine Binärfunktion den „geheimen Schlüssel“, eine Bit-Sequenz aus 0en und 1en, welche die Binärfunktion erzeugt xliv. Das gleiche Problem spielt übrigens auch, auf abgewandelter Weise, die zentrale Rolle im Quantenvorteils-Arbeit für NISQ-Quantencomputer von IBM und der Universität München (s.o.). Außerdem konnte Monroes Team das sogenannte „Hidden-Shift“-Problem lösen, das auf klassischen Computern einen exponentiellen Aufwand besitzt xlv.

 

Frühes Bild von Christopher Monroe in einem Labor, Quelle Marym1234 / Wikipedia

Einen guten Einblick in die Arbeit bekommen Sie über Monroes packenden Vortrag aus dem Jahr 2018 xlvi. Darin geht er auch auf seine Firma IonQ ein:

Bereits vor einigen Jahren startete Monroe eine Kooperation mit Jungsang Kim von der Duke University, der besonders auf die Miniaturisierung von Ionenfallen-Quantencomputern spezialisiert ist. Zusammen entwickelten sie u.a. Strategien, wie man mehrere Ionenfallen über Photonenbrücken, also mittels Lichtteilchen, zu einem skalierbaren Ionenfallen-Quantencomputer koppeln könnte xlvii. Aus dieser Zusammenarbeit wurde IonQ im Jahr 2015 gegründet. Ziel war es dabei zunächst den experimentellen 11 Qubit-Quantencomputer aus Maryland in eine Miniaturform zu überführen und als kommerzielles Produkt anzubieten. Letzteres geschah im August 2020 über den zeitgleich gestarteten neuen Cloud-Dienst „Amazon Braket“. Einige Monate zuvor hatte die Firma Details zum Quantencomputer und zu den Benchmarks bereits in einer wissenschaftlichen Arbeit veröffentlicht xlviii.

Aktuell fokussiert sich IonQ darauf die Hardware-Entwicklung voranzutreiben. Der Zugriff auf IonQs Systeme erfolgt über die neuen Cloud-Dienste von Amazon und von Microsoft, über die Quantencomputer von verschiedenen Herstellern erreichbar sind. Beide Angebote stelle ich weitere unten genauer vor.

Wenige Tage nachdem Honeywell den Quantenvolumen-Rekord mit dem 10 Qubit-System H1 bekannt gab, kündigte IonQ im Oktober 2020 einen neuen Quantencomputer mit 32 Qubits an. Da der Hardwareansatz vergleichbar mit dem von Honeywell ist, kann man bei IonQs neuen Quantencomputer von einem Quantenvolumen von über 4 Mio ausgehen! Dabei erkennt man auch, dass die Maßeinheit „Quantenvolumen“ wohl bald zu unhandlich wird. IonQ setzt sich deshalb auch dafür ein, in Zukunft die Einheit „Algorithmische Qubits“ zu verwenden. Die Meldung hatte aber einen Schönheitsfehler: Abgesehen von der Ankündigung, gab es bis heute weder eine wissenschaftliche Veröffentlichung mit den Details über den neuen Quantencomputer, noch ist die neue Hardware verfügbar. Es mag zwar nur eine Frage der Zeit sein aber bis jetzt hat Honeywells Rekord weiterhin Bestand.

Wie auch IBM und Google stellte IonQ im Herbst 2020 eine Hardware Roadmap vor xlix. Laut der Roadmap rechnet IonQ die nächsten Jahre mit den algorithmischen Qubits. Danach plant die Firma, logische, fehlerkorrigierte Qubits zu verwenden. Aufgrund ihrer Qubit-Güte und deren vollen Konnektivität geht IonQ davon aus, dass einfachere Algorithmen für die Quantenfehlerkorrektur hierfür ausreichen werden. Laut Roadmap planen sie im Jahr 2025 64 fehlerkorrigierte Qubits und im Jahr 2026 bereits 256 fehlerkorrigierte Qubits bereitstellen zu können. Die dafür notwendige Fehlerkorrektur käme mit einem Verhältnis von 16:1 und danach mit 32:1 aus (Verhältnis physische Qubits zu logischen Qubits). Zum Vergleich: Google und IBM planen mit Quantenfehlerkorrekturen, die ein Verhältnis in der Größenordnung 1000:1 benötigen. Dies wäre also eine enorme Ersparnis und es bleibt abzuwarten, wie sich das in der Praxis verhält.

Nun wird es allerhöchste Zeit, dass wir uns dem absoluten Pionier für kommerzielle Quantencomputer widmen …

D-Waves Quanten-Annealer

Der allererste kommerzielle Quantenchip mit 128 Qubit-Chip, Quelle: D-Wave Systems, Inc., Wikipedia

Im Jahr 2011 hallte ein großer Paukenschlag durch die Technologiewelt: Die bis dahin allgemein unbekannte kanadische Firma „D-Wave-Systems“ präsentierte den ersten kommerziellen Quantencomputer auf Supraleiterbasis. D-Wave-Systems benannte die Anzahl der Qubits in seinem ersten Quantencomputer mit sage-und-schreibe 128 Qubits! Die Nachricht über D-Waves Quantencomputer sah also auf den ersten Blick so aus, als wäre damit der Durchbruch erzielt worden. Es kam noch besser: Im Jahr 2013 kauften Google und die NASA für mehrere Millionen Dollar ein Nachfolgemodell von D-Wave mit sagenhaften 512 Qubits!

Die Ära der Quantencomputer hatte also anscheinend mit Pauken und Trompeten begonnen.

Was in diesen Nachrichten ziemlich unterging, aber was allen Kennern der Thematik klar war: Der Quantencomputer von D-Wave-Systems war und ist streng genommen „nur“ ein Quanten-berechnendes System für spezielle Zwecke. Er nutzt zwar auch die Quantenmechanik mittels Qubits für Berechnungen aber er ist kein „universeller“ Quantencomputer, wie die Systeme, die ich Ihnen bis jetzt vorgestellt habe. Insbesondere können auf ihm nicht die typischen Lehrbuch-Algorithmen für Quantencomputer ausgeführt werden. Der Quantencomputer von D-Wave-Systems ist „nur“ für Optimierungsaufgaben vorgesehen (bzw. genauer für „quadratisch binäre“ Optimierungsprobleme l), also einem sehr wichtigen Aufgabengebiet für Computer, das sich insbesondere auf viele Bereiche übertragen lässt li. Der Computer von D-Wave ist ein sogenannter „Quanten Annealer“ (oft auch etwas ungenauer als „adiabatischer Quantencomputer“ bezeichnet). Er verlagert das Prinzip der sogenannten „simulierten Abkühlung“ (engl. simulated annealing) in die Quantenwelt. lii liii

Das Prinzip der „simulierten Abkühlung“ ist eine ziemlich brillante Rechentechnik für herkömmliche Computer, die insbesondere in der künstlichen Intelligenz eingesetzt wird. Interessanterweise stammt die Vorlage dazu wiederum aus der Physik bzw. der Metallurgie: Durch das Erhitzen eines Materials und anschließend kontrollierter Abkühlung werden die Eigenschaften des Ausgangsmaterials (z.B. die Festigkeit) optimiert: Das Material kann über spontane, thermische Sprünge aus einem Zustand mit schlechtem, lokalem Optimum in einen Zustand mit gutem, globalem Optimum gelangen liv.

Die Quantenversion dieses Prinzips simuliert im Gegensatz dazu keine langsame Abkühlung. Stattdessen startet ein adiabatischer Quantencomputer zunächst auf der „grünen Wiese“. D.h. die Qubits des Quantencomputers werden in einen Zustand versetzt der ein evtl. stark vereinfachtes Optimierungsproblem löst. Das tatsächliche Optimierungsproblem, also die eigentliche Berg-Tal-Charakteristik wird dann langsam und störungsfrei („adiabatisch“) dazugeschaltet. Ein adiabatischer Quantencomputer überbrückt die Optimierungstäler ebenfalls. Allerdings führt er keine thermischen Sprünge aus, sondern „tunnelt“ durch Quantenfluktuationen in das globale Optimum lv.

 

Die Täler sind die verschiedenen lokalen Optima, Quelle: Arnab Das / Wikipedia

Ein „Quanten Annealer“ wiederum ist ein adiabatischer Quantencomputer unter realen Bedingungen (z.B. unter Temperatureinflüssen und nicht perfekt isoliert). Insbesondere ist die Qubit-Güte wesentlich geringer, als die der Mitkonkurrenten. Aus D-Waves Sicht, reicht sie für das Annealing aber aus.

Wie ich oben schon erwähnt hatte: Ein universeller Quantencomputer verwendet Quantengatter, welche die Quantenlogik abbilden (z.B. H, X, Y, Z, CNOT). Im Gegensatz dazu verwendet D-Wave für seine „Quanten-Annealer“ , einen anderen Satz an Logikbausteinen, um die Qubits miteinander zu verschalten. Dieser Satz von analogen Quantenbausteinen, bildet gerade die adiabatische Quantenprogrammierung ab lvi. Interessanterweise wurde mittlerweile, in der Theorie nachgewiesen, dass auch mit den Logikbausteinen für adiabatische Quantenprogrammierung ein universeller Quantencomputer simuliert bzw. emuliert werden kann. Dies gilt allerdings nur unter perfekten Bedingungen. Die realen Quanten-Annealer sind hierzu nicht in der Lage.

Aus technischen Gründen kann D-Wave noch nicht alle Qubits miteinander verschalten. Stattdessen ordnete D-Wave die Qubits zunächst in einem sogenannten „Chimera-Graphen“ an, in denen jedes Qubit mit insgesamt 6 Nachbar-Qubits verschaltet werden kann lvii. Im Jahr 2019 führte D-Wave eine verbesserte Graphen-Topologie ein: Die „Pegasus-Graphen“ lviii. Durch die neue Struktur wird jedes Qubits mit bis zu 15 anderen Qubits verschaltet. Diese Kopplungsstärke ist sehr entscheidend: Jede Einschränkung reduziert die Anzahl der tatsächlich verfügbaren Qubits in der Praxis teils deutlich (so sind in der Chimera-Topologie z.B. einige zyklische Kopplungen nicht direkt möglich). Um solche Kopplungen doch zu erreichen fasst D-Wave mehrere Qubits zu einem logischen Qubit teils automatisch zusammen („embedding“).

Im Laufe der Jahre hat D-Wave seine Palette an Quanten-Annealer erweitert. Seit September 2020 bietet die Firma das Modell DWave-Advantage mit 5000 Qubits an. Zwar hat D-Wave mittlerweile ein paar Quantencomputer für einige Millionen Dollar an einzelne Kunden verkauft (z.B. Google, die NASA, demnächst auch das Forschungszentrum Jülich), interessanter ist für einen größeren Kundenkreis allerdings D-Waves Cloud-Angebot „Leap“ lix. Hier ist u.a. eine Trialmitgliedschaft möglich, mit einem kostenlose Guthaben von Netto-Runtime-Zeit auf den Quantenchips (QPU).

Um eigene Quantenprogramme zu erstellen bietet D-Wave eine eigene Software-Palette an. Kernstück bildet hier das Python-Framework „Ocean“ lx. Das Framework abstrahiert die eigentlich RESTful-Schnittstelle zum Quanten-Annealer und ermöglich zusätzlich die lokale Simulation von Quantenprogrammen auf dem eigenen Rechner.

Aufbauend darauf stellt D-Wave u.a. das Programm „qbsolv“ bereit. „qbsolv“ zerlegt ein allgemeines „QUBO“-Optimierungsproblem (steht für „Quadratic Binary Optimization“) automatisch in kleinere Häppchen und bildet diese auf die Chimera- oder die Pegasus-Struktur des jeweils verwendeten Quantenrechners ab. In mehreren Durchläufen versucht „qbsolv“ das Ergebnis immer weiter zu verbessern lxi. Über den neuen „Hybrid-Solver“ können außerdem Aufgaben an Leap gesendet werden, die wesentlich mehr als die 5000 binären Freiheitsgrade des QPUs besitzen. Durch das Zusammenspiel mit herkömmlichen Rechenroutinen kann Leap dadurch laut D-Wave bis zu 1 Millionen Variablen verarbeiten.

Die Erfolgsstory von D-Wave und ein Schönheitsfehler daran

Im Laufe der Zeit hat D-Wave weitere Kontrollmöglichkeiten für die Quanten-Annealer hinzugefügt: Das „Scheduling“ bietet die Möglichkeit, den Zeitplan zu beeinflussen, mit dem das eigentliche Optimierungsproblem dazugeschaltet wird. Gerade an den kritischen Stellen, kann eine Verlangsamung entscheidend werden. Über das „Reverse Annealing“ wiederum kann man verbesserte Start- oder Zwischenzustände erzeugen: Dazu spult D-Wave das Annealing für kurze Zeit rückwärts ab, um es dann wieder vorwärts laufen zu lassen.

D-Wave verantstaltet teils halbjährig eigene Usergroup-Konferenzen „D-Wave Qubits“ lxii mit Erfahrungsberichten von D-Wave-Kunden (darunter VW, Airbus u.a. Großkonzerne). Die Latte der Usecases (D-Wave benennt aktuell die Zahl: 250) ist beeindruckend und andere Hardware-Hersteller kommen da aktuell nicht einmal ansatzweise heran. Tatsächlich sind derzeit nur D-Waves Quanten-Annealer dank ihrer 5000 Qubits in der Lage, „real-life“ Usecases zumindest in Teilen umzusetzen (in VWs Fall z.B. ein Verkehrsleitungssystem lxiii).

Die Sache hat allerdings einen Haken: Anders als für universelle Quantencomputer konnte man für Quanten-Annealer in der Theorie bis dato noch keinen generellen „Quantenvorteil“ gegenüber klassischen Computern voraussagen. D.h. über universelle Quantencomputer weiß man, dass sie gegenüber herkömmlichen Supercomputern einen teils gewaltigen Rechenvorteil besitzen, sobald sie nur groß genug skaliert werden. Damit meine ich gerade die typische Eigenschaft der Quantencomputer: Mit jedem weiteren Qubit verdoppelt sich das Leistungspotential. Von Quanten-Annealern ist dies nur für einen kleinen Problembereich bekannt lxiv. Überdies haben Forscher mit den Algorithmen für Quantenfehlerkorrektur einen Mechanismus entdeckt, mit dem man universelle Quantencomputer hochskalieren kann. Etwas Vergleichbares ist für Quanten-Annealer noch nicht bekannt. Trotz dieser Bedenken gibt es einige erfolgversprechende Arbeiten aus der Praxis lxv.

Xanadus photonischer CV-Quantencomputer

Einen sehr spannenden und ganz anderen Ansatz als die bisher vorgestellten, verfolgt das kanadische Startup Xanadu lxvi.

Neben supraleitenden Qubits und Ionenfallen-Quantencomputer gibt es einen weiteren sehr naheliegenden Architekturansatz: Ein Quantencomputer mittels Photonen, also Lichtteilchen. Lichtteilchen sind elektrisch neutral, reagieren deshalb nur wenig mit ihrer Umgebung und können einen Quantenzustand lange aufrecht halten (im Weltall sogar über Lichtjahre). Insbesondere können photonische Qubits auch bei Raumtemperatur betrieben werden. Hinzu kommt, dass sich seit ein paar Jahren eine neue aber schnell wachsende Technologie entwickelt hat, die sich „Integrated Photonics“ nennt lxvii. Wie für supraleitende Qubits können hierüber integrierte Schaltkreise über bestehende industrielle Fertigungstechniken konstruiert werden. Bei Integrated Photonics werden allerdings keine elektrischen, sondern optische Schaltkreise verwendet.

Um einen universellen, photonischen Quantencomputer zu entwickeln, gibt es zwei Alternativen: Lineare optische Quantencomputer, die das sogenannte „KLM-Protokoll“ verwenden und Continuous-Variable-Quantencomputer („CV“). Bei ersteren funktioniert das Quantencomputing analog zu den bisher vorgestellten Quantencomputern mit einer festen Anzahl filigraner photonischer Qubits, die miteinander über Quantengatter in Form von Interferometer verschaltet werden. Diesen Ansatz verfolgt zum Beispiel die Firma „PsiQuantum“ um den Quanten-Photonics-Pionier Jeremy O’Brien von der Universität Bristol. Abgesehen von ein paar spannenden Vorträgen auf Youtube und Meldungen zu Fundraising-Rekorden dringt allerdings aus der Firma nichts nach außen (noch nicht einmal eine Website) lxviii lxix.

Der andere photonische Ansatz wird von der Firma Xanadu aus Kanada verfolgt, die im September 2020 ihr Cloud-Angebot vorstellte. Xanadus Quantencomputer arbeiten nicht mit einzelnen Photonen, sondern mit Photonenstrahlen: Hierzu werden Laserstrahlen durch Resonatoren geleitet, die aus dem Licht einen sogenannten „Squeezed“ Quantenzustand bilden lxx lxxi: Eine quantenmechanische Überlagerung aus vielen Photonenpaaren. Diese gebündelten Zustände sind die zentralen Informationseinheiten in Xanadus Quantencomputern. Anstelle von Qubits mit zwei diskreten Zuständen besitzen solche „Qumodes“ ein kontinuierlichen Spektrum von beliebig vielen Zuständen. Deshalb spricht man hier von „Continuous-Variable“-Quantencomputern. Xanadus erste Quantencomputer-Familie X8, die Firma hat mehrere Geräte dieses Typs, arbeiten mit 8 solcher Qumodes. Kurz nach dem Start kündigte Xanadu an, diese Größe jedes halbe Jahr zu verdoppeln. Mittlerweile gibt es Quantencomputer vom Typ X12, X24 und ein X40-Modell wurde bereits angekündigt. Die darauf folgende Hardware-Reihe soll Qumodes mit vollständiger Konnektivität ermöglichen lxxii.

Ein CV-Quantencomputer ist auch universell, arbeitet aber mit einem anderem Satz an Standard-Quantengattern, die die Zustandsübergänge in dem kontinuierlichen Spektrum steuern. Xanadu verwendet hierfür programmierbare Mach-Zehnder-Interferometer lxxiii über die z.B. Beam-Splitting und Phasenverschiebungen des Strahls gesteuert werden. Ein spannender Anwendungsfalls für Xanadus Quantencomputer ist das sogenannte „Boson Sampling“. Das Boson Sampling ist eines der Kandidaten um mit aktuellen Mitteln eine Quantenüberlegenheit zu erzielen (s. den Abschnitt zu Google) lxxiv. Im Fall von Xanadus Quantencomputer bedeutet dies konkret: Die Häufigkeiten von Photonen zu messen (Photonen zählen auch zu den „Bosonen“). Hierzu stellte Xanadus Software-Team ein paar interessante Anwendungsfälle vor, unter anderem das „Dense-Subgraph“-Problem lxxv lxxvi. Das Boson Sampling stelle ich nochmal im folgenden Abschnitt zu Chinas Quantencomputer näher vor, da es dort eine enscheidende Rolle spielt.

Überhaupt ist Xanadus Software-Team ziemlich fleißig. Mit „Strawberry Fields“ hat es einen sehr gut dokumentierten Framework entwickelt über den die CV-Quantencomputer ferngesteuert werden (ebenfalls auf Basis der beliebten Programmiersprache Python) lxxvii.

Wie für die anderen Herstellern ist die NISQ-Ära für Xanadu nur eine Übergangsphase und das eigentliche Ziel ist es, fehlerkorrigierte Quantencomputer zu konstruieren. Für CV-Quantencomputer wurde bereits vor vielen Jahren sogenannte GKP-Zustände vorgeschlagen lxxviii (benannt nach den Entdeckern, die „Godfathern“ der Quantenfehlerkorrektur Gottesmann, Kitaev und Preskill). Ziel ist es dabei Lichtbündel mit einem schachbrettartigen Spektrum zu erzeugen. Je nach Lage des Spektrums stellt es ein „Qubit“ im Zustand „0“ oder etwas verschoben ein Qubit im Zustand „1“ dar lxxix. Leichte Verformungen bzw. Verschiebungen des Gitters könnte man relativ verlässlich korrigieren. Wie Xanadu das alles realisieren will, stellte das Team 2020 in einer wissenschaftlichen Arbeit vor lxxx lxxxi. Die Hardware kann nur zufällig entweder die aktuell verwendeten „Squeezed“-Lichtbündel oder die gewünschten GKP-Zustände erzeugen. Erstere sollen dann aus dem Chip geleitet werden, so dass am Ende nur noch die GKP-Zustände übrig bleiben. Laut Xanadu ist die Photonik für die endgültige Skalierung der Quanten-Chips der aussichtsreichste Kandidat. Anders als für supraleitende Qubits und Ionenfallen konnten hier bereits Verschränkungen von Zehntausenden bis zu Millionen Photonen experimentell bestätigt werden. Für die Kopplung von mehreren Quanten-Chips sollen Photonen auch bei anderen Architekturen die die Quantenzustände vermitteln. In Xanadus Quantencomputer wäre das ganz ohne „Medienbruch“ möglich.

Chinas Photonischer Quantencomputer und die Quantenüberlegenheit

Im Frühjahr 2018 berichtete ich an dieser Stelle über ein überraschendes Cloud-Angebot des chinesischen Tech-Riesens Alibaba: Ein supraleitender 11-Qubit Quantencomputer lxxxii lxxxiii. Zwar forscht ein Team bei Alibaba weiterhin im Bereich Quatencomputing lxxxiv aber das Cloud-Angebot ist verschwunden. Die Seite zeigt nur noch Schriftzeichen an und dafür ist mein Chinesisch wohl zu eingerostet :-).

Mittlerweile machte aber ein ganz anderes chinesisches Quantencomputer-Projekt weltweite Schlagzeilen: Im Dezember 2020 meldete ein chinesisches Team um den Quanten-Forscher Jian-Wei Pan, von der University of Science and Technology of China, in der renommierten Fachzeitschrift Science einen Durchbruch lxxxv. Ähnlich wie Googles Team ein Jahr zuvor gelang es der Gruppe auf ihrem photonischen Apparat eine Rechenaufgabe in 200 Sekunden zu bewältigen, für die ein Supercomputer sage und schreibe 2,5 Milliarden Jahre benötigt hätte!

Eingangstor zur University of Science and Technology of China, Quelle Ryanli / Wikipedia

Anders als Googles „Sycamore“-Quantencomputer ist der chinesische Quanten-Apparat in Laborgröße weder ein universeller Quantencomputer noch ist er programmierbar, sondern besitzt einen festen Aufbau von Beam-Splittern, Spiegeln und Prismen, durch den Laserstrahlen geschickt werden. Pans Versuchsaufbau ist letztendlich eine „Boson Sampling“-Aufgabe.

Das Boson Sampling ist eines der Kandidaten, um mit aktuellen Mitteln eine Quantenüberlegenheit gegenüber herkömmlichen Computern zu erzielen. Der Forscher Scott Aaronson, den ich hier schon mehrfach erwähnt habe, hatte das Prinzip bereits 2011 mit seinem Kollegen Alex Arkhipov vorgeschlagen: Schickt man einen Strahl mit einer bestimmten Anzahl Lichtteilchen / Photonen (die nebenbei zu den Bosonen gehören), durch einen Quanten-Interferometer, der jedes einzelne Photon in viele unterschiedliche Quanten-Zustände aufteilen kann, ergibt sich für den kompletten Strahl schnell eine astronomisch hohe Zahl an Zustandskonfigurationen lxxxvi. Den chinesischen Forschern gelang es konkret einen Strahl mit 50 Photonen kontrolliert durch einen 100-Moden-Interferometer zu senden und die Photonenzahl für jede Mode über Photodetektoren zu zählen. Der Clou dabei ist: Aaronson und sein Kollege konnten seinerzeit beweisen, dass man die gemessene Häufigkeitsverteilung für solche quantenmechanische Boson-Sampling-Apparate auf herkömmlichen Computern nur einem astronomischen Aufwand berechnen kann lxxxvii. Im Gegensatz dazu kann der Apparat selbst einfach angepasst und prinzipiell auch „programmiert“ werden. Und genau darum geht es letztendlich bei Quanten-Überlegenheit.

Jian-Wei Pan ist vermutlich der international renommierteste chinesische Forscher für Quanteninformation lxxxviii. Seinen Doktortitel bekam er in Österreich bei Anton Zeilinger, der schon für seine Pionierarbeiten zur Quanten-Teleportation für den Nobelpreis vorgeschlagen wurde, und der früher nebenbei ein Kollegen der beiden Innsbrucker Forscher Zoller und Cirac war. Für Aufsehen sorgte Pan bereits 2017, als es seinem Team gelang eine Quantenverschränkung per Satelliten herzustellen und damit eine quantenverschlüsselte Kommunikation zwischen Peking und Wien einzurichten.

Wie nach Googles Nachweis der Quanten-Überlegenheit erzeugte die Veröffentlichung des chinesischen Teams eine rege Betriebsamkeit unter Forschern. Unter anderem stellte diesmal Googles Team das Ergebnis zumindest in Teilen in Frage. Unbestritten ist, dass das Experiment der bis dato bei weitem größte Boson-Sampling-Apparat ist, der jemals gebaut wurde. Unbestritten ist auch, dass man prinzipiell damit in der Lage wäre einen weiteren Nachweis der Quantenüberlegenheit durchzuführen. Mittlerweile ist sich aber sogar Scott Aaronson nicht mehr sicher, der nebenbei der Gutachter für den Science-Artikel war, ob das „Rauschen“ der Fehlerquellen bei dem Experiment am Ende doch noch eine klassische Simulation möglich machen würde lxxxix.

Die Quantencomputer-Cloudangebote von Microsofts und Amazon

Microsoft Campus in Redmon, Quelle: Coolcaesar / Wikipedia

Im Jahr 2018 berichtete ich an dieser Stelle von Microsofts ambitionierten Quantencomputer-Ambitionen. In dem Vorhaben einen „topologischen“ Quantencomputer mit eingebauter Quantenfehlerkorrektur zu konstruieren, wagten sie sich weiter in Grenzbereiche der Grundlagenforschung vor, als alle anderen Hersteller xc. Mittlerweile hat das Projekt allerdings einen herben Rückschlag erlitten und es ist abzuwarten, wie Microsoft hierauf reagiert xci.

Parallel zur dieser Entwicklung hat sich Microsoft allerdings längst als Cloudanbieter und „Reseller“ für Quantencomputer positioniert: Mit „Azure Quantum“ bietet der Konzern seit Februar 2021 einen Preview-Zugang auf die Quantencomputer von Honeywell und IonQ an.

https://azure.microsoft.com/de-de/services/quantum/

Microsoft bezeichnet Azure Quantum als „Offenes Ökosystem“ über das Anwender auf die Hardware- und Softwarelösungen von Microsoft und Partnern zugreifen können. Neben den oben genannten Quantencomputern ist dies aktuell ein GPU-gestützter Service von Toshiba, um mithilfe von herkömmlichen Computern Optimierungsprobleme zu lösen. Außerdem nennt Microsoft hier Softwarelösungen des kanadischen Startups 1Qubit und die „quanten-inspirierten“ Lösungen von Microsoft selbst. Darunter versteht man Algorithmen für herkömmliche Computer, die Quanteneigenschaften teilweise „simulieren“, wie z.B. das Tunneln der „Kostenberge“ beim Simulated Annealing (s.o.). Unter anderem hierfür hatte der Tech-Riese bereits vor Jahren renommierte Forscher für sich gewinnen können. Die Softwarelösungen sind fertige Pakete für die man insbesondere kein Knowhow in Quantencomputing benötigt xcii.

Bereits im Herbst 2017 veröffentlichte Microsoft die Erweiterung „Q#“ („Qu-Sharp“) xciii für seine bekannte Programmierumsprache „C#“ mit denen Quantenprogramme erstellt und auf herkömmlichen Computern simuliert werden können. Anders als die Python-Frameworks der anderen Quantencomputer-Anbieter besitzt Q# einen ganz eigenen Syntax. Dieser soll es in Zukunft erleichtern, die sehr spezifischen Hardwaredetails in Quanten-Programmen zu abstrahieren. Mittlerweile kann Q# in diversen Entwicklungsumgebungen, wie Microsofts „Visual Studio“ als auch per Zusatz-Plugin für das, im wissenschaftlichen Umfeld, beliebte Jupyter-Notebook verwendet werden. Neben der Software stellt Microsoft eine reichhaltige Dokumentation für den Einstieg in das Quantencomputing und für diverse Quanten-Algorithmen bereit.

09

Logo von Amazon Web Services, Quelle: Amazon.com Inc. / Wikipedia

Im August 2020 betrat ein weiterer Tech-Riese den Ring: Mit „Amazon Braket“ startete Amazon einen eigenen Cloud-Dienst für Quantencomputer.

https://aws.amazon.com/de/braket/

Amazon ist im Bereich Quantencomputing bis dahin noch nicht in Erscheinung getreten. Entsprechend baut der Konzern zunächst auf die Dienste und das Knowhow von Partnern. Über Amazon Braket, das „Braket“ im Namen verweist übrigens auf die Dirac‘sche Klammerschreibweise von Quantenzuständen, können die Quantencomputer von D-Wave, IonQ und Rigetti erreicht werden. Hinzu kommen Simulatoren für Quantenprogramme. Amazon Braket ist Bestandteil von Amazon‘s Cloudangebot AWS und intergriert sich nahtlos in das breite Spektrum der übrigen AWS-Dienste (dies gilt übrigens auch für Microsofts Azure Quantum). Zum Fernsteuern des Angebots bietet der Konzern ein „Amazon Braket Software Development Kit“ für die Programmiersprache Python an. Im Falle von D-Waves Quanten-Annealers basiert das Braket SDK dabei auf dem Ocean SDK von D-Wave, das ich bereits weiter oben erwähnt habe.

Mit dem „Amazon Quantum Solutions Lab“ hat der Tech-Riese außerdem eine enge Zusammenarbeit mit dem California Institute of Technology (Caltech) gestartet, einer der führenden Hochschulen im Bereich Quantencomputing, und koorperiert von dort unter anderem mit verschiedenen Startups im Bereich Quantencomputing-Software. Das Solutions Lab soll Kunden und Anwender beim Einstieg in das Quantencomputing und bei Projektarbeiten unterstützen. Mittlerweile mehren sich außerdem die Hinweise, dass Amazon damit begonnen hat, an einer eigenen Quantencomputer-Hardware zu arbeiten.

Fußnoten

i Die Lehrbuch-Darstellung eines Qubits verwendet die sogenannte „Blochsphäre“. Diese gibt alle Freiheitsgrade eines 1-Qubit-Systems exakt wieder.

Quelle: Glosser.ca / Wikipedia

Allerdings lässt sie sich nicht einfach auf Mehr-Qubit-Systeme verallgemeinern. Insbesondere verhält sich ein Zwei-Qubit-System gerade nicht wie zwei Bloch-Sphären. In meiner vereinfachten Darstellung lässt sich eher erahnen, wie es mit steigender Qubitanzahl weitergeht:

Vereinfachte Darstellung eines Zwei-Qubit-Systems

ii https://quantumcomputing.stackexchange.com/questions/3860/how-many-qubits-are-simulable-with-a-normal-computer-and-freely-accessible-simul: Forum-Beitrag „How many qubits are simulable with a normal computer and freely accessible simulators?“ auf Quantum Computing Stack Exchange bei dem man einen ersten Eindruck bekommt.

iii Um einen Quantencomputer mit etwa 250 Qubits zu simulieren, müsste man jedes Atom des Weltalls in ein Bit für herkömmliche Computer umwandeln.

iv Die T1-Decoherence-Time misst die durchschnittliche Zeit, für die Bit-Flip-Fehler auftreten können. D.h. das Qubit, das eigentlich im Zustand „1“ ist, wechselt in den Zustand „0“. Supraleiter-Qubits erzielen hier Werte im 100er Mikrosekunden-Bereich während Ionen-Qubits mehrere Stunden schaffen können. Die T2-Decoherence-Time ist die durchschnittliche Dauer, bis ein überlagertes Qubit seine relative Phase verliert (also „1“ + „0“ zu „1“ – „0“ wird). Bei supraleitenden Qubits sind T1- und T2-Zeiten vergleichbar. Ionen-Qubits schaffen hier Werte von 1 Sekunde. Die T1-Fehlerquelle gibt es im Prinzip auch bei herkömmlichen Computern, die T2-Fehlerquelle jedoch nicht.

v https://arxiv.org/abs/2006.02856: „The Bitter Truth About Quantum Algorithms in the NISQ Era“ wissenschaftliche Arbeit von Frank Leymann von der Universität Stuttgart über die Einschränkungen von aktuellen Quantencomputern und was das für Auswirkungen auf Lehrbuch-Quantenalgorithmen hat. Einen Vortrag von Frank Laymann zu der Arbeit finden Sie hier https://www.youtube.com/watch?v=z6zllSVvyu0

vi Einen Eindruck von der Fülle an wissenschaftlichen Arbeiten zu NISQ-Quantencomputer und ihren Anwendungen bekommen Sie im „NISQ Computing Newsletter“ vom „Research Institute for Advanced Computer Science“ https://riacs.usra.edu/quantum/nisqc-nl. Offen ist allerdings tatsächlich, ob sich aus diesen Arbeiten ein praktischer Quantenvorteile erzeugen lässt: Während die Roadmaps anderer Hersteller einen Quantenvorteil in der NISQ-Ära fast schon fest einplanen, hat Googles Quantencomputing-Forscher Guillaume Verdon im September 2020 eine informelle und vermutlich nicht repräsentative Umfrage gestartet „Odds that any party manages to discover and implement a truly quantum-advantageous industry-relevant application in the NISQ era“. Eine Mehrheit tendierte dabei zu „eher nicht“ https://twitter.com/quantumVerd/status/1306434913198112769. Als Rückschlag, gerade auch für die supraleitenden NISQ-Quantencomputer mit begrenzter Konnektivität, muss auch diese theoretische Untersuchung von IBM gewertet werden, die das Potential von herkömmlichen und Quanten-Computern vergleicht: https://www.ibm.com/blogs/research/2021/01/quantum-mean-values/.

vii https://www.youtube.com/watch?v=kE6lgJFYYLc: In dem Vortrag „Surveying the Quantum Computing Market Landscape“ auf der virtuellen Konferenz Quantum For Business 2020 stellte Bob Sorensen von der Hyperion Research, LLC eine detaillierte Analyse des Quantencomputer-Marktes vor. Darin erläuterte er unter anderem eine Umfrage über die kommenden Budget-Pläne von 130 nordamerikanischen Unternehmen. Der Umfrage zur Folge gaben 32% der Firmen an für 2019 überhaupt keine Ausgaben für das Quantencomputing eingeplant zu haben. Diese Zahl fällt bis 2024 auf unter 3% wohin gegen das Gesamtbudget für den Quantencomputing-Markt von 300 Mio. Dollar auf über 1 Milliarde Dollar steigt. Sicher bilden die befragten Firmen keinen repräsentativen Querschnitt durch die Volkswirtschaft aber ich denke, dass man die Tendenz verallgemeinern kann.

viii Eine schöne, detaillierte Beschreibung des „Quantum Volume“-Protokolls finden Sie auf den Pennylane-Seiten des Herstellers Xanadu https://pennylane.ai/qml/demos/quantum_volume.html (bzw. archiviert https://web.archive.org/web/20201216123226/https://pennylane.ai/qml/demos/quantum_volume.html)

ix https://www.scottaaronson.com/blog/?p=4649: Scott Aaronsons Blog-Post „Turn down the quantum volume“

xii Da die Supraleiter-Technologie viele Architektur-Ansätze möglich macht, gibt es auch viele Artikel und Arbeiten dazu. Eine aktuelle Übersicht von 2020 finden Sie z.B. in https://arxiv.org/abs/2006.10433: Wissenschaftliche Arbeit „Superconducting Quantum Computing: A Review“ u.a. von der University of Science and Technology of China.

xiii In einem normalen Quantenschwingkreis sind die Zustände wie die Sprossen auf einer Leiter verteilt. Normalerweise würden die Zustände dadurch beliebig hoch- und herunterklettern. Durch die Josephson Junctions wird diese Leiter verformt. Die Zustände sind dadurch ähnlich wie in einem Atom verteilt. In Circuit QED spricht man daher von einem „künstlichen Atom“. Das „einfarbige“ Mikrowellenlicht, das die Übergänge zwischen dem Zustand „0“ und „1“ erzeugt, ist dadurch unsichtbar für alle weiteren Übergänge.

xiv https://www.youtube.com/watch?v=AqoKpUDchYo&list=PL5jmbd6SJYnPiYlM6pHAm2M3FL40D9otZ: Eine schöne Vortragsreihe „The Building Blocks of a Quantum Computer“ von kurzen Videos der TU Delft. Das Institut QuTech ist eine der ersten Adressen für das Quantencomputing innerhalb Europas.

xv https://www.youtube.com/watch?v=FklMpRiTeTA: Gefeierter Vortrag von John Martinis am Caltech „Quantum supremacy using a programmable superconducting processor“. Absolut sehenswert!

xvi https://en.wikipedia.org/wiki/Toric_code: Beschreibung des „Surface Code“ bzw. „Toric Code“ zur Quantenfehlerkorrektur auf Wikipedia. Der Surface Code ist ein sogenannter „topologischer“ Fehlercode, der physikalische Qubits zu geometrischen Gruppen mit bestimmten globale Eigenschaften zusammenfasst (z.B. eine einfache Schleife, eine zweifache Schleife, …). Diese geometrischen Eigenschaften sind quasi immun gegen kleinere, lokale Veränderungen.

xvii Das Ende der so erfolgreichen Zusammenarbeit von John Martinis und Google überraschte die gesamte Quanten-Gemeinde. Später erläuterte John Martinis die Hintergründe die dazu führten erstaunlich offen in einem Interview mit Forbes https://www.forbes.com/sites/moorinsights/2020/04/30/googles-top-quantum-scientist-explains-in-detail-why-he-resigned/ . Aktuell arbeitet Martinis mit dem australischen Startup Silicon Quantum Computing für Quantum-Dot-Qubits zusammen.

xviii https://www.youtube.com/watch?v=TJ6vBNEQReU&feature=youtu.be&list=PLQY2H8rRoyvx4VttfJOPRslw8XWT7yaBJ&t=967: Vortrag von Googles AI Quantum Team-Leader Hartmut Neven über die Roadmap seines Hardware-Teams (im Rahmen von Googles Quantum Summer Symposium Konferenz 2020)

xix https://www.youtube.com/watch?v=tY2L41VHI3I: Vortrag „Building a Practical Error-Corrected Quantum Computer in 10 Years“ von Googles Teamleitern auf der virtuellen Konferenz Quantum For Business 2020. Darin wird das Kern-Team nach John Martinis Abgang von Google vorgestellt. Außerdem erläutern Googles Forscher ihr erstes Nahziel: Zu prüfen, ob das Paradigma der Quantenfehlerkorrektur in der Praxis umgesetzt werden kann. Können physikalische Qubits zu einem logischen Qubit zusammengefasst werden und verbessert sich mit jedem weiteren physikalischen Qubit die Güte dieses logischen Qubits exponentiell?

xx https://quantumai.google/: Homepage von Google Quantum AI

xxi https://www.youtube.com/watch?v=fqI_IsQX6Kg: Vortrag „Quantum Applications Development at Google“ von Ryan Babbush im Dezember 2019

xxiv https://www.tensorflow.org/quantum: Homepage von TensorFlow Quantum. TensorFlow Quantum ist eine Cirq-Erweiterung von Googles beliebten AI-Framework TensorFlow,

xxv https://www.sciencedaily.com/releases/2001/12/011220081620.htm: Über IBMs experimentellen Beweis zu Shor‘s berühmten Algorithmus. In diesem Fall konnte IBM einen Mini-Quantencomputer konstruieren, der in der Lage war die Zahl 15 in die Faktoren 5 und 3 aufzuteilen. Dies mag zwar fast lächerlich erscheinen aber auf der anderen Seite war diese Arbeit der erste Hinweise darauf, dass der Algorithmus tatsächlich programmiert werden kann. Damals setzte man übrigens noch auf die NMR- bzw. Kernspin-Technologie, die man unter anderem aus Krankenhäusern her kennt. Später stellte sich dieser Ansatz allerdings als Sackgasse heraus.

xxvi https://www.youtube.com/watch?v=uk6d175AC7A: Vortrag „A View of the Road Ahead from IBM“ von IBMs Anthony Annunziata auf der virtuellen Konferenz Quantum For Business 2020. https://www.ibm.com/blogs/research/2020/05/quantum-challenge-results/, https://www.ibm.com/blogs/research/2020/04/ibm-quantum-challenge/ : Blog-Einträge von IBMs Quantum-Team die den Umfang und die Akzeptanz von IBMs Cloudangebot Quantum Experience verdeutlichen.

xxviii https://quantum-computing.ibm.com/composer/docs/guide/ : Userguide auf IBMs Quantum Experience

xxix https://qiskit.org/textbook/preface.html: Homepage zu IBMs Qiskit-Lehrbuch, ein sehr einfacher aber gelungener Einstieg in das Quantencomputing.

xxx https://www.ibm.com/blogs/research/2020/09/ibm-quantum-roadmap/: Blogeintrag von IBMs Quantum-Team zur Hardware-Roadmap für die nächsten Jahre.

xxxi https://www.ibm.com/blogs/research/2020/09/hardware-aware-quantum/: Blogeintrag von IBMs Quantum-Team über die zukünftige Qubit-Topologie und dem speziell dafür optimierten Algorithmus zur Quantenfehlerkorrektur.

xxxii https://www.ibm.com/quantum-computing/network/members: Mitglieder des IBM Quantum Network

xxxiii https://arxiv.org/abs/1904.01502: Wissenschaftliche Veröffentlichung „Quantum advantage with noisy shallow circuits in 3D“ u.a. von IBMs Sergey Bravyi, David Gosset und Robert König von der Technischen Universität München. Diese Arbeit belegt zumindest theoretisch, dass selbst mit NISQ-Quantencomputern ein Quantenvorteil gegenüber herkömmlichen Computern möglich sein müsste. Und anders als Googles „Random Circuit Sampling“-Algorithmus ist die betreffende Aufgabe ein „sinnvolles“ Problem: Finde den „geheimen“ Schlüssel, der eine spezielle mathematische Aufgabe löst. Die Komplexität des Problems wächst auf einem herkömmlichen Computer, selbst wenn diesem zusätzliche Prozessorkerne hinzugefügt werden. Auf einem NISQ-Quantencomputer bleibt die Komplexität dagegen konstant. Allerdings lässt sich dadurch noch keine praktische Anwendung ableiten und das Leistungspotential ist nur logarithmisch besser (ganz im Gegensatz zu Googles exponentieller Steigerung).

xxxiv https://www.rigetti.com: Homepage der Firma Rigetti Computing.

xxxv https://arxiv.org/abs/1801.03897: „Cloud Quantum Computing of an Atomic Nucleus“ Fachartikel

xxxvi https://en.wikipedia.org/wiki/Cirac%E2%80%93Zoller_controlled-NOT_gate: Wikipedias Artikel zu Cirac und Zollers Ansatz für ein CNOT-Quantengatter, eine zentrale und besonders herausfordernde Komponente jedes Quantencomputers. Die Ionenfallen-Quantencomputer, die ich in diesem Artikel erwähne, verwenden alle eine Weiterentwicklung dieses Ansatzes von Mølmer und Sørensen.

xxxvii https://www.quantiki.org/wiki/ion-traps: Sehr schöner und einfacher Überblick über Ionenfallen-Quantencomputer.

xxxviii http://research.physics.berkeley.edu/haeffner/publications/review-QC-IISc-090306.pdf: Detailliertere Artikel „Quantum computing with trapped ions“ von Hartmut Häffner (der ebenfalls aus dem Innsbrucker Team stammt). Beschreibt unter anderem die verschiedenen Ansätze für CNOT-Gatter und u.a. auch den Mølmer-Sørensen-Ansatz.

xxxix Zwar ist es nicht möglich ein einzelnes geladenes Atom in einem statischem elektrischen Feld einzufangen. Die Idee der Paulfalle war es, hierfür ein rotierendes elektrisches Wechselfeld zu verwenden. Näheres unter https://de.wikipedia.org/wiki/Paul-Falle

xl https://www.aqt.eu/qc-systems/: Die Firma Alpine Quantum Technologies „AQT“ wurde aus der Zusammenarbeit der Universität Innsbruck und der Österreichischen Akademie der Wissenschaften gegründet. Offizielle Informationen zu dem 19“-Rack Quantencomputer, der aktuell nur Partnern zur Verfügung steht, gibt es noch nicht. AQT‘s Quantencomputer soll über die Python-Frameworks Qiskit, Cirq und Pennylane ferngesteuert werden können.

xli https://www.nist.gov/publications/demonstration-fundamental-universal-quantum-logic-gate: Wissenschaftliche Arbeit „Demonstration of a Fundamental Quantum Logic Gate“ von Christopher Monroe u.a. über die experimentelle Bestätigung von Cirac und Zollers CNOT-Gatter.

xlii https://www.youtube.com/watch?v=LRzhb7OkQ9s: Vortrag „Shaping the future of quantum computing“ vom Tony Uttley, dem Quantum Teamleader von Honeywell

xliii https://arxiv.org/abs/2003.01293: Wissenschaftliche Arbeit „Demonstration of the QCCD trapped-ion quantum computer architecture“ von Honeywells Team zum Hardwareansatz des eigenen Quantencomputers.

xliv https://en.wikipedia.org/wiki/Bernstein%E2%80%93Vazirani_algorithm: Wikipedia-Einführung für den Bernstein-Vazirani-Algorithmus

xlv https://en.wikipedia.org/wiki/Hidden_shift_problem: Kurze Erläuterung zum Hidden-Shift-Problem auf Wikipedia

xlvi https://www.youtube.com/watch?v=9aOLwjUZLm0: Sehr schöner Vortrag von Christopher Monroe über das Quantencomputing mit Ionenfallen-Quantencomputern. Ab Min. 0:22 erläutert er die Funktionsweise und die Vorteile von Ionenfallen-Quantencomputern. Am Ende des Videos geht er auch kurz auf das Startup „IonQ“ ein.

xlvii https://arxiv.org/abs/1208.0391: „Large Scale Modular Quantum Computer Architecture with Atomic Memory and Photonic Interconnects“: Gemeinsame Arbeit von Monroe und Kim, wie man mehrere Ionenfallen über Photonenkopplungen zu einem gro0en Ionenfallen-Quantencomputer skalieren könnte.

xlviii https://arxiv.org/abs/1903.08181: Wissenschaftliche Arbeit „Benchmarking an 11-qubit quantum computer“ von IonQs Team, in der sie Details zum Quantencomputer und zu den Benchmarks bekanntgeben.

l https://en.wikipedia.org/wiki/Quadratic_unconstrained_binary_optimization: Definition eines QUBO-Problems auf Wikipedia. Allerdings sollte man sich davon nicht allzu sehr entmutigen lassen: QUBO-Probleme können tatsächlich auf viele Problem-Felder angewendet werden.

li Den Quantencomputer von D-Wave auf bloße Optimierungsaufgaben zu reduzieren wäre tatsächlich eine starke Untertreibung. Es zeigt sich nämlich, dass viele andere Aufgabengebiete in Optimierungsprobleme übersetzt werden können (u.a. im Maschine Learning, atomare Simulationen und selbst in abgewandelter Form die Primzahlzerlegung)-

lii https://arxiv.org/abs/1611.04471: wissenschaftliche Arbeit von T. Albash, D. A. Lidar „Adiabatic Quantum Computing“

liii https://de.wikipedia.org/wiki/Simulierte_Abk%C3%BChlung : Wikipedia-Beschreibung des Prinzips der simulierten Abkühlung

liv Dabei springt es bei diesem Vorgang nach und nach über alle lokalen Täler und findet irgendwann den höchsten Berg, also das globale Optimum. Aber ein Bild sagt mehr als 1000 Worte: Dieses Gif von Wikipedia sagt eigentlich schon alles aus.

Quelle: Kingpin13 / Wikipedia

lv Die Grundlage des Adiabatischen Prinzips ist bereits seit den Gründerzeiten der Quantenmechanik bekannt https://de.wikipedia.org/wiki/Adiabatisches_Theorem_der_Quantenmechanik: Sofern das eigentliche Problem (bzw. dessen „Hamilton-Operator“) langsam genug dazugeschaltet wird, verbleiben die Qubits die ganze Zeit im Grundzustand des Gesamtproblems. Dabei ist das Wort „Langsam“ der springende Punkt: Diese Zeit hängt vom Kehrwert der Differenz der Kostenfunktion des Grundzustandes und des ersten „angeregten“ Zustandes im Verlauf der Schaltung ab. Mit zunehmender Problem-Komplexität wird diese Differenz immer kleiner und die Schaltungszeit muss immer mehr verlängert werden. Schaltet man das Optimierungsproblem zu schnell dazu, springen die Qubits aus dem Grundzustand heraus.

lvi Dieser Satz von speziellen Quantenbausteinen wird auch „Ising-Modell“ genannt. Das Ising-Modell vereinfacht die Wechselwirkungen in komplexen Quantensystemen so geschickt, dass es in der theoretischen Physik gerne als vereinfachtes Modell für zu komplizierte Systeme verwendet wird (z.B. als Modell für den Ferromagnetismus).

lvii https://www.nature.com/articles/srep37107/figures/1: Jedes Qubit ist in einer Chimera-Zelle enthalten. Die benachbarten Zellen können miteinander verschaltet werden. Jede Chimera-Zelle besteht aus zwei 4er-Reihen von Qubits. Darin kann jedes Qubit einer Reihe mit jedem Qubit der Nachbarreihe verschaltet werden: Ein sogenannter „complete bipartite graph“. https://arxiv.org/abs/1508.05087: Durch den Fertigungsprozess können nur etwa 95% der Qubits wirklich verwendet werden. Im Anhang A wird dies im Detail sehr anschaulich dargestellt.

lviii Das Prinzip der Pegasus-Graphen wesentlich komplexer https://docs.dwavesys.com/docs/latest/c_gs_4.html#pegasus-graph. Die Qubits werden hier mehreren Gruppen zugeordnet die durch drei sich ergänzenden Kopplungsarten verschaltet sind.

lix https://www.dwavesys.com/take-leap: Das Cloud-Angbot von D-Wave.

lx https://docs.ocean.dwavesys.com/en/stable/getting_started.html: D-Waves Python-Framework „Ocean“. Hier finden Sie übrigens auch diverse Codebeispiele. Wie die anderen Frameworks der Konkurrenz wird „Ocean“ als OpenSource-Projekt auf Github gehostet.

lxii Termine und vergangene Konferenzen der „D-Wave Qubits“ googeln Sie am besten z.B. https://www.dwavesys.com/qubits-europe-2019

lxiii https://arxiv.org/abs/1708.01625: Wissenschaftliche Arbeit von Volkswagen (Team um Florian Neukart) und D-Wave „Traffic flow optimization using a quantum annealer“. Diese Arbeit war meines Wissens die erste über einen praktischen Usecase, der mit Hilfe eines Quantencomputers bearbeitet werden konnte. Auf der Websummit 2019 stellten sie hierzu ein überarbeitetes Verfahren im produktiven Einsatz vor https://arxiv.org/abs/2006.14162 / „Quantum Shuttle: Traffic Navigation with Quantum Computing“

lxiv https://www.scottaaronson.com/blog/?p=4794: Scott Aaronsons Blog-Beitrag über die wissenschaftliche Arbeit „The Power of Adiabatic Quantum Computation with No Sign Problem“ von Matt Hastings.

lxv https://arxiv.org/abs/1907.00707: wissenschaftliche Arbeit von Googles Quantum AI-Team „Quantum-Assisted Genetic Algorithm“, die Hinweise darauf gibt, dass für gewisse genetische Algorithmen das Quanten Annealing mit weniger Rechenschritten auskommen kann.

lxvi https://www.xanadu.ai: Homepage der kanadischen Firma Xanadu

lxvii https://arxiv.org/abs/1607.08535: „Why I am optimistic about the silicon-photonic route to quantum computing“, Artikel von Terry Rudolph

lxviii https://www.youtube.com/watch?v=Yi6jA-HDrEo : Vortrag „Unique architectures for photonic quantum computing“ von Naomi Nickerson über den Quantencomputer-Ansatz von PsiQuantum. https://www.youtube.com/watch?v=HEe53OE3HbU: Kurzer Vortrag von Jeremy O’Brien auf dem World Economic Forum.

lxix https://thequantumdaily.com/2020/04/07/psiquantum-quantum-computer-startup-raises-230-million-possibly-largest-qc-investment-to-date-2/: News-Meldung zu PsiQuantums rekordverdächtigen $215 Million-Fundraiser im Frühjahr 2020

lxx https://medium.com/xanaduai/a-day-in-the-life-of-xanadus-hardware-team-c19bab2b456d: Eine schöne Erläuterung von Xanadus-Team, was ein Phasenraum ist und wie ein Squeezed-State darin dargestellt wird.

lxxi https://en.wikipedia.org/wiki/Squeezed_coherent_state#Two-mode_squeezed_states: Hier die formularer Wikipedia-Beschreibung eines Two-Mode-Squeezed States, die Xanadu konkret verwendet.

lxxii https://www.youtube.com/watch?v=vF6PkXmo2XA: Vortrag „Scaling Photonic Quantum Computers“ von Zachary Vernon, Hardwarechef von Xanadu auf der virtuellen Konferenz Quantum For Business 2020. Sehr viel Information in 20 Minuten: In dem Vortrag gibt Vernon einen schönen Kompletten-Überblick über den aktuellen Stand, Hardwarepläne und Softwarelösungen von Xanadu.

lxxiii https://de.wikipedia.org/wiki/Mach-Zehnder-Interferometer: Wikipedia-Beschreibung eines Mach-Zehnder-Interferometers

lxxiv https://www.scottaaronson.com/blog/?p=1631: Blogbeitrag „BosonSampling Lecture Notes from Rio“ von Scott Aaronson einem der Erfinder des Boson Samplings. Die Links bieten eine umfassende Einführung in das Thema und erläutern u.a. warum Boson Sampling vermutlich mit keinem klassischen Computer effizient simuliert werden kann: Es zeigt sich nämlich, dass die Verteilungswahrscheinlichkeiten beim Boson Sampling mit einem schwer zu berechnenden mathematischen Objekt zusammenhängt: Die „Permanente“ einer Matrix.

lxxv https://arxiv.org/abs/1912.07634: Wissenschaftliche Arbeit „Applications of Near-Term Photonic Quantum Computers: Software and Algorithms“ von Xanadus Algorithms-Team

lxxvi https://arxiv.org/abs/1803.10730: Wissenschaftliche Arbeit „Using Gaussian Boson Sampling to Find Dense Subgraphs“ von Xanadus Algorithms-Team. „Graphen“ in Form von Knotenpunkten und Kanten, die diese Knoten verbinden, stellen ein beliebtes Hilfsmittel in der Mathematik und in den Computerwissenschaften dar. Mithilfe von Graphen lassen sich Beziehungen abbilden (z.B. verlinkte Internetseiten, in soziale Medien, …).

lxxvii https://strawberryfields.ai/photonics/index.html: Homepage von Xanadus Python-Framework „Strawberry Fields“ für das CV-Quantencomputing. Auf den sehr gut dokumentierten Folgeseiten wird teilweise auch die Hardware vorgestellt und in das CV-Quantencomputing im Allgemeinen eingeführt. Aber Hand aufs Herz: Auch wenn Xanadu sich dabei wirklich Mühe gibt, anders als für das Qubit-Quantencomputing benötigt man für das CV-Quantencomputing einiges an Grundlagen in Quantenmechanik und eigentlich auch in Quantenfeldtheorie (da man es hier mit beliebig vielen Teilchenzuständen zu tun hat).

lxxviii https://arxiv.org/abs/quant-ph/0008040: Wissenschaftliche Arbeit „Encoding a qubit in an oscillator“ von den „Godfathern“ der Quantenfehlerkorrektur Gottesmann, Kitaev und Preskill um CV-Quantencomputer in Quantencomputer mit fehlerkorrigierten Qubits zu überführen.

lxxix https://medium.com/xanaduai/from-a-state-of-light-to-state-of-the-art-the-photonic-path-to-millions-of-qubits-c0e08ca1cb21: Artikel „Riding bosonic qubits towards fault-tolerant quantum computation“ von Xanadu, in dem das Prinzip von GKP-Zuständen anschaulich erklärt wird.

lxxx https://arxiv.org/abs/2010.02905: Wissenschaftliche Arbeit „Blueprint for a Scalable Photonic Fault-Tolerant Quantum Computer“ in der Xanadu den Architekturansatz für einen fehlerkorrigierten Quantencomputer vorstellt. Der Text ist allerdings schwer verdaulich. Als Einstieg empfehle ich eher den folgenden Artikel:

lxxxi https://medium.com/xanaduai/riding-bosonic-qubits-towards-fault-tolerant-quantum-computation-95b92c78cb43: Artikel „From a state of light to state of the art: the photonic path to millions of qubits“ von Xanadus Team, der die Grundaussagen aus dem Paper wesentlich leichter verdaulicher erklärt.

lxxxiii http://quantumcomputer.ac.cn/index.html: Mittlerweile zeit das damalige Cloud-Angebotvon Alibaba nur noch Schriftzeichen an.

lxxxiv https://arxiv.org/abs/2005.06787: Wissenschaftliche Arbeit „Classical Simulation of Quantum Supremacy Circuits“ von Alibabas Quantum Team über ein verbessertes Simulationsverfahren für Quanten-Schaltkreise auf herkömmlichen Computern.

lxxxv https://science.sciencemag.org/content/370/6523/1460: Chinas wissenschaftliche Veröffentlichung „Quantum computational advantage using photons“ in der Fachzeitschrift „Science“. Und hier der öffentlich zugängliche Link zu der Vorveröffentlichung derselben Arbeit auf arxiv.org https://arxiv.org/abs/2009.01177: „Benchmarking 50-Photon Gaussian Boson Sampling on the Sunway TaihuLight“. Wie bei allen Hardware-Veröffentlichungen muss man schon ziemlich tief in der Thematik drinstecken, um dem Artikel zu folgen. Aber man bekommt einen Eindruck, wie ungeheur komplex die Herausforderung ist (und die einführenden Passagen sind auf jeden Fall lesenswert)

lxxxvi Wie die astronomisch hohe Zahl zustande kommt, kann man sich leicht klar machen. Versucht man N Tennisbälle in M Körbe zu verteilen merkt man: Mit jedem weiteren Korb vervielfacht sich die bisherige Anzahl die Bälle in die Körbe zu verteilen, also eine exponentielle Steigerung.

lxxxvii Um die Häufigkeitsverteilung vom Boson-Sampling zu berechnen, muss man die „Permanente einer unitären Matrix“ berechnen. Letztere wird exponentiell groß. Aaronson und Arkhipov wussten, dass diese Aufgabe keinen effizienten klassischen Algorithmus besitzen kann, weil dies am Ende allgemein vermuteten Gesetzmäßigkeiten der Komplexitätstheorie widersprechen würde. Falls Sie sich das Thema genau ansehen wollen empfehle ich Ihnen https://www.scottaaronson.com/blog/?p=1631: Scott Aaronsons Übersichtsseite „BosonSampling Lecture Notes from Rio“. Die Links bieten eine umfassende Einführung in das Thema und erläutern u.a. warum Boson Sampling vermutlich mit keinem klassischen Computer effizient simuliert werden kann. Hier erfahren Sie auch Details über das „Gaussian Boson Sampling“, die Ausprägung, die von den chinesischen Forschern verwendet wurde. Dass das Boson Sampling ein super-effizienter Weg ist, um die Permanente einer unitären Matrix zu berechnen, ist auch der Grund für seine Anwendungen: Das Dense-Sub-Graph-Problem lässt sich nämlich z.B. ebenfalls auf die Permanente einer unitären Matrix umwandeln.

lxxxviii https://www.spektrum.de/news/ich-bin-froh-ueber-meine-rueckkehr-nach-china/1526607: Interview von der Spektrum-Redaktion mit Jian-Wei Pan im Jahr 2017.

lxxxix https://www.scottaaronson.com/blog/?p=5159: Scott Aaronsons sehr detaillierter Blogeintrag „Chinese BosonSampling experiment: the gloves are off“. Am Betrag und an dessen Kommentarbereich bekommen Sie unter anderem einen Eindruck davon, wie der Puls der Forschung in Echtzeit funktioniert. Unter anderem erläutert Aaronson auch, dass der Photon-Loss von 70%, der bei dem Experiment gemessen wurde, eine Simulation durch einen klassischen Rechner eventuell möglich machen könnte. Außerdem erläutert er, dass man ähnliches bei Googles Experiment mit Sicherheit ausschließen kann, weil dort mit dem „Linear Cross-Entropy“ ein Verfahren existiert, über das man sicherstellen kann, ab wann die gemessenen Ergebnisse klassisch nicht reproduzierbar sind.

xc Die topologischen Quantencomputer wurden im Jahr 1997 von dem theoretischen Physiker Alexei Kitaev vorgeschlagen, der auch bereits zuvor den zentralen Algorithmus für die Quantenfehlerkorrektur entdeckt hatte. Sie ahnen es wohl: Ein topologischer Quantencomputer hat quasi eine eingebaute Quanten-Fehlerkorrektur. Das Herzstück der topologischen Quantencomputer sind sogenannte „Majorana-Quasiteilchen“, mit denen man ein einzelnes Qubit räumlich in die Länge ausdehnen kann. Die Quanteninformation in einem Qubit ist damit nicht mehr in einem einzelnen Punkt im Raum lokalisiert und kann nur noch über koordinierte Aktionen auf ganze Raumbereiche verändert oder ausgelesen werden. Das ganze Konzept der topologischen Quantencomputer ist so neu, dass die ersten Hinweise für Majorana-Quasiteilchen vor gerade mal zehn Jahren gefunden wurden. Näheres erfahren Sie hier https://www.nature.com/news/inside-microsoft-s-quest-for-a-topological-quantum-computer-1.20774 und in https://arxiv.org/abs/1501.02813: „Majorana Zero Modes and Topological Quantum Computation“, Fachartikel von Michael Freedman et al.

xci https://www.wired.com/story/microsoft-win-quantum-computing-error/: Der sehr detaillierte Artikel „Microsoft’s Big Win in Quantum Computing Was an ‘Error’ After All“ über Microsofts Ambitionen und über den herben Rückschlag des Projektes. Anscheinend wurden Daten die 2018 zur Meldung eines Durchbruchs führten „fehlinterpretiert“ bzw. die Daten, die nicht passten, wurden in der Analyse weggelassen.

xcii https://docs.microsoft.com/en-us/azure/quantum/overview-azure-quantum: Überblick, einige Quick-Start-Beispiele für die verschiedenen Azure-Quantum-Dienste und eine komplette Referenzdokumentation für das Quantum Development Kit QDK von Microsoft.

Quantencomputer programmieren mit IBMs Qiskit

Quantencomputer besitzen das Potential gewissse, zentrale Computer-Anwendungen extrem abzukürzen. Dazu zählen etwa atomare Simulationen, Optimierung. Maschinenlernen und Finanzmathematik. Ermöglicht wird dies durch die faszinierende Quantenlogik. Die Hersteller der ersten Quantencomputer stellen für diese andersartige Logik spezielle Programmier-Schnittstellen für herkömmliche Computer bereit. Wie so ein Quanten-Programm konkret aussieht, stelle ich Ihnen hier am Beispiel von IBMs Quantencomputer und dem berühmten Grover-Quantenalgorithmus vor.

 

Eine Idee wird geboren

Im tiefsten Inneren funktioniert die Natur nicht nach unseren Alltagsgesetzen, sondern nach den rätselhaften Gesetzen der Quantenwelt. Aus diesem Grund stoßen herkömmliche Computer schnell an ihre Grenzen, wenn es darum geht Naturprozesse im atomaren Maßstab zu berechnen. Vor über 30 Jahren hinterließ der legendäre Physiker Richard Feynman der Wissenschaftswelt ein visionäres aber nahezu aussichtsloses Vermächtnis: Erst wenn es uns gelänge Computer zu konstruieren, die auf eben dieser Quantenlogik basieren, könnten wir die Natur letztendlich effizient simulieren und grundlegend berechnen.

Im Laufe der Zeit kamen weitere Anwendungsgebiete hinzu, für die Quanten-Forscher, dank der Quantenlogik, extrem abgekürzte Rechenwege voraussagten. Zu diesen Anwendungen zählen etwa Optimierungsaufgaben. Maschinenlernen und Finanzmathematik. Einige der Quanten-Algorithmen, die dafür gefunden wurden, stelle ich meinen Artikel „Anwendungen für Quantencomputer“ genauer vor.

Was ist ein Quantencomputer?

Was ist nun das Besondere an der Quantenlogik?

Nehmen wir z.B. den elementaren Baustein für herkömmliche Computer: Dem Bit. Ein Bit ist ein elektronischer An- / Ausschalter, dem man einfach die Werte 1 und 0 zuschreibt. Die Kombination vieler Bits ermöglicht nun beliebige Daten zu speichern und zu verändern.

In der Welt der Quantencomputer spricht man nicht von Bits, sondern von „Quanten-Bits“ bzw. „Qubits“. Genauso wie herkömmliche Bits können Qubits die Werte 0 oder 1 annehmen. Darüber hinaus können sie sich aber auch in „überlagerten“ Zuständen von sowohl 0 als auch 1 befinden.

Um dies zu veranschaulichen, verwende ich auf „quantencomputer-info.de“ eine Qubit-Darstellung, die gegenüber der Lehrbuchdarstellung vereinfacht ist aber dem Kern bereits sehr nahe kommt: Ein einfacher Zeiger in einer Ebene. Folgendes Qubit ist zum Beispiel zu gleichen Teilen sowohl im Zustand 0 als auch im Zustand 1.

Im Verlauf einer Quantencomputer-Programms werden die Qubits durch den Einsatz von sogenannten „Quantengattern“ gedreht und am Ende ausgemessen. Durch diese Messung „entscheiden“ sich die Qubits jeweils für einen der beiden Werte: 0 oder 1. Diese Entscheidung geschieht am Ende zufällig und unterliegt den Gesetzen der Quantenmechanik. Die Kunst besteht nun darin, diese Wahrscheinlichkeitsverteilung gezielt zu steuern: Im Verlaufe dieses Artikels werden Sie einen genauen Eindruck davon bekommen.

Der eigentliche Clou der Qubits ist Folgender: Ein Quantencomputer verdoppelt seine potentielle Rechenstärke mit jedem zusätzlichen Qubit. Also exponentiell!

Noch viel mehr über die fundamentalen Unterschiede zwischen einem herkömmlichen Computer und einem Quantencomputer erfahren Sie in meinem Einstiegsartikel „Der unglaubliche Quantencomputer einfach erklärt“.

Vor gut zwei Jahrzehnten fingen auch die Tech-Riesen an, sich mit der neuen Technologie zu befassen. Der Bau von leistungsstarken Quantencomputern ist eine Herkulesaufgabe, bei der wir noch ganz am Anfang stehen. Allerdings stehen mittlerweile die ersten Quantencomputer-Angebote von Tech-Firmen in der Cloud bereit. Verfügbar für jedermann. Den aktuellen Stand beschreibe ich in meinem Artikel „Welche Quantencomputer gibt es jetzt schon?“.

Die aktuellen Quantencomputer befinden sich noch in der sogenannten „NISQ-Ära“. Das steht für „Noisy Intermediate Scale Quantum“, also fehleranfällige Quantencomputer mit einer „mäßigen“ Größe von höchstens wenigen Hundert „Qubits“, perspektivisch gesehen. Voraussichtlich wird es noch einige Jahre dauern, bis die Technologie soweit skaliert ist, um von direktem gesellschaftlichen Nutzen zu sein. Aber schon jetzt bauen die Hersteller ihre gesamte Infrasktruktur aus und vielversprechende Quanten-Algorithmen können direkt erforscht und erprobt werden.

Dass allerdings selbst mit einem NISQ-Quantencomputer ein exponentieller Quantenvorteil gegenüber herkömmlichen Supercomputern möglich ist, bewies Google zuletzt eindrucksvoll. Die Details dazu erläutere ich in meinem Artikel Google und der Nachweis der Quanten-Überlegenheit“.

Quantencomputer programmieren: Die Quantengatter

Die zentralen Bausteine von Quantenprogrammen sind, neben den Qubits, die „Quantengatter“.

Herkömmliche Computer bilden unsere Alltagslogik durch sogenannte UND-, ODER-, NICHT-Gatter ab. Diese Gatter manupilieren die Bits und bilden somit die fundamentalen Bausteine von herkömmlichen Computerprogrammen. Die Quantenlogik wiederum bildet ein Quantencomputer durch völlig andersartige „Quantengatter“ ab.

Um die Quantencomputer einem breiteren Publikum näher zu bringen, verwende ich auf „quantencomputer-info.de“ eine vereinfachte Sichtweise auf die Qubits und die Quantengatter. In meinem Artikel Das Qubit und ein Magier bei „Britain Has Got Talent“ hatte ich schon die Zeigerbilder eingeführt mit denen wir uns die verschiedenen Zustände einesQubits vorstellen können. Das Qubit ist dann ein Zeiger auf der Kreislinie in diesem Bild.

(„Disclaimer“: In der Lehrbuch-Darstellung liegt die Zeigerspitze eines Qubits im Gegensatz dazu auf einer Kugeloberfläche: Die „Blochkugel“ i. Um das Quanten-Programm für den Grover-Algorithmus richtig zu verstehen, reicht meine einfache Sichtweise mit der Kreislinie aber erstaunlicherweise aus)

Folgendes Zeigerbild zeigt wieder ein Qubit, dass gleichzeitig im Zustand |0und im Zustand |1⟩ ist.

Das Besondere an diesem Bild ist außerdem, dass die Zustände |0und |1⟩ gleichmäßig überlagert sind. Es ist zu gleichen Teilen sowohl |0als auch |1⟩. Ein Qubit im Zustand |0gelangt in diesen Zustand der gleichmäßigen Überlagerung, indem es in dem vereinfachten Zeigerbild um 45° gedreht wird. Diese Drehung wird durch das Hadamard-Quantengatter H durchgeführt.

|qubit= H |0

Ein anderes Gatter ist das X – Quantengatter. Es spiegelt das aktuelle Qubit an der Winkelhalbierenden, also gerade am Zustand H |0⟩. Oder anders betrachtet: Das X-Gatter tauscht den Zustand |0und den Zustand |1gegeneinander aus.

X |0= |1und X |1= |0

Ein Quantenprogramm besteht nun aus mehreren hintereinander geschalteten Quantengattern. Am Ende eines Quantenprogramms werden alle Qubits ausgelesen und als Resultat erhält man eine Bit-Sequenz von 0en und 1en. Folgendes Beispiel zeigt ein Schaltdiagramm für den Grover-Algorithmus für zwei Qubits. Wir werden den Grover-Algorithmus weiter unten für drei Qubits programmieren.

Quantencomputer programmieren: Welche Programmiersprachen gibt es für Quantencomputer?

Um ein Quantenprogramm durchzuführen, muss ein Quantencomputer eine Serie von Quantengattern auf bestimmte Qubits ausführen. Schematisch wird das durch Schaltdiagramme symbolisiert, wie in dem Beispiel oben. Eine Programmiersprache für Quantencomputer muss also in der Lage sein, solche Diagramme programmatisch abzubilden.

Prinzipiell wäre jede Programmiersprache für herkömmliche Computer dazu in der Lage. Die Besonderheit hierbei ist lediglich, dass die Sprache Bausteine für die einzelnen Quantengatter bereitstellen muss. Der Quantencomputer muss dann für diese Bausteine einen Treiber zur Verfügung stellen, der die Quantengatter-Anweisung in eine physikalische Quanten-Schaltung übersetzt.

In einem supraleitenden Quantencomputer wird ein H-Quantengatter etwa durch einen Mikrowellenimpuls mit einer genau-dosierten Impulslänge realisiert, Dieser zielt auf einen supraleitenden Schwingschaltkreis: Dem physikalische Qubit. Für aktuelle Quantencomputer nimmt die externe Steuer- und Ausleseelektronik nebenbei den größten Platz ein. Um dies zu reduzieren, gibt es Bestrebungen die Steuerung in eine Platine direkt in den Quantencomputer zu verlagern ii.

Als Programmiersprache für Quantencomputer hat sich die beliebte Programmiersprache „Python“ für herkömmliche Computer herauskristalisiert. Die Hersteller von Quantencomputern stellen hierfür eine Programmierschnittstelle (bzw. eine API) zur Verfügung, die die benötigten Erweiterungen bereitstellt. Der Quantencomputer wird darüber von einem lokalen herkömmlichen Arbeitsplatzrechner ferngesteuert: Das fertige Programm wird über die Schnittstelle / API an den Quantencomputer gesendet, der den Programmauftrag in eine gemeinsame Warteschleife für den Quantencomputer stellt. Sobald die nötigen Ressourcen frei sind, führt der Quantencomputer das Quantenprogramm aus und sendet das Ergebnis an den lokalen Arbeitsplatz zurück.

Um diesen Ablauf abzukürzen besitzen alle APIs sogenannte Quantencomputer-Simulatoren. Diese laufen nur auf dem lokalen Arbeitsplatzrechner. Da herkömmliche Computer einen Quantencomputer nur bedingt simulieren können, kann man über die Simulatoren nur Quantenprogramme mit wenigen Qubits austesten.

Quantencomputer progammieren: IBMs Python-API „Qiskit“

IBM ist einer der Pioniere in der Quantencomputer–Entwicklung. Entsprechend verwundert es nicht, dass der Techriese der erste Hersteller war, der 2015 einen 5 Qubit-Quantencomputer als Cloudangebot zur Verfügung stellte. Mittlerweile bietet IBM in seinem Cloudangebot „IBM Quantum Experience“ weitere Quantencomputer auf Supraleiter-Basis mit bis zu 20 Qubits an iii. Mit einem Credit-System können Nutzer hierfür Quantenprogramm einstellen. Dabei stellt IBM die Dienste teilweise sogar kostenlos zur Verfügung.

Teil des Cloudangebotes ist die Python API „Qiskit“. Hierfür stellt IBM eine umfangreiche Dokumentation zur Verfügung iv. Probleme und Fragen rund um Qiskit können entweder über IBMs „Qiskit Slack“ oder über die unabhängige Website „Quantum Computing Stack Exchange“ gestellt werden v. Qiskit ist Open Source und das Projekt wird auf Github gehostet. IBM veranstaltet regelmäßig Events und „Hackathons“ für die API.

Um weitere Zusatzmodule für Python auf dem eigenen Arbeitsplatz einzubinden, stellen die Entwickler der Programmiersprache Python den Packagemanager „pip“ zur Verfügung. Mit folgenden Anweisungen installieren Sie zum Beispiel Python 3 und Pip für einen Linux Ubuntu 18.04 Arbeitsplatz:

sudo apt-get install python3-pip

Sobald „pip“ installiert ist kann Qiskit als Zusatzmodul eingebunden werden

python3 -m pip install –user qiskit

Um ein Python / Qiskit – Programm zu schreiben, reicht ein einfacher Texteditor aus. Per Kommandozeile kann die erstellte Datei (z.B. „programm.py“) dann in einer DOS- oder Linux-Shell ausgeführt werden.

python3 programm.py

Komfortabler macht man es sich, wenn man hierfür eine „Entwicklungsumgebung“ verwendet. Darüber sind diverse Zusatzfunktionen, die bei der Programmierung hilfreich sind, direkt verfügbar. Als eine der Standardumgebung (für wissenschaftliche Programmierung mit Python im Allgemeinen und für die Programmieren von Quantencomputern im Besonderen) hat sich die freie Umgebung „Jupyter Notebook“ bewährt vi.

Ein Jupyter-Notebook kann in einem beliebigen Browser (Chrome, Firefox, IE, …) bearbeitet werden und wird dort auch ausgeführt. Nebenbei kann ein Jupyter Notebook Markup-Texte, Bilder und wissenschaftliche Formeln direkt einbinden.

Folgender Befehl installiert etwa die nötigen Jupyter-Packages auf einem lokalen Linux Ubuntu – Arbeitsplatz:

python3 -m pip install –user ipython jupyter

Danach starten Sie Jupyter Notebook über den Kommandozeilen-Befehl

jupyter notebook

Noch einfacher machen Sie es sich, wenn Sie dies alles zusammen in der Python-Distribution „Anaconda“ installieren vii. Anaconda ist für sämtliche Betriebssysteme verfügbar und hat sich zu einem Standard im Data Science – und Machine-Learning- Umfeld entwickelt. Darüber hinaus stellt Anaconda diverse weitere Tools für das wissenschaftliche Arbeiten mit Daten und für das Machine-Learning zur Verfügung.

Quantencomputer programmieren: Der Grover Algorithmus

In diesem Artikel werden wir mit Qiskit ein Quantenprogramm für den berühmten Grover-Algorithmus erstellen. Das Quantengatter-Schaltdiagramm hatten Sie bereits oben kurz kennengelernt. Der Grover-Algorithmus ist ein universeller Quanten-Algorthmus für sämtliche „Nadel-Im-Heuhaufen“-Probleme. Dazu zählen übrigens auch Optimierungsprobleme. Gegenüber herkömmlichen Computern beschleunigt der Grover-Algorithmus die Ausführungszeit quadratisch: Benötigt ein herkömmlicher Computer für die Lösung des Problems 1 Millionen Durchläufe, so benötigt der Grover-Algorithmus nur etwa 1000 Durchläufe.

Sie erinnern sich, dass das Endergebnis eines Quanten-Programms per Messung aus den Qubits ausgelesen wird. Dabei bedingt die Quantenmechanik, dass es vom Zufall abhängt, ob ein Qubit am Ende den Wert 0 oder den Wert 1 zurückgibt. Der Clou des Grover-Algorithmus besteht nun darin, dass das gesuchte Ergebnis (in Form von einer Bit-Sequenz z.B. „0 0 1 0 1 1 0 ….“) mit jedem Durchlauf weiter verstärkt wird. Im Gegensatz dazu werden die „falschen“ Bit-Sequenzen immer weiter unterdrückt. Weiter unten werden sie ein genaues Bild davon bekommen.

Wir beschränken uns hier darauf das obige Schaltbild für drei Qubits zu programmieren. Den Grover-Algorithmus selbst stelle ich im Detail in dem Artikel „Der Grover-Algorithmus und die Suche nach dem heiligen Gral“ vor. Um die Funktionsweise des Algorithmus zu verstehen, empfehle ich Ihnen diesen zu lesen.

Quantencomputer programmieren: Unser erstes Qiskit-Programm

Im Folgenden sehen Sie unser Quantenprogramm, wie es sich in Jupyter Notebook darstellt. Die einzelnen Zellen klammern lediglich bestimmte Programmteile. Wir hätten hierfür auch ein einzelnes Skript bzw. eine einzelne Zelle verwenden können.

Auf „Google Colaboration“ habe ich das Quantenprogramm ebenfalls für Sie bereitgestellt:

https://colab.research.google.com/drive/1bTGLjxU33yWqKAVI5LCudf-jqdlsVy-l

Indem Sie dort auf „Open Playground“ klicken, können Sie es in einer Spielwiese selbst verändern und ausführen. Das Programm läuft dabei nicht bei Ihnen lokal, sondern auf den Google-Servern ab.








Der Grover-Algorithmus als Qiskit-Programm

Auch auf Google-Colaboration verfügbar:
https://colab.research.google.com/drive/1SchqSnnycmLpTSrs-ToUnC2zDpCjWgxs

In [72]:
# Pip-Anweisung, Qiskit nachzuinstallieren,
# falls noch nicht vorhanden
! pip3 install qiskit --quiet
! pip3 install qiskit-terra[visualization] --quiet

In [6]:
# Zunächst müssen wir die Qiskit-Module einbinden,
# die wir für das Quantenprogramm benötigen:

import qiskit
from qiskit import(QuantumCircuit, execute, Aer, BasicAer)

from qiskit.visualization import plot_histogram
from qiskit.visualization import plot_state_city

# Versionen der einzelnen Qiskit-Modulen ausgeben:
qiskit.__qiskit_version__
Out[6]:
{'qiskit-terra': '0.12.0',
 'qiskit-aer': '0.4.0',
 'qiskit-ignis': '0.2.0',
 'qiskit-ibmq-provider': '0.4.6',
 'qiskit-aqua': '0.6.4',
 'qiskit': '0.15.0'}
In [7]:
# Globale Variablen und Funktionen

# Anzahl von Qubits: 3
n = 3


# Folgende Quantenschaltungen werden wir abwechselnd
# wiederverwenden. Deshalb packen wir sie in eine Python-Funktion

# Die Quantenschaltung für das Oracle: 
# Reflektiert alle Qubits am Zeiger auf die Lösung: (0,0,1)
# Was dabei nur schwer zu sehen ist:
# Dafür müssen wir die Lösung tatsächlich NICHT kennen
# ... glauben Sie es mir einfach!
def add_reflect_oracle(circuit):
    circuit.h(2)
    circuit.ccx(0,1,2)
    circuit.h(2)      

    
# Die Quantenschaltung für den Grover-Operator:
# Reflektiert alle Qubits am Zeiger auf den Zustand
# der gleichförmigen Überlagerung s = (1, 1, 1)
def add_reflect_s(circuit):
    for i in range(n):
        circuit.h(i)
        
    for i in range(n):
        circuit.x(i)
    
    circuit.h(2)
    circuit.ccx(0,1,2)
    circuit.h(2)
    
    for i in range(n):
        circuit.x(i)   
        
    for i in range(n):
        circuit.h(i)  

Als Qiskit-Programm werden wir den Grover-Algorithmus jetzt jeweils 0 bis 4 Grover-Durchläufe ausführen. Dabei werden wir jeweils das Quanten-Schaltung und die Messergebnisse als Diagramm ausgeben. Dabei werden Sie erkennen wieviel Durchläufe der Grover-Algorithmus benötigt, um ein optimales Ergebnis zu liefern.

Grover-Algorithmus mit 0 Durchläufen

In [8]:
# Ab hier startet das eigentliche Quantenprogramm:

# Zunächst muss ein "Backend" festgelegt werden
# Unser Backend ist ein Quantencomputer-Simulator:
simulator = Aer.get_backend('qasm_simulator')
#simulator = BasicAer.get_backend('statevector_simulator')


# Wir wollen einen Quanten-Schaltkreis 
# mit n=3 Qubits erstellen:
circuit = QuantumCircuit(n, n)

# Wir überführen jedes Qubit i in den 
# Zustand der gleichförmigen Überlagerung:
for i in range(n):
    circuit.h(i)

    
# Für 0 Durchläufe lassen wir die Schaltungen für die
# Reflektionen weg.

# Am Ende Messen wir die Qubits aus
circuit.measure(range(n), range(n))
Out[8]:
<qiskit.circuit.instructionset.InstructionSet at 0x7f1c88401f98>
In [9]:
# Einer der Vorzüge von Qiskit: Die Visualisierungen!

# "Magic Function" für IPython / Jupyter
# Anweisung damit Bilder direkt angezeigt werden
%matplotlib inline

# Zeichnet das Diagramm zu unserem Quanten-Schaltkreis
# direkt im Jupyter Notebook
# Außerhalb vom Notebook muss das Image extern abgelegt
# werden mit dem Parameter filename="my_circuit.png"
# Hierbei sind diverse Datentypen möglich
circuit.draw(output="latex")

# output-Typen sind "text", "mpl", "latex", "latex_source"
Out[9]:
In [10]:
# Den "Job" wiederholen wir 1000 Mal und lassen
# Qiskit ein Diagramm über die Statistik der zeichnen
job = execute(circuit, simulator, shots=1000)
result = job.result()
plot_histogram(result.get_counts(circuit))
Out[10]:

Gleichverteilung: Nach 0 Grover-Durchläufen hat der
Grover-Algorithmus das gesuchte Ergebnis noch nicht
verstärkt.

Grover-Algorithmus mit 1 Durchlauf

In [12]:
# Schaltkreis nochmal neuerstellen,
# ausmessen und Diagramme ausgeben
circuit = QuantumCircuit(n, n)

for i in range(n):
    circuit.h(i)

# 1 Grover-Durchlauf
add_reflect_oracle(circuit)
add_reflect_s(circuit)

circuit.measure(range(n), range(n))
circuit.draw(output="latex")
Out[12]:
In [18]:
job = execute(circuit, simulator, shots=1000)
result = job.result()
plot_histogram(result.get_counts(circuit))
Out[18]:

Nach einem Grover-Durchlauf hat der Algorithmus die Lösungssequenz 1 1 1 schon deutlich verstärkt.

Grover-Algorithmus mit 2 Durchläufen

In [19]:
# Schaltkreis nochmal neuerstellen,
# ausmessen und Diagramme ausgeben
circuit = QuantumCircuit(n, n)

for i in range(n):
    circuit.h(i)

# 2 Grover-Durchläufe
add_reflect_oracle(circuit)
add_reflect_s(circuit)

add_reflect_oracle(circuit)
add_reflect_s(circuit)

circuit.measure(range(n), range(n))

circuit.draw(output="latex")
Out[19]:
In [15]:
job = execute(circuit, simulator, shots=1000)
result = job.result()
plot_histogram(result.get_counts(circuit))
Out[15]:

Nach zwei Grover-Durchläufen hat der Algorithmus die Lösungssequenz 1 1 1 fast vollständig verstärkt.

Grover-Algorithmus mit 3 Durchläufen

In [16]:
# Schaltkreis nochmal neuerstellen,
# ausmessen und Diagramme ausgeben
circuit = QuantumCircuit(n, n)

for i in range(n):
    circuit.h(i)

add_reflect_oracle(circuit)
add_reflect_s(circuit)

add_reflect_oracle(circuit)
add_reflect_s(circuit)

add_reflect_oracle(circuit)
add_reflect_s(circuit)

circuit.measure(range(n), range(n))

circuit.draw(output="latex")
Out[16]:
In [17]:
job = execute(circuit, simulator, shots=1000)
result = job.result()
plot_histogram(result.get_counts(circuit))
Out[17]:

Wir erkennen also, dass der Grover-Algorithmus nach
zwei Durchläufen das beste Ergebnis liefert und danach wieder
schlechtere Werte. Das Ganze verhält sich periodisch. Und genauso
erwarten wir es auch, wenn wir uns nochmal vergegenwärtigen, wie
der Grover-Algorithmus funktioniert.

Nur so nebenbei:

Die Quantengatter, die wir verwendet haben besitzen auch eine Matrix-Darstellung.

In [69]:
from qiskit.extensions.standard.h import HGate
HGate().to_matrix()
Out[69]:
array([[ 0.70710678+0.j,  0.70710678+0.j],
       [ 0.70710678+0.j, -0.70710678+0.j]])
In [70]:
from qiskit.extensions.standard.x import XGate
XGate().to_matrix()
Out[70]:
array([[0.+0.j, 1.+0.j],
       [1.+0.j, 0.+0.j]])

Am Ccx-Quantengatter erkennen Sie übrigens, das herkömmliche Computer schnell an ihre Grenzen
stoßen, wenn die Qubit-Anzahl zunimmt.
Das Ccx – / Toffoli – Quantengatter operiert gerade mal auf 3 Qubits.
Die Matrix ist aber schon jetzt unübersichtlich:

In [71]:
from qiskit.extensions.standard.x import ToffoliGate
ToffoliGate.to_matrix(ToffoliGate)
Out[71]:
array([[1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j],
       [0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j],
       [0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j]])

Fußnoten

i Das exakte Bild eines Qubits ist das einer Kugeloberfläche. Die Zustände |0und |1⟩ müssen wir dann an Nord- und Südpol einzeichnen. Um von der Kreislinie zur Kugeloberfläche zu gelangen, muss ein zusätzliche Winkel verwendet werden, der auch „Phase“ genannt wird.

ii https://t3n.de/news/quanten-computing-intel-gibt-1253925/: Artikel „Quanten-Computing: Intel gibt Details zum neuen Cryo-Chip Horse Ridge preis“ über Intels Steuerplatine für Mikrwowellenstrahlung, der in der Lage wäre innerhalb der Tieftemperatur-Umgebung eines Quantencomputers zu arbeiten.

iii https://quantum-computing.ibm.com/: Homepage von IBM Clouddienst „Quantum Experience“.

iv https://quantum-computing.ibm.com/docs/qis-tut/: Dokumentation für IBMs Python API „Qiskit“

v https://quantum-computing.ibm.com/support: Referenz-Seite zum „Qiskit Slack“ oder zu den entsprechenden Tags auf „Quantum Computing Stack Exchange“.

vi https://jupyter.org/: Homepage des Jupyter-Projektes. „Jupyter“ ist eine Namenskombination aus den drei Programmiersprachen Julia, Python, R, die eine wichtige Rolle bei der Programmierung im wissenschaftlichen Umfeld spielen.

vii https://www.anaconda.com/distribution/: Homepage der Python / R – Distribution „Anaconda“.

Der unglaubliche Quantencomputer einfach erklärt

<<   >>

Durch Quantencomputer wird die rätselhafte Quantenmechanik dafür genutzt, um völlig neuartige berechnende Systeme bereit zustellen. Deshalb besitzen Quantencomputer Eigenschaften die schier unglaublich wirken: So steigert sich die Leistungsfähigkeit eines Quantencomputers zum Beispiel „exponentiell“, also quasi explosionsartig, mit zunehmender Größe. Im Folgenden erkläre ich Ihnen in einfachen Worten diese besonderen Eigenschaften eines Quantencomputers und gehe genauer auf die erstaunlichen Quantenprogramme ein.

Der Paukenschlag: Der Shor-Algorithmus

Im Jahr 1994 hatte der Mathematiker Peter Shor vom renommierten Massachusetts Institute of Technology / MIT die Idee seines Lebens. Eine Idee, die eine neue Ära einleiten würde.

Shor untersuchte ein neues Verfahren, um eine ganze Zahl in Primzahlen zu zerlegen. Diese Primzahlfaktorisierung ist eine extrem aufwendige Angelegenheit. Um sehr großen Zahlen in Primzahlen zu zerlegen, brauchen selbst sehr leistungsstarke Supercomputer mehrere Jahre. i

Unter anderem deshalb wird sie für die sichere Datenverschlüsselung im Internet verwendet. Es ist zwar sehr einfach selbst große Zahlen aus bekannten Primzahlen zusammenzusetzen (z.B. 7×13×13×17×53 = 1065883). Da die Umkehrung aber nahezu unmöglich ist, ist die Verschlüsselung im Internet bombensicher.

Eigentlich!

Shor fragte sich, ob man das neue Verfahren nutzen könnte, um neue Algorithmen für die Primzahlzerlegung zu erstellen. Irgendwann erinnerte er sich an eine Pflichtvorlesung über Quantenmechanik, die er seinerzeit als Mathematik-Student noch am California Institute of Technology (Caltech), hatte hören müssen. Ihm kam die grandiose Idee, dass das Verfahren ungleich schneller zum Ziel führen könnte, wenn man zur Berechnung nicht einen herkömmlichen Computer, sondern einen Quantencomputer verwenden würde. Er tüfftelte ein Jahr an seinem Quanten-Algorithmus und kam am Ende tatsächlich zu dem gewünschten Ergebnis ii.

Shors Algorithmus schlug ein wie eine Bombe. Bis zu diesem Zeipunkt, war es noch niemanden gelungen einen Quantencomputer zu konstruieren. Der Shor-Algorithmus war aber der erste Beweis, wie ungeheuer leistungsstark ein Quantencomputer sein und welche gesellschaftlichen Auswirkungen er haben würde. Shors Algorithmus löste einen regelrechten Boom in den Quantencomputer-Szene aus.

Ein Quantencomputer macht sich die außergewöhnlichen Eigenschaften der atomaren Welt zu nutze, um über spezielle Quantenprogrammen, den Quanten-Algorithmen, ganz neue Dimensionen in der Rechengeschwindigkeit zu erzielen. Das Wort „außergewöhnlich“ ist hierbei wohl noch untertrieben. Die Quantenwelt ist eine rätselhafte Welt mit schon fast magischen Eigenschaften.

Um einen Eindruck davon zu bekommen, was das Besondere an einem Quantencomputer ist, müssen wir uns erst einmal anschauen, wie ein herkömmlicher Computer funktioniert.

Einfach erklärt: Wie funktioniert ein herkömmlicher Computer?

Nehmen wir Ihren Computer, mit dem Sie diese Zeilen lesen. Er steuert Informationen in Form von Nullen und Einsen über Bits bzw. Bytes an. Die Zahl „71“ wird z.B. durch die Bit-Reihe „0100 0111“ dargestellt und der Buchstabe „J“, per Konvention, durch die Bit-Reihe „100 1010“. Ihr Computer merkt sich, ob eine Bit-Reihe eine Zahl, einen Buchstaben, ein Bild oder Musik darstellt. Die Bits selbst existieren in Form von Milliarden elektrischer An / Aus – Schalter, den Transistoren. Zusammen bilden sie den Arbeitsspeicher Ihres Computers. Ein guter herkömmlicher Computer besitzt etwa 16 * 8 Milliarden Bits oder anders ausgedrückt: 16 Gigabyte. Ein Computerprogramm manipuliert diese Bits in einzelnen Rechenschritten über die elementarsten Bausteine der menschlichen Logik: UND-Verknüpfungen, ODER-Verknüpfungen, NICHT-Verknüpfungen. Diese Verknüpfungen werden auch „Gatter“ genannt (englisch gates). Eine NICHT-Verknüpfung kehrt ein einzelnes Bit z.B. in sein Gegenteil um: NICHT 0 = 1, NICHT 1 = 0 .

Über geschickte elektrische Schaltungen, dem Datenbus, ist Ihr Computer in der Lage jedes der unzähligen Bits im Arbeitsspeicher gezielt anzusteuern, auszulesen oder mit neuen Werten zu überschreiben. Ein Rechenschritt sieht dann zum Beispiel so aus:

„Lese den Wert des Bits mit der Adress-Nummer 1543216 und den Wert des Bits mit der Adress-Nummer 6543 aus und verknüpfe beide Werte mit einem UND-Befehl. Speicher das Ergebnis im Bit mit der Adress-Nummer 789874“. Durch eine geschickte Hintereinanderreihung dieser elementaren UND-, ODER-, NICHT-Verknüpfungen ist Ihr Computer zum Beispiel in der Lage zwei Zahlen miteinander malzunehmen. Nach jedem einzelnen dieser Rechenschritte schreibt Ihr Computer die Zwischenergebnisse wieder in den Arbeitsspeicher hinein und ruft sie von dort wieder für den nächsten Rechenschritt auf. Das Programm für das Mal-Nehmen sieht unnötig umständlich und mechanisch stupide aus. Da Ihr Computer aber in der Lage ist Milliarden von Rechenschritten pro Sekunde auszuführen ist er jedem Menschen am Ende in solchen Aufgaben gigantisch überlegen.

Die Qubits einfach erklärt

Ein Quantencomputer steuert im Gegensatz dazu die Informationen nicht über einfache An / Aus-Schalter an, also den herkömmlichen Bits, sondern über sogenannte „Qubits“ (für Quanten-Bits). In einem Qubit sind die Werte 0 / 1 bzw. An / Aus gleichzeitig in einer überlagerten Form vorhanden. Das sieht auf den ersten Blick vielleicht harmlos aus. Tatsächlich ist diese Überlagerung eines der großen Rätsel der Quantenmechanik.

Als Konsequenz ersann der österreichische Nobelpreisträger Erwin Schrödinger vor fast hundert Jahren sein berühmtes Gedankenexperiment „Schrödingers Katze“: Eine Katze, die zusammen mit einem Qubit überlagert ist. Das Qubit schaltet einen Giftcocktail ein, sobald es den Wert 1 hat. Wenn das Qubit aber gleichzeitig den Wert 0 und den Wert 1 besitzt, so Schrödinger, müsste die Katze ebenfalls gleichzeitig tot und lebendig sein.

In meinem Artikel „Das Qubit und ein Magier bei Britain Has Got Talent“ vergleiche ich das Qubit mit einem spektakulären Zaubertrick des Magiers Darcy Oake in der englischen Talentshow von 2014. Darin steht Darcy Oake scheinbar zweimal gleichzeitig auf der Bühne. Ein Qubit verhält sich genauso. Allerdings nicht als Trick, sondern in Wirklichkeit.

Um dies zu veranschaulichen, verwende ich auf „quantencomputer-info.de“ eine Qubit-Darstellung, die gegenüber der Lehrbuchdarstellung vereinfacht ist aber dem Kern bereits sehr nahe kommt: Ein einfacher Zeiger in einer Ebene. Folgendes Qubit ist zum Beispiel zu gleichen Teilen sowohl im Zustand 0 als auch im Zustand 1.

Wenn Sie jetzt denken: „Verstanden! Dann wären zwei Qubits einfach zwei Zeiger“, muss ich Sie leider enttäuschen. So einfach machen die Quantencomputer es uns dann doch nicht. Tatsächlich entsprechen zwei Qubits in der vereinfachten Darstellung immer noch einem Zeiger, allerdings mit vier jeweils senkrechten Achsen!

Ich weiß, jeder Versuch vier Dimensionen irgendwie bildlich darzustellen, endet kläglich. Ich will es trotzdem versuchen:

Sie können sich vorstellen, dass dieses Verhalten sehr ungewöhnliche Konsequenzen hat … Mehr dazu weiter unten in dem Abschnitt über die „Quanten-Verschränkung“.

Die zweite so außergewöhnliche Eigenschaft von Qubits ist die Folgende: Man kann einen Quantencomputer zwar sogar durch einen herkömmlichen Computer simulieren bzw. nachbilden (Probleme aus der Quantenmechanik lassen sich schließlich auch durch „herkömmliche“ Methoden berechnen), der Aufwand dafür nimmt mit steigender Qubitzahl allerdings schnell gigantische Ausmaße an. Die folgende Liste zeigt, wie viele herkömmliche Bits notwendig sind, um die entsprechende Menge an Qubits nachzubilden iii .

        • 1 Qubit benötigt 256 herkömmliche Bits
        • 2 Qubits benötigen 512 herkömmliche Bits
        • 10 Qubits benötigen 16 herkömmliche kilo-Byte
        • 20 Qubits benötigen 16 herkömmliche Mega-Byte
        • 30 Qubits benötigen 16 herkömmliche Giga-Byte
        • 31 Qubits benötigen 32 herkömmliche Giga-Byte

Jedes weitere Qubit verdoppelt also die benötigte Anzahl von herkömmlichen Bits! Die Leistungsfähigkeit eines Quantencomputers steigt also im Vergleich exponentiell! Und so geht’s weiter:

      • 45 Qubits benötigen in etwa der Speichergröße des größten aktuellen, herkömmlichen Supercomputers
      • 50 Qubits, die „Quanten-Überlegenheit“-Grenze: Die Grenze an dem ein Quantencomputer gewisse Berechnungen durchführen kann, die mit keinem der aktuellen Supercomputer durchführbar sind iv. Mehr dazu in meinem Artikel Googles Nachweis der Quanten-Überlegenheit“ 
      • 250 Qubits: Die absolute Grenze, die überhaupt machbar wäre für herkömmliche Computer. Um einen 250 Qubit-Quantencomputer nachzubilden, müsste ein herkömmlicher Computer jedes Atom im Universum als herkömmliches Bit verwenden.

Das wirkt unglaublich. Ist es auch!

Und nun bedenken Sie mal, dass die Quantencomputer-Hersteller das Ziel haben irgendwann einmal Quantencomputer mit Millionen von Qubits zu bauen!

Quantencomputer einfach erklärt: Quantenparallelismus, Superposition

Der Clou bei diesen ungeheuren Zahlen ist aber tatsächlich Folgender: Nehmen wir nochmal das Beispiel mit dem Mal-Nehmen. Ihr herkömmlicher Computer nimmt zwei Zahlen, in Form von zwei Bit-Reihen im Arbeitsspeicher, führt das festgelegte Programm von einzelnen Rechenschritten aus und erhält am Ende eine Zahl in Form von einer Bit-Reihe.

Ein Quantencomputer nimmt im Gegensatz dazu für eine Aufgabe zwei Qubit-Reihen, speichert die Zwischenergebnisse wieder in Qubits und erhält am Ende das Ergebnis in Form einer Qubit-Reihe v. Da in einer Qubit-Reihe aber riesige Mengen von Informationen gleichzeitig enthalten sein können (s.o.), kann der Quantencomputer das Programm letztendlich gleichzeitig mit einer riesigen Menge von Zahlen ausführen. Dies ist der Quantenparallelismus. Normalerweise spricht man aber von der „Superposition“.

Tatsächlich gibt es diese Form von Überlagerung öfter in der Natur und nicht nur in der Quantenmechanik vi. Was den Quantenparallelismus so besonders macht ist die Tatsache, dass nur wenige Qubits so unvorstellbar große Datenmengen überlagern können. Die Qubits werden nämlich nicht nur einzeln überlagert, sondern der gesamte Verbund an Qubits. Und gerade dabei erhöht sich die Anzahl von möglichen Kombination so rasant. Für drei Qubits werden also z.B. bis zu acht mögliche Bit-Zustände gleichzeitig verwendet (das entspricht 2³): Nämlich 000, 100, 001, 101, 011, 111, 010 und 110.

Aber: Jede Messung zerstört die Quanteneigenschaften

Die enorme parallele Rechenleistung eines Quantencomputers hat leider einen großen Haken: Sie funktioniert nur solange der Quantencomputer perfekt von seiner Umgebung isoliert ist und die höchst fragilen Qubits ungestört sind. Indem wir am Ende allerdings das Ergebnis des Quantenprogramms aus den Qubits auslesen, tun wir aber genau das. In diesem Moment „zerfallen“ die gleichzeitig vorhandenen Werte und übrig bleibt nur ein einziger Wert der darüber hinaus auch noch zufällig gewählt wird. Dieser Zerfall ist als „Kollaps der Wellenfunktion“ bekannt und ist noch so ein Mysterium der Quantenwelt. Er war der Grund, warum manche Physiker, unter ihnen selbst Albert Einstein, die Quantentheorie zwar schätzten und vorantrieben aber im Grunde ablehnten: „Gott würfelt nicht“.

Nebenbei: Für den Bau von Quantencomputern haben solche Störungen fast unlösbare Konsequenzen. Wie man Quanteneigenschaften trotzdem dagegen „schützen“ kann, und welche grundlegende Bedeutung diese „Quanten-Fehlerkorrektur“ sogar für die Natur von Raum und Zeit haben könnte, erläutere ich Ihnen im nächsten Artikel „Der sehr, sehr steile Weg zum ersten Quantencomputer“.

Und jetzt? Was ist überhaupt gewonnen, wenn am Ende doch nur alles vom Zufall abhängt?

Jetzt kommt das Aber: Die Wahrscheinlichkeiten, mit denen die verschiedenen Werte am Ende ausgelesen bzw. gemessen werden, können wir beeinflussen. Die Kunst eines Quantenprogramms besteht unter anderem darin, die Qubits so zu manipulieren, dass das gesuchte Ergebnis am Ende am Wahrscheinlichsten gemessen wird. Bis dahin, also während er noch von seiner Umgebung isoliert ist, kann dann die enorme Rechenkraft des ungestörten Quantencomputers genutzt werden.

Mehr über Quantenprogramme erfahren Sie weiter unten. Kommen wir zunächst zu einer der merkwürdigsten Eigenschaften von Quanten bzw. von Qubits.

Einsteins spukhafte Verschränkung

Oben hatte ich schon ein Zeigerbeispiel für zwei Qubits dargestellt. Diese Zeiger-Eigenschaft hat eine bizarre Konsequenz. Albert Einstein höchstpersönlich sagte sie 1935 in einem berühmten Aufsatz voraus: Die „Quanten-Verschränkung“ (engl. „entanglement“, er selbst bezeichnete das Phänomen auch „spukhafte Fernwirkung“). Wir können zwei Qubits (oder auch mehrere Qubits) derart überlagern, dass wir sie nicht mehr als einzelne Qubits erkennen können. Stattdessen bilden sie eine völlig neuartige, einheitliche Zustandsform. Sie erscheinen „verschränkt“: Eine Messung am ersten Qubit hat sofort Auswirkungen auf das zweite Qubit.

Um das zu verdeutlichen schauen wir uns nochmal ein Zeigerdiagramm mit 4 Achsen an. Der blaue Zeiger unten beschreibt den gemeinsamen Zustand von Qubit A und Qubit B. Jetzt führen wir eine Messung nur an Qubit B durch. Im vorigen Abschnitt haben Sie erfahren, dass sich Qubit B durch die Messung für einen Zustand entscheidet: Wir messen entweder den Zustand 0 oder den Zustand 1. An Qubit A haben wir noch keine Messung durchgeführt. Eigentlich müssten wir also für Qubit A einen einzelnen überlagerten Zeiger in zwei Dimensionen erhalten, der nichts über die vorangegangene und unabhängige Messung an Qubit B „weiß.

An dem Beispiel erkennen Sie aber, dass sich die Messung sehr wohl direkt auf Qubit A auswirkt. Qubit A ist nach der Messung so etwas wie der „Schatten“ des ursprünglichen blauen Zeigers, den ich durch die gestrichelten Zeiger andeute. Die Ebene, in der dieser Schatten liegt wird durch die Messung von Qubit B festgelegt: Wenn wir für Qubit B den Zustand 0 messen, erhalten wir für Qubit A den linken gestrichelten Zeiger, der hauptsächlich in die 0-Richtung zeigt. Wenn wir für Qubit B den Zustand 1 messen, erhalten wir für Qubit A den unteren gestrichelten Zeiger, der hauptsächlich in die 1-Richtung zeigt.

Ziel von Einsteins Arbeit war es tatsächlich, der Quantenmechanik einen grundlegenden Denkfehler nachzuweisen. Laut Einstein müsste diese verschränkte Einheit bestehen bleiben, selbst wenn die beiden Qubits Lichtjahre voneinander entfernt wären. Deshalb sprach er von Fernwirkung. Das Verrückte dabei ist: Alle Experimente deuten daraufhin, dass es genauso ist. Die Fernwirkung ist real in der Quantenwelt und sie wirkt sich sofort aus!

Solche verschränkten Zustandsformen gibt es nirgendwo sonst in den Naturwissenschaften. Vielleicht bis auf eine Ausnahme: Ein sogenanntes astronomisches „Wurmloch“, das zwei schwarze Löcher über eine Distanz von vielen Lichtjahren miteinander verbinden kann, als eine Art Hyper-Schnellstraße. Die Frage, wie diese beiden Phänomene zusammenhängen ist tatsächlich Gegenstand aktueller Forschung in der theoretischen Physik.

Quantengatter einfach erklärt: Die Bausteine der Quantenprogramme

Auf einem Quantencomputer können wir nicht einfach dieselben Algorithmen laufen lassen, die auf einem herkömmlichen Computer funktionieren. Stattdessen müssen wir für Quantencomputer vollkommen neue und fremdartige Quanten-Algorithmen konstruieren.

Dafür verwendet ein Quantencomputer in jedem Rechenschritt ebenfalls elementare Logik-Bausteine, den „Quantengattern“ (engl. quantum gates). Diese spiegeln allerdings nicht unsere normale Alltagslogik wieder, sondern die Quantenlogik: Somit heißen die elementaren Bausteine nicht mehr UND, ODER oder NICHT. Stattdessen verwendet ein Quantencomputer Logik-Bausteine die z.B. Hadamard, X, S, T, Z, Controlled NOT oder Controlled Z heißen. Diese Quantengatter ähneln in ihrer Funktionsweise weniger den bekannten Bausteine unserer Alltagslogik als vielmehr Drehungen in einem riesigen abstrakten „Hyperraum“ (oder genauer: ein „Hilbert“-Raum). Die Qubits bilden in ihrer Gesamtheit einen einzelnen Zeiger in diesem Raum, der durch jedes einzelne Quantengatter gedreht wird. Für zwei Qubits hatten Sie schon weiter oben einen Eindruck davon bekommen.

Diese grundlegende Fremdheit gegenüber unserer Alltagslogik ist der Grund, warum ein Quantenprogramm nur für Kenner von Quanten-Algorithmen entziffert und verstanden werden kann.

Für alle Darstellungen von Quantengatter-Schaltungen verwende ich auf „quantencomputer-info.de“ den exzellenten Quantencomputer-Simulator „Quirk“:

http://algassert.com/quirk

Quirk ist öffentlich erreichbar und kann direkt in Ihrem Browser ausprobiert werden (per „WebGL“). Craig Gidney, der Programmierer von Quirk, hat dabei ein eine Reihe bekannter Quanten-Algorithmen beispielhaft modeliert. Sie sollten dort unbedingt einmal reinschauen. Mein Favorit ist die „Quanten-Teleportation“, in der der Autor über eine Animation sehr schön verdeutlicht, wie sich ein Qubit-Zustand per Verschränkung über eine Distanz in ein zweites Qubit sprunghaft tele-transportieren lässt. Gidney ist mittlerweile übrigens bei Google angestellt und hat dort die Quanten-Programmierschnittstelle „Cirq“ federführend entwickelt.

In jedem Bereich der herkömmlichen Programmierung existiert eine lebhafte IT-Szene im Internet, die die weitere Entwicklung stark beeinflusst: Seien es Server, Netzwerke. Datenbanken, Internet, Programmierung, … Die IT-Szene für Quantenprogrammierung sitzt hauptsächlich noch in den Forschungseinrichtungen von Universitäten und hauptsächlich in den Spezialabteilungen von Google, IBM, Microsoft & Co und einigen Startups für Quantencomputer. Seit dem Frühjahr 2018 gibt es zwar das neue Diskussionsforum „Quantum Computing Stack Exchange“ vii, dass sich sehr lebhaft und inhaltlich hochwertig entwickelt. Wichtige Ergebnisse werden trotzdem weiterhin über komplizierte wissenschaftliche Arbeiten veröffentlicht.

Die wohl folgenreichste dieser Veröffentlichung war gerade der Algorithmus von Peter Shor aus dem Jahr 1994, der in der Lage ist, die als sicher geglaubte Datenverschlüsselung im Internet zu knacken. Mittlerweile wurden andere, rasend schnelle und vermutlich auch interessantere Quanten-Algorithmen konstruiert.

Beispiel von der Quirk-Homepage: Schematischer Aufbau des Shor-Algorithmus.

Alle Anbieter von Quantencomputern haben mittlerweile Programmierschnittstellen entwickelt. Über diese Schnittstellen können die Quanten-Programme entweder per Simulator auf dem eigenen PC oder vom eigenen PC aus per Fernsteuerung auf dem Cloud-Quantencomputer des Herstellers ausgeführt. Der folgende Programmauszug zeigt Googles Beispiel zum Shor-Algorithmus in Googles eigener Programmierschnittstelle „Cirq“.

An diesen Beispielen erkennen Sie übrigens auch, wie sehr die Quanten-Programmierung noch in den Kinderschuhen steckt. Alle Programme werden aktuell noch in einer Art „Maschinencode für Quantencomputer“ geschrieben und sind entsprechend schwer zu entziffern. In den kommenden Jahren und Jahrzehnten wird sich die Quanten-Programmierung also auch in dieser Hinsicht weiterentwickeln müssen. Die Softwareentwicklung für herkömmliche Digitalcomputer hat es uns vorgemacht. So sind im Laufe der Zeit immer intuitivere Programmiersprachen entstanden, die den eigentlichen Maschinencode immer besser abstrahieren.

Finde das Pik As! Ein Quanten-Algorithmus einfach erklärt

Um Ihnen einen Eindruck von der Andersartigkeit der Quanten-Algorithmen zu vermitteln, versuchen wir mal folgendes Problem zu lösen:

Jemand mischt für uns ein Kartenspiel mit 52 Karten gut durch und breitet die 52 Karten wahllos und verdeckt vor uns aus. Jetzt schreibt er auf jede Kartenrückseite eine Nummer, die „Adresse“. Die Aufgabe soll heißen: Finde die Karte, also die Adressnummer, mit dem Pik As!

Mit unsere Alltagslogik und für jeden herkömmlichen Computer ist der beste Algorithmus für die Lösung sehr einfach und offensichtlich:

      • Schritt 1: Nimm irgendeine Karte
      • Schritt 2: Drehe sie um und prüfe: Ist es das Pik As?
          • Falls ja: Fertig!
          • Falls nein: Lege die Karte zur Seite und beginne wieder bei Schritt 1.

Im Schnitt brauchen wir für die Lösung ½ * 52 = 26 Durchläufe. Kein einzelner Mensch und kein einzelner Prozessor-Kern könnte jemals diese Aufgabe schneller durchführen. Punkt!

Der Prozessor eines Quantencomputers kann dies sehr wohl. Für ihn sieht die Lösung komplett anders und bizarr aus. Wegen des Quantenparallelismus kann sich der Quantencomputer alle Karten gleichzeitig ansehen und sie prüfen. Er kann sich die gesuchte Karte, bzw. genauer die Adressnummer zu dieser Karte, aber leider nicht so einfach herausfischen. Stattdessen muss er die falschen Karten nach und nach „ausblenden“ und das Pik As nach und nach weiter „einblenden“. Am Ende bleibt dann nur noch das Pik As mit der gesuchten Adressnummer übrig.

Der Algorithmus hierfür ist der berühmte Grover-Algorithmus. Ich stelle ihn in meinem Artikel „Der Grover-Algorithmus und die Suche nach dem Heiligen Gral“ im Detail vor. Dabei werden Sie auch erkennen wie ungemein wichtig und tiefgreifend diese auf den ersten Blick banale Fragestellung ist. Leicht abgewandelt könnte die Aufgabe etwa auch heißen: „Finde die kürzeste Route von allen möglichen Routen“ oder sogar „Finde den Beweis für … (ein wichtiges mathematisches Problem)“.

Für unser Kartenbeispiel funktioniert der Grover-Algorithmus wie folgt:

In unserem Quantencomputer haben wir zunächst jeder Karte ein Bitmuster zugeordnet. Wir suchen letztendlich also das Bitmuster für das Pik As. Jemand anderes hat diese Bitmuster jetzt in den Qubit-Registern unseres Quantencomputers „versteckt“. Wir wissen nicht wo und bekommen stattdessen nur irgendwelche Adressnummern zu den jeweiligen Registern. Diese Adressennummern sind natürlich wieder Qubits.

    • Schritt 1: Zunächst überführen wir die Qubits aller Adressnummern in einen gleichmäßig überlagerten Quantenzustand.
    • Schritt 2: Danach laden wir die unbekannten Bit-Muster der Karten nach und „heften“ sie an ihre jeweiligen Adressnummern (diese Operation nennt man auch „Quantum RAM“).
        • Wir haben jetzt einen einzelnen Zustand an dem alle Karten inklusive deren Adressnummern gleich beteiligt sind (die Qubits der Adressen und die Qubits der Bit-Muster sind darin maximal miteinander verschränkt).
        • Diesen Zustand können Sie sich als einen einzelnen Zeiger in einem riesigen, abstrakten Raum mit 52 Dimensionen bzw. Richtungsachsen „vorstellen“. Wobei: versuchen Sie es gar nicht erst. Mehr als drei Dimensionen können wir uns sowieso nicht vorstellen: oben/unten, links/recht, vorne/hinten.
        • Jede der 52 Richtungsachsen entspricht einer bestimmten Karte. Das gesuchtes Pik As ist eine dieser Achsen. Unser überlagerter Zustand zeigt vollkommen schräg in diesen Raum hinein und ein bisschen in jede der 52 Richtungen.
    • Schritt 3: Der Quantencomputer prüft jetzt in welcher Richtung das Pik As liegt.
        • Diese Prüfung ist im Prinzip ein einfaches Unterprogramm, man nennt sie trotzdem etwas geheimnisvoll: Das „Orakel“. Bildlich gesprochen dreht der Quantencomputer den Zeiger mithilfe des Orakels in die Pik As – Richtung.
        • Er kann ihn aber leider nur um in einen kleinen Winkel drehen. Dieser Winkel ist umso kleiner, je mehr Karten geprüft werden müssen.
        • Der Zeiger ist nach der Prüfung keine gleichmäßige Überlagerung mehr. Er zeigt jetzt etwas mehr in die Pik As – Richtung als in die Richtungen der anderen Karten.
    • Schritt 4: Schritt 3 müssen wir jetzt mehrmals hintereinander ausführen. Der Wissenschaftler Lov Grover hat 1996 nachgewiesen, dass der Zeiger nach 52 7.2 Prüfungen in die Richtung des Pik As gedreht wurde. Nach 7 Prüfungen messen wir also die Qubits aus und erhalten die Bit-Darstellung des Pik As und deren Adressnummer.

Folgendes Beispiel zeigt den Grover-Algorithmus für zwei Qubits.

Quantenkomplexität einfach erklärt

Vor einem halbem Jahrhundert begannen Computerwissenschaflter damit, Probleme in Klassen zu unterteilen, je nachdem wie schwierig es ist eine Lösung zu finden. Die Probleme, die relativ effektiv mit einem herkömmlichen Computer gelöst werden können, nannten sie P-Probleme.

Als die ersten Konzepte für Quantencomputer erarbeitet wurden, fügte man die Problem-Klasse BQP hinzu. Dies sind die Probleme, die relativ effektiv mit einem Quantencomputer gelöst werden können.

Mittlerweile weiss man, dass es einen grundlegenden Unterschied zwischen diesen beiden Klassen gibt. Ein Quantencomputer ist prinzipiell in der Lage wesentlich mehr Probleme effektiv zu lösen als ein herkömmlicher Computer. Ein Beispiel hierfür ist die Zerlegung in Primzahlen mit dem Shor-Algorithmus.

Dass aber selbst ein Quantencomputer seine Grenzen hat, wird im folgenden Diagramm deutlich. Es zeigt den Zusammenhang der wichtigen Problem-Klassen, den die meisten Computerwissenschaflter aktuell vermuten (mehr über die dargestellten Klassen erfahren Sie u.a. in meinem Artikel zum Grover-Algorithmus):

(Quelle: https://en.wikipedia.org/wiki/File:BQP_complexity_class_diagram.svg)

Letzte Änderungen

„quantencomputer-info.de“ ist ein lebendiges Online-Buch, das ich immer wieder aktualisiere und verbesser. Falls Sie ein wiederkehrender Besucher sind, können Sie in den Abschnitten „Letzte Änderungen“ erkennen, was sich seit Ihrem letzten Besuch verändert hat:

    • 07.11.2019:
      • Abschnitt „Die Qubits einfach erklärt“: 2-Qubit-Skizze hinzugefügt
      • Abschnitt „Einsteins spukhafte Verschränkung“: Beispiel und Skizze von 2 verschränkten Qubits hinzugefügt
      • Abschnitt „Quantengatter einfach erklärt“: Ein paar Erläuterungen über „Quirk“ hinzugefügt
      • Abschnitt „Finde das Pik As!“: QRAM-Funktionalität hinzugefügt
      • Abschnitt „Letzte Änderungen“ hinzugefügt
    • 04.07.2019:
      • Abschnitte „Finde das Pik-As“ und „Quantenkomplexität einfach erklärt“ hinzugefügt“

Fußnoten

ii https://www.scottaaronson.com/blog/?p=208: Eine allgemeinverständliche Beschreibung des Shor-Algorithmus auf Scott Aaronsons Blog. Scott Aaronson ist einer von mehreren namhaften Computerwissenschafltern, die mittlerweile im Bereich der Quantencomputer forschen.

iii https://www.youtube.com/watch?v=O_RLktWkSdg: Vortrag von Matthias Troyer (mittlerweile bei Microsoft angestellt) „Transforming Machine Learning and Optimization through Quantum Computing“. Troyers verwendete Liste beginnt allerdings bei 10 Qubits. Wenn man dies auf 1 Qubit zurückrechnet erhält man die erwähnten 256 Bits. Die kommen so zustande: 1 Qubit ist im Allgemeinen die bereits erwähnte Überlagerung a * |0> + b *|1>. Die Zahlen a und b sind sogenannte „komplexe Zahlen“ und lassen sich damit jeweils aus einem Paar von Kommazahlen („reelle Zahlen“) ausdrücken. Nimmt man auf einem normalen Computer für diese 4 Kommazahlen z.B. den Datentyp „double“ ergibt das jeweils 64 Bit. Das macht dann genau 64*4 = 256. Besten Dank übrigens an Herrn O. Wege, der mich auf eine Unstimmigkeit in meiner ursprünglichen Liste hingewiesen hat.

iv https://arxiv.org/abs/1203.5813: wissenschaftliche Arbeit von John Preskill „Quantum computing and the entanglement frontier“

v http://cds.cern.ch/record/722038/files/0403048.pdf: Aufsatz von G. Florio, D. Picca „Quantum implementation of elementary arithmetic operations“. Falls Sie sich den Aufsatz ansehen erkennen Sie auch direkt wie absolut anders ein Quanten-Algorithmus aussieht. Das liegt u.a. an den Quantengattern.

vi Tatsächlich gilt das Superpositionsprinzip auch in der Elektrodynamik und somit auch in der Elektronik. In den herkömmlichen Computern wird dies aber gerade gewollt ausgehebelt, um das digitale Verhalten der herkömmlichen Computer überhaupt erst zu ermöglichen. Möglich machen dies ausgerechnet die nichtlinearen An/Aus-Schaltelemente auf Basis der Quantentechnologie: Die Transistoren. Diese sind tatsächlich nur in einem reinen Quantensystem linear.

viii Natürlich kann ein Quantencomputer nicht mit Karten arbeiten. Stattdessen weisen wir jeder Karte ein bestimmtes Bit-Muster aus 0en und 1en zu. Entsprechend heißt dann die richtige Aufgabe: „Finde das Bit-Muster für das Pik As in den Qubits“. Die gleichmäßige Überlagerung aller Bit-Muster ähnelt dadurch dem wahllosen und verdecktem Ausbreiten der Spielkarten. Unser einfaches Beispiel mag auf den ersten Blick unlogisch aussehen, weil wir nach einem Bit-Muster suchen, das wir vorher festgelegt haben. Bedenken Sie aber, dass man den gleichen Quanten-Algorithmus z.B. auch dafür verwenden kann, um die kürzeste Route aus allen möglichen Routen zu suchen.

Anwendungen für Quantencomputer

<< >>

Erste Quantencomputer Anwendungen: Ein goldenes Zeitalter?

Glaubt man Seth Lloyd vom Massachusetts Institute of Technology / MIT, steht die Quantencomputer-Szene gerade kurz vor einem goldenen Zeitalter. Seth Lloyd bezeichnet sich selbst als „Quantum Mechanic“, ist einer der Gründerväter der Quantencomputer-Forschung und seit über 25 Jahren ein führender Theoretiker in dem Bereich. Nebenbei sind seine Vorlesungen und Vorträge einfach immer sehr unterhaltsam i (Gerne gibt Lloyd z.B. die steile These zum besten, dass der Finanzcrash von 2009 durch die verkopften Transaktions-Algorithmen von einem Haufen arbeitsloser Superstring-Theoretikern verursacht wurde, und dass dass die Forscher für Quantencomputer die Sache mit der Weltwirtschaft jetzt zu Ende zu bringen werden).

Lloyd erzählt, dass die Forschung an Quantencomputern gerade mal mit einer handvoll Wissenschaftlern begann. Heute sind es Zehntausende, die die Entwicklung in dem Bereich regelrecht beflügeln. Im Jahr 1985 wurde der erste Quanten-Algorithmus von David Deutsch vorgestellt, der für eine spezielle Aufgabe weniger Rechenschritte benötigte, als ein herkömmlicher Computer. In den Jahrzehnten seitdem wurde eine Vielzahl an faszinierenden Quanten-Algorithmen für viele Anwendungen entwickelt, die die herkömmlichen Programme für dieselbe Anwendung meilenweit hinter sich lassen und exponentielle Rechenbeschleunigungen erzielen können.

Diese existieren aber bislang nur auf dem Papier. Was bislang fehlte war die zugehörige Hardware.

Letztere ist langsam verfügbar. Diverse Tech-Firmen arbeiten an Cloud-Angeboten für ihre Quantencomputer. An öffentlichen Einrichtungen wird die Forschung an größere und verlässlicheren Quantencomputern ebenfalls weiter vorangetrieben.

Lloyd vergleicht die aktuelle Entwicklung mit der Gründerzeit der ersten Digitalcomputer. Das Konzept für die herkömmlichen Digitalcomputer wurde in den 1930er Jahren von Claude Shannon in seiner Masterarbeit, ebenfalls am MIT, vorgestellt (die Arbeit von Shannon wurde später als die „einflussreichste Masterarbeit des 20. Jahrhunderts“ bezeichnet ii).

Konrad Zuse entwickelte während des 2. Weltkriegs erste Prototypen. Bis in die 1950er Jahre waren mehrere erste Computermodelle verfügbar. Diese waren sehr limitiert, riesengroß und fehleranfällig, Aber allein diese Verfügbarkeit legte den Grundstein für die Entwicklung einer Vielzahl von grundlegenden Algorithmen, die auch heute noch verwendet werden.

Laut Seth Lloyd ist die Situation mit den ersten Quantencomputern heute sehr ähnlich. Sie sind aufwendig im Betrieb, besitzen nur wenige Dutzend Qubits und sind besonders noch sehr fehleranfällig. Aber sie können genutzt werden. Das öffnet die Tür erstmals praktische Erfahrungen mit der neuen Technologie zu sammeln.

Viele Algorithmen und Anwendungen für herkömmliche Computer wurden eben über solche Erfahrungen entwickelt. Wir können erwarten, dass dies für Quantencomputer auch zutreffen wird. Erste Kandidaten für solche heuristische Methoden gibt es bereits.

NISQ: Die ersten Generationen von Quantencomputern

Anlässlich seiner Keynote-Rede zu der Konferenz „Quantum Computing For Business 2017“ fand John Preskill vom California Institute of Technology (Caltech) einen passenden Begriff für die erste Ära von Quantencomputern: „Noisy intermediate scale quantum computer“ NISQ iii. John Preskill ist einer der führenden Kopfe hinter der Quantencomputer-Entwicklung und trifft in seinen Vorträgen oft den Nagel auf den Kopf: „Fehleranfällige, mäßig skalierte Quantencomputer“.

Damit meint Preskill Quantencomputer mit etwa 50 – wenigen 100 Qubits. Insbesondere sind die Quantencomputer der NISQ-Ära nicht in der Lage eines der Kernkonzepte für Quantencomputer umzusetzen: Die Quanten-Fehlerkorrektur für die äußerst störanfälligen Qubits. Ohne die Quanten-Fehlerkorrektur können Quantencomputer keine umfangreichen Quanten-Algorithmen ausführen. Und das betrifft aktuell fast alle Quanten-Algorithmen. Die Fehlerrate von aktuellen Quanten-Gattern, also elementaren Qubit-Schaltungen, liegt bei 1:100 bis zu 1:1000. Das liegt um viele Größenordnungen über der Fehlerrate von herkömmlichen Computern.

Die ersten Anwendungen von NISQ-Quantencomputer müssen diese Einschränkungen also berücksichtigen.

Quantencomputer Anwendung: Eine Einstufung der Algorithmen

Ein Jahr nach Preskills Vortrag hielt Adam Bouland an gleicher Stelle einen sehr guten Vortrag auf der Konferenz „Quantum Computing For Business 2018iv. Darin stellte er verschiedene bekannte Quanten-Algorithmen für diverse Anwendungen vor. Bouland stufte die Algorithmen in zwei Kriterien ein:

  1. Beschleunigung: Der Grad an Beschleunigung gegenüber herkömmlichen Computer (bzw. die Beschleunigung gegenüber den besten bekannten Algorithmen für herkömmliche Computer für dieselbe Anwendung)
  2. Verfügbarkeit: Der Zeitpunkt, wann dieser Algorithmus vermutlich verfügbar sein wird

Verfügbarkeit

Beschleunigung

Kurzfristig (NISQ)

Langfristig

Riesig

(exponentiell)

Moderat

(z.b. quadratisch)

Unbekannt

 

Diese Einteilung finde ich so sinnvoll, dass ich sie für diesen Artikel ebenso verwenden werde. Genauso werde ich einige Inhalte aus seinem Vortrag übernehmen.

Quantencomputer Anwendung: Eine Übersicht

Quantencomputer werden in absehbarer Zukunft vermutlich nur für besonders rechenintensive Probleme eingesetzt werden, deren Lösungen aber besonders wertvoll sein können. Zu den absehbaren Anwendungen zählen zum Beispiel:

        1. Simulationen für Natur- und Ingenieurswissenschaften (Physik, Materialforschung, Quanten-Chemie, Quanten-Biologie)
        2. Optimierung (Logistik, Finanzwirtschaft, …)
        3. Künstliche Intelligenz und Machine Learning
        4. IT-Beratung
        5. Kryptographie
        6. Energieeinsparung

Diese werde ich im Folgenden genauer vorstellen.

Quantencomputer Anwendung „Simulationen für Naturwissenschaften“

Verfügbarkeit

Beschleunigung

Kurzfristig (NISQ)

Langfristig

Riesig

(exponentiell)

Hamiltonische Simulation

Moderat

(z.b. quadratisch)

Unbekannt

VQE

 

1982 beendete der geniale Richard Feynman einen berühmten Aufsatz mit den ebenfalls berühmten Worten: „Nature isn’t classical, dammit, and if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy.“ v .

Quantencomputer Anwendung „Hamiltonische Simulation“

1996 bewies Seth Lloyd, dass jede solcher Simulationen prinzipiell und effizient mit einem Quantencomputer durchgeführt werden können vi. Diese Art von Berechnungen werden „Hamiltonische Simulationen“ genannt. Sie berechnen die Dynamik, also den zeitlichen Verlauf, von beliebigen Quantensystemen, welche generell durch den sogenannten Hamilton-Operator charakerisiert sind (daher der Name). Hamiltonische Simulationen gehören zu den schwersten Berechnungen, die ein Quantencomputer effizient durchführen kann. Herkömmliche Supercomputer können dies erwiesenermaßen genau nicht.

Hinter vielen möglichen Anwendungen für Quantencomputer stehen noch offene Fragezeichen, inwieweit bekannte Einschränkungen und Nebenbedingungen in der Praxis einmal überwunden werden können. Es herrscht aber generelle Einigkeit, dass die sagenumwobenen Heilsversprechen von Quantencomputern auf jeden Fall für die Hamiltonische Simulation zutreffen werden.

Quantencomputer Anwendung „Synthetisierung von Ammoniak“

Eine spannende Anwendung für die Hamiltonische Simulation, die bereits im Detail auf ihre Anwendbarkeit untersucht wurde, ist die „Synthetisierung von Ammoniak“:

Im Jahr 1913 wurde das Haber-Bosch-Verfahren zur Synthetisierung von Ammoniak zum ersten Mal großindustriell eingeführt. Seitdem ist es das weltweit dominierende Verfahren für die Herstellung von Düngemitteln. Es benötigt allerdings eine Hitze von 400° Celsius und einen Druck von 200 Bar. Etwa 1-2% des weltweiten Energiebedarfs wird jährlich nur in das Haber-Bosch-Verfahren gesteckt.

Pflanzen und Pilze hingegen synthetisieren Ammoniak bei 20° Celsius und einem Druck von 1 Bar, dem Atmosphärendruck. Forscher konnten die zentralen Reaktionen hierfür zwar lokalisieren allerdings nicht detailliert verstehen. Die notwendigen Quantensimulationen sind schlichtweg zu komplex, als das sie von einem herkömmlichen Supercomputer berechnet werden könnten.

Quantencomputer wären über die Hamiltonische Simulation dazu allerdings in der Lage vii. Allerdings wohl leider nicht in der NISQ-Ära.

Quantencomputer Anwendung „VQE“ – Variational Quantum Eigensolver

Die Anwendung „Hamiltonische Simulation“ übersteigt also wohl die Möglichkeiten für Quantencomputer der NISQ-Ära. Gibt es andere mögliche Anwendungen für Quantensimulationen, die auf der aktuellen Hardware umgesetzt werden können?

Eine wichtige Fragestellung für Quantensysteme ist die Frage nach den nach den Bindungsenergien des Systems und den Atom- bzw. Molekül-Orbitalen.

2014 wurde der neue Quanten-Algorithmus „Variational Quantum Eigensolver“ von Peruzzo und McClean vorgestellt viii ix. Er wurde speziell für die Quantencomputer der NISQ-Arä konzipiert. VQE ist im Grunde ein Optimierungs-Algorithmus und insbesondere ein Quanten-klassischer Hybrid-Algorithmus:

      1. Die Qubits werden so eingestellt, dass sie einen Orbital-Kandidaten darstellen.
      2. Mit diesem Kandidaten ermittelt der Quantencomputer die Bindungsenergie des Moleküls. Mit einem Quantencomputer sollte dies effizient durchführbar sein. Da diese Messung immer auch eine Sache von Wahrscheinlichkeiten ist, wird sie mehrmals durchgeführt und der kleinste Wert verwendet.
      3. Über einen herkömmlichen Computer wird ein neuer Orbital-Kandidat anhand des bisherigen Optimierungsverlaufs berechnet x.
      4. Jetzt beginnt der Algorithmus wieder bei Schritt 1. Diesmal mit dem neuen Orbital-Kandidaten. Der Algorithmus endet dann, wenn z.B. die niedrigste Bindungsenergie gefunden wurde.

Der Grundgedanke des Variational Quantum Eigensolver ist, dass ein Quantencomputer in der Lage ist auch kompliziert verschränkte Quantenzustände herzustellen und mit ihnen zu rechnen. Und gerade solche Orbitale liegen in Molekülen vor. Für einen herkömmlichen Computer wird dies normalerweise schnell exponentiell zu aufwendig.

Dadurch dass der Variational Quantum Eigensolver über die Optimierung sowieso ständig nachjustiert, ist der Algorithmus auch einigermaßen immun gegen Schaltungs- und Qubit-Fehler.

Der Variational Quantum Eigensolver hört sich in der Theorie sehr erfolgversprechend an. Tatsächlich kann aktuell aber niemand mit Sicherheit sagen, ob der VQE tatsächlich eine Beschleunigung bringt, geschweige denn, dass diese beziffert werden könnte. Hier müssen noch viele Erfahrungswerte gesammelt werden. So zeigt sich z.B. dass nicht jeder klassische Optimierungs-Algorithmus im Schritt 3 gleich gut für den Variational Quantum Eigensolver geeignet ist xi

Um den VQE-Algorithmus hat Google das Opensource-Framework „OpenFermion“ für Quantenchemie erstellt. Jarrod McClean, einer der Entwickler des Variational Quantum Eigensolvers, wurde mittlerweile von Google angeworben. Es zeigt sich, dass die Tech-Riesen vermehrt gerade mit solchen Wissenschaftlern eng zusammenarbeiten, die sich einen Namen für Anwendungen von NISQ-Quantencomputern gemacht haben.

Quantencomputer Anwendung „Optimierung“

Der Optimierung widme ich auf quantencomputer-info.de einen eigenen Artikel. Deshalb stelle ich die drei Algorithmen hier nur in Kürze vor:

Verfügbarkeit

Beschleunigung

Kurzfristig (NISQ)

Langfristig

Riesig

(exponentiell)

Moderat

(z.b. quadratisch)

Grover

Unbekannt

QAA

QAOA

 

Quantencomputer Anwendung: Der Grover-Algorithmus

Der Grover-Algorithmus ist ein universeller Suchalgorithmus, der sämtliche Lösungskandidaten ausprobiert und testet, ob sie das Problem lösen. Daran können Sie sehen, dass der Grover-Algorithmus ein unheimlich breites Feld an Anwendungen besitzt, unter anderem bei Optimierungsproblemen.

Der Grover-Algorithmus besitzt eine quadratische Beschleunigung gegenüber herkömmlichen Suchalgorithmen. In der Anwendung benötigt er aber wohl zu viele Quantengatter, weshalb er wohl nicht für Quantencomputer der NISQ-Arä verwendet werden kann.

Quantencomputer Anwendung „QAA“ – Quantum Adiabatic Algorithm

Grundlage des QAA ist das Adiabatischen Theorem der Quantenmechanik aus dem Jahr 1928.

Der Quantum Adiabatic Algorithm wird hardwareseitig durch den Quanten Annealer von D-Wave realisiert und kann dort bereits heute schon eingesetzt werden. Aus diesem Grund ordne ich ihn als „kurzfristig verfügbar“ ein.

Auf universellen Quantencomputern ist der Quantum Adiabatic Algorithm eine Anwendung der Hamiltonischen Simulation (s.o.). Deswegen wird der QAA auf NISQ-Quantencomputern zunächst nur in einer abgewandelten Form eingesetzt werden. Ein Beispiel hierfür ist gerade der QAOA:

Quantencomputer Anwendung „QAOA“ – Quantum Approximate Optimization Algorithm

Wie der Quantum Variational Eigensolver ist der Quantum Approximate Optimization Algorithm ein Quanten-klassischer Hybrid-Algorithmus:

      1. Die Qubits werden so eingestellt, dass sie einen Kandidaten für die Lösung des Optimierungsproblems darstellen.
      2. Mit diesem Kandidaten ermittelt der Quantencomputer die Kostenfunktion des Problems. Mit einem Quantencomputer sollte dies effizient durchführbar sein. Da diese Messung immer auch eine Sache von Wahrscheinlichkeiten ist, wird sie mehrmals durchgeführt und der beste Wert verwendet.
      3. Über einen herkömmlichen Computer wird ein neuer Kandidat für die Lösung des Problems anhand des bisherigen Optimierungsverlaufs berechnet.

Das Team um Edward Farhi gibt außerdem vor, wie die Lösungskandidaten ermittelt werden. Sie sind nichts anderes als eine Parametrisierung des adiabatischen Pfades im QAA. Nach Farhi ist das ein Indiz dafür, dass dieser Lösungsansatz zum Ziel führt.

Quantencomputer Anwendung „Künstliche Intelligenz und Machine Learning“

Der Künstliche Intelligenz und dem Machine Learning widme ich ebenfalls auf quantencomputer-info.de einen eigenen Artikel. Hier stelle ich die Kernaussagen meines Artikels nur kurz vor:

Zwei Schwerpunkte der Künstlichen Intelligenz und des Machine Learnings werden im Rahmen der Quantencomputer-Forschung genauer untersucht:

      • Unsupervised Machine Learning, unüberwachtes Maschinelles Lernen: Sucht nach Zusammenhängen und Gruppen in Rohdaten, ohne dass zusätliche Informationen dazu bekannt wären. Die Rohdaten werden auf das „Wesentliche“ beschränkt. Nicht zuletzt ermittelt das Unsupervised Machine Learning dabei, was das „Wesentliche“ in dem Zusammenhang überhaupt heißt.
      • Supervised Machine Learning, überwachtes Maschinelles Lernen: Bekannte und bereits beurteilte Daten werden verwendet, um neue unbekannte Daten zu beurteilen. Das „Deep Learning“ mit Neuronalen Netzwerken, das in aller Munde ist, gehört z.B. in diese Kategorie (z.B. für die Gesichter- oder für die Spracherkennung, …).

Für das Unsupervised Machine Learning wurden seit 2008 eine Reihe von Quanten-Algorithmen entwickelt, die eine exponentielle Beschleunigung versprachen. Viele dieser Algorithmen basieren auf der Tatsache, dass die Lineare Algebra (die Mathematik von Zeigern bzw. Vektoren) in Quantencomputer quasi von Natur aus eingebaut sind. Und zwar exponentiell effizient!

Im Sommer 2018 kam dann der Paukenschlag: Die junge Studentin Ewin Tang wies der kompletten Forschergemeinde nach, dass einige diese Algorithmen deutlich unspektakulärer sind als allgemein angenommen. Mehr verrate ich an dieser Stelle nicht.

Die Anwendung des zweiten Schwerpunktes der Künstlichen Intelligenz mit Quantencomputern, dem Supervised Machine Learning, wurde bis heute weit weniger detailliert untersucht. Dafür fing die Forschung in den letzten Jahren gezielt an, Strategien für Quanten-Neuronale-Netzwerke mit NISQ-Quantencomputern zu entwickeln.

Die Algorithmen nutzen unter anderem die Erkenntnisse aus, die bereits zur Entwicklung des QAOA- und des QAA-Algorithmus geführt haben (s. oben). Das Hauptargument für die Quanten-Neuronale-Netzwerke ist Folgendes: Quantencomputer sind selbst so etwas wie „Netzwerke auf Stereoide“. Sie besitzen Möglichkeiten, die für herkömmliche Netz-Strukturen nicht denkbar wären (wie die Quanten-Verschränkung). Der Schluss liegt nahe, dass sich hierbei ein Mehrtwert für das Deep Learning erzeugen lässt.

Quantencomputer Anwendung „IT-Beratung“

Aktuelle Quantencomputer sind noch nicht in der Lage interessante Anwendungen zu ermöglichen. Das könnte sich sogar noch in der NISQ-Ära ändern und möglicherweise sehr abrupt. Es gibt Hinweise, dass auch für Quantencomputer eine Art „Moores Law“ zutreffen könnte xii, das die Beschleunigungszyklen von herkömmlichen Computern lange Zeit zutreffend beschrieb. Mögliche Quanten-Algorithmen hierfür habe ich Ihnen in diesem Artikel vorgestellt. Firmen, die auf Highend-Algorithmen angewiesen sind, können sich in der Regel nicht erlauben, eine Entwicklung mit so viel Potential zu verpassen. Um aber auch nur erste Gehversuche in der Quantencomputer-Welt zu machen, ist allerdings so spezielles Knowhow notwendig, dass selbst Firmen mit viel IT-Erfahrung ohne Unterstützung nicht aus den Startlöchern herauskommen werden. Dazu müssen Sie sich zwingend mit der aktuellen Forschung zu den jeweiligen Quanten-Algorithmen auseinandersetzen, die ich z.B. in diesem Artikel vorgestellt habe.

Die Hersteller der Quantencomputer wissen das natürlich und begleiten hier durch die ersten Gehversuche. D-Wave betreute bis Ende 2018 etwa 150 Kundenprojekte. Zusätzlich haben sich zwei Startups einen Namen gemacht, die sich darauf spezialisieren, den zukünftigen Markt für Softwarelösungen herstellerunabhängig auszuloten und Knowhow im Quantencomputing zu entwickeln und zu bündeln: Die Vancouver Firma 1QBit und QCWare aus dem Silicon Valley.

Ich gehe davon aus, dass sowohl die Kunden als auch die nordamerikanischen Firmen früher oder später erkennen, dass sie auch auf IT-Beratung in Deutschland bzw. Europa angewiesen sind:

      • Für Einführungsveranstaltungen, um überhaupt einen Eindruck von der Technologie und den aktuellen Möglichkeiten zu vermitteln
      • Als Schnittstelle zwischen Hersteller und Kunden, die beide Sprachen spricht und besser verfügbar sind
      • Als Experte um Projekte direkt eigenverantwortlich auf den Cloudangeboten umzusetzen

Fußnoten

i https://www.youtube.com/watch?v=5xW49CzjhgI: Vortrag von Seth Lloyd „The Future of Quantum Computing“.

ii Das Hauptwerk von Shannon sollte später allerdings die moderne Informationstheorie werden, die er im Alleingang entwickelte und die auch die Vorlage für die Quanten-Informationstheorie wurde. Claude Shannon war ohne Zweifel einer der prägendsten Wissenschaftlern des 20. Jahrhunderts.

iii https://arxiv.org/abs/1801.00862: „Quantum Computing in the NISQ era and beyond“, Vortragvorlage von John Preskill zur Konferenz „Quantum Computing For Business“ in 2017.

iv https://www.youtube.com/watch?v=PJRatgm8sL0: „The Quantum Algorithms: The NISQ Landscape“, Vortrag von Adam Bouland auf der Konferenz „Quantum for Business 2018“

vhttps://people.eecs.berkeley.edu/~christos/classics/Feynman.pdf: „Simulating Physics with Computers“ Artikel von Richard Feynman

vi https://science.sciencemag.org/content/273/5278/1073: „Universal Quantum Simulator“, Artikel von Seth Llyod

vii http://www.pnas.org/content/early/2017/06/30/1619152114: Wissenschaftlicher Artikel u.a. von Krysta Svore, Matthias Troyer (Microsoft) „Elucidating reaction mechanisms on quantum computers“

viii https://www.youtube.com/watch?v=w7398u8G588: Vortrag von Jarrod McClean: „Quantum Computation for the Discovery of New Materials and […]“

ix https://arxiv.org/abs/1509.04279: „The theory of variational hybrid quantum-classical algorithms“ Fachartikel von Jarrod McClean et al.

xDie Orbital-Kandidaten sind dafür über vorher festgelegte Kriterien parametrisiert. z.B. : Drehe Qubit 1 um Winkel 1, drehe Qubit 2 um Winkel 2, verschränkte Qubit 5 und Qubit 6 um den Faktor 3, … Diese Parameter (Winkel 1, 2, …) werden im weiteren Verlauf anhand von klassischen Algorithmen weiter optimiert (z.B. „Gradient Descent“, Nelder und Mead‘s „Simplex-Verfahren“, …).

xi https://quantumcomputing.stackexchange.com/questions/6562/how-to-implement-nm-algorithm-for-variational-quantum-eigensolver: Antwort von Jarrod McClean zu dem Thema „Optimierer für den VQE“ auf Quantum Computing Stack Exchange

xii https://www.quantamagazine.org/does-nevens-law-describe-quantum-computings-rise-20190618/: Artikel „Does Neven’s Law Describe Quantum Computing’s Rise?“ auf Quantamagazin, das Quantencomputern sogar eine Turbo-Version von Moores Law in Aussicht stellt, weil jedes weitere Qubit die Leistungsfähigkeiten eines Quantencomputers sowieso bereits verdoppelt (zumindest auf dem Papier). Ähnlich geht Bo Ewald von D-Wave davon aus, dass die Anzahl von Qubits in D-Waves Quanten Annealer alle zwei Jahre verdoppelt werden kann: https://www.youtube.com/watch?v=UywYeMl30EM

Künstliche Intelligenz und Machine Learning mit Quantencomputern

<<   >>

Künstliche Intelligenz und Machine Learning mit Quantencomputern: Nur ein Superhype?

Künstliche Intelligenz und Machine Learning sind in aller Munde. Unser Alltag wird immer mehr durch sie bestimmt, sowohl im Offensichtlichen als auch im Verborgenen. Viele Branchen können sich gar nicht mehr erlauben Investitionen in Künstliche Intelligenz und Machine Learning zu ignorien. Staaten treiben mit Milliarden an Fördergeldern die Erprobung neuer Möglichkeiten voran i, und große gesellschaftliche Umbrüche stehen uns bevor.

Mit anderen Worten: Künstliche Intelligenz und Machine Learning ist vielleicht das Hype-Thema unserer Tage schlechthin.

Einer anderen Technologie, die ein gewaltiges Potential hat, habe ich diese Webseite gewidmet: Den Quantencomputern.

Was passiert also wenn ein Hype auf einen anderen Hype trifft?

Vorsichtig sein, sagt uns unser Instinkt. In diesem Artikel gebe ich Ihnen einen realistischen und aktuellen Lagebericht zu dem Thema. Wie angebracht diese Vorsicht ist, beweist die folgende Episode.

Eine Teenagerin schreckt die komplette Forschergemeinde auf (Teil 1)

Juni 2018, University of California in Berkeley: Eine Woche lang beraten führende Wissenschaflter für Quantencomputer-Algorithmen auf der Konferenz „Challenges in Quantum Computation“ über die Herausforderungen vor denen die aktuelle Forschung steht.

Am Ende der Konferenz bittet Scott Aaronson, von der University of Texas in Austin und einer der führenden Köpfe der Quantencomputer-Szene, einige Teilnehmer zu einer Extraschicht in einer dringenden Angelegenheit. Die Forscher treffen sich in der Folgewoche wieder. Unter ihnen sind auch Iordanis Kerenidis und Anupam Prakash.

Zwei Jahre zuvor hatten die beiden Forscher einen Algorithmus für ein Quanten-Empfehlungssystem entwickelt ii. Empfehlungssysteme ermitteln Vorlieben von Kunden anhand ihrer Bestellhistorie und bilden häufig das Herzstück von Bigdata-Unternehmen wie Amazon oder Netflix.

Der neue Algorithmus von Kerenidis und Prakash hatte in der Zwischenzeit eine enorme Aufmerksamkeit in der Forschergemeinde bekommen. Er war einer der ersten Quanten-Algorithmen, der speziell auf eine reale Anwendung im Bereich Bigdata und Machine Learning zugeschnitten war und erwiesenermaßen eine exponentielle Beschleunigung gegenüber allen bekannten Algorithmen für herkömmliche Computer besaß.

Am Morgen des 18. Junis tritt Aaronsons junge Studentin Ewin Tang vor die erlesene Runde und beginnt einen Vortrag über Kerenidis und Prakashs Arbeit.

Und langsam dämmert den verblüfften Anwesenden die bittere Tragweite von Ewin Tangs Ausführungen … (Teil 2 folgt weiter unten).

Künstliche Intelligenz und Machine Learning: Ein Kurzüberblick

Um die Episode zu beenden und überhaupt um diesen Artikel zu verstehen, müssen wir erst mal ganz von vorne anfangen. Was ist eigentlich Künstliche Intelligenz oder Machine Learning?

Eines der Hauptziele der klassischen künstlichen Intelligenz und des Machine Learnings ist es Daten zu struktieren und zu klassifizieren. Folgende Schwerpunkte gibt es dabei:

  • Supervised Machine Learning, überwachtes Maschinelles Lernen: Dabei werden bekannte und bereits beurteilte Daten dafür verwendet, um neue Daten zu klassifizieren. Das Standardbeispiel hierfür sind die Deep Learning – Netzwerke. Ein Deep Learning – Netzwerk wird z.B. mit beurteilten Tierbildern gefüttert (Bild 1 = „Katze“, Bild 2 = „Vogel“, Bild 3 = „Katze“, …). Nach einer längeren Anlernphase ist das Netzwerk optimiert bzw. trainiert und in der Lage neue, unbekannte Bilder richtig einzuordnen.
  • Unsupervised Machine Learning, unüberwachtes Maschinelles Lernen: Dabei wird nach Zusammenhängen und Gruppen in Rohdaten gesucht, ohne dass irgendwelche Zusatzinformationen zu diesen Daten bekannt wären. Dadurch wird versucht, die Rohdaten auf das „Wesentliche“ zu reduzieren.
  • Semi-supervised Machine Learning, teilüberwachtes Maschinelles Lernen: In einer Datenmenge sind einige Daten bereits beurteilt und einige noch nicht. Anhand der zusätzlichen Informationen wird versucht, die gesamte Datenmenge besser zu strukturieren und zu gruppieren. Dies geschieht insbesondere über statistische Methoden.
  • Reinforced Machine Learning, bestärkendes Maschinelle Lernen: Das Verhalten eines Softwareagenten wird mittels „Belohnung und Bestrafung“ immer weiter verbessert.

Die ersten beiden Schwerpunkte erläutere ich Ihnen im Weiteren etwas genauer. Dabei stelle Ihnen einige Algorithmen für Quantencomputer vor, von denen man sich eine Beschleunigung gegenüber Methoden für herkömmliche Computer erhofft.

Wie Machine Learning – Algorithmen Rohdaten sehen

Um Rohdaten für das Machine Learning aufzubereiten, hat es sich bewährt, diese Daten als Zeiger bzw. „Vektoren“ in riesigen, hochdimensionalen Datenräumen darzustellen. Und mit „riesig“ meine ich jetzt nicht so etwas, wie die „grenzenlosen Weiten des Weltalls“, sondern einen abstrakten Hyperraum mit vielen, vielen Dimensionen (also Achsen, die jeweils senkrecht aufeinander stehen). Hier wieder mein Hinweis: Versuchen Sie erst gar nicht, sich mehr als drei senkrechte Achsen räumlich vorzustellen (nämlich Höhe, Länge, Breite). Wir Menschen können es einfach nicht! Die Mathematik hat damit allerdings überhaupt keine Probleme. Sie kann mit beliebig vielen Dimensionen arbeiten, sogar mit unendlich vielen.

Ein Bild mit 16 * 16 Pixeln, wird so z.B. als ein Zeiger in einem Datenraum mit 16 * 16 = 256 Dimensionen dargestellt. Falls Pixel Nr. 194 in dem Bild auch nur etwas grau ist, dreht sich der Datenzeiger etwas in die Richtung der 194. Achse und zwar umso mehr, je schwarzer der Punkt im Bild ist.

Machine Learning mit Quantencomputern

Solche Datenräume stellen für herkömmliche Computer einen gewissen Aufwand dar: Um z.B. einen Zeiger in einer Ebene mit auch nur zwei Dimensionen (also wie ein Uhrzeiger) mit einer Genauigkeit von 0.1% darzustellen, braucht Ihr Computer etwa 20 Bits. Um diesen Zeiger zu verändern, in dem er z.B. gedreht wird, muss auf jedes dieser 20 Bits ein größere Anzahl an elementaren Bit-Operationen ausgeführt werden.

Ein Quantencomputer besitzt solche Zeigerdarstellungen von Natur aus. In meinem Artikel „Das Qubit und ein Magier bei Britain has Got Talent“ erkläre ich Ihnen, dass sich ein Qubit selbst, etwas vereinfacht, wie ein Zeiger in einer Ebene verhält. Die Achsen heißen in dem Fall „0“ und „1“. Im Prinzip kann unser Zeiger-Beispiel also mit einem einzigen Qubit dargestellt werden.

Zeiger-Operationen sind prinzipiell ebenfalls direkt im Quantencomputer eingebaut und erfordern nur wenige Qubit-Operationen bzw. Quantengatter.

Aber es geht noch viel besser: Dieser Vorteil eines Quantencomputers verstärkt sich prinzipiell, je größer bzw. hochdimensionaler die Datenräume werden.

Und zwar exponentiell, also quasi explosionsartig!

Der Grund dafür ist, dass ein Quantencomputer seine potentielle Leistungsfähigkeit mit jedem weiteren Qubit verdoppelt. Dieses Quanten-Phänomen beschreibe ich genauer in meinem Einführungsartikel „Quantencomputer einfach erklärt“.

Unsupervised Machine Learning mit Quantencomputern

Dieser exponentielle Quanten-Vorteil ist bereits ein Hauptargument vieler Quanten-Algorithmen für Machine Learning.

Auch klassische Algorithmen können viele Information über Rohdaten ermitteln, wenn sie als Zeiger in einem Datenraum dargestellt werden. Über die bloße „räumliche“ Verteilung ihrer Zeigerspitzen in dem riesigen Datenraum können sie z.B. zu Gruppen zusammengefasst werden.

Ein Quantencomputer rechnet prinzipiell anders als ein herkömmlicher Computer. Abstände von zwei Zeigerspitzen können über einen kleinen Rechen-Trick allerdings auch mit einem Quantencomputer berechnet werden: Dabei werden die Zeiger in zwei neue, sehr spezielle Zeiger umgewandelt. Der Abstand der ursprünglichen Zeigerspitzen wird dann aus dem Winkel der zwei neuen Zeiger ermittelt iii.

Die Hauptkomponentenanalyse mit Quantencomputern

Ein weiterer interessanter Algorithmus für das klassische Unsupervised Machine Learning ist die Hauptkomponentenanalyse bzw. Principal Component Analysis (PCA) iv. Die PCA verwendet für die Rohdaten ebenfalls den Datenraum. Darin werden die Datenpunkte bzw. die Zeigerspitzen als Bausteine eines massiven, starren Körpers interpretiert. Für diesen Körper können dann „mechanische Eigenschaften“ ermittelt werden. Die Hauptdrehachsen des Körpers (bei einem Spielzeugkreisel wäre die Hauptachse z.B. die senkrechte Drehachse des Kreisels) sind dann gerade die Hauptkomponenten des Datensatzes. Die PCA reduziert den starren Köper des Datensatzes im Prinzip auf einfachere geometrische Formen, mit ähnlichen mechanischen Eigenschaften. Die Rohdaten werden dadurch ebenfalls auf ihre Hauptkomponenten-Anteile reduziert.

Für die PCA wurde ebenfalls ein Quanten-Algorithmus mit einer exponentiellen Beschleunigung gefunden v. Dieser nutzt eine ganzen Latte von weiteren vielversprechenden Quanten-Algorithmen aus. Unter anderem der „Quantum Matrix Inversion“ oder geläufiger als „HHL-Algorithmus“ bezeichnet (nach seinen Autoren Harrow-Hassidim-Lloyd) vi. Der HHL-Algorithmus wurde 2008 gefunden und basiert selbst auf mehreren Algorithmen, die ich auf quantencomputer-info.de teilweise schon vorgestellt habe. Er ist in der Lage sogenannte lineare Gleichungssysteme exponentiell schneller zu lösen als alle herkömmlichen Algorithmen. Solche Gleichungssysteme so extrem häufig, dass der HHL-Algorithmus mittlerweile einer der Eckpfeiler der Forschung für Quanten-Algorithmen ist.

Quantencomputer und Machine Learning: Lese das Kleingedruckte …

Die spektakulären Quanten-Algorithmen, die ich bisher erwähnt habe, haben allerdings mindestens einen ganz gewaltigen Haken: Wie kommen die klassischen Rohdaten in den Quantencomputer?

Ein Quantencomputer ist in der Lage die Rohdaten exponentiell effizient darzustellen, soweit korrekt. Trotzdem müssen sie aber erstmal irgendwie in den Quantencomputer gelangen. Wenn das nicht mindestens genauso effizient erfolgen kann, ist der ganze Vorteil des superschnellen Quanten-Algorithmus bereits ganz am Anfang wieder hinfällig.

Wie dies erfolgen könnte wurde natürlich auch schon untersucht. Das vielversprechendste Konzept dafür nennt sich Quantum Random Access (QRAM) vii. QRAM hat aber auch einen Haken: Es gibt ihn noch nicht und wäre auch eine zusätzliche Quanten-Hardware, um die man sich kümmern müsste. QRAM besitzt eine Baumstruktur, an deren Knoten bzw. Verästlungen Quantenweichen sitzen, die jede Laderoutinen entweder in den linken oder in den rechten Seitenast weiterleiten. An den Blättern des Baumes befinden sich dann Informationen über die Zeiger der Rohdaten. Die Quantenweichen besitzen, anders als die Qubits, nicht zwei Quantenzustände, sondern drei. Von diesen Zuständen muss der Grundzustand besonders stabil sein. Die Entwicklung von QRAM ist noch völlig offen.

Ein weiterer Haken vieler Quanten-Algorithmen für Machine Learning: Wie Sie erfahren haben, basieren sie auf einer Mehrzahl zusätzlicher grundlegender Quanten-Algorithmen. Obwohl diese sehr spannend sind und großes Potential besitzen, wie z.B. der HHL-Algorithmus: Sie alle setzen die ein oder andere Bedingung voraus. Z.B. benötigen sie sehr große Quantencomputer oder eine gewisse Datenstruktur oder halt QRAM.

In Summe zu viele Fragezeichen für den eingangs erwähnten Scott Aaronson von der University of Texas. 2015 schrieb er einen Weckruf an seine Forscher-Kollegen: „Quantum Machine Learning Algorithms: Read the Fine Print“ viii und erhielt damit viel Zuspruch.

Eine Teenagerin schreckt die komplette Forschergemeinde auf (Teil 2)

Hier kommt seine junge Studentin wieder ins Spiel:

Ein Jahr später veröffentlichten Iordanis Kerenidis und Anupam Prakash den eingangs erwähnten Algorithmus für ein Quanten-Empfehlungssystem. Er war vielleicht der erste Algorithmus, der viele dieser Einschränkungen berücksichtigte, für eine reale Anwendung im Bereich Bigdata und Machine Learning zugeschnitten war und eine exponentielle Beschleunigung gegenüber allen bekannten Algorithmen für herkömmliche Computer besaß.

Was noch fehlte, war der Nachweis, dass es tatsächlich keinen schnelleren klassischen Algorithmus geben konnte. Scott Aaronson war genau davon überzeugt. Im Herbst 2017 übergab er die Suche nach diesem Nachweis an seine außerordentlich talentierte und vielversprechende Studentin Ewin Tang, als Thema für ihre Bachelor-Arbeit.

Was Ewin Tang dann der verblüfften Gruppe namhafter Forscher im Juni 2018 auf der Konferenz „Challenges in Quantum Computation“ in Berkeley präsentierte, war der von niemanden für möglich gehaltene Negativ-Nachweis. Ein neuer superschneller Algorithmus für Empfehlungssysteme sehr ähnlich wie der Quanten-Algorithmus Kerenidis und Prakash: Aber für herkömmliche Computer!

Erst später informierte Tangs Mentor Scott Aaronson die Forschern über ein weiteres kleines aber interessantes Detail zu dieser Entdeckung: Zum Zeitpunkt ihres Vortrages war Ewin Tang gerade einmal 18 Jahre alt ix.

„Quantum-inspired …“: Neue klassische Algorithmen für Machine Learning

Seit ihrer Entdeckung hat Ewin Tang eine Reihe von Artikeln über klassische Algorithmen mit dem Etikett „Quantum-inspired … “ veröffentlicht x. Diese machen die bereits gefunden Quanten-Algorithmen zwar nicht hinfällig, schränken aber wohl ihren Nutzen noch weiter ein xi.

Dabei ist Tangs Hauptargument das Folgende:

Wie viele andere Quanten-Algorithmen für Machine Learning und Linearer Algebra, geht auch der Algorithmus für das Quanten-Empfehlungssystem davon aus, dass die Datengrundlage (die Matrix von Benutzern und deren bekannten Produktvorlieben) Quantencomputer-gerecht und supereffizient in z.B. einer QRAM-Struktur abgelegt ist.

Tang argumentiert nun: Wer in der Lage ist, die Rohdaten in einer so aufwendigen Struktur von Quantenüberlagerungen abzulegen, sollte erst recht in der Lage sein, die Rohdaten in einer klassischen „Sample-And-Query“-Struktur abzulegen. Diese Struktur ist Tangs Pendant zum QRAM, ihm sehr ähnlich und genauso effizient aufgebaut. Anstatt mit Quanten-Überlagerungen arbeitet diese Datenbank mit reiner Statistik.

Die Rohdaten werden dabei in Datenfragmente aufgeteilt. Diese Fragmente werden in der SQ-Struktur nach ihrer Signifikanz am kompletten Datensatz statistisch gewichtet und können von dort supereffizient abgerufen werden. Die komplexe Berechnung des Quanten-Empfehlungssystems ersetzt Tang durch eine clevere statistische Einzelrechnung mit zufällig ausgewählten Datenfragmenten gemäß ihrer Gewichtung. Da auch die statistische Signifikanz der Fragmente abgerufen werden kann (ihre „statistische Verteilung“), ist Tang in der Lage das gesuchte, exakte Endergbnis abzuschätzen: Als Mittelwert aus der Statistik dieser Einzelergebnisse und mit jedem zusätzlichen Einzelergebnis immer genauer.

Dank des Quanten-Parallelismus kann der Quanten-Algorithmus von Kerenidis und Prakash von Anfang an mit dem kompletten Datensatz und exakt rechnen. Die Messung des Endergebnisses ist dann allerdings von der Quanten-Statistik abhängig. Im Gegensatz dazu „mißt“ Tang also nur Fragmente der Rohdaten gemäß ihrer statistischen Signifikanz und das schon ganz am Anfang. Dadurch reduziert sie die Datengröße und somit den Rechenumfang exponentiell und komponsiert den fehlenden Quanten-Parallelismus.

Wer meint, dass sich jetzt so ziemlich jedes Bigdata-Unternehmen um Ewin Tangs – Algorithmen reißen müsste, wird etwas enttäuscht. Tang bewertet den Nutzen ihrer bisherigen Arbeit für reale Anwendungsfälle in ihrem Blog nur „verhalten positiv“ xii.

Trotz des „Negativ-Ergebnisses“ zeigt diese Episode auch, wie fruchtbar die neuen Denkansätze für Quantencomputer selbst für herkömmliche Computer sein können. Oder wie Matthias Troyer von Microsoft Research es formuliert hat: „Ein Quanten-Algorithmus für Null Qubits“.

Quantencomputer, Künstliche Intelligenz und Machine Learning: Die Suche nach neuen Algorithmen

Als Zwischenfazit können wir festhalten: Die Quantencomputer-Forschung hat für die Künstliche Intelligenz und für das Machine Learning bereits eine Reihe interessanter Algorithmen entwickelt, die aber ihren Geschwindigkeitsvorteil hauptsächlich aus Unterroutinen wie QRAM und dem HHL-Algorithmus beziehen.

Wann und ob diese überhaupt eingesetzt werden können, ist noch offen.

Erst vor ein paar Jahren hat man damit begonnen, nach ganz neuen Wegen für die Künstliche Intelligenz und für das Machine Learning mit Quantencomputern zu suchen. Und zwar nach solchen Wegen, die bereits mit den kommenden Generationen von Quantencomputer beschritten werden können. Für Letztere prägte der bekannte Quantencomputer-Forscher John Preskill den Begriff „Noisy Intermediate Scale Quantun Computers“ (NISQ): Fehleranfällige, mäßig skalierte Quantencomputer xiii.

Drei prominente Vertreter solcher Quanten-Algorithmen habe ich Ihnen Bereits in meinem Artikel „Anwendungen für Quantencomputer“ vorgestellt: Dem „Quantum Adiabatic Algorithm“ (QAA), dem „Variational Quantum Eigensolver“ (VQE) und dem „Quantum Approximate Optimization Algorithm“ (QAOA). Die aktuelle Forschung für das Machine Learning mit Quantencomputern versucht diese Konzepte für die eigenen Ziele anzuwenden.

Kommen wir aber erst mal zu dem zweiten wichtigen Schwerpunkt der klassischen Künstlichen Intelligenz und des Machine Learnings:

Supervised Machine Learning und Deep Learning

Ein Herzstück aktueller Algorithmen für künstliche Intelligenz und Machine Learning sind „tiefe“ neuronale Netzwerke (Deep Learning – Netzwerke). Historisch gesehen war das Ziel hier, die Neuronen und Synapsen im Gehirn irgendwie programmatisch nachzuahmen. Herausgekommen ist ein Netzwerk von Knotenpunkten, die über mehrere Schichten miteinander verbunden werden.

Quelle: https://de.wikipedia.org/wiki/Deep_Learning#/media/Datei:MultiLayerNeuralNetworkBigger_english.png

Anhand von beliebigen Eingabe-Daten (z.B. mit Bildern von der Ziffern „1“, Bildern von der Ziffer „2“, …) wird das Netzwerk so eingestellt bzw. „trainiert“, dass es möglichst das gewünschte Ergebnis erkennt (die Ziffer 1, 2, …) xiv. Wie die Rohdaten für die Eingabe aufbereitet werden, habe ich Ihnen weiter oben schon anhand des „Datenraumes“ erklärt.

Das klassische Deep Leaning wurde in den 1970er entwickelt aber erst 1986 durch den „Backpropagation-Algorithmus“ revolutioniert: Ein Algorithmus über den das gesamte Netzwerk mit jeder neuen Trainingsrunde besonders effizient nachjustiert werden kann. In den letzten 10-15 Jahren zog dann die Hardware nach und wurde leistungsstark genug für die komplexen Algorithmen. Das Zeitalter von Google und Social Media fügte dann den letzten fehlenden Baustein hinzu: Eine Informationsflut von beurteilten Rohdaten, mit denen die Neuronalen Netze trainiert werden können.

Wie beeindruckend gut das Deep Learning mittlerweile funktioniert, sehen wir z.B. an den selbstfahrenden Autos und an den Sprachassistenten. Warum das ganze Konzept aber so gut funktioniert ist bis heute tatsächlich noch nicht genau verstanden xv.

Quantencomputer: Netzstrukturen auf Stereoide

Aber wie kommen jetzt die Quantencomputer ins Spiel?

Auf der einen Seite haben wir also die Deep Learning – Netzwerke. Diese sind sehr komplexe, programmierte Netzstrukturen. Durch eine Trainingsphase werden sie so filigran eingestellt, dass sie neue unbekannte Eingabedaten erfolgreich beurteilen können.

Quantencomputer auf der anderen Seite, sind so etwas wie Netze „auf Stereoide“. In Quanten-Netzen können andersartige Strukturen wie selbstverständlich verwendet werden, die in „normalen“ Netzen nicht denkbar wären. Die Vermutung liegt nahe, dass Quantencomputer dadurch einen Mehrwert gegenüber herkömmlichen Computer erzielen können.

Wem dieser Ansatz zu vage ist, dem sei gesagt, dass die Geschichte der Computerwissenschaften voll von „Schaun wir mal“-Algorithmen ist, die sich in der Praxis unheimlich bewährt haben. Ein Beispiel sind gerade die Deep Learning – Netze selbst.

Edward Farhi und Hartmut Neven von Googles Quantum AI-Team, haben 2018 gerade solche neuronalen Quanten-Netze genauer untersucht, die auf die NISQ-Quantencomputer optimiert sind xvi. Diese Strukturen bauen unter anderem auf Farhis oben erwähnten QAOA-Algorithmus auf.

Dabei wendeten Farhi und Neven ihre Algorithmen auch auf den MNIST-Datensatz an. MNIST ist ein öffentlich zugänglicher Datensatz von 55.000 beurteilten Bildern. Jedes Bild zeigt eine handgeschriebene Ziffer zwischen 0 und 9. Die MNIST-Bilder sind der allgemein gebräuchliche Standarddatensatz für Deep Learning – Netze über den die verschiedenen Algorithmen einigermaßen objektiv miteinander verglichen werden können.

Farhi und Neven konnten ihr neuronales Quanten-Netz erfolgreich mit den MNIST-Bildern trainieren. Auf einem Quantensimulator mit gerade mal 17 Qubits! Das ist ein Achtungserfolg und ein erster vielversprechender Anfang. Quantencomputer verdoppeln im Prinzip mit jedem weiteren Qubit ihr Potential. Deshalb besteht die Erwartung, dass jeder neue Quantencomputer auch bei den neuronalen Quanten-Netze deutlich meßbare Verbesserungen erzielen kann.

Das Beispiel zeigt aber auch, wie weit der Weg noch ist, bis die Forschung konkurrenzfähige neuronale Quanten-Netzwerke, geschweige denn real überlegene neuronale Quanten-Netzen konstruiert hat. Einen möglichen Weg zeigen Farhi und Neven auch auf: Hybride Quanten-klassische neuronale Netze. Eine Kombination von klassischen Deep Learning – Netzwerken mit neuronalen Quanten-Netzen. Erstere bereiten die Eingabedaten in handlichere Formen auf. Letztere sollten in der Lage, diese reduzierten und speziell präparierten Daten auch mit wenigen Qubits weiter zuverarbeiten und das Gesamtnetzwerk mit den gewünschten Quanten-Effekten zu „würzen“.

Fußnoten

ii https://arxiv.org/abs/1603.08675: „Quantum Recommendation Systems“, wissenschaftliche Arbeit von Iordanis Kerenidis und Anupam Prakash

iii https://arxiv.org/abs/1409.3097: „An introduction to quantum machine learning“, wissenschaftlicher Artikel von Maria Schuld et al

v https://arxiv.org/abs/1307.0401: „Quantum principal component analysis“, wissenschaftlicher Artikel von Seth Lloyd, Masoud Mohseni und Patrick Rebentrost

vi https://arxiv.org/abs/1802.08227: „Quantum linear systems algorithms: a primer“. Ein Einführungsartikel von des HHL-Algorithmus Danial Dervovic et al. inkl. Erläuterungen zu den Grundlagen auf denen er aufbaut.

vii https://arxiv.org/abs/0708.1879: „Quantum random access memory“, wissenschaftliche Arbeit von Giovannetti, Lloyd und Maccone

viii https://scottaaronson.com/papers/qml.pdf: „Quantum Machine Learning Algorithms: Read the Fine Print“, Artikel von Scott Aaronson

x https://arxiv.org/abs/1807.04271: „A quantum-inspired classical algorithm for recommendation systems“, https://arxiv.org/abs/1811.00414: „Quantum-inspired classical algorithms for principal component analysis and supervised clustering“ oder https://arxiv.org/abs/1811.04909: „Quantum-inspired sublinear classical algorithms for solving low-rank linear systems“ von Ewin Tang et al.

xi https://www.youtube.com/watch?v=P2Bucnq_ap0: In dem Video „TCS+ talk: Ewin Tang“ erläutert Ewin Tang ihren Algorithmus. Insbesondere stellt sie die Vermutung auf, dass man keine exponentielle Beschleunigung für niedrigdimensionale Datenzeiger erwarten darf. Das soll heißen: Rohdaten, die nur an vergleichsweise wenigen Stellen von Null verschieden sind.

xii https://ewintang.com/blog/2019/01/28/an-overview-of-quantum-inspired-sampling/: Ein sehr hilfreicher Übersichtsartikel von Ewin Tang in ihrem Blog über ihre Veröffentlichungen.

xiii https://arxiv.org/abs/1801.00862: „Quantum Computing in the NISQ era and beyond“, Vortragvorlage von John Preskill zur Konferenz „Quantum Computing For Business“ in 2017.

xiv http://neuralnetworksanddeeplearning.com/: Das Online-Buch von Michael Nielsen ist eine wunderbare Einführung für das Deep Learning. Interessanterweise ist Michael Nielsen außerdem der Co-Author des Standard-Lehrbuches für Quantencomputer „Quantum Computation and Quantum Information“. Man könnte meinen, dass er für den Forschungszweig Quantencomputer und Machine Learning prädistiniert ist. Aber anscheinend widmet sich Nielsen mittlerweile ganz anderen Themen, die weder mit dem einem noch mit dem anderen zu tun haben.

xv https://www.quantamagazine.org/new-theory-cracks-open-the-black-box-of-deep-learning-20170921/: „New Theory Cracks Open the Black Box of Deep Learning“, Artikel auf Quantamagazine

xvi https://arxiv.org/abs/1802.06002 : „Classification with quantum neural networks on near term processors“ wissenschaftlicher Artikel von Edward Farhi und Hartmut Neven.

Kann man Quantencomputer kaufen?

Wie muss man sich einen Quantencomputer vorstellen?

Quantencomputer tauchen regelmäßig in den Medien auf. Inzwischen ist allgemein bekannt, dass sie ein sehr spannendes Thema sind aber dass die Entwicklung von Quantencomputern noch am Anfang steht.

Ich stoße immer wieder auf die Frage, ob man Quantencomputer schon kaufen kann. Die Antwort darauf lautet: Kleines „Ja“ und großes „Aber“.

Zunächst einmal muss man sich klar machen: Ein Quantencomputer hat nur wenig bis nichts mit einem herkömmlichen Computer gemein. Was ich damit genau meine, erfahren Sie am besten in meinem Artikel „Quantencomputer einfach erklärt“.

Erste Quantencomputer existieren bereits heute schon. Deren Quanten-Prozessoren müssen bis fast zum absoluten Nullpunkt heruntergekühlt werden (dieser liegt bei -273°C). Erst dann werden dessen LC-Schaltkreise supraleitend und somit zu Quanten-Bits (Qubits): Den elementaren Bausteinen der Quantencomputer. Um diesen Temperaturpunkt zu erreichen sind große Kühlaggregate notwendig. Ein Quantencomputer ist deshalb ein großer Aufbau, der bestenfalls in einen großen Schrank passt.

Also nichts für den Schreibtisch.

Wofür sollte man einen Quantencomputer kaufen?

Als Nächstes sollte man sich darüber im Klaren sein, dass Quantencomputer voraussichtlich nur für ganz bestimmte Anwendungen eingesetzt werden, die sehr wichtig aber besonders rechenintensiv sind. Inbesondere für folgende Aufgabengebiete

  • für Simulationen für Physik, Quantenchemie, -biologie und Materialforschung
  • für Optimierungsaufgaben
  • für Künstliche Intelligenz und Machine Learning
  • für Lineare Algebra

Mehr darüber erfahren Sie in meinem Artikel „Anwendungen für Quantencomputer“.

Aktuell befindet sich die ganze Branche in einer „Proof-Of-Concept“-Phase. Aktuell verfügbare Quantencomputer funktionieren und können erfolgreich betrieben werden. Derzeit ist der konkrete Nutzen allerdings noch nicht vorhanden. Auf dem Papier wurden superschnelle und sehr vielversprechende Algorithmen für Quantencomputer konstruiert. Diese sind für die aktuellen Minimal-Quantencomputer allerdings zu umfangreich.

Erst in den letzten Jahren hat die Forschung damit begonnen, an Algorithmen zu arbeiten, die für die aktuelle Hardware optimiert sind. Diese müssen sich aber erst noch bewähren.

Eine Investition in Quantencomputer wird sich also eher erst mittelfristig, vielleicht sogar erst langfristig und ganz vielleicht sogar gar nicht auszahlen.

Welche Quantencomputer-Angebote kann man kaufen?

Falls Sie meinen Artikel „Welche Quantencomputer gibt es jetzt schon?“ gelesen haben, haben Sie bereits einen Eindruck davon bekommen, welche Quantencomputer-Hardware schon heute oder in Kürze angeboten wird. Darunter sind die Hersteller

  • D-Wave-Systems
  • IBM
  • Google
  • Rigetti-Computing
  • Alibaba

In meinem Artikel erkennen Sie auch einen klaren Trend:

Alle Hersteller setzen auf Cloudangebote: Dabei werden die Quantenprogramme per Internet an die Cloud-Quantencomputer zum Hersteller übermittelt. Dort werden sie quasi per Fernsteuerung ausgeführt und die Ergebnisse wieder zurück übermittelt. Diese Fernsteuerung kann von einem PC oder auch von einem firmeneigenen Server erfolgen. Den Zugang in die Quantencomputer-Cloud erhält man per Abo.

Die kanadische Firma D-Wave-Systems bietet die eigene Hardware auch als dedizierten Quantencomputer zum Kauf an: Also einen Quantenserver, der im eigenen Rechenzentrum betrieben werden kann, zu einem Listenpreis von vielen Millionen Dollar. Bislang haben allerdings nur wenige Kunden davon Gebrauch gemacht, darunter die NASA und Google.

Der Techriese IBM plant ein ähnliches Angebot für seine Quantencomputer.

Quantencomputer und Optimierung

<<   >>

Die Optimierung ist ein breites Anwendungsfeld für Computer im Allgemeinen. Schon in den 1990er Jahren zeichnete sich ab, dass die Optimierung auch ein vielversprechendes Anwendungsgebiet für Quantencomputer sein könnten.

Optimierungsprobleme zeichnen sich formal so aus, dass eine „Kostenfunktion“ gegeben ist. Eine Lösung des Problems optimiert diese Kostenfunktion. Neben den exakten Lösungen sind auch Lösungsnäherungen von Interesse, die das Problem besser optimieren als eine Reihe anderer Kandidaten aber vielleicht nicht die beste Lösung sind.

Optimierungsprobleme sind für Quantencomputer auch deshalb von Interesse, weil viele Problemfamilien für Optimierung bekannt sind, die erwiesener Maßen nur mit viel Anfwand auf einem herkömmlichen Computer zu lösen sind.

Einstufung der Quanten-Algorithmen für Optimierung

Auch für die Optimierung stufe ich die Algorithmen nach Adam Boulands Beispiel in zwei Kriterien ein, die ich auch in anderen Artikeln auf quantencomputer-info.de verwende:

  1. Beschleunigung: Der Grad an Beschleunigung gegenüber herkömmlichen Computern (bzw. die Beschleunigung gegenüber den besten bekannten Algorithmen für herkömmliche Computer für dieselbe Anwendung)
  2. Verfügbarkeit: Der Zeitpunkt, wann dieser Algorithmus vermutlich verfügbar sein wird

Verfügbarkeit

Beschleunigung

Kurzfristig (NISQ)

Langfristig

Riesig

(exponentiell)

Moderat

(z.b. quadratisch)

Grover

Unbekannt

QAA

QAOA

 

Optimierung mit dem Grover-Algorithmus

Der Grover-Algorithmus ist ein Urgestein der Quantencomputer-Forschung. Für einen Quanten-Algorithmus ist er „einigermaßen verständlich“. Wegen seiner universellen Anwendungen habe ich ihm einen einen eigenen Beitrag auf quantencomputer-info.de gewidmet, unter anderem auch wegen der so grundlegenden Fragestellungen, ob ein Quantencomputer die schwierigen NP-Probleme effizient lösen kann.

Da auch Optimierungsprobleme dazugehören, können wir den Grover-Algorithmus hier ebenfalls auflisten. Er ist im Prinzip ein Suchalgeorithmus, der alle möglichen Lösungskandidaten durchprobieren kann.

Tatsächlich erzielt der Grover-Algorithmus nur eine moderate, quadratische Beschleunigung gegenüber herkömmlichen Suchalgorithmen. Ich erläutere in meinem Spezial-Artikel, dass vermutlich keine schnelleren Suchalgorithmen mit einem Quantencomputer möglich sind. Aus diesem Grund geht die Quantencomputer-Forschung davon aus, dass die schwierigen NP-Probleme mit einem Quantencomputer nicht generell effizient gelöst werden können.

Auf der anderen Seite können selbst quadratische Beschleunigung einen gewaltigen Vorteil bringen. Für herkömmliche Computer wurde in der Vergangenheit z.B. der Algorithmus „Schnelle Fourier-Transformation“ entwickelt. Er beschleunigt die „Normale Fourier-Transformation“ ebenfalls quadratisch. Was es damit auf sich hat, ist an dieser Stelle unwichtig. Was ich aber bemerkenswert finde, ist der Titel den die Schnelle Fourier-Transformation für diese moderate Beschleunigung bekommen hat: „The most important numerical algorithm of our lifetime“ i.

Wie fast alle Quanten-Algorithmen mit aktuell erwiesener Beschleunigung gegenüber herkömmlichen Computer, ist der Grover-Algorithmus vermutlich zu umfangreich für die NISQ-Quantencomputer der nächsten Generationen.

QAA: Optimierung und dem Quantum Adiabatic Algorithm

Der Quantum Adiabatic Algorithm basiert auf dem Adiabatischen Theorem der Quantenmechanik, das noch aus den Anfangszeiten der Quantenmechanik stammt ii. Das Theorem sagt Folgendes aus:

Wir präparieren ein Quantensystem derart, dass es die Quantenversion von einem Optimierungsproblem mit einer bekannten Lösung ist. Die Qubits sind so eingestellt, dass sie der bekannten Lösung in Bit-Darstellung entsprechen. Wenn wir das Quantensystem „adiabatisch“ also langsam ändern, entspricht es jetzt einem neuen Optimierungsproblem. Im Weiteren nenne ich diesen Verlauf den „adiabatischen Pfad“. Die Qubits werden sich dadurch ebenfalls ändern. Die Clou des Adiabatischen Theorems ist, dass die geänderten Qubits jetzt die Lösung des geänderten Problems darstellen iii! Sie müssen nur noch ausgemessen werden, um die Lösung in Bit-Darstellung zu erhalten.

Dabei ist es unerheblich, wie stark wir das Problem ändern. Es kommt lediglich darauf an, dass wir das System langsam ändern. Das Theorem sagt auch aus, wie langsam man das System ändern müsste. Und gerade das könnte sich in der Anwendung als Problem erweisen.

Der Quantum Adiabatic Algorithm ist untrennbar mit dem Quanten Annealer von D-Wave verbunden. D-Waves Annealer ist eine Hardware-Version des Quantum Adiabatic Algorithm. Er ist speziell auf diesen einen Algorithmus abgestimmt und funktioniert dort genauso wie ich es oben beschrieben habe. Andere bekannte Quanten-Algorithmen können allerdings nicht auf ihm ausgeführt werden.

Universelle Quantencomputer, wie die Quantencomputer von Google, IBM, Rigetti und Alibaba können andererseits prinzipiell sowohl den Quantum Adiabatic Algorithm als auch andere Algorithmen ausführen. Hier wird der Quantencomputer allerdings nicht wirklich zeitlich verändert. Stattdessen wird ein Quantenschaltkreis konstruiert, der diese zeitliche Veränderung simuliert. Und tatsächlich ist der Quantum Adiabatic Algorithm auf einem universellen Quantecomputer eine Anwendung der dynamischen Quantensimulation, also der Hamiltonischen Simulation (s.o.). Aus diesem Grund kann der Quantum Adiabatic Algorithm in absehbarer Zeit nur in abgewandelter Form auf einem NISQ-Quantencomputer ausgeführt werden. Diese abgewandelte Form ist gerader der QAOA, den ich weiter unten vorstellen werden.

Auf D-Waves Quanten Annealer kann der Quantum Adiabatic Algorithm allerdings schon heute ausgeführt werden. Wie erfolgreich gegenüber herkömmlichen Optimierungsmethoden dies dort möglich ist, muss erst die Anwendung zeigen.

D-Wave sieht die Anwendungen für den eigenen Quanten Annealer übrigens wesentlich vielfältiger. Tatsächlich gibt es diverse D-Wave-Kunden, die den Quantum Adiabatic Algorithm für andere Anwendungsfelder wie der Künstlichen Intelligenz, Simulation von Quantensystemen, … eingesetzt haben iv.

QAOA: Optimierung mit dem Quantum Approximate Optimization Algorithm

Im Jahr 2014 stellten Edward Farhi et al vom Massachusetts Institute of Technology / MIT einen neuen Algorithmus für Optimierung vor, der speziell für die Quantencomputer der NISQ-Arä abgestimmt ist v vi .

Die Funktionsweise des Quantum Approximate Optimization Algorithm / QAOA ist sehr ähnlich wie die des VQE, der zufälligerweise im selben Jahr vorgestellt wurde, und den ich Ihnen oben beschrieben habe. Der QAOA ist ebenfalls ein Quanten-klassischer Hybrid-Algorithmus:

  1. Die Qubits werden so eingestellt, dass sie einen Kandidaten für die Lösung des Optimierungsproblems darstellen.
  2. Mit diesem Kandidaten ermittelt der Quantencomputer die Kostenfunktion des Problems. Mit einem Quantencomputer sollte dies effizient durchführbar sein. Da diese Messung immer auch eine Sache von Wahrscheinlichkeiten ist, wird sie mehrmals durchgeführt und der beste Wert verwendet.
  3. Über einen herkömmlichen Computer wird ein neuer Kandidat für die Lösung des Problems anhand des bisherigen Optimierungsverlaufs berechnet.

Farhi et al geben darüber hinaus genaue Strategien vor, wie die Kandidaten für die Lösung zu finden sind. Und darin ähnelt der Quantum Approximate Optimization Algorithm / QAOA wiederum dem Quantum Adiabatic Algorithm vii: Die Kandidaten für die Lösung werden derart mit Quantengattern manipuliert, dass sie am Ende nichts anderes sind als eine Stückelung des adiabatischen Pfades für das Problem mit einem universellen Quantencomputer. Wie wir weiter oben gesehen haben, garantiert der Quantum Adiabatic Algorithm, dass dieses Verfahren immer zu der Lösung des Problems führt, falls wir die Stückelung nur extrem detailliert wählen.

Farhi argumentiert nun wie folgt: Selbst wenn wir die Stückelung nur sehr grob wählen, können wir versuchen sie über klassische Methoden zu optimieren. Dafür müssen wir nur prüfen, ob die optimierte Stückelung bessere Kostenwerte im Quantencomputer liefert als die vorherige. So gelangen wir vielleicht nicht zu der besten Optimierung aber zumindest zu einer besseren Lösung. Deshalb nennt Farhi den Quanten-Algorithmus auch „approximate algorithm“. Ein weiterer Vorteil von Farhis Methode ist, dass diese Lösungskandidaten vermutlich effizient auf einem NISQ-Quantencomputer erzeugt werden können.

Ob der QAOA eine Beschleunigung gegenüber herkömmlichen Computern erzielt, ist derzeit noch nicht erwiesen. Allerdings stellte Edward Farhi direkt mit der ersten Veröffentlichung eine bestimmte Klasse von kombinatorischen Optimierungsproblemen vor, die sich mit seinem Algorithmus effizienter lösen lassen als durch den besten Algorithmus für herkömmliche Computer. Mit diesem Ergebnis erzielte er große Aufmerksamkeit viii. Eine Gruppe namhafter Informatiker nahm darauhin Farhis Ideen als Vorlage und entwickelten einen neueren noch schnelleren klassischen Algorithmus für diese Problem-Klasse.

Nichts destotrotz werden große Hoffnungen in den QAOA gesetzt. Die Anwendungen für den QAOA werden weiterhin ausgiebig untersucht ix. Auf dem Portal arxiv.org für Vorveröffentlichungen zähle ich zwischen Dezember 2018 und Juli 2019 23 Fachartikel zum Thema QAOA.Tendenz steigend.

Fußnoten

iii Tatsächlich erfordert das Adiabatische Theorem zusätzlich, dass es eine „Energielücke“ zwischen dem ursprünglichen Problem und dem finalen Problem gibt. Das werde ich hier allerdings nicht weiter ausführen. U.a. steuert diese Energielücke die Zeitspanne, die man für den Quantum Adiabatic Algorithm einplanen muss.

iv https://www.youtube.com/watch?v=UywYeMl30EM: Vortrag von Bo Ewald, President von D-Wave, auf der Konferenz „Quantum For Business 2018“, über die vielfältigen Projekte von D-Waves Kunden.

v https://arxiv.org/abs/1411.4028: „A Quantum Approximate Optimization Algorithm“, Fachartikel von Edward Farhi, Jeffrey Goldstone und Sam Gutman

vi https://www.youtube.com/watch?v=J8y0VhnISi8: „A Quantum Approximate Optimization Algorithm“, Vortrag von Edward Farhi zum Fachartikel

vii Dasselbe Autorenteam (Edward Farhi, Jeffrey Goldstone und Sam Gutman) war übrigens knapp 15 Jahre vorher maßgeblich daran beteiligt, dass der Quantum Adiabatic Algorithm und dadurch auch das Konzept des Quanten Annealers eine größere Aufmerksamkeit in der Forschergemeinde bekam. z.B. https://arxiv.org/abs/quant-ph/0104129: „A Quantum Adiabatic Evolution Algorithm Applied to Random Instances of an NP-Complete Problem“ zusammen mit weiteren Autoren.

viii https://www.scottaaronson.com/blog/?p=2155: „Quantum computing news items“ Blogeintrag von Scott Aaronson über den QAOA, der so viel Aufmerksamkeit unter Informatikern erregte, dass diese einen neuen effizienteren, klassischen Algorithmus entwarfen.

ix https://www.cs.umd.edu/class/fall2018/cmsc657/projects/group_16.pdf: Eine schöne Übersicht finden Sie im Artikel „An Introduction to Quantum Optimization Approximation Algorithm“ von Wang und Tauqir

Der Grover-Algorithmus und die Suche nach dem heiligen Gral

<<

Der Quantenparallelismus öffnet den Quantencomputern Türen zu völlig neuen Rechenwegen. Die Vermutung liegt nahe, dass sie dadurch Grenzen der Berechenbarkeit für herkömmliche Computer spielend überflügeln können. Im Folgenden stelle ich Ihnen den berühmten Grover-Algorithmus für Quantencomputer im Detail vor. Er ist in der Lage sämtliche „Nadel im Heuhaufen“-Probleme drastisch schneller zu lösen, als ein herkömmlicher Computer. Dabei gehe ich auch kurz auf die Komplexitätstheorie ein, einem faszinierenden Teilgebiet der Informatik, und zeige Ihnen inwiefern selbst der Grover-Algorithmus an seine Komplexitätsgrenzen stößt.

Der Quantenparallelismus

Quantencomputer ermöglichen eine völlig neue Form des parallelen Rechnens: Dem Quantenparallelismus. Dadurch ist ein Quantencomputer in der Lage dasselbe Quantenprogramm für eine Vielzahl von Werten gleichzeitig durchzuführen, prinzipiell sogar für alle Werte die der Computer überhaupt darstellen kann. Dem Quantenparallelismus liegt ein Grundprinzip der Quantenmechanik zu Grunde: Dem sogenannten „Superpositionsprinzip“. D.h. jeder Quantencomputer besitzt den Quantenparallelismus automatisch von Grund auf.

Auf den ersten Blick besitzt der Quantenparallelismus ein unglaubliches Potential. Und seit den allerersten Anfängen der Quantencomputer fragen sich Wissenschaftler, ob sie damit sogar in der Lage sind den heiligen Gral der Computerwissenschaften zu finden: Einen einfachen Weg, um alle überhaupt möglichen „NP-Probleme“ zu lösen.

Die NP-Probleme der Informatik

In den 1960er Jahren fingen Computerwissenschaftler an Probleme in verschiedene Klassen zu unterteilen, je nachdem wie aufwendig sie zu lösen sind. Die Komplexitätsklasse $ P $ enthält grob gesprochen alle Probleme, die sich mithilfe eines herkömmlichen Computers relativ einfach lösen lassen. Genauer gesagt: mit „polynomialem Rechenaufwand“ i. Demgegenüber steht z.B. die Komplexitätsklasse $ NP $. Diese enthält alle Probleme, die sich zwar nicht einfach lösen lassen, deren Lösung man aber mithilfe eines herkömmlichen Computers einfach überprüfen kann, und zwar wieder mit polynomialem Aufwand. Jetzt sind gerade viele bedeutende Probleme der Informatik und Mathematik NP-Probleme. Ein Beispiel für ein NP-Problem ist etwa die bereits erwähnte Zerlegung in Primfaktoren: Wenn man einmal die gesuchten Primfaktoren $ p $ und $ q $ einer Zahl $ n $ gefunden hat, ist die Überprüfung der Lösung kinderleicht, nämlich gerade $ p*q = n $.

Wenn man es genau nimmt, hat die Unterteilung von Problemen in verschiedene Klassen fast schon philosophische Bedeutung: Durch sie konnte die Wissenschaft erstmals auf formale Weise ermitteln, welche Probleme einfach und welche besonders schwierig sind. Die verschiedenen Klassen geben dabei abgestufte Schwierigkeitsgrade an und zeigen Zusammenhänge auf.

Die Komplexitätstheorie ist ein sehr breites Teilgebiet der Informatik. Und in ihrem Zentrum steht eine alles überstrahlende Frage: Ist $ P = NP $ ? D.h. lassen sich diese schwierigen Probleme am Ende nicht doch einfach lösen? ii

Diese Frage ist so etwas wie der „Heilige Gral“ der Computerwissenschaften. Sie wurde u.a. im Jahr 2000 in die exklusive Liste der sieben Millennium-Probleme von offenen Rätseln in der Mathematik aufgenommen, deren Klärung eine enorme Tragweite hätte (nebenbei ist jedes Millenium-Problem mit einem Preisgeld von einer Millionen Euro dotiert). Falls $ P = NP $ wahr wäre, könnten wir beispielsweise mathematische Intuition mit einem Computer automatisieren iii. Diverse andere offene Probleme der Mathematik könnten so z.B. ebenfalls gelöst werden. Für die Wissenschaft als Ganzes hätte dies vermutlich monumentale Auswirkungen.

Allerdings gehen die meisten Experten davon aus, dass $ P = NP $ leider nicht wahr ist und dass sich die NP-Probleme nicht einfach mit einem herkömmlichen Computer lösen lassen.

Aber jetzt kommen die Quantencomputer ins Spiel. Für diese haben die Komplexitätstheoretiker eine neue Klasse von Problemen eingeführt: $ BQP $. Dies sind grob gesprochen wieder alle Probleme, die sich einfach mit einem Quantencomputer lösen lassen. Die Frage ist jetzt: Wenn schon nicht $ P = NP $ ist, ist dann wenigstens $ NP $ in $ BQP $ enthalten? Sind die NP-Probleme also leicht mit einem Quantencomputer zu lösen?

Der Quantencomputer: Die ultimative Brute Force – Lösung ?

Wie verhält es sich also mit den Quantencomputern und den NP-Problemen? Auf den ersten Blick scheint der Quantenparallelismus hierfür zu schön um wahr zu sein. Warum?

Die NP-Probleme sind ja gerade die Probleme, deren Lösung man einfach überprüfen kann. Und mit einem Quantencomputer können wir uns alle möglichen Lösungskandidaten prinzipiell gleichzeitig vornehmen und testen, ob sie das Problem lösen. Violà, wir haben einen ultimativen NP-Cruncher bzw. den ultimativen „Brute Force“ – Algorithmus gefunden, also einen Algorithmus der „brachial“ einfach alle möglichen Kombinationen ausprobiert.

Leider ist das nur auf den ersten Blick so einfach.

Tatsächlich vermuten die Komplexitätstheoretiker eher folgende Zusammenhänge zwischen den Klassen $ P $, $ NP $ und $ BQP $.

(Quelle: https://en.wikipedia.org/wiki/File:BQP_complexity_class_diagram.svg)

Das Diagramm zeigt den Zusammenhang der Komplexitätklassen, den die meisten Wissenschaftler vermuten iv. Der vollständigkeithalber sei erwähnt: „PSPACE“ sind die Probleme, für die der Speicherbedarf des Lösungsprogramms polynomial ansteigt, deren Laufzeit aber beliebig lang sein darf und evtl. nie endet. „NP complete“ sind die NP-Probleme, die repräsentativ für alle anderen NP-Probleme sind: Wenn man davon nur eines einfach lösen könnte, kann man alle anderen NP-Probleme auch einfach lösen, und entsprechend hätte man P = NP bewiesen.

Die Suche nach einem NP-Cruncher demonstriert sehr schön wie vielschichtig das Thema Quantencomputer ist und dass selbst die erstaunlichen Quantencomputer ihre Grenzen haben. Ich habe es deshalb ausgewählt, weil man an ihm die vielen Facetten der Quanten-Algorithmen ideal für Einsteiger verdeutlichen kann.

Der Grover-Algorithmus

Der Grover-Algorithmus wurde 1996 von dem indischen Informatiker Lov Grover gefunden. Er ist einer der Standard-Beispiele, die man als erstes lernt, wenn man sich näher mit Quanten-Algorithmen beschäftigt. Unter anderen auch, weil er so vielfältig einsetzbar ist. Normalerweise bekommt man erklärt, dass der Grover-Algorithmus für das komplette Durchsuchen einer Datenbank mittels eines sogenannten „Orakels“ verwendet wird, anders ausgedrückt: Um die Nadel im Heuhaufen zu finden. Dahinter verbirgt sich aber gerade auch die NP-Problematik: Zum einen haben wir eine riesige Menge an Lösungskandidaten, die unsere „Datenbank“ ist. Zum anderen haben wir eine einfache Prüfroutine, nämlich das „Orakel“, mit der wir feststellen können, ob ein Lösungskandidat tatsächlich eine Lösung ist v.

Wir wissen, dass ein Quantencomputer in der Lage ist alle Lösungskandidaten gleichzeitig durch die Prüfroutine durchzujagen. Die echten Lösungen werden dabei von der Routine erkannt. Die vertrackte Frage ist nun: Was bringt uns das eigentlich? Am Ende müssen wir ein Ergebnis messen, und wir erinnern uns, dass das bei Quantencomputern immer eine Sache der Wahrscheinlichkeit ist. Und dabei stören jetzt die falschen Lösungskandidaten wieder und verringern die Wahrscheinlichkeit die echte Lösung zu messen. Wir müssen es also irgendwie hinbekommen, dass der Quanten-Algorithmus die falschen Lösungskandidaten in den Qubit-Speicherregistern weitestgehend unterdrückt und am Ende die echte Lösung mit einer hohen Wahrscheinlichkeit gemessen wird. In dem wir die Prozedur dann mehrmals wiederholen wird aus der Wahrscheinlichkeit dann immer mehr Gewissheit.

Und das ist gerade die Herausforderung an den Quanten-Algorithmen: Die gewünschte Lösung muss zu einer globalen Eigenschaft der Qubit-Register werden. Als Hilfsmittel hat man dafür die Quantengatter, deren Arbeitsweise zwar genau bekannt ist, die aber leider alles andere als intuitiv und einfach sind.

Ein Qubit und einfache Quantengatter

Um die Quantencomputer im Allgemeinen und den Grover-Algorithmus im Besonderen einem breiteren Publikum näher zu bringen, verwende ich auf „quantencomputer-info.de“ eine vereinfachte Sichtweise auf die Qubits und die Quantengatter. In meinem Artikel Das Qubit und ein Magier bei „Britain Has Got Talent“ hatte ich schon die Zeigerbilder eingeführt mit denen wir uns die verschiedenen Zustände eines Qubits vorstellen können. Das Qubit ist dann ein Zeiger auf der Kreislinie in diesem Bild.

(„Disclaimer“: Falls Sie diesen Artikel zur Vorbereitung für eine Prüfung verwenden sollten, beachten Sie bitte, dass die Lehrbuch-Darstellung eines Qubits die „Blochkugel“ ist vi. Um den Grover-Algorithmus richtig zu verstehen, reicht meine einfache Sichtweise aber erstaunlicherweise aus).

Folgendes Zeigerbild zeigt ein Qubit, dass gleichzeitig im Zustand |0und im Zustand |1⟩ ist.

Das Besondere an diesem Bild ist außerdem, dass die Zustände |0und |1⟩ gleichmäßig überlagert sind. Es ist zu gleichen Teilen sowohl |0als auch |1⟩. Ein Qubit im Zustand |0gelangt in diesen Zustand der gleichmäßigen Überlagerung, indem es in dem einfachen Zeigerbild um 45° gedreht wird. Diese Drehung wird durch das Hadamard-Quantengatter H durchgeführt.

|qubit= H |0

Ein anderes Gatter ist das X – Quantengatter. Es spiegelt das aktuelle Qubit an der Winkelhalbierenden, also gerade am Zustand H |0⟩. Oder anders betrachtet: Das X-Gatter tauscht den Zustand |0und den Zustand |1gegeneinander aus.

X |0= |1und X |1= |0

Geometrische Anschauung für den Grover-Algorithmus

Das Schöne am Grover-Algorithmus ist auch, dass man ihn an einem einfachen geometrischen Zeigerbild erklären kann.

Wenn wir uns dafür ein ganzes Register mit N Qubits anschauen, so verhalten sich die Zustände in diesem Register auch wieder wie ein einziger Zeiger. Der Zeiger dreht sich allerdings nicht mehr in einer 2 dimensionalen Ebene, sondern in einem $ 2^N $ dimensionalem Raum! Jede Achse in diesem Raum entspricht einer anderen Kombination von 0en und 1en in dem Qubitregister: Eine Achse entspricht zum Beispiel der Kombination 10001101100, eine andere Achse entspricht der Kombination 00001101100, wieder eine andere Achse entspricht einer ganz anderen Kombination 11011010111 und so weiter. Zum Glück können wir diesen $ 2^N $ dimensionalen Raum für den Grover-Algorithmus wieder auf eine 2 dimensionale Ebene vereinfachen.

Dazu konstruieren wir drei Zeiger, die auf einer Kreislinie in einer Ebene liegen. Der erste Zeiger ist einfach: Nehmen wir mal an die erste Kombination 10001101100 löst das NP-Problem. Das wissen wir am Anfang natürlich noch nicht, wir könnten die Kombination auch „Lösung“ nennen. Die zugehörige Achse wird jetzt unsere Y-Achse.

Der zweite Zeiger zeigt in die Richtung der „gleichmäßigen Überlagerung“. Das ist gerade der Zeiger, der entsteht, wenn auf alle Qubits jeweils ein Hadamard-Quantengatter angewendet wird. Für ein Qubit hatten wir gerade gesehen, dass ein Hadamard-Quantengatter den Qubit-Zeiger so dreht, dass beide Zustände $ \rvert 0 \rangle $ und $ \rvert 1 \rangle $ gleichmäßig überlagert werden und gleichzeitig vorhanden sind. Wenn wir jeweils ein Hadamard-Gatter auf jedes Qubit anwenden bedeutet das, dass alle möglichen Zustände des ganzen Quantencomputers gleichmäßig überlagert sind. Das ist also genau die Situation, die wir für unseren Brute-Force-Plan benötigen: Wir haben alle möglichen Kombinationen von 0en und 1en, und somit die gesamte Menge an Lösungskandidaten, gleichzeitig im Zugriff.Nennen wir diesen Zeiger der gleichmäßigen Überlagerung $ \rvert S \rangle $.

Alle Achsen in dem $ 2^N $ dimensionalem Raum, und somit alle Kombinationen von 0en und 1en, haben den gleichen kleinen Anteil an $ \rvert S \rangle $. Da $ \rvert S \rangle $, wie jeder Zeiger auf der Kugeloberfläche in dem $ 2^N $ dimensionalen Raum, die Länge 1 hat, ist der Anteil von jedem Qubit-Zustand an $ \rvert S \rangle $ nur ein kleiner Bruchteil von 1. Zunächst würde man vermuten dieser Bruchteil wäre $ 1/2^N $, da es $ 2^N $ Kombinationen gibt. Dies ist aber nicht so: Aufgrund des Satzes von Pythagoras vii ist der kleine Bruchteil die Wurzel davon, und zwar $ 1/ \sqrt{2^N} $. Und somit zeigt der Zeiger der gleichmäßigen Überlagerung zu diesem kleinen Bruchteil auch in Richtung unseres Lösungszeigers $ \rvert 10001101100 \rangle $. Insbesondere wird dieser Bruchteil also schnell kleiner je größer N wird. Das Wurzelzeichen wird sich später übrigens als der Clou für den Grover-Algorithmus herausstellen!

Jetzt zum dritten Zeiger, den wir $ \rvert s \rangle $ nennen wollen: Der entsteht, wenn wir aus der gleichmäßigen Überlagerung $ \rvert S \rangle $ den kleinen $ \rvert 10001101100 \rangle $ – Anteil herausrechnen. $ \rvert s \rangle $ zeigt damit genau in X-Richtung. $ \rvert S \rangle $ und $ \rvert s \rangle $ liegen also nah beieinander. Der Winkel der sie trennt ist gerade $ 1/ \sqrt{2^N} $ viii. Das der Winkel zwischen $ \rvert S \rangle $ und $ \rvert s \rangle $ so klein ist, wird uns am Ende noch mächtig ärgern!

Wenn wir uns das Diagramm ansehen können wir erkennen, was der Grover-Algorithmus leisten muss:

Wir nennen den aktuellen Zustand des Quantencomputers einfach $ \rvert x \rangle $. Er wird normalerweise eine Überlagerung von verschiedenen anderen Zuständen sein. Am Anfang starten wir mit dem Zustand der gleichmäßigen Überlagerung, also $ \rvert x \rangle = \rvert S \rangle $. Wir müssen jetzt eine Reihe von Quantengattern derart zusammenschalten, dass $ \rvert x \rangle $ nach und nach in die Richtung unserer Lösung $ \rvert 10001101100 \rangle $ zur Y-Achse gedreht wird.

Im Folgenden erfahren Sie zunächst, was es mit dem Zeiger $ \rvert s \rangle $ auf sich hat.

Das Orakel: Eine einfache Spiegelung

Schauen wir uns an wie ein Quantengatter den Zustand der gleichmäßigen Überlagerung verändert. Dank des Superpositionsprinzip wissen wir: Ein Quantengatter verändert eine Überlagerung von Zuständen derart, dass wir danach eine Überlagerung von veränderten Zuständen haben: z.B.

$ X ( \rvert 0 \rangle – \rvert 1 \rangle ) = X \rvert 0 \rangle – X \rvert 1 \rangle = \rvert 1 \rangle – \rvert 0 \rangle $

Das gleiche gilt natürlich immer noch, wenn wir mehrere Quantengatter miteinander kombinieren. Das Orakel ist insbesondere auch einfach eine Zusammenschaltung von mehreren Quantengattern. Nennen wir es O.

O soll wie folgt die verschiedenen überlagerten Teilzustände verändern:

  • Wenn eine Kombination von 0en und 1en keine Lösung des Problems ist, wir erinnern uns, dass wir dies für NP-Probleme leicht herausfinden können, bleibt dieser Anteil an der gesamten Überlagerung unverändert. Als Gleichung geschrieben:$ O \rvert 10101010101 \rangle = \rvert 10101010101 \rangle $
  • Wenn eine Kombination von 0en und 1en eine Lösung ist, wird dieser Anteil an der gesamten Überlagerung ins Negative umgekehrt. Als Gleichung geschrieben:$ O \rvert 10001101100 \rangle = – \rvert 10001101100 \rangle $

Wenn wir uns das Zeigerbild ansehen, können wir jetzt Folgendes erkennen:

$ O $ verändert fast alle Anteile an dem Anfangszustand $ \rvert S \rangle $ nicht. Nur der Anteil in die Y-Richtung wird umgekehrt. Das ist aber nichts anderes als eine Spiegelung an der X-Achse, die ja der Zustand $ \rvert s \rangle $ ist.

Zunächst haben wir dadurch nichts gewonnen, weil der Zeiger $ \rvert x \rangle $ sich noch nicht näher an $ \rvert 10001101100 \rangle $, unserer Y-Achse angenähert hat. Deshalb spiegeln wir $ \rvert x \rangle $ nochmal. Diesmal allerdings nicht an $ \rvert s \rangle $, sondern an $ \rvert S \rangle $!

Der aktuelle Zustand des Quantencomputers $ \rvert x \rangle $ ist um einen Winkel näher an die Y-Achse gedreht. Dieser zusätzliche Winkel ist das zweifache von dem kleinen Winkel zwischen $ \rvert S \rangle $ und $ \rvert s \rangle $, also $ 2 / \sqrt{2^N} $.

Zwischenfazit: Die Stärken und Schwächen des Grover-Algorithmus

Jetzt können wir erkennen, wie es weitergehen muss: Jedes mal wenn wir den aktuellen Zeiger $ \rvert x \rangle $ zuerst an $ \rvert s \rangle $ spiegeln und danach an $ \rvert S \rangle $, dreht sich $ \rvert x \rangle $ um den Winkel $ 2/ \sqrt{2^N} $ näher an $ \rvert 10001101100 \rangle $ heran.

Weil der Winkel leider so klein ist, müssen wir das Ganze ungefährt $ \frac{1}{2} * \sqrt{2^N} $ Mal durchführen.

Damit haben wir tatsächlich schon das Prinzip des Grover-Algorithmus gelöst und damit auch die Antwort auf unsere Brute Force / NP-Cruncher-Frage herausbekommen!

Ein herkömmlicher Computer würde im Schnitt $ \frac{1}{2} * 2^N $ Versuche brauchen, um $ 2^N $ Kombinationen durchzuprobieren und eine Lösung zu erhalten. Ein Quantencomputer braucht mit dem Grover-Algorithmus $ \frac{1}{2} * \sqrt{2^N} $ Versuche. Das ist eine quadratische Beschleunigung!

Wenn also ein herkömmlicher Computer für ein Brute-Force-Problem eine Millionen Rechenschritte benötigen würde, bräuchte ein Quantencomputer nur 1000 Rechenschritte. Das ist schon sehr gut!

Aber leider hatten wir uns mehr davon versprochen: Was stört, ist dass wir immer noch $ \sqrt{2^N}= 2^{\frac{1}{2}N} $ Rechenschritte benötigen. Das ist immer noch mehr als polynomial. Polynomialer Rechenaufwand wäre $ N^{\text{etwas}} $. Damit ist das Problem kein BQP-Problem und ein schwieriges NP-Problem bleibt also auch ein schwieriges Problem für den Grover-Algorithmus, obwohl letzterer es zumindest schneller lösen kann.

Die große Frage ist nun: Ginge das auch besser?

Was so sehr stört ist, dass der Winkel zwischen $ \rvert S \rangle $ und $ \rvert s \rangle $ so klein ist. Dies ist so etwas wie die Quantenversion der Tatsache, dass die gesuchte Kombination 10001101100 eine unter sehr sehr vielen Kombinationen ist. Vielleicht können wir den Grover-Algorithmus z.B. derart ändern, dass wir bei jeder Reflexion an $ \rvert s \rangle $ näher an $ \rvert 10001101100 \rangle $ herankommen.

Tatsächlich wurde eine Grenze für ein Optimum an Verbesserung für den Grover-Algorithmus gefunden. Jeder Algorithmus, der das Orakel $ O $ mehrmals verwendet sieht prinzipiell so aus:

$ … O … O … O … O … $

Die Pünktchen stehen jeweils für irgendeine Schaltung an Quantengattern. Es ist erstaunlich aber man kann tatsächlich prinzipiell beweisen, dass jeder Einsatz eines Orakels in dieser Form den Rest des Quanten-Algorithmus, also die Pünktchen, höchstens quadratisch beschleunigen kann ix. Das zeigt, dass der Grover-Algorithmus tatsächlich optimal ist. Leider.

Natürlich gibt es viele Quanten-Algorithmen, die die besten herkömmlichen Algorithmen exponentiell beschleunigen, wie z.B. der Shor-Algorithmus. Evtl. gibt es sogar doch noch einen ultimativen NP-Cruncher, der auf Quantencomputern mit Polynomialaufwand läuft. Aber die Idee, diesen NP-Cruncher dadurch zu konstruieren, indem man ein Orakel mehrmals hintereinander ausführt, führt leider nicht zum gewünschtem Ziel.

Der Grover-Algorithmus als Quanten-Schaltkreis

Achtung, jetzt wird es ernst!

Bisher hatte ich den Grover-Algorithmus anhand der geometrischen Anschauung erklärt. Jetzt schauen wir uns den Quanten-Schaltkreis für den Grover-Algorithmus auf einem 2 Qubit – Quantencomputer an:

(In meinem Artikel „Quantencomputer programmieren“ stelle ich Ihnen dazu ein konkretes Quantenprogramm für IBMs Quantencomputer vor).

Am Anfang auf der linken Seite ist jedes Qubit im Zustand $ \rvert 0 \rangle $ vorhanden. Anders ausgedrückt: $ \rvert 00 \rangle $. Darauf erzeugen wir den Zustand der gleichmäßigen Überlagerung $ \rvert S \rangle $, in dem wir auf jedes Qubit das Hadamard-Quantengatter anwenden. Die beiden Qubits bilden jetzt eine Überlagerung aus allen möglichen Kombinationen von 0en und 1en.

Danach führen wir das Orakel aus. Das Orakel muss für jedes Problem individuell konstruiert werden, weil die Prüfroutine für Lösungskandidaten natürlich jeweils anders aussieht. Beispiele hierfür gebe ich weiter unten.

Im Gegensatz dazu sieht die Spiegelung an $ \rvert S \rangle $ für jedes Problem gleich aus. Zum Glück kann man sie einfach aus der Spiegelung an der $ \rvert 00 \rangle $ – Achse ableiten.

Letztere ist im inneren Kasten dargestellt:

Zunächst zum Quantengatter ganz in der Mitte. Dieses heißt „Controlled NOT“ bzw. CNOT. Das CNOT-Quantengatter ist so etwas wie eine „Wenn-Dann / If-Then“-Schaltung für Quantencomputer. Es arbeitet so: Falls das obere Qubit

  • den Zustand |0⟩ hat, lässt es das untere Qubit unverändert
  • den Zustand |1⟩ hat, tauscht es die Zustände |0⟩ und |1⟩ um unteren Qubit, führt also ein X – Quantengatter auf das untere Qubit aus.

Das obere Qubit „kontrolliert“ also den X-Tausch im unteren Qubit, deshalb der Name. Normalerweise sind beide Qubits überlagert. In dem Fall tauscht das obere Qubit den überlagerten Zustand des unteren Qubit „ein bißchen und ein bißchen nicht“. Dadurch entsteht so ein berühmt-berüchtigter verschränkter Quantenzustand: Die beiden Qubits sind jetzt so tiefgreifend miteinander verwoben, dass man sie nicht mehr als einzelne Einheiten betrachten kann, sondern nur als Ganzes.

Für den inneren Kasten in unserem Grover-Schaltkreis ist das Entscheidende, dass man das CNOT-Quantengatter auch als Spiegelung auffassen kann. Das verwundert nicht, weil wir oben gesehen hatten, dass das X-Quantengatter unter anderem eine Spiegelung an der Achse $ H \rvert 0 \rangle $ ist. So richtig klar wird es, wenn wir diese Spiegelung auf die Achse des Zustands |11⟩ drehen. Das erreichen wir durch die Schaltung $ H CNOT H $ in der Mitte, was man übrigens auch „Controlled Z“ oder CZ nennt. Die CZ-Quantenschaltung arbeitet insgesamt so: Falls das obere Qubit

  • den Zustand |0⟩ hat, lässt es das untere Qubit unverändert
  • den Zustand |1⟩ hat, lässt es den |0⟩ – Anteil des unteren Qubits unverändert und kehrt den und |1⟩ – Anteil ins Negative um.

Oder als Gleichung:

CZ ( |00+ |10+ |01+ |11) = |00+ |10+ |01|11

Das ist aber tatsächlich nichts anderes als eine Spiegelung! Genauso hatten wir nämlich oben auch die Funktionsweise des Orakels erklärt. Jetzt überprüfen wir noch an welcher Achse hier gespiegelt wird. Eigentlich kehrt sich in der Gleichung der |11⟩ – Anteil ins Negative. Nun muss man wissen, dass ein Quantencomputer bei jeder Messung am Ende globale Minuszeichen eines Zustandes ignoriert. Es macht am Ende also keinen Unterschied, wenn wir die komplette Qubit-Überlagerung mit „-1“ mal nehmen:

|00+ |10+ |01|11ist gleichwertig mit

|00 |10|01+ |11

Das macht die Controlled Z – Quantenschaltung also zu einer Spiegelung an der |11⟩ –Achse.

Schauen wir uns noch den Rest von dem inneren Kasten im Quanten-Schaltkreises oben an:

Die beiden unteren X – Quantengatter links und rechts von der Controlled Z – Schaltung $ H CNOT H $ drehen die Spiegelachse von der |11⟩-Achse zunächst auf die |10⟩-Achse. Die beiden oberen X-Quantengatter links und rechts drehen die Spiegelachse weiter auf die |00⟩-Achse.

Soweit zum inneren Kasten. Den Trick mit dem CZ – Quantengatter merken wir uns für später, wenn wir die Spiegelung für das Orakel konstruieren.

Die zusätzlichen Hadamard-Quantengatter im äußeren Kasten drehen dann die Spiegelachse $ \rvert 00 \rangle $ auf den Zustand $ \rvert S \rangle $, also ganz analog zu der Gleichung weiter oben $ H \rvert 00 \rangle = \rvert S \rangle $.

Alles verstanden?

Ich vermute, jetzt bekommen Sie langsam ein Ahnung, warum Quanten-Algorithmen so kompliziert sind. Und dabei ist der Grover-Algorithmus noch verhältnismäßig einfach 🙂 !

Die Pünktchen im weiteren Verlauf des Quanten-Schaltkreises deuten an, dass danach das Orakel und die Spiegelung an $ \rvert S \rangle $ entsprechend oft wiederholt werden müssen, damit der Lösungszustand verstärkt wird.

Am Ende erfolgt dann die Messung der einzelnen Qubits, die dann die gesuchte Lösung mit hoher Wahrscheinlichkeit ergibt.

Das Beispiel beschreibt den Fall für 2-Qubits. Für mehrere Qubits sieht die Schaltung prinzipiell genauso aus.

Ein Beispiel-Orakel für ein echtes „3SAT“-Problem

Eine der großen Stärken des Grover-Algorithmus ist es, dass er ein sehr universeller Algorithmus ist, den wir für eine riesige Auswahl an Problemen verwenden können. Der Teil des Quanten-Schaltkreises, den ich Ihnen im vorigen Abschnitt vorgestellt habe, sieht dabei für jedes Problem gleich aus. Der Teil des Quanten-Schaltkreises, der speziell für jedes Problem angepasst werden muss, ist das Orakel selbst.

Um einen Eindruck von einem Grover-Orakel zu bekommen, stelle ich Ihnen zwei Beispiele vor.

  1. Das erste Grover-Orakel gehört zu einem Problem, das so simpel ist, dass ich es „Deppen-Problem“ nenne.
  2. Das zweite Grover-Orakel ist wesentlich interessanter und auch wesentlich komplexer. Es gehört zu den sogenannten „3SAT“-Problemen, die zu den universellen NP-Complete-Problemen zählen. Aber dazu gleich mehr.

Kommen wir erstmal zum „Deppen-Orakel “:

Es ist leider das Standardbeispiel für ein Grover-Orakel und geistert in vielen Einführungen für den Grover-Algorithmus herum. Es ist so einfach, dass man nicht versteht worin überhaupt das Problem besteht.

In dem „Deppen-Problem“ werden die zwei Bits gesucht, also zwei Zahlen mit Werten 0 oder 1, die folgende Gleichungen erfüllen:

$ X_1 $ = 1

$ X_2 $ = 1

Dieses Problem liefert also seine eigene Lösung gleich mit! Es ist so einfach, dass man den ganzen Sinn und Zweck des Orakels im Grover-Algorithmus nicht richtig verstehen kann. Für den Einstieg zeige ich Ihnen trotzdem auch den Quanten-Schaltkreis zu diesem Orakel.

Nochmal zur Erinnerung: Wie muss das Orakel O in dem Grover-Algorithmus funktionieren? Das hatte ich oben beschrieben.

O soll wie folgtdie verschiedenen überlagerten Teilzustände von $ O \rvert x\rangle $ verändern:

  • Für alle Kombinationen von 0en und 1en, die keine Lösung sind (also |x = |00, |01 und |10) bleibt der Anteil an der gesamten Überlagerung unverändert. Als Gleichung geschrieben:$ O \rvert x \rangle = \rvert x \rangle $
  • Nur der |11er- Anteil an der gesamten Überlagerung wird ins Negative umgekehrt. Als Gleichung geschrieben:$ O \rvert 11 \rangle = – \rvert 11 \rangle $

Diesen Schaltkreis kennen wir bereits. Es ist gerade die Controlled Z – Quantenschaltung oder CZ, die wir oben kennen gelernt hatten:

Der ganze Grover-Schaltkreis sieht damit so aus:

Kommen wir aber jetzt zu einem vernünftigen Beispiel: Ein 3SAT-Problem.

Zunächst zu den SAT-Problemen bzw. den „Boolean Statisfiability“-Problemen:

So werden in der Informatik Systeme von Gleichungen mit mehreren Bit-Zahlen genannt. Dabei können die Bit-Zahlen jeweils mit UND, ODER oder NICHT miteinander verknüpft werden. Unser „Deppen-Problem“ ist also auch ein sehr einfaches SAT-Problem. 3SAT-Probleme wiederum sind solche SAT-Probleme, bei denen in jeder Bit-Gleichung nur drei Bit-Zahlen vorkommen dürfen. Zum Beispiel

$ (NICHT \ x_1) \quad ODER \quad (NICHT \ x_3) \quad ODER \quad (NICHT \ x_4)  = 1 $

$ x_2 \quad ODER \quad x_3 \quad (NICHT \ x_4) = 1 $

$ x_1 \quad ODER \quad (NICHT \ x_2) \quad ODER \quad x_4 = 1 $

$ (NICHT \ x_1) \quad ODER \quad X_2 \quad ODER \quad (NICHT \ x_4)  = 1 $

Sie werden mir zustimmen, das Problem sieht schon schwieriger aus! Die Komplexität von 3SAT-Problemen ist sogar amtlich: Sie gehören zu den „NP-Complete“-Problemen: Alle NP-Probleme können in 3SAT-Probleme umgewandelt werden. Könnte man alle 3SAT-Probleme einfach lösen, so könnte man auch man also alle NP-Probleme einfach lösen x.

Das 3SAT-Orakel, das ich Ihnen hier vorstelle stammt übrigens von Craig Gidney xi, dem Urheber des öffentlichen Quantencomputer-Simulators „Quirk“, mit dem ich die Quanten-Schaltkreise auf „quantencomputer-info.de“ erstelle. Mittlerweile ist er Mitarbeiter in Googles Quantum AI Lab und hat dort u.a. federführend die Programmierschnittstelle „Cirq“ mitentwickelt.

Gidney gibt folgenden Tipp, um ein Grover-Orakel zu konstruieren: Überlege Dir zu dem Problem den klassischen Schaltkreis für herkömmlichen Computer. Dann wandel die klassischen Gatter in Quantengatter um.

Unsere vier Gleichungen oben können wir umschreiben in eine Gleichung, die wir zu einem Schaltkreis umwandeln können. Da für Quantencomputer UND-Verknüpfungen handlicher sind als Oder-Verknüpfungen, müssen wir die Gleichungen noch zusätzlich umwandeln. Dabei machen wir uns zunutze, dass z.B. gilt $ (NICHT \ x_1) \quad ODER \quad (NICHT \ x_3) = NICHT( x_1 \quad UND \quad x_3) $.

 

$ NICHT \big( \quad x_1 \quad UND \quad x_3 \quad UND \quad x_4 \quad \big) \quad UND $

$ NICHT \big( \quad (NICHT \ x_2) \quad UND \quad (NICHT \ x_3) \quad UND \quad x_4 \big) \quad UND $

$ NICHT \big( \quad (NICHT \ x_1) \quad UND \quad x_2 \quad UND \quad (NICHT \ x_4) \big) \quad UND $

$ NICHT \big( \quad x_1 \quad UND \quad (NICHT \ x_2) \quad UND \quad x_4 \big) \quad UND $

$ = 1 $

Danach schreiben wir die Gleichungen als Tabelle um und zwar in derselben gedrehten Sichtweise, wie auch unser Quanten-Schaltkreis ausgerichtet sein wird.

Gleichung 1

Gleichung 2

Gleichung 3

Gleichung 4

Bit 1

Bit1

NICHT Bit1

Bit1

Bit 2

NICHT Bit 2

Bit2

NICHT Bit2

Bit 3

Bit3

NICHT Bit3

Bit3

Bit 4

Bit4

Bit4

NICHT Bit4

Der Quanten-Schaltkreis dazu ist unten dargestellt. Darin verwenden wir für jedes Bit natürlich ein Qubit. Jede Gleichung wird durch ein mehrfaches UND-Quantengatter dargestellt. Die schwarzen Kreise bedeuten, dass das Qubit so wie es ist UND-verknüpft wird. Die weißen Kreise bedeuten, dass das Qubit vor der UND-Verknüpfung mit einem X-Gatter NICHT-verknüpft wird. Das Ergebnis jeder Gleichung wird in einem zusätzlichen „Ancilla“-Qubit hinterlegt. Am Ende werden alle diese Ancilla-Qubits mit einem mehrfachen NICHT-UND-Gatter verknüpft, genauso wie es unser 3SAT-Problem verlangt. Das Endergebnis hinterlegen wir in einem zusätzlichen Qubit. Immer wenn dieses Qubit den Zustand |1 besitzt, sind alle unsere Gleichungen erfüllt. In allen anderen Fällen ist das letzte Qubit im Zustand |0.

Am Ende müssen wir uns noch um unser Orakel kümmern: Immer wenn eine Bit-Kombination alle Gleichungen erfüllt, soll sich der Teil der Überlagerung ins Negative umkehren und ansonsten so bleiben wie er ist. Oder anders ausgedrückt, immer wenn das Qubit für das Endergebnis im Zustand |1 ist, soll sich der Teil an der Gesamt-Überlagerung |xins Negative umkehren. Wenn das Endergebnis-Qubit im Zustand |0 ist, soll der Teil der Gesamt-Überlagerung |xso bleiben wie er ist. Das Quantengatter, das sich genauso verhält, nennt man Z-Quantengatter.

Z |0= |0und Z |1= – |1

In unserem vereinfachten Zeigerbild für Qubits ist das eine Spiegelung an der |0⟩ – Achse:

Die Schaltung oben ist allerdings wieder eine starke Vereinfachung. Für jede der 4 Bit-Gleichungen habe ich nur ein Quantengatter dargestellt. Tatsächlich müssten wir es jeweils mit einer Vielzahl zusätzlicher CNOT- und weitere Quantengatter ersetzen. Aber das ist tatsächlich „nur“ noch eine Fleißarbeit xii.

Fußnoten

i Polynomialer Rechenaufwand bedeutet Folgendes: Je komplexer das Problem wird, desto mehr nimmt natürlich die Zeit zu um die Lösung zu finden. Polynomialer Rechenaufwand bedeutet nun, dass die Anzahl der Rechenschritte um die Lösung zu finden nach einer Potenzregel zunimmt. Wenn N die Komplexität des Problems ist, so nimmt der Rechenaufwand dann grob gesehen wie N oder N² oder N³ oder N⁴, …. zu. Um z.B. eine Person unter N=1000 Personen zu finden, benötigt man im Mittel ½ * N Versuche. Probleme bei denen der Aufwand mehr als polynomial zunimmt, wären etwa Probleme deren Lösungsaufwand explosionsartig bzw. exponentiell zunimmt z.b. $ 2^N $. Solche Probleme sind eher charakteristisch für NP-Probleme.

ii Eine sehr schöne Einführung in die Komplexitätstheorie bekommen Sie auf Scott Aaronsons Website zu seinem Buch „Quantum Computing Since Democritus“: https://www.scottaaronson.com/democritus/lec6.html. Scott Aaronson ist einer der führenden Quanteninformatiker und ein fesselnder Didakt.

iii Mathematische Beweise sind insbesondere auch Kandidaten für NP-Probleme. Einen fertigen Beweis zu verifizieren ist, zumindest für Fachleute, gut machbar. Die Kunst ist es einen Beweis für ein Problem zu finden. So formulierte beispielsweise Pierre de Fermat seine berühmte Vermutung an + bn = cn in den 1650er Jahren. Trotz intensivsten Bemühungen von führenden Mathematikern wurde der Beweis hierfür erst 1994 von Andrew Wiles mithilfe von modernsten Methoden der arithmetischen Geometrie gefunden.

iv Tatsächlich ist das Diagramm über die Zusammenhänge zwischen P, NP, BQP und PSPACE fast komplett unbewiesen. Wirklich bewiesen wurde zuletzt allerdings die Vermutung, dass es BQP-Probleme gibt, die weder in P noch in NP liegen. Nebenbei wurde damit auch bewiesen, dass PSPACE und NP nicht gleich sind. Lesen Sie hierzu auch den Artikel auf Quantamagazine https://www.quantamagazine.org/finally-a-problem-that-only-quantum-computers-will-ever-be-able-to-solve-20180621/

v Der Begriff „Orakel“ hat für die Computerwissenschaften eine noch speziellere Bedeutung, was für den Grover-Algorithmus aber nicht wichtig ist.

vi Das exakte Bild eines Qubits ist das einer Kugeloberfläche. Die Zustände |0und |1⟩ müssen wir dann an Nord- und Südpol einzeichnen. Um von der Kreislinie zur Kugeloberfläche zu gelangen, muss ein zusätzliche Winkel verwendet werden, der auch „Phase“ genannt wird.

vii Zur Erinnerung: $ \sqrt{ a^2 + b^2 } = c $, wenn $ a $ und $ b $ senkrecht aufeinander stehen. Wenn jetzt noch mehr senkrechte Achsen dazukommen, erhalten wir $ \sqrt{ a_1^2 + a_2^2 + a_3^2 + a_4^2 + …} = c $. Da die $ 2^N $ $ a $‘s in der gleichmäßigen Überlagerung alle gleich lang sind und $ c $ die Länge 1 hat, bekommen wir $ \sqrt{ 2^N a^2 } = 1 $ was gerade $ a = 1 / \sqrt{2^N} $ ist

viii Da wir die Winkel als Radianten bzw. Kreisbogen messen, müssen wir genau genommen vor alle Winkel noch einen Faktor $ \pi / 2 $ schreiben. Um das ganze Thema nicht noch komplizierter aussehen zu lassen und uns nur das grobe Verhalten des Grover-Algorithmus interessiert, können wir diesen auch weglassen.

ix https://arxiv.org/abs/quant-ph/9701001: Fachartikel „Strengths and Weaknesses of Quantum Computing“. Eine besser verdauliche Variante des Beweises findet man in dem Standard-Lehrbuch „Quantum Computation and Quantum Information“ von Michael Nielsen und Isaac Chuang, oft auch kurz „Mike and Ike“ genannt.

x https://www.scottaaronson.com/democritus/lec6.html: „PHYS771 Lecture 6: P, NP, and Friends“, die 6. Vorlesung aus Scott Aaronson‘s legendären Vorlesungsreihe „Quantum Computing Since Democritus“. Darin beleuchtet Aaronson, einer bekanntesten Theoretiker für Quantencomputer weltweit, viele Grundlagen-Aspekte aus Mathematik, Informatik und Quantenmechanik auf eine erfrischend mitreißende Weise.

xi https://cstheory.stackexchange.com/questions/38538/oracle-construction-for-grovers-algorithm/38551#38551: „Oracle Construction for Grover’s Algorithm“, Thread auf CSTheory- Stackexchange

xii Die Quantengatter für jede Gleichung sind abgewandelte CCCNOT-Schaltungen. Teilweise müssten hier noch X-Gatter für die NICHT-Verknüpfungen in den Gleichungen vorgeschaltet werden. CCCNOT-Schaltungen können über mehrere CCNOT-Schaltungen erstellt werden: https://quantumcomputing.stackexchange.com/questions/2397/implementing-a-cccnot-gate-using-only-toffoli-gates. CCNOT-Gatter wiederum sind die Quantencomputer-Version von klassischen UND-Gattern und werden oft auch Toffoli-Gatter genannt. Ein Toffoli-Gatter kann wiederum über 6 CNOT-Gatter konstruiert werden: https://en.wikipedia.org/wiki/Toffoli_gate

Einleitung: Die Quantenrevolution beginnt

>>

Quantencomputer besitzen das Potential unsere Gesellschaft maßgeblich zu verändern.

Was vor über 30 Jahren als visionäres aber aussichtsloses Vermächtnis eines genialen Physikers begann, beginnt in diesen Tagen Wirklichkeit zu werden.

Ziel meiner Seite „quantencomputer-info“ ist es, umfassend und stets aktuell über die rätselhafte Technologie zu informieren. Alles was Sie dafür mitbringen müssen ist eine ordentliche Portion Neugierde.

Quantencomputer: Ein Informationsvakuum

Der Begriff „Quantencomputer“ taucht regelmäßig in den Technologie-Nachrichten der Mainstream-Medien auf. Die vereinzelten, sehr vagen Meldungen die Sie dort finden, können ein klares Bild allerdings nicht einmal annähernd ausreichend vermitteln. Auf der anderen Seite können Sie eine Vielzahl von komplizierten, sehr mathematischen Lehrmaterial von Hochschulen zu Quantencomputern finden. Aktuelle Entwicklungen zur Quantencomputer-Forschung können Sie hauptsächlich nur in noch viel anspruchsvolleren wissenschaftlichen Fachartikeln verfolgen. Das setzt ein ungeheures Vorwissen in der Quantenmechanik und in Mathematik voraus.

Insbesondere für Entscheider in der Technologiebranche wird allerdings irgendwann in den nächsten Jahren der Zeitpunkt kommen, an denen sie entscheiden müssen, ob ihr Unternehmen in die neue Technologie Quantencomputer investieren sollte. Informatiker und IT-ler müssen für sich persönlich abwägen, ob sie sich auf den beschwerlichen Weg machen sollten, um sich Knowhow in dem neuen Bereich „Quantencomputer“ anzueignen. Ein Bereich, der so komplett anders ist als jeder anderer in der Informatik. Und letztendlich werden technikinteressierte Laien mehr über die Technologie wissen wollen, der man wahre Wunder nachsagt.

quantencomputer-info.de soll dabei helfen dieses Informationsvakuum mit Leben zu füllen. Auf den nächsten Seiten werde ich Ihnen ein relativ genaues Verständnis für Quantencomputer vermitteln. Ich werde die Grundlagen erklären und auch gezielt auf Themen aus der aktuellen Entwicklung und Forschung eingehen. Dabei werde ich fast vollständig auf mathematische Formeln verzichten und das Wesen hinter den Quantencomputern eher bildlich beschreiben. Anstatt auf Exaktheit lege ich den Fokus also auf ein sehr gutes, qualitatives Verständnis. Deshalb soll diese Internetseite auch ein Ausgangspunkt sein, um in die so ungeheuer komplizierte Materie einzusteigen und dabei den Wald vor lauter Bäumen noch zu sehen.Sowohl im deutschen als auch im englischsprachigen Raum werden Sie wohl keine zweite Internetseite finden, die diesen Anspruch auf diese Weise erfüllt … Glaube ich zumindest.

Insbesondere werde ich Ihnen folgende Fragen genauer beantworten:

      • Was genau ist ein Quantencomputer?
      • Wie funktioniert ein Quantencomputer?
      • Warum dieser Hype um Quantencomputer?
      • Welche Quantencomputer gibt es jetzt schon und welche wird es demnächst geben?
      • Was sind die absehbaren Anwendungsgebiete für Quantencomputer?
      • Was genau ist ein „Qubit“?
      • Wie sehen Quantenprogramme eigentlich aus?
      • Was ist die Quanten-Überlegenheit?

Dabei halte ich die Antworten auf diese Fragen aktuell und gehe regelmäßig auf neue Entwicklungen ein.

quantencomputer-info.de: Ein Online-Buch

Meine Internetseite ist zum Einen als Online-Buch gedacht, dass Sie von vorne bis hinten durchlesen können. Mittlerweile umfasst es immerhin über 80 Din A4-Seiten und weit über 150 Referenzen auf wissenschaftliche Artikel und Vorträge, die ich über Jahre hinweg gesammelt habe (dank arxiv.org, Youtube, Wikipedea und Co sogar online frei zugänglich).

Falls Sie lieber gezielt einzelne Artikel lesen, was natürlich auch gut geht, möchte ich Ihnen trotzdem meine Einführung „Quantencomputer einfach erklärt“ ans Herz legen. Auch wenn Sie bereits einige grundlegende Dinge über die Quantencomputer erfahren haben, haben Sie eventuell noch nie einen Eindruck davon bekommen, wie ein Quantencomputer-Programm wirklich aussieht, geschweige denn, wie Sie eines schnell mal selbst online ausprobieren können. Außerdem erkläre ich Ihnen hier auf einfache Weise, wie ein bekannter Such-Algorithmus für Quantencomputer(der „Grover-Algorithmus“) in etwa funktioniert.

Letzteren führe ich dann nochmal viel genauer in dem Spezial-Artikel „Der Grover-Algorithmus und die Suche nach dem heiligen Gral“ aus. Nach der Lektüre können Sie das Programm tatsächlich verstehen, inklusive der merkwürdigen Quanten-Logik! Dabei erkläre ich Ihnen auch, welche Bedeutung der Algorithmus für das vielleicht größte offene Rätsel der Computer-Wissenschaften hat: Dem „P=NP“-Problem, das eines der Eine-Millionen-Dollar-Probleme ist.

Wenn Sie besonders an aktuellen Entwicklungen interessiert sind, sollten Sie meine Artikel „Welche Quantencomputer gibt es jetzt schon?“ und „Anwendungen für Quantencomputer“ lesen. Diese Artikel ergänze und aktualisiere ich regelmäßig. Hier erfahren Sie viel über den aktuellen Stand der Hardware, über die aktuell vielversprechenden Quanten-Algorithmen und über die diversen Cloud-Angebote der Techriesen und deren Teams dahinter. In meinem Zusatz-Artikel „Künstliche Intelligenz und Machine Learning mit Quantencomputern“ erfahren Sie dann u.a., wie eine brillanteTeenagerin im Sommer 2018 der kompletten Forschergemeinde den Boden unter den Füßen weghaut.

Wenn Sie genug Ausdauer haben und noch mehr über das Wesen der Quantencomputer, der Quanten-Logik und überhaupt über die Quantenmechanik erfahren wollen, empfehle ich Ihnen den Artikel „Das Qubit und ein Magier bei Britain has Got Talent“. Hier bekommen Sie unter anderem einen Eindruck davon, wie sehr das ganze Thema an pure Zauberei erinnert … am Beispiel eines berühmten und ziemlich coolen Zaubertricks in der englischen Talentshow. Außerdem „spule“ ich zurück nach Helgoland ins Jahr 1925, zur Geburtsstunde der Quantenmechanik und zu Werner Heisenbergs „Magischen Aufsatz“, und erkläre Ihnen seine berühmte „Unschärferelation“ am Beispiel eines Qubits. Diese und die anderen Erklärungen in dem Artikel, anhand von einfachen Zeigerdiagrammen, sind übrigens über einen längeren Zeitraum hinweg entstanden. In so einer Form hätte ich sie mir tatsächlich auch für mein Physikstudium gewünscht.

Und was Sie auch lesen sollten …

Ach, vergessen Sie es. Wenn ich es mir recht überlege: Vermutlich sollten Sie doch einfach alles lesen.

Aber ich muss Sie warnen. Die Quantenmechanik und somit die Quantencomputer sind auf faszinierende Art und Weise mit Nichts vergleichbar, mit dem Sie sich bisher beschäftigt haben. Um sie zu erfassen ist ein gewisser Aufwand und viel Neugierde notwendig … aber was ich eigentlich sagen will, drückt Morpheus in dem Science-Fiction-Klassiker „Die Matrix“ noch am Besten aus:

„Das ist deine letzte Chance. Danach gibt es kein zurück. Nimm die blaue Pille — die Geschichte endet… Nimm die rote Pille — du bleibst hier im Wunderland und ich werde dir zeigen wie tief das Kaninchenloch reicht.”

Das „Quantencomputer-Zeitalter“

Quantencomputer werden vermutlich nach und nach das Tor zu einer neuen Welt öffnen. Diese Welt wird so bizarr und anders sein, dass die Forschung erst langsam einen Eindruck davon bekommt, was darin möglich sein wird. Es ist die Welt der Quanten-Berechenbarkeit und der Quanten-Komplexität. Durch die Quantencomputer werden die rätselhaften Quanteneffekte für unsere „Ära der Algorithmen“ erschlossen.

Die Erschließung der Quantenmechanik hat bereits das Industriezeitalter im Laufe der letzten 100 Jahre revolutioniert. Bahnbrechende Entwicklungen wie die Halbleiter, Transistoren, Dioden, Laser und viele weitere bilden das Herzstück unserer modernen, technologischen Gesellschaft. In allen möglichen Geräten unseres täglichen Lebens sind sie zu finden (wie den Computern, dem Internet, Smartphones, Fernsehern, …). Diese bahnbrechenden Technologien sind allerdings das Resultat von Quanteneffekten von riesigen Massen von Atomen und Lichtteilchen.

Quantencomputer sind stattdessen so etwas wie die digitale Version der Quantenmechanik: Sie verzahnen und verändern auf filigranste Weise einzelne, elementare Quantenzustände. Die Andersartigkeit der Quantenwelt besitzt das Potential das Wesen von grundlegenden Algorithmen und selbst das Wesen unserer Logik komplett umzukrempeln. Wir werden völlig neue und extrem abgekürzte Rechenwege entdecken und beschreiten können, die sonst unmöglich wären.

Am Beispiel eines Aufzuges an einem Hochhaus, erkennen Sie was ich mit „völlig neue Wege“ meine

Seit über zwei Jahrzehnten findet intensive Forschung zu dem Thema Quantencomputer statt. Erste experimentelle Quantencomputer wurden im Laufe der letzten 20 Jahre in Forschungseinrichtungen gebaut. Längst haben die Tech-Riesen Google, IBM, Microsoft & Co das bahnbrechende Potential der Technologie erkannt und führende Physiker, Informatiker und Mathematiker angeworben, um die Entwicklung der ersten kommerziellen Quantencomputer zu befeuern. Als Resultat stehen jetzt die ersten Quantencomputer in der Cloud.

Verfügbar für jedermann.

Noch unbemerkt von der breiten Öffentlichkeit liefern sich die Tech-Giganten aktuell ein spannendes Wettrennen, welche Gruppe als erstes den nächsten großen Meilenstein erreicht: Der erste Nachweis der „Quantum Supremacy“ oder auf deutsch der „Quanten-Überlegenheit“. Also der erste Quantencomputer, der jeden herkömmlichen Supercomputer für gewisse Berechnungen überflügelt.

Alle Zeichen deuten darauf hin, dass dieser Schritt kurz bevor steht.

Quantencomputer: Der einfachste Weg, die Quantenmechanik zu verstehen lernen

Einen weiteren Punkt finde ich persönlich noch wichtig: Ein Quantencomputer ist letztendlich das einfachste Mehrteilchen-System in der Quantenmechanik. Wenn Sie die Funktionsweise eines Quantencomputers verstanden haben, haben Sie zwischen den Zeilen auch sehr viel über die Quantenmechanik erfahren. Zu grundlegenden Themen der Quantenmechanik ist es dann manchmal nur ein kleiner Schritt. Deshalb werde ich immer wieder auf einige Themen eingehen: Vielleicht haben Sie von dem „Welle-Teilchen-Dualismus“ gehört oder von „Schrödingers Katze“ oder von „Heisenbergs Unschärferelation“, der Existenz von „Paralleluniversen“. Oder was hat die Quantemechanik mit „Wurmlöchern“ im Weltraumzu tun? Wenn Sie die Ausdauer haben, werden Sie hier einiges darüber erfahren.

Ich selbst habe Physik und Mathematik studiert. Seit fast 20 Jahren bin ich jetzt als IT-Berater für große Unternehmen tätig. Meine Faszination für die Quantenphysik habe ich dabei nie verloren. Nicht nur in meinen Augen ist sie wie Zauberei: Nur in echt. Mit den Quantencomputern bekommen wir jetzt die Zauberkästen dazu. Ich verfolge sehr genau, wie diese Entwicklungen langsam Einzug in die IT erhält, und vor einer Weile habe ich beschlossen diesen Weg für mich und für andere zu dokumentieren.

Das Qubit und ein Magier bei „Britain Has Got Talent“

In diesem Beitrag erfahren Sie die grundlegenden Eigenschaften eines einzelnen Qubits und der Quantengatter. Da das Qubit das einfachste Quantensystem ist, lernen Sie dabei auch viel über die Quantenmechanik. Danach werden Sie verstehen warum die Quantenwelt und mit ihr die Qubits und die Quantenprogrammierung so faszinierend ist.

Dabei verwende ich keine „Höhere Mathematik“. Ich versuche Ihnen aber das Wesen der Gleichungen bildlich zu erklären. Damit werden Sie in der Lage sein selbst einen Eindruck davon zu bekommen was Physiker meinen, wenn sie z.B. sagen „Das Elektron ist sowohl Teilchen als auch Welle“.

Ein Magier bei „Britain Has Got Talent“

Fountain Studios, London, 26.5.2014:

Der 25 jährige Kanadier Darcy Oake betritt die Bühne der beliebten Talent-Show „Britain‘s Got Talent“. Was er im Begriff ist zu zeigen wird die Jury und sämtliche Zuschauer buchstäblich aus den Socken hauen.

In der Mitte der Bühne steht ein Gerüst mit einem Podest. Darcy Oake steigt auf eine Stahltreppe nach oben. Dort angekomment erklärt er dem Publikum, was wir schon vermuten: Von diesem Podest wird er nun verschwinden. Der Clou dabei ist Folgendes: dabei zeigt er auf einen Mann, der eine große Kamera geschultert hat und langsam über die Bühne wandert .Alles wird aus verschiedenen Blickwinkeln mitgefilmt und auf einer großen Leinwand live gezeigt.

Es geht los. Während der Kameramann um das Podest wandert sehen wir das Videobild von Darcy Oake, der sich auf dem Podest auf einen Stuhl setzt und sich ein riesiges Tuch über seinen Kopf zieht. Der Kameramann läuft auf der Bühne um das Gerüst herum. Kein Trick ist erkennbar. Wir sehen nur das flatternde Tuch und darunter die Männergestalt von Darcy Oake. Plötzlich fällt das Tuch auf dem Podest zu Boden und Darcy Oake ist … natürlich verschwunden. Aber jetzt kommt das Unglaubliche: Ein Assistent geht hinüber zum Kameramann, der immer noch mitten auf der Bühne steht. Der Assistent nimmt ihm die große Kamera aus den Händen und dreht sie herum. Jetzt sehen wir das Gesicht des Kameramannes auf der Leinwand. Es ist … Darcy Oake. Unglaublich.

Sie sollten sich selbst ein Bild davon machen. Der Trick und auch die Reaktion der Jury darauf sind einfach sehr cool. Hier geht’s zum Video:

https://www.youtube.com/watch?v=C5N0MDF1CYQ

Was ich so faszinierend an dem Trick finde: Für eine kurze Zeitspanne hat es Darcy Oake so aussehen lassen, als wäre er zweimal gleichzeitig vorhanden gewesen auf der Bühne: Ein Ich als Zauberer auf dem Podest und ein zweites Ich als Kameramann neben dem Podest. Erst als der Assistent das Geheimnis lüftet, wird allen Zuschauern klar, wer er jetzt ist.

Es gibt noch einen anderen Grund, warum ich den Trick so wunderbar finde: Was ich gerade beschrieben habe ist genau das was ein Qubit in der Quantenwelt ausmacht. Darcy Oake verhält sich in seinem Trick also genauso wie ein Qubit.

Warum meine ich das?

Das Qubit

Ein Qubit ist die einfachste Zustandsform der Quantenphysik. Ein binärer Quantenzustand der genau zwei Zustände besitzt. Meistens werden sie mit 0 und 1 bezeichnet, manchmal als „up“ und „down“, es ist ganz egal. Soweit unterscheidet sich ein Qubit nicht von einem Bit in einem herkömmlichen Computer ist. Letzteres ist ein elektronischer Schalter, der zwei Werte haben kann: An oder aus. Dies wird normalerweise durch die Zahlen 1 und 0 symbolisiert. Das Bit hat also entweder den Wert 1 oder den Wert 0.

Und das ist genau der Unterschied und das Unerklärbare an einem Qubit. Genau wie Darcy Oake in seinem Zaubertrick nimmt das Qubit beide „Ich-Zustände“ gleichzeitig ein. Im Laufe der Zeit „pendelt“ das Qubit bildlich gesprochen zwischen diesen Zuständen hin und her: Mal ist es mehr 1, mal ist es mehr 0. Und damit meine ich nicht, dass das Qubit z.B. mal den Wert 0.321, also näher bei 0, und mal den Wert 0,7681, also näher bei 1, hat. Nein: Es gibt wirklich nur die Werte 0 und 1, und beide in einer gemischten oder auch überlagerten Form.

Diese überlagerte Form lässt sich vereinfacht mit einem Zeiger auf einer Kreislinie vergleichen, wie ich es in dem Diagramm unten aufgezeichnet habe. Der Qubit-Zeiger pendelt entlang der Kreislinie. Die zwei gleichzeitig vorhandenen Ich-Zustände sind die x-Achse und die y-Achse des Diagramms. Die aktuellen x- und die y-Werte der Zeigerspitze (also die Ordinate und die Abszisse) sind ein Maß für die Wahrscheinlichkeit in diesem Moment den Zustand zu messen.

Die Stellung der Achsen „Kameramann“ und „Zauberer auf dem Podest“ haben übrigens nichts mit den tatsächlichen Positionen auf der Bühne zu tun. Das vereinfachte Zeigerbild zeigt an, welche Überlagerung das Qubit in einem abstrakten Parameterraum besitzt. Nebenbei: Diese spezielle Art von Raum wird „Hilbertraum“ genannt, benannt nach dem deutschen Mathematiker David Hilbert, dem vielleicht wichtigsten Mathematiker des 20. Jahrhunderts i.

Natürlich gibt es in der Quantenphysik für das Qubit eine exakte mathematische Beschreibung. Die am Anfang ungewöhnliche Schreibweise lautet:

|qubit⟩ = 0.500 * |0⟩ + 0.866 * |1⟩


Die Schreibweise mit den |0und |1 soll klar machen, dass es sich hierbei nicht um Zahlen, sondern um Zustände, also Objekte handelt. Wir hätten auch schreiben können |Kameramannfür |0und |Zauberer auf dem Podestfür |1⟩.

Nur die roten Dinger vor den Zuständen sind echte Zahlen. Die Zahlen sind ein Maß dafür, wie wahrscheinlich im Moment der Zustand |0⟩ oder |1⟩ gemessen werden würde. Im Laufe der Zeit, also während der Pendelbewegung, verändern sich die Zahlen nach einem genau bekannten Gesetz, der sogenannten „Schrödingergleichung“. Während eines Quantenprogramms werden diese roten Zahlen durch einen festen Satz von Quantengattern, den Grundbausteinen der Quantenprogramme verändert.

Wenn Sie genau hinsehen, bemerken Sie, dass die „Wahrscheinlichkeiten“ 0.500 und 0.866 nicht zusammen 1 ergeben (was in der normalen Wahrscheinlichkeitsrechnung 100% entsprechen würde). Der Grund: An der Gleichung oben gibt es ein paar mathematische Gemeinheiten, die die Sache noch einiges ungewöhnlicher machen ii. Das exakte Zeigerbild für ein Qubit werde ich in einem späteren Beitrag beschreiben iii. Für die Themen, die ich in diesem Beitrag beschreibe, reicht die vereinfachte Sichtweise aber schon ganz gut aus.

Nehmen wir als Beispiel ein Qubit, das im Zustand |0⟩ beginnt und dann in den Zustand |1übergeht.

|qubit⟩ = |0⟩


|qubit⟩ = 0.707 * |0⟩ + 0.707 * |1⟩

 

|qubit⟩ = |1⟩

Die „Pendelbewegung“ geht solange weiter, bis wir das Qubit tatsächlich messen und es in Interaktion mit seiner Umgebung treten muss. In diesem Moment entscheidet sich das Qubit für einen der beiden Ich-Zustände. Und zwar entscheidet es sich um so mehr für den Zustand, in dessen Richtung das Pendel vorher ausgeschlagen hat.

Dieses Verhalten des Qubits mag vielleicht auf den ersten Blick zwar etwas verwirrend aber doch irgendwie banal aus. Tatsächlich ist dieses Verhalten aber absolut unglaublich. Dieses Verhalten eines Qubits, und natürlich auch jedes anderen Quantenzustandes, ist einer der Gründe warum die Quantenwelt auch über 100 Jahren nach ihrer Entdeckung vielleicht das größte Rätsel der Naturwissenschaften ist:

Es ist als würde die Natur in ihren kleinsten, atomaren Strukturen Darcy Oakes Magie mit den beiden Ich-Zuständen ausführen, die gleichzeitig auf der Bühne sind.

Allerdings nicht als Trick, sondern in echt.

Der „Welle-Teilchen-Dualismus“

Was ich gerade beschrieben habe nennt man auch den „Welle-Teilchen-Dualismus“ der Quantenmechanik: Ein Qubit nimmt mehrere Zustände gleichzeitig ein, wie eine Welle. Bei jeder Messung, die wir durchführen, verhält es sich aber wie ein normales Teilchen und wir messen nur noch einen einzigen Zustand.

Die Sache mit der Welle kommt so ins Spiel: Ein Qubit besitzt nur zwei Zustände. Normalerweise besitzt ein Quantenobjekt wesentlich mehr Zustände und oft sogar unendlich viele! Für ein Elektron sind dies z.B. die Orte sein, an dem es sich aufhalten kann. Unser vereinfachtes Zeigerbild passt dann trotzdem noch. Nur besitzt das Diagramm dann nicht mehr nur zwei Achsen, sondern eine Achse für jeden möglichen Zustand. Also sehr sehr viele Achsen, die senkrecht aufeinander stehen. Gegebenenfalls auch unendlich viele Achsen. Natürlich kann man sich das nicht mehr vorstellen, weil wir uns nur einen Zeiger in einem Diagramm mit höchstens drei Achsen vorstellen können. In der Mathematik kann man solche Systeme mit unendlich vielen Dimensionen trotzdem exakt berechnen. Dieser Zweig der Mathematik wird „Funktionalanalysis“ genannt iv. Den Zeiger können wir dann immer noch auf die gleiche Weise schreiben. Jetzt allerdings mit mehr Zuständen.

|elektron = 0.0134 * |Ort 1 + 0.0136 * |Ort 2 + 0.0137 * |Ort 3 + 0.0137 * |Ort 4 +

….

+ 0.0317 * |Ort 10000 + 0.0316 * |Ort 10001 + 0.0315 * |Ort 10002 +

….

Daraus können wir uns jetzt unsere Welle zusammenbauen: Dazu reihen wir blauen Orts-Zustände wie eine Perlenschnur in der x-Achse aneinander. Die roten Wahrscheinlichkeits-Zahlen zeichnen wir als Pendelausschlag an diesem Ort auf der y-Achse ein. Heraus bekommen wir gerade das Bild einer Welle.

Das sollte Sie aber nicht in die Irre führen. Das Elektron ist keine Welle. Das Elektron ist wie dieser blaue Zeiger in einem Diagramm, dessen Zeigerspitze immer an einer bestimmten Stelle in dem abstrakten Hilbertraum mit den vielen senkrechten Achsen steht. Nur die Wahrscheinlichkeiten kann man so darstellen, dass sie aussehen wie eine Welle.

Der „Welle-Teilchen-Dualismus“ hat für Elektronen erstaunliche Konsequenzen: Es gibt dieses berühmte „Doppelspalt-Experiment“ in dem ein einzelnes Elektron durch zwei benachbarte Spalte gleichzeitig fliegt und auf eine Art Leinwand trifft. Dort heben sich die Wahrscheinlichkeiten komplett auf oder verstärken sich. Das Elektron „interferiert“ also mit sich selbst v.

Der abstrakte Hilbertraum hat übrigens die interessante Eigenschaft, dass er die Entfernungsinformationen der Orte komplett auflöst: Im Hilbertraum stehen alle Ortszustände als eigene Achse senkrecht aufeinander. Die Zeigerspitze ist von jedem Ort „gleichweit entfernt“. Nämlich höchstens um eine 90°-Drehung. Oder anders ausgedrückt: Um von hier bis ins Sternbild Alpha Centauri zu springen, muss das Elektron im Hilbertraum nur eine 90°-Drehung durchführen. Das gleiche gilt für einen Mikro-Sprung von einem Atom zum nächsten.

Ich finde das faszinierend. Vielleicht ist genau das, die richtige Sicht auf unser Universum und unsere Vorstellung von Entfernung kommt nur durch Nebeneffekte zustande vi.

Die Grundidee eines Quantenprogramms

Jetzt werden Sie vielleicht sagen: Moment mal, die Argumentation ist zu dämlich! Das Qubit soll zwei Ich-Zustände zugleich einnehmen, obwohl das eigentlich unmöglich ist. Und wenn wir versuchen genau das zu beobachten, verschwindet der Effekt wieder. Wer soll das denn glauben ?!

Nun ja, viele Physiker wollten das am Anfang auch nicht glauben. Aber viele Experimente haben nachgewiesen, dass in der kurzen unbeobachteten Zeitspanne zwischen zwei Messungen, etwas ungeheuer Merkwürdiges passieren muss, das sich nur durch diese Art von Ich-Überlagerung erklären lässt.

Und dieses ungeheuer Merkwürdiges kann genutzt werden, um neue Arten von Berechnungen auszuführen:

Nehmen wir nochmal das Zauberer-Beispiel. Angenommen Darcy Oake muss eine Aufgabe lösen, die er niemals alleine lösen könnte. Zum Beispiel soll er die Rechenaufgabe 16 – 7 nur mit seinen Fingern lösen. Nur mal angenommen ihm geht es so, wie meinem kleinen Sohn und er kann sie wirklich nicht anders lösen als die Zahlen mit seinen 10 Fingern abzuzählen. Da die Aufgabe aber mit einer Zahl größer als 10 zu tun hat, ist sie für ihn eigentlich nicht lösbar. Jetzt startet er einfach seinen Trick. Er zaubert sein zweites Ich auf die Bühne. Zusammen lösen sie die Aufgabe mit ihren vier Händen. Am Ende zeigen jeweils beide Ichs die Zahl 9 mit Fingern in die Luft. Jetzt ist es egal welches der beiden Ich-Zustände von Darcy Oake am Ende gemessen wird und übrig bleibt. Er hat also die „unmögliche“ Aufgabe gelöst.

Das ist natürlich ein blödes Beispiel. Aber ich hoffe, Sie verstehen worauf ich hinaus will. Natürlich hat ein Qubit keine Finger. Für ein einzelnes Qubits muss man eher eine Frage stellen, die mit Ja oder Nein beantwortet werden kann. Ausserdem sind die beiden Ich-Zustände eines einzelnen Qubits nicht unabhängig voneinander, wie Sie am Zeigerbild oben sehen können. Richtig rechnen kann man erst mit mehreren Qubits.

Das bringt uns sofort zu der Frage: Wie könnte man denn mit einem Qubit rechnen?

Dafür muss man verstehen, wie man ein Qubit überhaupt verändern kann. Das führt uns direkt zu den „Quantengattern“ für Quantencomputer. Im Detail erfahren Sie das in den nächsten Beiträgen auf Quantencomputer-Info. Wenn Sie ausschließlich an der Quantenprogrammierung interessiert sind, können Sie den Rest dieses Beitrags also überspringen. Im Rest dieses Beitrages bekommen Sie von mir ein paar Erläuterungen und Hintergründe zu den Quantengattern, die Ihnen dabei helfen sollten ein besseres Verständnis dafür zu entwickeln.

Der Elektronen-Spin: Die Mutter aller Qubits

Um die Unregelmäßigkeiten in Strahlungs-Experimenten von Atomhüllen zu erklären, schlugen mehrere Physiker Ende der 1920er Jahren vor, dass jedes Elektron einen inneren Drall besitzen müsste: Der Elektronen-Spin. Der Eigendrall dieses Spins dürfte nur zwei mögliche Werte besitzen: „Wert ½, die Drehachse zeigt nach oben“ oder „Wert -½, die Drehachse zeigt nach unten“. Anders ausgedrückt: |up oder |down oder noch einfacher: |0 oder |1 . Der Elektronen-Spin ist als das allererste qubit-artige System in der Quantenmechanik.

Der österreichische Physiker Wolfgang Pauli untersuchte daraufhin die quantenmechanischen Gesetze nach denen sich das Spin-Qubit verändern kann. Die Grundbausteine, die er dafür fand wurden deshalb nach ihm benannt: „Die Paulimatrizen“. Alle anderen Qubits gehorchen auch den Paulimatrizen. Die Spin-Qubits haben aber die interessante Eigenschaft, dass sie eine Raumrichtungen auszeichnen, nämlich der Drehachse des Eigendralls. Und deshalb lassen sich die Paulimatrizen für Spin-Qubits, sehr schön anschaulich beschreiben.

Im Zentrum steht unter anderem die Frage: Wie dreht sich ein Spin-Qubit im Raum? Sie werden sehen, die Antwort ist absolut erstaunlich!

Wie dreht sich ein Spin-Qubit im Raum?

Nehmen wir erst mal einen ganz normalen Gegenstand. Angenommen Sie sitzen einem Bürostuhl gegenüber. Wenn Sie den Bürostuhl drehen scheint es so als ob er seine Form verändert. Natürlich macht er das nicht. Er sieht einfach aus jeder Blickrichtung anders aus. Dabei kommt es noch darauf an um welche Achse Sie den Bürostuhl drehen: Wenn Sie der Sitzfläche eine halbe Umdrehung versetzen sehen Sie die Rückseite des Bürostuhls. Wenn Sie die halbe Umdrehung anders durchführen, z.B. indem Sie ihn kopfüber drehen, sehen Sie auch die Rückseite. Allerdings ist der Bürostuhl jetzt auch noch auf den Kopf gestellt.

Gilt das gleiche für ein Spin-Qubit? Sieht es aus jeder Blickrichtung anders aus, je nachdem wie wir es drehen?

Ja, es sieht aus jeder Blickrichtung anders aus.

Bevor ich das genauer erkläre, müssen wir das Beispiel vom Zauberer und der Bühne noch etwas verfeinern.

Ich hatte Ihnen im vorangegangenen Abschnitt erklärt, dass ein Qubit ein Quantenzustand aus zwei überlagerten Zuständen ist, die es auf geheimnisvolle Weise beide gleichzeitig einnimmt. Im Zauberer Beispiel waren das die beiden Ich-Zustände „Kameramann“ und „Zauberer auf dem Podest“, die auf magische Weise gleichzeitig auf der Bühne vorhanden waren. Wir können uns das Qubit als gedankliches Pendel vorstellen, dass zwischen diesen beiden Ich-Zuständen hin- und herpendelt. Je mehr das Pendel in die Richtung eines Ich-Zustandes ausschlägt, um so wahrscheinlicher wird dieser Ich-Zustand am Ende gemessen. Vor der Messung sind trotzdem beide Ich-Zustände gleichzeitig vorhanden. In unserem Beispiel vom Zauber könnten wir uns diese Wahrscheinlichkeiten so vorstellen: Je unwahrscheinlich z.B. der Zustand „Kameramann“ wird, um so durchsichtiger wird er. Ist der Kameramann komplett ausgeblendet, ist die Wahrscheinlichkeit den Zustand „Kameramann“ zumessen gleich Null Prozent. Ist er vollkommen eingeblendet messen wir den Kameramann mit 100%-iger Wahrscheinlichkeit. Dazwischen sind alle Wahrscheinlichkeitswerte erlaubt. Wir wollen uns die Wahrscheinlichkeiten für die Ich-Zustände also so vorstellen, als wären wir ein Videotricktechniker, der an einem Ein-/Ausblende-Regler für Darcy Oake herumspielt. An dem Zeigerbild oben erkennen wir außerdem: Wenn wir den Zustand „Kameramann“ langsam ausblenden, blenden wir den Zustand „Zauberer auf dem Podest“ automatisch ein.

Ist der Zeiger um 45° gedreht sind der „Kameramann“ und der „Zauberer auf dem Podest“ gleich stark eingeblendet. Es gibt ein haufig benutztes Quantengattern, dass sich vereinfacht betrachtet ganz ähnlich verhält. Das „Hadamard“-Quantengatter oder einfach „H“. Was ich gerade bildlich beschrieben habe schreibt man in der Quantenmechanik:

H |0⟩ = 0.707 * |0⟩ + 0.707 * |1⟩

Das Hadamard-Quantengatter ist ein sehr oft verwendeter Baustein in Quantenprogammen. Wenn man es z. B. auf alle Qubits in einem Quantencomputer anwendet, belegt es den Speicher in dem Quantencomputer mit allen verfügbaren Werten gleichzeitig.

Das X-Quantengatter: Die Drehung auf der Bühne

Jetzt zur Drehung im Raum.

Das vertrakte dahinter ist, dass das Zeigerbild unseres Qubits nur zwei Achsen besitzt. Der Raum hat aber drei Dimensionen. Tatsächlich steckt dahinter ein altes mathematisches Rätsel: Wie kann ich einen Zeiger mit zwei Komponenten verändern, so dass diese Transformation eine Drehung im Raum darstellt. Das ist knifflig, weil das Ganze eindeutig sein muss. An der Veränderung des Zeigers muss ich eindeutig ablesen können, wie das Qubit im Raum gedreht wurde. Andersherum muss eine bestimmte Drehung im Raum den das Qubit immer auf dieselbe Art und Weise ändern. Das Ganze muss zumindest für kleine Drehungen gelten. Ein Teilgebiet der Mathematik beschäftigt sich mit solchen Fragen: Die „Darstellungstheorie“. Das Problem wurde tatsächlich 50 Jahre vor der Entdeckung der Quantenmechanik von dem Mathematiker William Clifford gelöst. Die endgültige Lösung für das Problem werde ich erst im nächsten Beitrag vorstellen. Unser Beispiel mit dem vereinfachten Zeigerbild können wir aber jetzt schon verwenden, um einen besseren Eindruck von den Quantengattern H, X, Y und Z zu bekommen. Später werden wir dieses Bild dann verfeinern.

Nehmen wir zwei Assistenten, die auf der linken Seite der Bühne stehen und sich den Zaubertrick zunächst nur anschauen. Beide stehen am Anfang nebeneinander. Nehmen wir als Beispiel an, das dass der Zeiger des Kameramann – Zauberer auf dem Podest – Qubits am Anfang auf „Zauberer auf dem Podest“ steht. D.h. er ist komplett sichtbar und der Kameramann ist komplett unsichtbar.

Jetzt geht der erste Assistent langsam gegen den Uhrzeigersinn vorne um die Bühne herum. Während er läuft sieht er, dass der Kameramann langsam sichtbar und der Zauberer im Kasten immer mehr ausgeblendet wird. Für ihn ist es, als würde durch sein Laufen ein magischer Schieberegler verschoben, der beide Zauberergestalten videotechnisch ein- und ausblendet.

Der erste Assistent ist jetzt so weit gegangen, dass er vorne auf der Bühne und direkt vor dem Zauberer-Qubit steht. Der zweite Assistent steht immer noch links neben dem Qubit. Der gelaufene Assistent sieht Folgendes: Der Kameramann ist jetzt genauso eingeblendet, wie der Zauberer auf dem Podest und letzterer ist also entsprechend ausgeblendet. Wenn Sie sich an das Beispiel mit dem 45°-Winkel erinnern, werden Sie erkennen, dass der erste Assistent durch sein Laufen also ein Hadamard-Quantengatter auf das Qubit ausgeführt hat.

Jetzt geht der erste Assistent langsam weiter gegen den Uhrzeigersinn vorne um die Bühne herum. Der Kameramann wird weiter eingeblendet, während der Zauberer auf dem Podest weiter ausgeblendet wird. Als er auf der anderen Seite der Bühne, der rechten Seite, angekommen ist stoppt er. Was sieht er jetzt? Der Kameramann ist komplett eingeblendet und der Zauberer auf dem Podest ist komplett ausgeblendet. Wenn er jetzt das Zauberer-Qubit messen würde, würde er immer den Kameramann messen.

Aber was sieht der zweite Assistent, der die ganze Zeit auf der linken Seite der Bühne stehengeblieben ist? Für ihn hat sich die ganze Zeit nichts geändert: Nur der Zauberer auf dem Podest ist zu sehen und der Kameramann ist komplett unsichtbar. Wenn der zweite Assistent also das Zauberer-Qubit messen würde, würde er immer den Zauberer auf dem Podest messen. Also genau das Gegenteil von dem ersten Assistenten.

So sieht also ein Qubit aus den verschiedenen Blickrichtungen aus.

Die Drehung um 180° auf der Bühne hat übrigens auch einen festen Namen: X-Quantengatter. Also ein weiterer Baustein der Quantenlogik.

Was ich gerade bildlich beschrieben habe schreibt man in der Quantenmechanik:

X |0⟩ = |1⟩ und X |1= |0

Das X- Quantengatter in einem Quantencomputer ist also das Gegenstück zu einem NICHT-Gatter in einem herkömmlichen Computer: Es kehrt jeden Zustand in sein Gegenteil um.

Wenn wir das X- Quantengatter mit einem Hadamard-Quantengatter wie oben kombinieren bekommen wir:

X * H |0⟩ = X* ( 0.707 * |0⟩ + 0.707 * |1⟩ )

= X * 0.707 |0+ X * 0.707 |1

= 0.707 * X |0+ 0.707 * X |1

= 0.707 * |1+ 0.707 * |0

Die Quantengatter verändern also nur die blauen Zustände und nicht die roten Zahlen. Das Gleiche gilt für das Plus-Zeichen. Haben Sie die Rechnung verstanden? Herzlichen Glückwunsch! So sehen die Rechnungen in der Quantenmechanik aus (meistens allerdings ein bisschen komplexer). An dieser kleinen Rechnung können Sie übrigens auch schon verstehen, wieso es den Quantenparallelismus gibt. Warum erkläre ich Ihnen gleich im Anschluss.

In der Quantencomputer-Programmierung verwendet man für solche Rechnungen üblicherweise auch Quanten-Schaltungsdiagramme:

 

Die 50%-Anzeige ist kein zusätzliches Quantengatter und soll nur verdeutlichen, dass am Ende beide Zustände |0und |1⟩ mit gleicher Wahrscheinlichkeit gemessen werden würden.

Der Grund für den Quantenparallelismus

Wir haben gerade gesehen, dass die beiden Quantengatter X und H nur die blauen Qubit-Zustände verändern und die einfachen roten Zahlen übersehen. Sie übersehen auch das Plus-Zeichen dazwischen. Das ist eine Eigenschaft die alle Operationen der Quantenmechanik und somit auch alle Quantengatter besitzen. In unserer Erfahrungswelt sind wir auf die Messungen der Quanten-Systeme angewiesen und zerstören dabei die Überlagerungen der Qubit-Zustände. Ein Quantengatter hat im Gegensatz dazu kein Problem mit den Überlagerungen. Es wirkt auf jeden blauen Qubit-Zustand gleichberechtigt und erhält dabei die Überlagerung (in Form von den roten Zahlen und dem Plus-Zeichen). Ein X-Quantengatter führt z.B. in einem Rechenschritt parallel zwei NICHT-Operationen aus. Dafür müssen wir nichts tun. Die Quantenmechanik leistet das für uns umsonst. Diese Tatsache steckt hinter dem Quantenparallelismus.

Die beschriebene Eigenschaft der Quantengatter nennt man in der Mathematik übrigens „Linearität“. Die algebraischen Berechnungen die man auf diese Weise durchführt nennt man entsprechend „Lineare Algebra“.

Die Geburtstunde der Quantenmenchanik und die „Heisenbergsche Unschärferelation“

Ich hoffe, Sie haben noch etwas Luft für den Rest des Beitrages. An dieser Stelle kann ich es mir nicht verkneifen, noch die Mutter aller Quantenphänome kurz vorzustellen (obwohl dies eher weniger mit Quantencomputern zu tun hat). Über wohl keine Eigenschaft der Quantenmechanik wurde soviel geschrieben und philosophiert wie über die „Heisenbergsche Unschärferelation“. Kommen wir also zur Geburtsstunde der Quantenmechanik:

Helgoland, 1925: Der junge Göttinger Physiker Werner Heisenberg nimmt sich mehrere Wochen Urlaub, um seinen Heuschnupfen auf der Insel Helgoland zu kurieren. Die Wochen wird er nutzen um die offenen Rätsel der Atomphysik zu untersuchen. Im Juni gelingt ihn der Durchbruch und er schreibt einen Aufsatz, der die Wissenschaft revolutionieren wird. Seine neue Theorie, die „Quantenmechanik“ erklärt das Verhalten von Objekten im atomaren Maßstab auf so fundamental neue Weise, dass selbst Heisenberg zunächst zögert die Arbeit zu veröffentlichen. Zurück in Göttingen bespricht er die neuen Erkenntnisse mit seinem erfahrenen Kollegen Max Born. Dieser erkennt sofort die Tragweite der neuen Ideen. Zusammen arbeiten sie, mit Unterstützung von Borns Student Pascual Jordan, die ganze Quantenmechanik in einer Serie von drei Aufsätzen aus vii.

Heisenbergs erste Arbeit wurde später als „magischer Aufsatz“ bezeichnet viii: Zu Heisenbergs Zeit war nur wenig über die Welt der Atome bekannt. Und trotzdem schaffte er es mit nahezu schlafwandlerischer Sicherheit die Grundidee der Quantenmechanik in wenigen Zeilen herzuleiten: Die Umformulierung der Physik über den abstrakten Hilbertraum.

Im zweiten Aufsatz stellte das Team dann die Unschärferelation vor ix:

Um einen Eindruck von der Unschärferelation zu bekommen, kommen wir noch mal auf unser Zauberer-Beispiel zurück. Wir hatten gesehen, dass Darcy Oake die Zustände „Kameramann“ und „Zauberer auf dem Podest“ gleichzeitig besitzt. Angenommen er hat noch zwei andere Zustände „Alt“ und „Jung“, die er ebenfalls gleichzeitig besitzt. Die vier Eigenschaften hängen aber auf überraschende Weise voneinander ab:

„Kameramann“ und „Zauberer auf dem Podest“ hatten wir mit den beiden Achsen im Zeigerdiagramm gleichgesetzt. „Alt“ und „Jung“ sollen auch zwei Achsen in demselben Zeigerbild bekommen. Aber um 45° gedrehte Achsen! Das Thema hatten wir schon mal beim Hadamard-Quantengatter.

Für das Qubit-Beispiel von oben messen die Assistenten also mit fast 100%-iger Wahrscheinlichkeit den Zustand „Jung“ und nur selten den Zustand „Alt“.

Wenn jetzt ein Assistent den Zustand „Jung“ für Darcy Oake misst, dreht er damit das Zauberer-Qubit auf die grüne „Jung“-Achse. Aber was ist mit den Zuständen „Kameramann“ und „Zauberer auf dem Podest“?

Die sind jetzt komplett ungewiss!

Das Zauberer-Qubit steht jetzt genau in der Mitte zu den anderen beiden Achsen „Kameramann“ und „Zauberer auf dem Podest“. Eine Messung ergibt jetzt zu 50% den Kameramann und zu 50% den Zauberer auf dem Podest. Sobald ein Assistent jetzt zum Beispiel den Zustand Kameramann misst, dreht sich das Zauberer-Qubit auf die Kameramann-Achse.

Jetzt ist aber wieder die Messung für „Jung“ und „Alt“ komplett ungewiss!

Was jetzt auch klar wird: Es macht sogar einen Unterschied, ob die Assistenten zuerst die Messung für „Jung“ oder „Alt“ und danach die Messung für „Kameramann“ oder „Zauberer auf dem Podest“ durchführen oder umgekehrt!

Die Heisenbergsche Unschärferelation sagt jetzt Folgendes aus: Das gleiche Prinzip gilt in der Quantenwelt für den Ort und den Impuls, also die Geschwindigkeit, eines Teilchens. Der Ort ist wie die Zustände „Kameramann“ und „Zauberer auf dem Podest“ (nur wieder mit viel viel mehr senkrechten Achsen), der Impuls wie die Zustände „Jung“ und „Alt“. Wenn wir den Ort genau kennen, hat sich der Quanten-Zeiger des Teilchens so in die Mitte der Impuls-Achsen gedreht, dass der Impuls komplett ungewiss geworden ist. Andersherum gilt das Gleiche: Wenn wir den Impuls genau kennen, können wir nichts mehr über den Ort des Teilchens aussagen. Für beide Größen kommen wir an einer Unschärfe nicht vorbei.

Außerdem macht es einen Unterschied, ob wir zuerst den Ort und danach den Impuls messen oder umgekehrt. Die Messungen in der Quantenmechanik kann man also nicht einfach vertauschen und das gleiche kommt heraus. Deshalb nennt man die algebraischen Berechnungen in der Quantenmechanik auch „nichtkommutativ“. Warum die Natur sich gerade so verhält weiss bis jetzt kein Mensch. Aber auf diese Weise können die Physiker das Phänomen exakt beschreiben.

Nur wenn das Diagramm auf die Achsen für „Kameramann“ und „Zauberer auf dem Podest“ ausgerichtet ist, können wir die Wahrscheinlichkeiten für diese Zustände ablesen. Für die Zustände „Jung“ und „Alt“ gilt das zunächst nicht. Dafür müssen wir die Achsen erst auf die Sichtweise für „Jung“ und „Alt“ drehen. Der Wechsel zwischen den verschiedenen Sichtweisen auf ein Qubit oder auch auf ein Elektron nennt man „Basiswechsel“. Der Basiswechsel zwischen Ortsdarstellung und Impulsdarstellung hat einen speziellen Namen: Die „Fouriertransformation“. Ein Kernbaustein des Shor-Algorithmus ist z.B. auch die Fouriertransformation, die auf mehrere Qubits angewendet wird. Im Schaltdiagramm des Shor-Algorithmus auf der Quirk-Homepage unten erkennen Sie das an dem Kürzel „QFT“. Für ein Qubit ist die Fouriertransformation gerade das Hadamard-Quantengatter.

Fußnoten

i Auf dem Internationalen Mathematikerkongress im Jahr 1900 in Paris trug der damals bereits sehr einflussreiche David Hilbert eine Liste von 23 ungelösten Problemen der Mathematik vor. Diese Liste wurde zum Leitfaden der Mathematik des gesamten Jahrhunderts. Um nur eines seiner Verdienste für die Mathematik zu nennen. Nebenbei lieferte er sich ein Wettrennen mit Albert Einstein, zu dem er ansonsten ein fast freundschaftliches Verhältnis führte, wer die Allgemeine Relativitätstheorie als erstes entwickeln würde.

ii Tatsächlich ist jede rote Zahl die „Quadratwurzel der Wahrscheinlichkeit“ den jeweiligen Zustand zu messen. Man nennt diesen Sachverhalt die „Bornsche Regel“. Sie wurde zum ersten Mal von Max Born 1926 in einer Fußnote formuliert. Unter anderem für diese Fußnote erhielt er später den Nobelpreis. Warum gibt es die Bornsche Regel? Das ist eine offene Frage der Quantenphysik und es gibt tatsächlich neue Theorien, die sie erklären könnten.

iii Tatsächlich besitzt der exakte Qubit-Zeiger keine normale Kreissymmetrie, sondern eine „unitäre“ Symmetrie. Diese ist so etwas wie der große Bruder der Kreissymmetrie im Reich der „komplexen Zahlen“. Dadurch erhält unser einfaches, flaches Zeigerbild eine weitere Dimension, die sogenannte „Phase“. Das exakte Zeigerbild wird normalerweise als dreidimensionale Kugeloberfläche dargestellt, die „Blochkugel“. Die Zustände |0⟩ und |1⟩ befinden sich dabei am Nord- bzw. am Südpol. Diese ganzen Themen werde ich in einem späteren Beitrag erläutern.

iv Die Funktionalanalysis wurde u.a. von David Hilbert entwickelt. Einer seiner Studenten war John von Neumann. Er schrieb später das Standardwerk über die Mathematik der Quantenmechanik und prägte darin den Begriff „Hilbert Raum“. Berühmt wurde Von Neumann später allerdings durch seine zahlreichen Beiträge zur Mathematik, Physik und Informatik. U.a. stammt von ihm der Architekturansatz für moderne Digitalcomputer. Die sehr erfolgreiche „Spieltheorie“ wurde auch von ihm mitentwickelt.

v Wenn Sie mehr über das Doppelspalt-Experiment erfahren wollen, sollten Sie sich einmal die wohl berühmteste Textpassage der Lehr-Literatur in der Physik ansehen: In den ersten Kapiteln seiner Einführungsvorlesung in die Quantenmechanik erklärt Richard Feynman höchstpersönlich in seiner unnachahmlich klaren Art und Weise die Grundprinzipien der Quantenwelt. Seit 2013 stellt das California Institute of Technology die „Feynman Lectures“ frei im Internet zur Verfügung: http://www.feynmanlectures.caltech.edu/III_01.html.

vi http://www.preposterousuniverse.com/blog/2016/07/18/space-emerging-from-quantum-mechanics/: Blogbeitrag von Sean Carroll über eine seiner wissenschaftlichen Arbeiten Space from Hilbert Space: Recovering Geometry from Bulk Entanglement“

vii https://en.wikipedia.org/wiki/Matrix_mechanics: Die exzellente Rekonstruktion auf Wikipedia über die Ereignisse und Erkenntnisse rund um das Team Heisenberg, Born und Jordan

viii https://arxiv.org/abs/quant-ph/0404009: Understanding Heisenberg’s ‚Magical‘ Paper of July 1925: a New Look at the Calculational Details

ix http://people.isy.liu.se/en/icg/jalar/kurser/QF/references/onBornJordan1925.pdf: Aufsatz „The 1925 Born and Jordan paper ‚On quantum mechanics‘“ über die Veröffentlichung zur Unschärferelation. Diese ist in der Quantenmechanik tatsächlich eine exakte algebraische Relation und gibt an, inwiefern die Sichtweisen in der Ortsdarstellung und die Impulsdarstellung voneinander abweichen. Die Unschärfe kommt erst durch die Messung am Ende zustande über die sich der Beobachter quasi für eine der beiden Darstellungen festlegt. Erst zwei Jahre später lieferte Heisenberg diese Erkenntnis in seinem Aufsatz „Über den anschaulichen Inhalt der quantentheoretischen Kinematik und Mechanik.“ nach https://web.archive.org/web/20130224185514/http://osulibrary.oregonstate.edu/specialcollections/coll/pauling/bond/papers/corr155.1.html