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

Autor: Jens Marre

Ich bin seit dem Jahr 2000 IT-Berater für große Unternehmen. Nach Stationen bei Bertelsmann und Oracle bin ich nun schon viele Jahre selbständig. In meinem „vorigen Leben“ habe ich allerdings theoretische Physik und Mathematik studiert, und meine Faszination für die Quantenwelt habe ich seitdem nie verloren. Vor einigen Jahren packte mich die Begeisterung für das Quantencomputing, und mittlerweile habe ich mir ein tiefes Knowhow und Verständnis in dem Bereich erarbeitet. „quantencomputer-info.de“ ging im Frühjahr 2018 online und ist mein erstes Quanten-Projekt. Ich verfolge die Entwicklungen auf dem Markt und aktuelle wissenschaftliche Veröffentlichungen genau und arbeite die Erkenntnisse daraus in die Webseite ein. Darüber hinaus bin ich Mit-Organisator der Meetup-Gruppe „Quantum Computing Meets Business – Rhineland“, assoziierter Partner von PlanQK und kann mich glücklich schätzen ein Teil der Quantencomputing-Community hier in Deutschland zu sein. Wenn Sie an einem Kontakt mit mir interessiert sind oder Fragen zu der Webseite oder zum Quantencomputing haben, melden Sie sich gerne über das Impressum oder Linkedin.