Quantencomputer Meet-Up per Webex in 2020 Q2

Quantencomputer News in eigener Sache

Deutschlands Westen und insbesondere das Rheinland entwickelt sich gerade zu einem der Hotspots für das Quantencomputing in Deutschland und vielleicht sogar in ganz Europa. Aktuell engagiere ich mich deshalb dafür, ein Netzwerk von Experten und Firmen in Westdeutschland zu etablieren.
Dazu plane ich zusammen mit meinem Partner ein regelmäßiges Quantencomputer Meet-Up mit Fachvorträgen und Diskussionen zu organisieren.
Zielgruppe unserer Meet-Ups sind zum einen weitere Experten für das Quantencomputing aus der Forschung und Startup-Szene. Besonders laden wir aber auch jeden herzlichst ein, der überhaupt Interesse an dem Thema Quantencomputer hat: Insbesondere Interessenten aus der Wirtschaft, Industrie, Medien, Studium und Schulen.
Für unsere Kickoff-Veranstaltung hatten wir ursprünglich den September angepeilt. Während der Planung hat uns die Corona-Krise eingeholt. Aus diesem Grund planen wir jetzt unser erstes Quantencomputer Meet-Up als Webex im Mai oder Juni. Gerade für unsere Webex beschränken wir uns natürlich nicht auf Westdeutschland, sondern laden auch überregional ein.
Falls Sie Interesse an weiteren Informationen haben, können Sie sich gerne bei mir über das Impressum melden. Sobald unsere Planung abgeschlossen ist, werde ich außerdem die entsprechende Meet-Up – Seite hier verlinken und noch ein paar Details ergänzen.

Quantencomputer-Meetup für Unternehmen und Interessierte

Quantencomputer-Meetup für Unternehmen und Interessierte

Quantencomputer werden sich vermutlich zu einer führenden Technologie entwickeln und haben das Potential unsere Gesellschaft nachhaltig zu verändern.

Was als gigantische akademische Herausforderung vor fast 40 Jahren begann fängt gerade an Wirklichkeit zu werden. In den letzten Jahren wurden die ersten kleinen Quantencomputer entwickelt, sogenannte NISQ Devices. Sie stehen über Cloud-Dienste prinzipiell jedem zur Verfügung.

Während die Technologie weiter ausreift, ist dies eine gute Gelegenheit für Unternehmen und Firmen, sich mit dem Quantencomputing vertraut zu machen. Eine Wissenschaft die so vollkommen anders ist als jeder andere Zweig in der Informatik.

In Deutschland entwickelt unter anderem das Rheinland zu einem Hotspot für Quantencomputer, vielleicht sogar für ganz Europa. Das Rheinland ist außerdem die Heimat von leistungsfährigen Unternehmen: Von innovativen Startups bis hin hin zu riesigen Weltkonzernen.

Zusammen mit Christopher Zachow, dem Quantum Computing Specialist der SVA GmbH, habe ich deshalb die Meetup-Gruppe „Quantum Computing meets Business – Rhineland“ gegründet.

Das Ziel unserer Meetup-Gruppe ist es Experten für das Quantencomputing und Unternehmen und Fachleute von etablierten Märkten zusammen zubringen. Wir wollen den Dialog zwischen diesen Stakeholdern fördern und ein tiefes und realistisches Bewusstsein für das Quantencomputing wecken. Wir hoffen, dass sich auch dadurch ein Netzwerk bildet, von dem alle Seiten profitieren können. Bestandteil unserer Meetups sind Vorträge und offene Diskussionen. Wir behandeln einführende Themen, Anwendungen für das Quantencomputing und auch „Hot Topics“.

Neben Unternehmen und Fachleuten laden wir jeden herzlichst ein, der sich für das spannende Thema Quantencomputing interessiert (z.B. Journalisten, Akademiker, Studenten, Lehrer).

08. Juni 2020: Online-Kickoff Quantencomputer-Meetup für Unternehmen

Unsere Kickoff-Veranstaltung werden wir, aufgrund der Corona-Krise, als Webex veranstalten. Als Gastredner konnten wir die renommierten Experten Prof. Dr. Kristel Michielsen (Forschungszentrum Jülich) und Dr. Tobias Stollenwerk (Deutsches Zentrum für Luft- und Raumfahrt) gewinnen.

Die Quantencomputin-Community ist sehr international und deshalb finden unsere Meetups in englisch statt. Beiträge, Wortmeldungen und Fragen auf deutsch sind uns natürlich auch sehr willkommen 🙂 !

Montag, 8. Juni 2020: 18 – 20h+??

Agenda:

  • 18:00 – 18:15

Welcome Note

  • 18:15 – 19:00

Speaker A: Prof. Dr. Michielsen:

“Quantum Computing: From the Basic Concepts to the Embedding in an HPC Environment for Practical Purposes”

  • 19:00 – 19:45

Speaker B: Dr. Stollenwerk:

“Quantum Computing for Aerospace – The Flight Gate Assignment Problem”

  • 19:45 – ??:??

Q&A Session (~20min.)

Details zur Einwahl finden Sie über unsere Meetup-Seite zum Event.

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. Selbst kleinste Mengen an Qubits in einem Quantencomputer können eine riesige Menge von Informationen gleichzeitig aufnehmen und verarbeiten: iii

      • 1 Qubit entspricht 2 herkömmlichen Bits
      • 2 Qubits entsprechen 4 herkömmlichen Bits
      • 10 Qubits entsprechen 16 herkömmlichen kilo-Byte
      • 20 Qubits entsprechen 16 herkömmlichen Mega-Byte
      • 30 Qubits entsprechen 16 herkömmlichen Giga-Byte
      • 31 Qubits entsprechen 32 herkömmlichen Giga-Byte

Jedes weitere Qubit verdoppelt also die Anzahl von gleichzeitig verwendbaren Informationen! Die Leistungsfähigkeit eines Quantencomputers steigt also exponentiell! Und so geht’s weiter:

      • 45 Qubits entsprechen in etwa der Speichergröße des größten aktuellen, herkömmlichen Supercomputers
      • 50 Qubits, die „Quanten-Überlegenheit“-Grenze: Die, zumindest theoretische, Grenze an dem ein Quantencomputer gewisse Berechnungen durchführen kann, die mit keinem der aktuellen Supercomputern durchführbar wären. iv Die Tech-Riesen liefern sich um genau diese Grenze gerade das große Wettrennen.
      • 250 Qubits: Die absolute Grenze die überhaupt machbar wäre für herkömmliche Computer. Um die Speichergröße eines 250 Qubit-Quantencomputers zu erreichen, 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-Branche das Ziel hat 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) u.a. „Transforming Machine Learning and Optimization through Quantum Computing“

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.

Googles Nachweis der Quanten-Überlegenheit

<<     >>

Google ist vor Kurzem der Nachweis der sogenannten „Quanten-Überlegenheit“ gelungen. Die Quanten-Überlegenheit ist der große Meilenstein in der Entwicklung aktueller Quantencomputer. Die Quanten-Überlegenheit markiert den Punkt in der Computer-Geschichte, an dem ein Quantencomputer erstmals nachweislich alle herkömmlichen Supercomputer für ein bestimmtes Problem überflügelt. Ich erläutere Ihnen alle Details, die spannenden Hintergründe und gebe genaue Erklärungen zu diesem wohl bahnbrechenden Ereignis.

Eine Sternstunde von Wissenschaft und Technik

Wissenschaft, das bedeutet in der Regel ein Ringen nach Erkenntnis in mühevoller Detailarbeit, das Wegstecken von Misserfolgen, dem Überdenken und dem Weitermachen. Wissenschaft bedeutet aber auch immer wieder kleine Erfolge feiern, zusammen mit einer eingefleischten Schar von gleichgesinnten Kolleginnen und Kollegen. Erfolge, die das Große und Ganze wieder ein kleines Stück nach vorne gebracht haben, in der Regel unbemerkt von der breiten Masse.

Und dann gibt es die sehr seltenen, die richtig großen Momente: Die Sternstunden von Wissenschaft und Technik. Der letzte große Baustein in einer langen Kette von vorangegangenen Ereignissen, der so mächtig ist, dass er einen ganzen neuen Wissenszweig in das Licht der Öffentlichkeit zwingt.

Dem Internet-Konzern Google so ein Paukenschlag zuletzt gelungen ist:

Das „AI Quantum“-Team des Tech-Riesens hat vor Kurzem die sogenannte „Quanten-Überlegenheit“ nachgewiesen.

Googles Nachweis der Quanten-Überlegenheit: Ein Gerücht bestätigt sich

Erste handfeste Anzeichen hierfür wurden bereits im Juni publik. Das Online-Magazin Quantamagazine berichtete über eine ominöse Berechnung, für die die enormen Rechen-Ressourcen des Tech-Riesen angezapft werden mussten. Im Juli gab dann das Forschungszentrum Jülich eine Pressemitteilung über eine neue beschlossene Partnerschaft mit Google heraus i. Später stellte sich heraus, dass auch der Jülicher Supercomputer eine gewisse Rolle bei Google Nachweis spielte.

Ende September stellte die NASA, einer von Googles Partnern in der Sache, eine vertrauliche Vorabversion von Googles Forschungsarbeit als Download bereit. Dies geschah vermutlich für interne Zwecke, nur für kurze Zeit und in einem gut versteckten Bereich auf der Webseite. Allerdings nicht versteckt genug für Googles eigene Suchmaschine: Der automatisierte Google-„Crawler“ war kurz nach der Veröffentlichung auf das Dokument aufmerksam geworden und hatte es eigenhändig weiter verteilt.

Die Meldung machte schnell die Runde und mehrere Nachrichtenseiten berichteten darüber.

Schließlich zog Google nach und stellte das besagte Dokument mit dem Titel „Quantum Supremacy Using a Programmable Superconducting Processor“ selbst zum Download bereit (zusammen mit einem Zusatzartikel) ii. Vorerst allerdings noch vollkommen unkommentiert, da sich die Arbeit zu diesem Zeitpunkt in der „Peer-Review“-Phase befand.

Es spricht für Google, dass der Konzern seine wohl bahnbrechenden Ergebnisse nicht vorschnell bekanntgab, sondern den ordentlichen wissenschaftlichen Prüfprozess abwartete.

Gestern erfolgte nun die offizielle Veröffentlichung in der Fachzeitschrift „Nature“ iii.

Im Zentrum der Arbeit steht der bisher unbekannte Quantencomputer „Sycamore“ von Google und eine Berechnung, die auf den aktuell schnellsten Supercomputern vermutlich 10 000 Jahre dauern würde: Sycamore benötigte dafür lediglich 200 Sekunden.

Anfang dieser Woche würzte die IBM-Gruppe für Quantencomputer die aktuellen Entwicklungen mit einem zusätzlichen interessanten Detail: Mit ihrem verbesserten Simulationsverfahren hätte der schnellste Supercomputer vermutlich nur 2 ½ Tage benötigt.

Im Folgenden erfahren Sie alle Details und die spannenden Hintergründe zu diesem, wohl trotzdem, bahnbrechenden Ereignis.

Die Entwicklung der ersten Quantencomputer

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 simulieren und grundlegend berechnen.

Nachdem diese Idee einmal geboren war, nahm das Thema schnell Fahrt auf. Der erste riesige Paukenschlag erfolgte, als der Mathematiker Peter Shor 1994 nachwies, dass die als bombensicher geglaubte Verschlüsselung im Internet mit einem sehr großen Quantencomputer in Sekundenschnelle geknackt werden könnte (nur das kein falscher Eindruck entsteht: Shors Algorithmus spielt bei Googles Nachweis der Quanten-Überlegenheit keine Rolle).

Die technischen Hürden für die weitere Entwicklung waren und sind nach wie vor gewaltig. Es dauerte nahezu 20 Jahre, bis der erste sehr experimentelle Mini-Quantencomputer in einer Forschungseinrichtung gebaut wurde.

Die NISQ-Ära der Quantencomputer

Mit der Zeit erkannten die Tech-Riesen IBM, Google, Microsoft und Co das riesige Potential der neuen Technologie. Sie starteten Kooperationen mit Forschergruppen, warben hochkarätige Wissenschaftler an und stiegen selbst in die Entwicklung der Quantencomputer ein.

Als Resultat stehen jetzt erste 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?“

Aktuelle Quantencomputer haben noch eine sehr kleine Größe von bis zu 20 „Qubits“, den Quanten-Bits. 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 Quantenrechnung werden die Qubits „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 rein zufälligund unterliegt den Gesetzen der Quantenmechanik.

Der eigentliche Clou dabei 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“.

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 wenigen Hundert „Qubits“, perspektivisch gesehen.

Was ist die Quanten-Überlegenheit?

Damit Sie einen Eindruck davon bekommen: Der Shor-Algorithmus würde vermutlich hunderttausende von Qubits und Millionen von Rechenoperationen benötigen.

Eine große Frage treibt die Quantencomputer-Szene deshalb an:

Kann man jetzt schon eine Berechnung auf einem Quantencomputer durchführen, die

      1. einen echten praktischen Nutzen hat und
      2. die kein herkömmlicher Supercomputer jemals durchführen könnte?

Mit den Jahren wurden tatsächlich mehrere Quanten-Algorithmen mit praktischem Nutzen entwickelt, die selbst auf aktuellen Quantencomputern laufen können. Das Problem dabei ist: Diese Berechnungen könnten selbst von einem normalen Laptop spielend durchgeführt werden.

Mittlerweile ist klar, dass die Suche nach einem solchen Algorithmus einfach zu groß ist.

Deshalb konzentriert man sich seit Jahren auf Punkt 2: Kann ein aktueller Quantencomputer selbst den größten Supercomputer in irgendeiner Berechnung überflügeln, egal ob sie irgendeinen praktischen Nutzen hat oder nicht?

Und genau das ist die Quanten-Überlegenheit.

John Preskill vom California Institute of Technology (Caltech), einer der führenden Wissenschaftler in der Quantencomputer-Forschung, hatte die Schallmauer für die Quanten-Überlegenheit bzw. die „Quantum Supremacy“ 2012 berechnet iv und damit auch den Startschuss für ein technologisches Wettrennen gegeben. Ab einer Quantencomputergröße von 49 oder 50 Qubit sollte ein Quantencomputer in der Lage sein, gewisse Berechnungen sehr viel schneller auszuführen als jeder herkömmliche Supercomputer. Ein Quantencomputer ab dieser Größe müsste in der Lage sein, seinen ihm eigenen und tief verwurzelten Geschwindigkeitsvorteil auszuspielen.

Welche Bedeutung hat Googles Nachweis der Quanten-Überlegenheit?

Für den Nachweis der Quanten-Überlegenheit benötigt man also nur eine einzige Berechnung.

Auf der einen Seite klingt dieser Anspruch etwas lächerlich. Nach dem Motto „Wir hängen die Kirschen mal so richtig niedrig, dass wir sie auch ja erreichen werden“. Von echter „Überlegenheit“ kann also keine Rede sein. In allen anderen Rechenaufgaben sind herkömmliche Computer den aktuellen Quantencomputern weiterhin meilenweit überlegen.

Auf der anderen Seite klingt das Vorhaben aber auch absolut absurd: Selbst ein normaler Laptop arbeitet mit Milliarden von herkömmlichen Bits und mehreren Prozessorkernen. Ein Supercomputer wiederum bewegt sich in Sphären, die mehrere Größenordnungen darüber liegen. Seit vielen Jahrzehnten arbeiten die Computerwissenschaften und die IT daran, Computerprogramme noch besser, noch schneller zu machen. Den Erfolg dieser Entwicklungen können wir überall um uns herum, in unserer digitalisierten Welt bestaunen.

Es ist deshalb vollkommen abwegig anzunehmen, dass man irgendeine neue Art von programmierbarer, universeller Rechenmaschine konstruieren könnte, mit gerade mal ein paar Dutzend „Irgendetwas-Bits“, die auch nur eine einzige Aufgabe fundamental besser erledigen könnte, als die allerbesten unserer altbewährten Computer.

Dahinter verbirgt sich letztendlich eine „uralte“ Hypothese aus der Gründerzeit der theoretischen Informatik: Die „Erweiterte Church-Turing-These“. Sie besagt gerade das Gegenteil: Jede Art von universeller Rechenmaschine kann von einem herkömmlichen Computer effizient nachgeahmt bzw. simuliert werden, und die Rückrichtung gilt genauso v. Oder einfacher ausgedrückt: Wir können zwar unsere Rechentechniken und unsere Computer immer wieder weiter beschleunigen, die Natur unserer Rechenmaschinen können wir aber nicht mehr fundamental verbessern.

Wer die Quanten-Überlegenheit nachweist, hat also insbesondere die berühmte Erweiterte Church-Turing-These widerlegt!

Das ist ein Fakt.

Kommen wir auch nochmal auf die Sternstunden-Sache zurück: Oft genug lag das Wunder solcher Momente in dem Nachweis des generell Machbaren.

Nehmen wir z.B. den Jungfernflug der Wright-Brüder: Am 17. Dezembers 1903 flog Orville Wright den ersten Flug einer navigierfähigen Propeller-Maschine: 12 Sekunden lang und 37 Meter weit. Also sehr überschaubar und eigentlich nicht der Rede wert. Trotzdem ist dieser Moment in die Geschichtsbücher eingegangen vi. Bereits Ende 1905 flogen die Brüder fast 40 Minuten lang und 40 Kilometer weit.

Wir müssen abwarten, wie es sich mit den Quantencomputern verhält …

Googles Weg zum Nachweis der Quanten-Überlegenheit

Für den Nachweis der Quanten-Überlegenheit mussten die Wissenschaftler von Googles Team fünf äußerst schwierige Aufgaben bewältigen:

      1. Sie mussten einen universellen Quantencomputer mit etwa 50 Qubit konstruieren, der verlässlich in der Lage ist, beliebige Quantenprogramme korrekt auszuführen.
      2. Sie mussten eine Rechenaufgabe finden, die speziell auf diesen Quantencomputer zugeschnitten ist und die tatsächlich alle seine Qubits und alle Standard-Operationen für Quantencomputer ausnutzt (jede andere Aufgabe wäre vermutlich effizient auf herkömmlichen Computern lösbar).
      3. Sie mussten diese Rechenaufgabe auf dem Quantencomputer ausführen.
      4. Sie mussten nachweisen, dass das Endergebnis der Rechnung höchst wahrscheinlich korrekt ist.
      5. Sie mussten nachweisen, dass diese Rechenaufgabe von keinem herkömmlichen Computer in angemessener Zeit durchführbar ist, nicht einmal von den schnellsten Supercomputern.

Von allen diesen Aufgaben war die Erste mit Sicherheit die Schwierigste.

Googles Team formiert sich

Seit mehreren Jahren sammelte Google im Bereich Quantencomputer Erfahrung und gründete im Jahr 2013 das Team „AI Quantum“, geführt von dem deutschen Informatiker und langjährigen Google-Mitarbeiter Hartmut Neven. Zuvor war Neven bereits führend am Google Glass Projekt beteiligt.

2014 startete Nevens Team eine Koorperation mit dem bekannten Physiker John Martinis von der University of California, Santa Barbara. Er sollte den Bau eines neuen Quantencomputers leiten. Martinis Gruppe ist führend im Bau von Qubits auf Supraleiterbasis. Das Team sammelte zunächst viel Erfahrung mit einem 9-Qubit Quantencomputer und beschloss dann dieselbe Technologie auf einen wesentlich größeren Quantencomputer zu skalieren.

Im Frühjahr 2018 gab Martinis Gruppe bekannt, dass ein Quanten-Überlegenheits-fähiger Quantencomputer mit dem Namen „Bristlecone“ im Testbetrieb war. Google bezifferte die Größe von Bristlecone auf sagenhafte 72 Qubits! Zu diesem Zeitpunkt besaß der größte Quantencomputer gerade mal eine Größe von 20 Qubits.

Einen solchen gewaltigen Entwicklungssprung hätte wohl niemand für möglich gehalten. Sie erinnern sich: Ein Quantencomputer verdoppelt sein Potential mit jedem zusätzlichen Qubit. Zumindest auf dem Papier besäße Bristlecone damit das 1000 Billionen-fache an Leistungsfähigkeit.

Zu diesem Zeitpunkt schien es schon so, als ob der Nachweis der Quanten-Überlegenheit kurz bevor stehen würde.

Googles Quantencomputer „Sycamore“

Es wurde danach allerdings ruhig um Googles Ambitionen. Zwar baute Google weiter seinen „Stack“ aus und veröffentlichte die Programmierschnittstelle „Cirq“ für die Fernsteuerung von Quantencomputern auf Python-Basis. Außerdem erarbeitete das Team um Neven und Martinis eine Reihe interessanter, wissenschaftlicher Ergebnisse zum Quanten-Hardwarebau und zu Quanten-Algorithmen (teilweise verweise ich in anderen Artikeln darauf). In Sachen Quanten-Überlegenheit gab es aber zunächst nichts Neues.

Einen kleinen Eindruck von den Hardware-Problemen, mit denen Googles Team in dieser Zeit wohl zu kämpfen hatte, erhält man in Alan Ho‘s Vortrag auf der Konferenz „Quantum For Business 2018“ im Dezember 2018 vii, in dem der Google-Mitarbeiter die anderen Hersteller unter anderem zu einer engeren Kooperation aufruft.

Vielleicht aufgrund dieser „Durststrecke“ beschloss das Team wohl irgendwann ein Downsizing von Bristlecone vorzunehmen. Der neue Quantencomputer bekam den Namen „Sycamore“ und besitzt eine Größe von 53voll funktionsfähigen Qubits, die schachbrettartig auf einem Chip angeordnet sind. Der Quantencomputer wird nahezu bis auf den absoluten Temperatur-Nullpunkt herunter gekühlt. Erst dadurch werden die 53 nichtlinearen Schwing-Schaltkreise des Chips supraleitend und „kondensieren“ zu Qubits mit echten Quanten-Eigenschaften.

Die „Quanten-Gatter“, die elementaren Operationen des Quantencomputers, erzeugt Martinis Gruppe über Mikrowellen-Strahlung. Sycamore ist in der Lage die Quanten-Gatter auf jedes einzelne Qubit über eine externe Steuerelektronik auszuführen, die bei Zimmertemperatur arbeitet. Für die Kalibrierung der einzelnen Quanten-Gatter verwendete Googles Team dieselben Prüfroutinen, die auch für den Nachweis der Quanten-Überlegenheit zum Tragen kamen (mehr dazu weiter unten).

Um die Kopplungen unter den Qubits herstellen zu können, benötigt ein Quantencomputer generell zusätzlich jeweils ein Zwei-Qubit-Quanten-Gatter.

In einem Quantencomputer sind hierfür normalerweise gewisse Gatter mit dem Namen „CNOT“, „CZ“ oder „iSWAP“ vorgesehen, die Qubit B nur in Abhängigkeit vom Zustand im Qubit A verändern. Die Gruppe um John Martinis wählte hierfür einen anderen Weg: Die Forscher passten neue, quasi gemischte Gatter speziell auf die reale Physik von Sycamore an. Über eine Lernalgorithmen ermittelten sie dabei den entsprechenden Mischungsgrad für jede einzelne 2-Qubit-Kopplung.

Die Rechenaufgabe: „Random Quantum Circuit Sampling“

Bereits mit dem 9-Qubit-Quantencomputer sammelte die Gruppe um John Martinis Erfahrungen mit einer sehr speziellen Rechenaufgabe, die als aussichtsreicher Kandidat für den Nachweis der Quanten-Überlegenheit in Frage kam viii.

Die Grundidee zu der Aufgabe ist eigentlich ziemlich naheliegend und geht auf Richard Feynmans Grundgedanken zurück, der überhaupt zur Entwicklung der Quantencomputer führte: Gehen wir einmal davon aus, dass ein herkömmlicher Computer ein reines Quantensystem ab einer gewissen Größe nicht mehr simulieren bzw. berechnen kann. Das würde insbesondere auch bedeuten, dass ein herkömmlicher Computer bestimmte Quantenprogramme auf einem genügend großen Quantencomputer nicht mehr simulieren kann. Diese Quantenprogramme müssten nur hinreichend komplex sein, um sicherzustellen, dass das Problem nicht irgendwie Supercomputer-tauglich vereinfacht oder zerlegt werden kann.

Der einfachste Weg dies zu erreichen sind völlig zufällig ausgewählte Qubit-Operationen auf zufällig ausgewählten Qubits. Also ein Quantenprogramm, das durch reinen Zufall zusammengewürfelt wird. Am Ende der Zufallsrechnung werden alle Qubits ausgemessen und eine Reihe von Nullen und Einsen, also eine Bit-Reihe, ist das Ergebnis der Rechnung. Indem die Messung mehrmals hintereinander für dasselbe Quantenprogramm wiederholt wird, ergibt sich eine Liste von Bit-Reihen. Irgendwann wird die Liste so lang, dass sich einzelne Reihen verschieden oft wiederholen. Die Wiederholungen sind zwar zufällig, sie sind aber nicht gleichverteilt! Genau diese unterschiedlichen Häufigkeiten, mit der die verschiedenen Reihen gemessen werden, charakterisiert gerade das jeweilige Quantenprogramm.

Das Verfahren nennt sich „Random Quantum Circuit Sampling“. Die Idee ist so einfach wie genial, die Durchführung natürlich eine Herkulesaufgabe. Warum diese Berechnung für herkömmliche Computer so schwer ist, erläutere ich Ihnen übrigens nochmal ganz am Ende dieses Artikels.

Traurigerweise erhalten wir am Ende nur Reihen von zufällig ausgewählten Nullen und Einsen. Leider total nutzlos!

Oder wer würde sich schon für völlig zufällige Bit-Reihen interessieren?

Höchstens vielleicht die Webseite www.random.org.

Moment mal!

Wieso zum Henker gibt es eigentlich eine Seite wie random.org?

Ein reales Anwendungsgebiet: Quantenzertifizierte Zufallszahlen

So oder so ähnlich stellte der bekannte Computerwissenschaftler Scott Aaronson von der University of Texas, in der ihm unnachahmlichen Weise, sein Protokoll für „quantenzertifizierte“ Zufallszahlen im Jahr 2018 vor. Aaronson überraschte die Fachwelt mit einem Vortrag über das Sampling von Zufallsschaltungen ix. Darin skizzierte er sein Protokoll, das speziell für die erste Generation von Quanten-Überlegenheit-fähigen Quantencomputer zugeschnitten ist.

Es stellt sich heraus, dass verlässliche Zufallszahlen tatsächlich von Wert sind.

Von erheblichem Wert.

Zufallszahlen sind für viele Algorithmen und für viele Bereiche in der Informatik essentiell wichtig: Insbesondere für die Kryptographie. Nicht zuletzt durch den NSA-Skandal wurde offensichtlich, dass kompromittierte Zufallszahlen für die Übertragungssicherheit ein reales Problem sind. Aaronsons quantenzertifizierte Zufallszahlen besitzen die erstaunliche Eigenschaft, dass diese nachweislich echte Zufallszahlen sind, selbst wenn das erzeugende System unsicher und der Herausgeber nicht vertrauenswürdig ist.

Das Herzstück von Aaronsons Protokoll ist gerade die Tatsache, dass die Häufigkeit, mit der eine bestimmte Reihe von Nullen und Einsen vorliegt, einer Quantenverteilung gehorchen muss. Diese Verteilung, so argumentiert Aaronson, kann ab einer gewissen Reihen-Größe nicht mehr simuliert oder manipuliert werden. Sie kann nur noch von einem genügend großen Quantencomputer verifiziert werden. Danach wissen wir, dass die Bit-Reihen geradewegs aus einem Quantencomputer stammen und dann müssen es wirklich echte Zufallszahlen sein. Manipulation ist dann tatsächlich ausgeschlossen, weil ein Quantencomputer halt immer echte Zufallszahlen liefert. Sie werden weiter unten nochmal sehen, was ich damit meine (beim Stichwort „XEB-Routine“).

Um einen Eindruck davon zu bekommen, welche Anwendungsgebiete sonst noch in Sycamore schlummern könnten, können Sie übrigens meinen Artikel „Anwendungen für Quantencomputer“ lesen.

Das Finale: Googles Nachweis der Quanten-Überlegenheit

Aber kommen wir endlich zum eigentlichen Kern dieses Artikels.

Google hatte also endlich einen geeigneten Quantencomputer betriebsbereit, der verlässlich genug funktionierte, um die eigentliche Aufgabe zu bewältigen. Eine geeignete Rechenaufgabe hatte das Team ebenfalls ermittelt. Jetzt ließen die Wissenschaftler Sycamore gegen die besten aktuellen Supercomputer antreten.

Zunächst reduzierte die Gruppe um Martinis und Neven die schachbrettartige Anordnung der Qubits auf verschiedene, deutlich kleinere Ausschnitte und ließen den Quanten-Algorithmus laufen. Diese Vereinfachung verfeinerten sie weiter, in dem sie zusätzlich einfache Kopplungen zwischen mehreren Ausschnitten auf dem Qubit-Schachbrett zuließen. Die Liste von Bit-Reihen, die sie so erhielten, verglichen sie mit einer Quanten-Simulation auf einem einfachen herkömmlichen Computer, der die verkleinerte Rechenaufgabe noch bewältigen konnte.

Dafür verglichen die Forscher die Häufigkeit mit der ein einzelnes Bit-Muster im Quantencomputer ausgemessen wurde mit der Häufigkeit, mit der dasselbe Bit-Muster über die Simulation gemessen wurde. Für dieses Benchmark-Verfahren hatten sie bereits zuvor eine spezielle Prüfroutine entwickelt (mit dem schillernden Namen „Cross Entropy Benchmark Fidelity“, kurz „XEB“). Diese XEB-Routine ist so konzipiert, das selbst kleinste Abweichungen in der Häufigkeit große Abweichungen im Benchmark-Ergebnis liefern.

Tatsächlich stimmten die Benchmark-Ergebnisse aber überein.

Dann vergrößerten sie die Ausschnitte auf dem Qubit-Schachbrett nach und nach und wiederholten ihren Vergleich. Schnell wurde die Aufgabe für normale Computer zu aufwendig. Das Team musste Rechenzeit in Googles enormen Datacentern beantragen x.

Zusätzlich ließ das Team eine komplette 53-Qubit-Simulation laufen aber mit vereinfachten Quanten-Schaltungen und verglichen diese wieder mit den Ergebnissen auf Sycamore.

Wieder stimmten die Benchmark-Ergebnisse überein.

Irgendwann müssen sie weitere Hardware miteinbezogen haben: Hier kommt wieder der Supercomputer am Forschungszentrum Jülich ins Spiel, den sie in ihrem Aufsatz auch erwähnen. Am Ende bezogen sie sogar den größten aktuell existierenden Supercomputer mit ein: IBMs „Summit“-Supercomputer im Oak Ridge National Laboratory in den USA. Für die Simulation der Quanten-Rechnung benutzten sie verschiedene „State-Of-The-Art“ -Simulationsverfahren für Quanten-Systeme.

Am Ende zeichnete sich ein deutliches Bild ab.

Bis zu gewissen Ausschnitt-Größen konnten die Supercomputer die Simulation durchführen und kamen zu den gleichen Benchmark-Ergebnissen wie Sycamore. Für größere Ausschnitte konnten sie die Rechenaufgabe nicht mehr bewältigen. Die Quanten-Berechnungen selbst hatten dabei eine Komplexität von bis zu 1113 Ein-Qubit Gattern und 430 Zwei-Qubit Gattern (Sie können sich vorstellen, dass es zu diesen realen Schaltungen noch einiges zu erwähnen gäbe xi).

Um so eine Quanten-Berechnung auf allen Qubits auszuführen und die Qubits eine Millionen mal auszulesen, mit einer Millionen zufälligen 53-Bit-Reihen, benötigte Sycamore 200 Sekunden. Dabei entfiel der Großteil der Zeit auf die Steuerelektronik. Die Rechnung auf dem Quanten-Chip benötigte tatsächlich nur 30 Sekunden.

Für die Simulationen andererseits extrapolierte Googles Team die Rechendauer der vereinfachten Rechenaufgaben auf das gesamte 53-Qubit Schachbrett und kam am Ende zu folgendem Ergebnis:

Die untersuchten Supercomputer hätten für die volle Rechenaufgabe eine Laufzeit 10 000 Jahren benötigt!

„quod erat demonstrandum“

(was zu beweisen war)

Was ist nun mit IBMs Einwand?

Nachdem Googles Vorabversion der Arbeit an die Öffentlichkeit gelangt war, hatten diverse Forscher die Möglichkeit sich mit dem Aufsatz zu beschäftigen. IBMs Forschergruppe für Quantencomputer tat genau dies … und zwar sehr intensiv:

In bester wissenschaftlicher Manier entwickelten sie ein Gegenargument, das Googles Ergebnisse zumindest in Teilen entkräften sollte. Natürlich nicht ganz uneigennützig, denn in Sachen Quantencomputer hatte ihre Gruppe bis zu Googles Veröffentlichung die Nase weit vorn.

Ich will hier einfach mal wiedergeben, was Scott Aaronson, der mit den quantenzertifizierten Zufallszahlen, dazu zu sagen bzw. zu schreiben hat. Nicht nur war er von der Fachzeitschrift „Nature“ für die Prüfung von Googles Arbeit beauftragt gewesen, er ist insbesondere auch ein viel beachteter und interessanter Wissenschaftsblogger xii.

IBM hat vermutlich bewiesen, dass Googles Quantensimulation nicht optimal war. Ihr verbessertes Simulationsverfahren hätte für die Rechenaufgabe mithilfe ihres Supercomputers „Summit“, im Oak Ridge National Laboratory in den USA, nicht 10 000 Jahre, sondern 2 ½ Tage benötigt. Was natürlich ein gewältiger Sprung ist! Und man kann sich das Aufstöhnen von Googles Team in ihrem Gebäude in Santa Barbara (Kalifornien) vorstellen, als ihnen klar wurde, diese Simulations-Alternative übersehen zu haben (tatsächlich hatte John Martinis die Möglichkeit einer besseren Simulation in der Arbeit ausdrücklich erwähnt).

Man muss allerdings Folgendes bemerken:

Der „Summit“ ist ein Supercomputer-Schlachtschiff XXL auf einer Fläche so groß wie zwei Basketballfelder. IBMs Verfahren, das die Gruppe noch nicht ausgeführt sondern hochgerechnet hat, würde die gesamten 250 Petabytes = 250 Mio Gigabyte Festplattenspeicher von Summit benötigen, das Hauptargument ihres verbesserten Verfahrens xiii,und einen gigantischen Energiehunger besitzen.

Googles Sycamore ist im Vergleich dazu eher ein „Schränkchen“ (und das auch nur wegen der ganzen Kühlaggregate). Und nebenbei, selbst mit IBMs Simulation wäre Googles Quantenalgorithmus um einen Faktor 1100 mal schneller (zeitlich). Wenn man anstelle der zeitlichen Dauer die Anzahl von einzelnen Rechenschritten (bzw. FLOPS) vergleicht, wäre Google sogar um einen Faktor 40 Milliardenmal effizienter.

Und auch das IBM-Team leugnet nicht, dass selbst ihr Verfahren einen exponentiellen Aufwand für die Aufgabe besitzt und Googles Quantenalgorithmus eben nicht. D.h. wäre Google in der Lage Sycamore mal eben ein paar zusätzliche Qubits zu spendieren, würde man schnell die wahren Kräfteverhältnisse erkennen: Mit 60 Qubits würde IBMs Verfahren vermutlich 33 Summits benötigen, mit 70 Qubits müsste man eine ganze Stadt mit Summits füllen, …

Aaronson vergleicht diesen wissenschaftlichen Wettstreit mit den Schachpartien zwischen dem Großmeister Gary Kasparow und dem Computer „Deep Blue“ (ironischer Weise übrigens vom Hersteller IBM) Ende der 1990er Jahre. Die besten etablierten Kräfte können im Rennen eventuell noch eine Weile mithalten, bald sind sie aber weit abgeschlagen.

Warum kein Supercomputer diese Berechnung durchführen kann

Das „Quantum Circuit Sampling“ ist übrigens auch ein wunderbares Beispiel um zu verdeutlichen, welchen „Quantenvorteil“ ein Quantencomputer gegenüber herkömmlichen Supercomputern bei solchen Berechnungen hat:

Im Laufe der Berechnung werden die Mess-Wahrscheinlichkeiten der einzelnen 53-Bit-Reihen teilweise weiter verstärkt oder weiter unterdrückt. Am Ende kommt eine charakteristische Häufigkeitsverteilung heraus. Wie könnte ein herkömmlicher Computer solche Aufgaben lösen?

Stellen wir uns dazu ein sehr einfaches und naives Computerprogramm vor, dass sich jede Bit-Reihe zusammen mit ihrer jeweiligen Häufigkeit in einer Tabelle im Arbeitsspeicher merkt. In jedem Programmschritt beeinflussen sich jetzt die verschiedenen Tabelleneinträge gegenseitig, mal mehr und mal weniger.

Wie viele unterschiedliche 53-Bit-Reihen kann es geben? Diese Frage hört sich zunächst harmlos an, die Anzahl ist aber tatsächlich astronomisch hoch: Etwa 10 Millionen * Eine Milliarde, eine Zahl mit 16 Nullen vor dem Komma!

Ein herkömmlicher Computer benötigt weit über 100 Millionen Gigabyte Arbeitsspeicher, um soviele 53-Bit-Reihen zusammen mit ihren Häufigkeiten in Speichervariablen abzulegen … Wie viel Arbeitsspeicher hat übrigens Ihr Computer? 8 Gigabyte, vielleicht 16 Gigabyte? (Schon mal nicht schlecht!)

In jedem Schritt, von insgesamt 20 Schritten, überarbeitet Googles Programm die Messhäufigkeiten jeder Bit-Reihe. Diese hängen im Extremfall jeweils von den Messhäufigkeiten aller Bit-Reihen aus dem vorangegangenem Programmschritt ab. Das wären also 1 Mrd * 1 Mrd * 1 Mrd * 100 000 Abhängigkeiten, eine Zahl mit 32 Nullen vor dem Komma! Wie viele Sekunden würde ein herkömmlicher Computer vermutlich brauchen, um so viele Abhängigkeiten auch nur einmal anzufassen? Als Vergleich: Ein normaler Prozessor kann etwa eine Hand voll Milliarden Operationen in der Sekunde durchführen … und unser Universum ist nicht einmal 1 Mrd * 1 Mrd Sekunden alt.

Ein herkömmlicher Computer wird von so vielen Möglichkeiten und Abhängigkeiten also förmlich erschlagen. Ein Quantencomputer wiederum braucht dafür lediglich diese 53 Qubits und die knapp 1500 Einzelschaltungen. Unglaublich.

Auf den ersten Blick ist übrigens auch klar, dass die Quantensimulationen von Google und IBM, wesentlich ausgefeilten gewesen sein mussten als unser naives Beispielprogramm.

Nebenbei: Die Strategie der exponentiellen Komplexität verfolgen auch weitere Algorithmen für Quantencomputer der NISQ-Ära: Z.B. für die Quanten-Chemie, für Optimierungsprobleme oder für Quanten-Neuronale Netze (dort spricht man von „Variational Quantum Algorithms“). Das „Random Quantum Circuit Sampling“ ist der Kandidat, bei dem dies jetzt als erstes auch erwiesenermaßen zu einem exponentiellen Erfolg führte.

Ein verpasster „Mond-Lande-Moment“ für Googles Team?

Ohne Zweifel war der wissenschaftliche Paukenschlag auch als medialer Paukenschlag geplant. Zwischendurch wurde Google dann durch die Ereignisse überholt, was irgendwie nicht verwundert, wenn man bedenkt, wie viele Personen eingeweiht waren.

Am Ende soll das die Leistung von Googles Team nicht schmälern: Die Gruppe um John Martinis und Hartmut Neven hat mit ihrem Nachweis der Quanten-Überlegenheit wohl Technik-Geschichte geschrieben.

Scott Aaronson schrieb dazu bereits Ende September in seinem Blog xiv:

„The world, it seems, is going to be denied its clean “moon landing” moment, wherein the Extended Church-Turing Thesis gets experimentally obliterated within the space of a press conference … Though the lightning may already be visible, the thunder belongs to the group at Google, at a time and place of its choosing.“

Fußnoten

i https://www.fz-juelich.de/SharedDocs/Pressemitteilungen/UK/DE/2019/2019-07-08-quantencomputer-fzj-google.html: Pressemitteilung vom Forschungszentrum Jülich über die Zusammenarbeit mit Google

ii https://drive.google.com/file/d/19lv8p1fB47z1pEZVlfDXhop082Lc-kdD/view: „Quantum Supremacy Using a Programmable Superconducting Processor“, der 12-seitige Hauptaufsatz von Googles Team. Dieses Dokument stand kurzzeitig auf der NASA Webseite. Den 55-seitigen Zusatzaufsatz mit allen Detailinformationen (den „supplementary information“) finden Sie über https://drive.google.com/file/d/1-7_CzhOF7wruqU_TKltM2f8haZ_R3aNb/view. Ein paar interessante Diskussionen zu dem Aufsatz finden Sie auf Quantumcomputing-Stackexchange https://quantumcomputing.stackexchange.com/questions/tagged/google-sycamore

iii https://www.nature.com/articles/s41586-019-1666-5: „Quantum Supremacy Using a Programmable Superconducting Processor“, der endgültig veröffentlichte Artikel von Google

iv https://arxiv.org/abs/1203.5813: wissenschaftliche Arbeit von John Preskill „Quantum computing and the entanglement frontier“, der den Begriff „Quanten-Überlegenheit“ prägte. Die Wortwahl wurde zwar allgemein übernommen aber aus offensichtlichen Gründen immer wieder kritisiert. In seinem kürzlich erschienen Gastkommentar auf Quantamagazine geht er nochmal darauf ein https://www.quantamagazine.org/john-preskill-explains-quantum-supremacy-20191002/.

v https://de.wikipedia.org/wiki/Church-Turing-These#Erweiterte_Churchsche_These: Die Erweiterte Church-Turing-These besagt, dass sich zwei universelle Rechenmaschinen in allen Fällen gegenseitig effizient simulieren können (genauer gesagt: Mit nur „polynomialem“ Rechenaufwand).

vi https://de.wikipedia.org/wiki/Br%C3%Bcder_Wright#Der_Weg_zum_Pionierflug: Wikipedea-Artikel über die Wright-Brüder und ihre Pionierarbeit für die Luftfahrt.

vii https://www.youtube.com/watch?v=r2tZ5wVP8Ow: Vortrag „Google AI Quantum“ von Alan Ho auf der Konferenz „Quantum For Business 2018“

viii https://arxiv.org/abs/1709.06678: wissenschaftliche Arbeit von John Martinis et al „A blueprint for demonstrating quantum supremacy with superconducting qubits“

ix https://simons.berkeley.edu/talks/scott-aaronson-06-12-18: Vortrag „Quantum Supremacy and its Applications“ von Scott Aaronson zu seinem Protokoll für „quantenzertifizierte“ Zufallszahlen.

x https://www.quantamagazine.org/does-nevens-law-describe-quantum-computings-rise-20190618/: Artikel auf Quantamagazine, den man als Ankündigung für Googles Nachweis interpretieren kann. Darin wird übrigens auch „Nevens-Law“, eine Quantencomputer-Variante von Moores-Law, erwähnt: Darin geht Hartmut Neven von einer doppelt-exponentiellen Steigerung der Quantencomputer-Entwicklung aus.

xi Googles Team wählte für die zufälligen 1-Qubit-Schaltungen einen speziellen Satz von Quanten-Gattern, der möglichst klein war aber trotzdem „simulationsfreundliche“ Schaltungen vermied. Näheres dazu in https://quantumcomputing.stackexchange.com/questions/8337/understanding-googles-quantum-supremacy-using-a-programmable-superconducting-p#answer-8377. Die 2-Qubit-Schaltungen waren in Googles Experiment tatsächlich nicht zufällig ausgewählt, sondern folgten einer festgelegten Reihenfolge, die sich aber anscheinend auch wieder als nicht-simulationsfreundlich erwies: https://quantumcomputing.stackexchange.com/questions/8341/understanding-googles-quantum-supremacy-using-a-programmable-superconducting-p#answer-8351. Auch wenn sich diese Kopplungen wiederholten: Unterm Strich bleibt Googles Qubit-Schaltung eine zufällige Schaltung.

xii Scott Aaronson‘s aktuellen Blogeintrag https://www.scottaaronson.com/blog/?p=4372, in dem der Forscher zu IBMs Gegenargument Stellung bezieht.

xiii https://www.ibm.com/blogs/research/2019/10/on-quantum-supremacy/: Blogeintrag zu IBMs verbesserten Simulationsverfahren: Google war davon ausgegangen, dass man für eine verbesserte Simulation einen Supercomputer mit einem astronomischen RAM-Bedarf benötigen würde. Da so ein Rechner nicht existiert, wählte Google ein ungünstigeres Simulationsverfahren, das den fehlenden RAM mit einer längeren Laufzeit kompensiert. IBMs Hauptargument ist nun, dass Summit zwar nicht über solch einen astronomischen RAM, dafür aber über astronomischen Festplattenplatz verfügt. Deshalb könne auch das günstigere Simulationsverfahren verwendet werden.

xiv https://www.scottaaronson.com/blog/?p=4317: „Scott’s Supreme Quantum Supremacy FAQ!“ Blogeintrag von Scott Aaronson zum Nachweis der Quanten-Überlegenheit. Nebenbei ist seine gesamte Webseite eine Goldgrube für jeden, der mehr über Quantencomputer erfahren will (und wie Sie hier sehen können, von mir entsprechend oft zitiert).

Welche Quantencomputer gibt es jetzt schon?

<<     >>

Im Folgenden geben ich Ihnen einen Überblick, welche Quantencomputer bereits heute schon existieren und welche konkreten Pläne Industrie und Forschung für die Zukunft verfolgen. Diesen Artikel aktualisiere ich regelmäßig und halte Sie über die aktuellen Entwicklungen in der Quantencomputer-Industrie auf dem Laufenden.

D-Waves adiabatischer Quantencomputer

DWave Quantencomputer

Bild-Urheber: D-Wave Systems, Inc., Bild-Lizenz https://creativecommons.org/licenses/by/3.0/deed.de, unverändert

D-Wave präsentierte im Jahr 2011 also seinen ersten Quantencomputer mit sage und schreibe 128 Qubits! Zur Erinnerung ist hier nochmal der Vergleich zwischen Qubits und klassischen Bits aus meinem letzten Aritkel:

  • 1 Qubit entspricht 2 herkömmlichen Bits
  • 2 Qubits entsprechen 4 herkömmlichen Bits
  • 10 Qubits entsprechen 16 herkömmlichen Kilo-Byte
  • 45 Qubits entsprechen in etwa der Speichergröße des größten aktuellen, herkömmlichen Supercomputers
  • 50 Qubits, die vermutete „Quanten-Überlegenheit“-Grenze

Die Nachricht über D-Waves Quantencomputer sah also auf den ersten Blick so aus, als wäre damit der Durchbruch erzielt worden. Was in diesen Nachrichten etwas unterging, aber was allen Kennern der Thematik klar war, war Folgendes: Der Quantencomputer von D-Wave-Systems war und ist streng genommen „nur“ ein Quanten-berechnendes System für spezielle Zwecke. Es nutzt zwar auch die Quantenmechanik mittels Qubits für Berechnungen, es ist aber kein sogenannter „universeller“ Quantencomputer mit dem die üblichen Quantenprogramme ausgeführt werden können. Insbesondere nicht der Shor-Algorithmus oder der Surface-Code für die Quantenfehlerkorrektur, die ich beide in den letzten Beiträgen kurz vorgestellt habe. Der Quantencomputer von D-Wave-Systems ist für Optimierungsaufgaben vorgesehen, also einem sehr wichtigen Aufgabengebiet für Computer. Der Computer von D-Wave ist ein sogenannter „Quantum Annealer“ (oft auch etwas ungenauer als „adiabatischer Quantencomputer“ bezeichnet). Er verlagert das Prinzip der sogenannten „simulierten Abkühlung“ (engl. simulated annealing) in die Quantenwelt. i ii

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 späterer kontrollierter Abkühlung werden die Eigenschaften des Ausgangsmaterials (z.B. die Festigkeit) optimiert: Das Material kann aus einem Zustand mit schlechtem, lokalem Optimum in einen Zustand mit gutem, globalem Optimum gelangen. 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.

 


Quelle: https://de.wikipedia.org/wiki/Datei:Hill_Climbing_with_Simulated_Annealing.gif

Die Quantenversion dieses Prinzips simuliert im Gegensatz dazu keine langsame Abkühlung. Stattdessen startet ein adiabatischer Quantencomputer zunächst auf der „grünen Wiese“ und schaltet das tatsächliche Optimierungsproblem, also die eigentliche Berg-Tal-Charakteristik, langsam dazu. 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 iii. Ein „Quantum Annealer“ wiederum ist ein adiabatischer Quantencomputer unter realen Bedingungen (z.B. unter Temperatureinflüssen und nicht perfekt isoliert). Da sich hierfür noch kein deutscher Begriff durchgesetzt hat, verwende ich übrigens lieber den üblichen englischen Begriff.

Um dieses Verhalten in seinem Quantenrechner abzubilden, benutzt D-Wave nicht den universellen Satz an Logikbausteinen, um die Qubits miteinander zu verschalten (also z.B. Hadamard, X, Y, Z, CNOT). Stattdessen verwendet D-Wave einen analogen Satz von Quantenbausteinen, die gerade für die adiabatische Quantenprogrammierung notwendig sind iv. Interessanterweise wurde mittlerweile in der Theorie nachgewiesen, dass auch mit den Logikbausteinen für adiabatische Quantenprogrammierung ein universeller Quantencomputer simuliert werden kann. Dies gilt allerdings nur unter perfekten Bedingungen. Die realen „Quantum Annealer“ sind hierzu wohl nicht in der Lage.

Aus technischen Gründen kann D-Wave noch nicht alle Qubits miteinander verschalten. Stattdessen ordnet D-Wave die Qubits in einem sogenannten „Chimera-Graphen“ an, in denen jedes Qubit mit insgesamt 6 Nachbar-Qubits verschaltet werden kann v. Diese Einschränkung reduziert die Anzahl der tatsächlich verfügbaren Qubits in der Praxis teils deutlich. Tatsächlich gilt dieser Sachverhalt für alle derzeitigen Quantencomputer. Der Quantencomputer-Szene fehlt derzeit noch ein Datenbus für Qubits. Bei adiabatischen Quantencomputern, wie D-Waves Quantencomputer, fällt dies aber besonders auf.

Im Laufe der Jahre hat D-Wave seine Palette an „Quantum Annealer“ erweitert. Mittlerweile bieten sie ein Modell mit 2048 Qubits an. Google, die NASA und Lockheed haben bisher D-Wave-Modelle im Werte von mehreren Millionen Dollar gekauft. Interessanter ist für einen größeren Kundenkreis wohl eher das Cloud-Angebot von D-Wave vi.

Um eigene Quantenprogramme zu erstellen bietet D-Wave eine spezielle Software-Palette an. Für die größte Flexibilität gibt es eine „SAPI“, die über Standardwerkzeuge für herkömmliche Computer angesprochen werden kann (z.B. über RESTful Services, Python, C/C++). Ein Beispiel-Programm für die Benutzung der „SAPI“ finden Sie z.B. hier.

Aufbauend darauf stellt D-Wave das Programm „qbsolv“ bereit. Sie können „qbsolv“ als Open Source Software von GitHub vii herunterladen. „qbsolv“ zerlegt ein allgemeines „QUBO“-Optimierungsproblem automatisch in kleinere Häppchen und bildet diese auf die Chimera-Struktur des jeweils verwendeten Quantenrechners ab. In mehreren Durchläufen versucht „qbsolv“ das Ergebnis immer weiter zu verbessern viii.

Um das Potential der eigenen Hardware weiter auszuloten hat D-Wave die Expertin für Experimentelle Algorithmen Catherine McGeoch angestellt. Sie untersucht, ob die aktuellen Quantencomputer von D-Wave bereits die „Quanten-Überlegenheit“ nachweisen. Tatsächlich gestaltet sich dieser Nachweis schwieriger als vermutet. Die Quantenprogramme der Testaufgaben erreichen erstaunlich schnelle Näherungswerte für die besten Lösungen. Diese verbessern sich aber nicht mehr, wenn die Quantenprogramme länger laufen. D-Wave vermutet, dass dies ein Zeichen dafür ist, dass die Qubits noch nicht perfekt isoliert sind, und die Logikbausteine noch kleine Fehler aufweisen könnten. ix

Ähnliche Untersuchungen führten Google und die NASA durch, nachdem sie ihren D-Wave Quantencomputer gekauft hatten. Im Jahr 2015 veröffentlichten sie ihr viel beachtetes Resultat: Für sehr spezielle Optimierungsaufgabe gelangte der Quantencomputer von D-Wave 100 Millionen mal schneller zum Ergebnis als ein leistungsstarker herkömmlicher Computer! x xi

Diese Ergebnisse wurden aber später kritisiert xii xiii. Tatsächlich gibt es Stimmen, die das Konzept von D-Wave grundsätzlich anzweifeln, da in der Theorie noch nicht bewiesen wurde, ob die „Quantum Annealer“ wirklich einen prinzipiellen Vorteil gegenüber herkömmlichen Supercomputern haben.

Das Wettrennen um den Nachweis der „Quanten-Überlegenheit“ ist also noch offen xiv.

Googles supraleitende Quantencomputer „Bristlecone“ und „Sycamore“

2013 gründete Google das Quantum AI Lab. Das Quantum AI Lab ist ein Team, das von dem langjährigen Google-Mitarbeiter Hartmut Neven geführt wird. Es sollte zunächst die Möglichkeiten untersuchen, D-Waves neue Hardware für die künstliche Intelligenz zu nutzen. xv

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 sollte den Bau des Quantencomputers leiten.

Anders als D-Waves adiabatischer Quantencomputer ist Googles Quantencomputer in der Lage, jedes Quantenprogramm auszuführen. Solche universellen Quantencomputer laufen auch unter weiteren Namen: „Gate-based Quantencomputer“, „Circuit-Quantencomputer“, „Digitaler Quantencomputer“. Alle Bezeichnungen meinen dasselbe.

John Martinis ist einer der führenden Wissenschaftler in der Konstruktion von Qubits auf Basis der Supraleiter-Technologie. xvi Die Supraleiter-Technologie ist einer der zwei aussichtsreichsten Kandidaten um verlässliche Quantencomputer zu bauen. xvii

Diese gründen letztendlich auf einfachen integrierten Schaltkreisen, die somit auf einen herkömmlichen Chip platziert werden können. Die Schaltkreise werden enorm heruntergekühlt bis fast zum absoluten Temperatur-Nullpunkt und erhalten so supraleitende Quanteneigenschaften. Dort fließt der Strom widerstandsfrei gleichzeitig in beide Umlaufrichtungen. In dem man bewusste Lücken in jeden Schaltkreis einbaut, sogenannte „Josephson Junctions“, ist es möglich den Quantenschaltkreis zu einem einzigen Qubit zu reduzieren.

Über ausgeklügelte Bestrahlungen im Mikrowellen-Bereich werden die Supraleiter-Qubits so manipuliert, das man am Ende die Quantengatter Hadamard, X, Y, Z und CNOT erhält.

Googles Labor hat unter John Martinis Leitung seit einiger Zeit Erfahrungen mit einem 9-Qubit-Quantencomputer gesammelt. Dort sind die Qubits wie an einer Perlenschnur aufgereiht. Entsprechend können nur die beiden direkt benachbarten Qubits miteinander verschaltet werden. Googles und Martinis Ziel ist es die Technik hinter dem 9-Qubit-System zu größeren Quantencomputer auszubauen.

Google hatte für Ende 2017 fest das prestigeträchtige Ziel der „Quanten-Überlegenheit“ angepeilt. Also dem ersten Quantencomputer, der in der Lage ist gewisse Berechnungen schneller auszuführen, als jeder herkömmliche Supercomputer. Google konnte das ehrgeizige Ziel zwar nicht halten, gab aber bekannt, dass ein „Quanten-Überlegenheit-Quantencomputer“ mit dem Namen „Bristlecone“ seit Anfang 2018 im Testbetrieb sei. xviii

Im März 2018 überraschte Google auf der jährlichen Konferenz der American Physical Society mit näheren Informationen zu Bristlecone. xix

Google benennt die Anzahl von Qubits in Bristlecone mit 72 Qubits!

Dies würde einen gigantischen Entwicklungssprung gegenüber anderen Quantencomputern bedeuten. Die Speichergröße eines 72-Qubit Quantencomputers entspricht dem 100 millionenfachen des größten herkömmlichen Supercomputers!

Ein Fernziel für Quantencomputer ist es, dass alle Qubits über einen Quanten-Datenbus miteinander verschaltet werden können. Dies erreicht auch Google mit Bristlecone noch nicht. Alle aktuelle, universelle Quantencomputer haben die gemeinsame Einschränkung, dass nur die nächstbenachbarten Qubits miteinander verschaltet werden können. Um auch entferntere Qubits effektiv miteinander rechnen zu lassen, sind zusätzlich Tauschoperationen notwendig (auch „Swaps“ genannt), die die Quantenprogramme zusätzlich aufblähen und verkomplizieren xx. In Googles Bristlecone sind die Qubits nicht mehr in Reihe, sondern quadratisch angeordnet. Dieses Design verbessert zumindest die Verschaltung der Qubits untereinander.

Google konnte nach eigenen Angaben die niedrigen Fehlerraten des 9 Qubit-Quantencomputers auch in Bristlecone beibehalten. Die Quanten-Theoretiker des Tech-Riesens haben ein eigenes generisches Benchmarksystem entwickelt, über den die Qualität des Quantencomputers überprüft werden kann. Außerdem soll Bristlecone in der Lage sein den Surface-Code zur Quanten-Fehlerkorrektur zu testen.

Nach einer generellen Testphase wird Google Bristlecone in einem Cloud-Angebot bereitstellen. Martinis geht davon aus, dass sich die verwendete Technologie auf bis zu 1000 Qubits skalieren lässt! Dabei weist er immer wieder auf weitere Knackpunkte hin: Die Qualität der Qubits, d.h. die Anfälligkeit für Rechenfehler, wird für alle Quantencomputer am Ende eine ebenso große Rolle spielen, wie die Anzahl der Qubits selbst. Falls in den zukünftigen Cloud-Angeboten die Rechenzeit auf den Quantencomputern den Kunden in Rechnung gestellt wird, dürfte überdies auch die Schnelligkeit der Quantengatter, also der Logikbausteine, wichtig werden. Eine weitere praktische Einschränkung wird in Zukunft das Einrichten des Quantenprogramms auf dem Quantencomputer sein: Wir sind es gewohnt, dass wir in herkömmlichen Cloud-Angeboten direkt mit den Servern der Anbieter kommunizieren. Das ist für Quantencomputer zunächst alles andere als selbstverständlich. xxi xxii

Im September 2019 sorgte Google dann durch eine geleakte Vorveröffentlichung für einen Paukenschlag. Darin wird der neue und bis dahin unbekannte Quantencomputer „Sycamore“ mit einer Größe von 53 Qubits beschrieben. Vermutlich ist „Sycamore“ aus einem Downsizing von Bristlecone entstanden. Google war in der Lage auf „Sycamore“ eine spezielle Quanten-Rechenaufgabe in Sekundenschnelle auszuführen, die auf den schnellsten aktuellen Supercomputern vermutlich 10 000 Jahre dauern würde. Alle Details zu diesem großen Ergeinis erfahren Sie in meinem Artikel Googles Nachweis der Quanten-Überlegenheit“.

Neben der Weiterentwicklung der eigenen Hardware, untersucht Googles Quantum AI Lab weiterhin die Anwendungsmöglichkeiten von heutigen und von zukünftigen Quantencomputern. xxiii xxiv Ein Bereich, den Google softwaretechnisch und auch personell forciert ist die Simulation von chemischen Prozessen mittels Quantencomputern xxv. Dafür hat Google mit „Cirq“ eine Erweiterung für die beliebte Programmiersprache ein Python veröffentlicht, über die umfangreiche Quantenprogramme erstellt werden können xxvi. Ein weiterer geplanter Eckpfeiler von Googles Softwareportfolio sind Quantenalgorithmen für Optimierungsaufgaben. Beide diese Eckpfeiler teilen die Eigenschaft, dass sie Quanten-klassische „Hybrid-Algorithmen“ sind. Über Näherungsverfahren werden dabei schrittweise die Stärken von sowohl Quantencomputern als auch klassischen Computern ausgenutzt. Diese Verfahren haben den bestechenden Vorteil, dass sie anscheinend immun gegen die Fehlerraten der aktuellen Quantencomputern sind.

IBMs universeller Quantencomputer

IBM ist der Tech-Riese, der von Anfang stark im Bereich Quantencomputer engagiert war. Was den zählbaren Erfolg angeht, war IBM z.B. Google bis jetzt eine ganze Körperlänge voraus. Das würde sich allerdings wohl ändern, wenn Googles Bristlecone verfügbar ist. Wir können also gespannt sein, wie das Wettrennen weitergeht …

Bereits im Mai 2016 startete IBM ein überraschendes Cloud-Angebot: In der IBM Quantum Experience stellte IBM den eigenen 5 Qubit Quantencomputer für die Öffentlichkeit zur Verfügung.

https://quantumexperience.ng.bluemix.net/

Wie Googles Quantencomputer ist IBMs Quantencomputer ein universeller Quantencomputer. IBMs Quantencomputer basiert ebenfalls auf der Supraleitertechnologie. Als Schnittstelle zum Anwender dient ein grafischer „Quantum Composer“, über den Quantenprogramme erstellt werden können. Mittlerweile bietet IBM zusätzlich die Entwickungsungebung Qiskit, ebenfalls auf Basis von der Programmiersprache Python, an xxvii. Die Quantenprogramme der Cloud-Nutzer stellt IBM in eine Warteschlange, die nach und nach auf der Hardware ausgeführt wird. Mittlerweile benötigt man dafür allerdings ein Credit-Konto. Wem das zu umständlich ist, kann die Quantenprogramme zunächst auf einem 20 Qubit-Simulator ausführen.

Die Quantencomputer auf der IBM Quantum Experience haben sich seit der ersten Veröffentlichung auch weiterentwickelt. Ein 20 Qubit-Quantencomputer, auf dem die Qubits quadratisch angeordnet sind, steht einem engeren Anwenderkreis zur Verfügung. Ein etwas älteres Modell mit 16 Qubits, die in Reihe angeordnet sind, steht der Allgemeinheit zur Verfügung. Ende 2017 erklärte IBM, dass ein neuer Quantencomputer mit 50 Qubit in Arbeit ist. Auf diesem wäre also die Quanten-Überlegenheit, zumindest theoretisch, ebenfalls nachweisbar.

Die Infrastruktur von IBM ist gut dokumentiert und insbesondere bietet IBM einen sehr guten Userguide an, der aber leider einiges an Vorwissen in Linearer Algebra und komplexen Zahlen voraussetzt. Mittlerweile gibt es in einem eigenen Forum eine erste Community. Eine Vielzahl von Beispielprogramme stellt IBM über „Github“, dem frei zugänglichen Cloudspeicher für beliebige Software-Projekte, zur Verfügung. Hierbei setzt IBM von Anfang an auf „Jupyter Notebook“, dass sich in der Wissenschaftswelt immer mehr zum Standard entwickelt xxviii. IBM wirbt damit, dass eine Reihe von wissenschaftlichen Veröffentlichungen über die IBM Quantum Experience entstanden sind.

Microsofts topologischer Quantencomputer

Microsoft ist ebenfalls schon seit Jahren engagiert im Bereich Quantencomputer. Für seine eigene Hardware hat Microsoft sich die Messlatte sehr, sehr hoch gehangen. Microsoft versucht direkt einen Quantencomputer der nächsten oder übernächsten Generation zu konstruieren: Einen topologischen Quantencomputer. Die topologischen Quantencomputer wurden erst 1997 von dem theoretischen Physiker Alexei Kitaev vorgeschlagen. Also jenem Kitaev, der unter anderem durch seinen topologischen Surfacecode für die Quanten-Fehlerkorrektur bekannt ist.

Sie ahnen es wahrscheinlich: Ein topologischer Quantencomputer besitzt eine eingebaute Quanten-Fehlerkorrektur. Eine Eigenschaft, die andere im Bau befindliche Quantencomputer auf viele Jahre nicht besitzen werden. Das Herzstück der topologischen Quantencomputer sind sogenannte „Majorana-Quasiteilchen“, mit denen man ein einzelnes Qubit räumlich in die Länge ziehen 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.

Für das sehr ambitionierte Ziel hat Microsoft unter anderen den wohl namhaftesten Wissenschaftler auf dem Gebiet angeheuert: Michael Friedmann, US-amerikanischer Mathematiker und Träger der Fields Medaille, also jenem „Nobelpreis für Mathematik“. Im Gegensatz zum Nobelpreis, wird die Fields Medaille nur alle vier Jahre verliehen. Friedmann hat seine großen Erfolge in dem Bereich der Topologie erzielt und fing um das Jahr 2000 an, sich mit dem Thema topologische Quantencomputer zu befassen.

https://www.microsoft.com/en-us/quantum/

Es ist nicht leicht Details über den aktuellen Entwicklungsstand von Microsofts Hardware zu erfahren. Aktuell testet Microsoft mit Expertenteams, die über den gesamten Globus verteilt sind, geeignete Materialien für die topologischen Qubits. Es ist schon erstaunlich, dass Microsoft solch eine technologische Wette mit ungewissen Erfolgsaussichten eingeht. Microsoft wird damit über viele Jahre den anderen Tech-Riesen hinterherhinken. Das würde sich aber schlagartig ändern, falls Microsoft sein Ziel erreichen sollte. Dies würde Microsoft vermutlich sofort an die Spitze der Quantencomputer-Szene katapultieren. xxix xxx

Parallel zur der Entwicklung des eigenen Quantencomputers verstärkt Microsoft, genauso wie Google und IBM, die Bemühungen die Infrastruktur und Anwendungsmöglichkeiten von Quantencomputern weiter auszubauen. Dazu stellte Microsoft mehrere namhafte Forscher für Quantenalgorithmen ein.

Im Herbst 2017 veröffentlichte Microsoft die Erweiterung „Q#“ xxxi für seine bekannte Programmierumsprache „C#“ mit denen Quantenprogramme erstellt und auf herkömmlichen Computern simuliert werden können. Diese lief zunächst nur auf Microsoft‘s Entwicklungsumgebung „Visual Studio“ und damit nur unter Windows. Mittlerweile entwickelt sich Microsoft aber immer mehr weg von dem reinen Windows-Anbieter zu einem Cloud-Anbieter. Seit Anfang 2019 gibt es deshalb „Q#“ und „C#-core“ auch unter Mac OS und Linux. Auch Microsoft setzt dabei ebenso auf Python und Jupyter Notebook. Seit Mai 2019 ist Q# sogar Open Source. Microsofts Cloud-Umgebung „Azure“ wird übrigens derart unterstützt, dass dort Simulationen mit noch mehr Qubits ausgeführt werden können.

Auch Microsoft baut beständig sein Softwareportfolio für Quantenprogramme aus. Wie bei Google ist auch hier die Quanten-Chemie ein Schwerpunkt.

Neben diesen umfangreichen Bibliotheken sind im Microsoft Quantum Development Kit auch eine Vielzahl von Beispielprogrammen enthalten, die aber wieder einiges an Vorwissen im Bereich Quantencomputing voraussetzen: Im „Hello World“-Einsteigerprogramm setzt Microsoft beispielsweise ein bekanntes Protokoll für die Quantenteleportation um xxxii xxxiii.

Ohne gute Vorkenntnisse sind diese Programme also ziemlich nichtssagend.

Alibabas Quantencomputer in der Cloud

Im März 2018 betrat der chinesische Tech-Riese Alibaba überraschend den Quantencomputer-Ring. Alibaba verblüffte die Öffentlichkeit, dass der eigene supraleitende 11-Qubit Quantencomputer ab sofort öffentlich verfügbar ist xxxiv xxxv. Bis dahin brachte man Alibaba eher nicht mit Quantencomputern in Verbindung. Ein Grund für den schnellen Erfolg wird hier wohl auch die Kooperation mit der der Chinesischen Akademie der Wissenschaften sein. Alibaba kommt damit zugute, dass China sich in einem gewaltigen Kraftakt gerade zu einer digitalen Großmacht aufschwingt. Im Rahmen dieser Maßnahme fördert China die Technologien für Quanteninformation mit einem Budget von 10 Milliarden Dollar xxxvi!

Rigetti Computing‘s Quantencomputer: Ein David unter vielen Goliaths

In 2013 verließ Chad Rigetti das Quantencomputer-Team bei IBM und gründete Rigetti Computing. Über mehrere Finanzierungsrunden konnte er genug Investoren für seine Pläne für einen neuen Global Player im Quantencomputer-Markt gewinnen. Mittlerweile besitzt die Firma ein üppiges Kapitalpolster. Im Juni 2017 startet Rigetti Computing das eigene Quantencomputer-Cloudangebot xxxvii. Der aktuelle universelle Quantencomputer von Rigetti besitzt 14 Qubits auf Supraleiter-Basis.

Im August 2018 veröffentlichte Rigetti Computing seine Pläne, in den nächsten zwölf Monaten einen 128-Qubit Quantencomputer funktionsfähig zu haben xxxviii.

Wie alle anderen Quantencomputer-Konkurrenten 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 xxxix.

Intel, EU, Xanadu, Softwareanbieter: Noch weitere Wettstreiter sind in den Startlöchern …

Anfang 2018 kündigten IBM und Google also an einen Quantencomputer im Testbetrieb zu haben, der fähig sein könnte die Quanten-Überlegenheit nachzuweisen. Etwa zeitgleich kam dieselbe Meldung auch von Intel xl. Die Entwicklung Intels erfolgt in Koorperation mit der TU Delft in den Niederlanden. Seit dieser ersten Meldung ist es allerdings ziemlich ruhig geworden um Intels Quantencomputer-Ambitionen.

Wesentlich mehr Aufmerksamkeit, zumindest hierzulande, bekam das Flagship Programm der EU xli. Im Rahmen des European Quantum Flagship fördert die EU seit Oktober 2018 die Quanten-Technologien mit 1 Milliarde Euro in den nächsten 10 Jahren. Zu diesen Technologien zählen Quantensensoren, die Quantenkommunikation … und ein Quantencomputer xlii:

Zehn europäische Partner aus Forschung und Industrie haben sich im Projekt OpenSuperQ xliii zusammengeschlossen. Ziel des Projektes ist die Entwicklung eines öffentlich zugänglichen Quantencomputers mit 100 Qubits bis Ende 2021, ebenfalls auf Supraleiter-Basis. Das Team – mit Partnern aus Deutschland, Spanien, Schweden, Schweiz und Finnland – wird vom dem Physiker Frank Wilhelm-Mauch von der Universität des Saarlanders geführt. Der Quantencomputer OpenSuperQ selbst soll am Ende im Forschungszentrum Jülich stehen.

Einen ganz anderen und sehr spannenden Ansatz verfolgt die kanadische Startup-Firma Xanadu xliv. Mittlerweile haben Sie sicher erkannt, dass supraleitende Qubits der Standard für die aktuellen Quantencomputer sind. Die Quantenprozessoren sind dabei also integrierte Schaltkreise und bauen damit auf bekannte und sehr bewährte Methoden für herkömmliche Chip-Technologien auf. Im Gegensatz dazu setzt Xanadu für seinen Quantencomputer auf eine sehr neue aber schnell wachsende Technologie, die sich „Integrated Photonics“ nennt xlv. Die integrierten Schaltkreise hierbei sind keine elektrischen, sondern optische Schaltkreise. Optische Quantensysteme basieren auf Licht und haben damit den Vorteil, dass sie weniger anfällig gegen Umgebungseinflüsse sind. Somit arbeiten sie fehlerfreier als elektrische Systeme. Entsprechend schwieriger ist es allerdings auch optische Systeme gezielt zu manipulieren. Insbesondere können die Informationsträger für optische Quantencomputer, nämlich die Photonen bzw. Lichtteilchen, nicht miteinander wechselwirken.

Was optische Quantencomputer außerdem so besonders macht: Sie sind das Mittel der Wahl für „CV-Quantencomputing“ (CV steht für „Continuous Variable“). Im CV-Quantencomputing sind die zentralen Informationseinheiten nicht Qubits, sondern „Qumodes“. Im Gegensatz zu Qubits können Qumodes nicht nur zwei Werte gleichzeitig annehmen, sondern im Prinzip beliebig viele und sogar Werte in einem kontinuierlichen Spektrum. CV-Quantencomputer besitzen einen ganz eigenen Satz von Quantengattern xlvi als den Satz, den ich Ihnen auf „quantencomputer-info“ vorgestelle. Auf der einen Seite können auf CV-Quantencomputer „analoge“ Probleme vermutlich besser abgebildet werden (z.B. Probleme aus der Physik, Chemie oder Biologie). Auf der anderen Seite können alle Berechnungen für Qubit-Quantencomputer auch mit CV-Quantencomputern durchgeführt werden xlvii … zumindest theoretisch.

Neben den großen Quantencomputer- und Fullstack-Anbietern wurden in den letzten Jahren eine Reihe kleinerer Firmen gegründet, die sich darauf spezialisieren, den zukünftigen Markt für Softwarelösungen auszuloten und Know-How im Quantencomputing zu entwickeln und zu bündeln.

Die Vancouver Firma 1QBit xlviii war eine der ersten Firmen dieser Art. Das Startup QCWare xlix aus dem Silicon Valley ist unter anderem Organisator der Konferenz „Quantum For Business“. Beide Firmen entwickeln eigene Cloudlösungen, die darauf abzielen die Komplexität von Quantencomputern und die Eigenheiten der jeweiligen Quantencomputer-Hardware zu abstrahieren.

Fußnoten

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

iii Die Grundlage zu diesem Prinzip ist bereits seit den Gründerzeiten der Quantenmechanik bekannt https://de.wikipedia.org/wiki/Adiabatisches_Theorem_der_Quantenmechanik

iv 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.

v 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.

vi https://cloud.dwavesys.com: Aktuell ist der Kundenkreis hierfür allerdings nur sehr eingeschränkt. D-Wave hat allerdings angekündigt sein Cloud-Angebot in 2018 für die breite Öffentlichkeit zugänglich zu machen: https://www.cnbc.com/2018/02/23/d-wave-is-raising-money-to-bring-quantum-computing-to-public-cloud.html

ix https://www.youtube.com/watch?v=y8gPz8sc7tY: Vortrag von Catherine McGeoch – „Quantum Annealing: Theory and Practice“

xi https://arxiv.org/abs/1512.02206: wissenschaftliche Arbeit von S. Mandrà, H. Katzgraber, C. Thomas „The pitfalls of planar spin-glass benchmarks: Raising the bar for quantum annealers (again)“

xiii https://www.youtube.com/watch?v=O_RlktWkSdg: Vortrag von Matthias Troyer (mittlerweile bei Microsoft angestellt) u.a. „Transforming Machine Learning and Optimization through Quantum Computing“

xiv https://quantumcomputing.stackexchange.com/questions/171/is-there-proof-that-the-d-wave-one-is-a-quantum-computer-and-is-effective: Sehr interessante Beiträge auf Quantumcomputing Stack-Exchange zum Thema „Is there proof that the D-wave (one) is a quantum computer and is effective?“

xx https://arxiv.org/abs/1805.12570: Fachartikel von S. Herbert „On the depth overhead incurred when running quantum algorithms on near-term quantum computers with limited qubit connectivity“

xxiii https://research.google.com/pubs/pub45919.html: Nature-Artikel von Google „Commercialize Quantum Technologies in Five Years“

xxviii „Jupyter Notebook“ läuft im Browser ab. Ein Entwickler kann dadurch den Programmcode und die Programmausgabe ganz „Internet-like“ in erklärende Texte, Formeln, Grafiken und Tabellen einbetten.

xxx https://arxiv.org/abs/1501.02813: „Majorana Zero Modes and Topological Quantum Computation“, Fachartikel von Michael Freedman et al.

xxxii https://www.youtube.com/watch?v=v7b4J2INq9c: Demovideo von Krysta Svore (Microsoft) „Microsoft Quantum Development Kit: Introduction and step-by-step demo“

xxxiii https://de.wikipedia.org/wiki/Quantenteleportation: Die Wiki-Doku zur Quantenteleportation. Einen besseren Eindruck von dem Algorithmus bekommt man über das Beispiel auf der Quirk-Homepage: http://algassert.com/quirk

xxxv http://quantumcomputer.ac.cn/index.html: Interessanterweise ist das Cloudangebot von Alibaba nicht so einfach über Google auffindbar. Ein Schelm werde Böses dabei denkt … 🙂

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

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

xli https://qt.eu/: Homepage des EU Flagship-Programms

xliii http://opensuperq.eu/: Homepage des EU-Projektes OpenSuperQ

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

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

xlvi https://strawberryfields.readthedocs.io/en/stable/introduction.html: Dokumentation von Xanadus Software-API „Straberryfields“, mit einer Einführung zu CV-Quantencomputing.

xlvii https://arxiv.org/abs/quant-ph/0008040: „Encoding a qubit in an oscillator“, Fachartikel von Daniel Gottesman, Alexei Kitaev und John Preskill

xlviii https://1qbit.com/: Homepage der kanadischen Firma 1QBit

xlix https://qcware.com: Homepage der US-Firma QCWare

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