Wie Quantenalgorithmen die Informationstechnologie revolutionieren

bei

 / 8. February. 2020

Eine Herausforderung moderner Computersysteme ist es, komplexe Abläufe, wie sie in der Natur vorkommen, möglichst originalgetreu zu modellieren. Wenn man versucht, dieses Problem mit Hilfe von konventionellen Computern zu lösen, kann man die Einschränkungen der Hardware und der klassischen Algorithmen nicht überwinden. Die Hauptschwierigkeit beim Modellieren von komplexen Systemen bestehen darin, dass klassische Algorithmen und Hardware-Architekturen für korrekte Abbildung und Simulation von komplexen Naturprozessen wenig geeignet sind. Lösungsansätze mit klassischen Algorithmen sind zu eingeschränkt, funktionieren zu langsam und führen häufig zu falschen Ergebnissen.

Um Durchbruch in der Forschung und Entwicklung erneuerbarer Energien, künstlicher Intelligenz (KI), in der Molekularphysik, Quantenmechanik und Chemie zu erzielen, ist ein Paradigmenwechsel unausweichlich. Die technologischen Veränderungen betreffen nicht nur herkömmliche Computersysteme, sondern auch Algorithmen, Anwendungsprogramme, Betriebssysteme und Prozessoren für Quantencomputer.

Fortschritt von Quantentechnologien

Versucht man Quantenprozesse in einem klassischen Computer zu modellieren, steigt der Rechenaufwand mit jedem Arbeitszyklus exponentiell. Ein Quantencomputer löst eine komplexe Aufgabe in wenigen Sekunden, während ein moderner klassischer Superrechner Tausende Jahre für die Lösung desselben Problems benötigen würde. Die Prozessorleistung eines Quantencomputers ist extrem hoch, um jede komplexe Aufgabe zu bewältigen. Die ersten wissenschaftlichen Erfolge zeichneten sich, nachdem die ersten Quantencomputer realisiert wurden und praktische Anwendungen von Quantenalgorithmen möglich waren. Ein programmierbarer supraleitender Prozessor zur Erzeugung von Quantenzuständen (53 Qubits) wurde von Google entwickelt [1] und in einem funktionsfähigen Quantencomputer „Sycamore“ verwendet.

In den letzten zwanzig Jahren haben die Quantentechnologien (QT) enorme Fortschritte erzielt und sich zu einem hochpriorisierten interdisziplinären Forschungsgebiet etabliert. Das öffentliche Interesse verlagert sich von der faszinierenden Welt der Quantenphysik immer mehr auf praktische und nützliche Quantenalgorithmen und Quantenanwendungen, deren Problemfelder bislang, ohne Quantencomputer unerschlossen waren.

Besonderheiten von Quantenalgorithmen

Quantencomputer arbeiten auf Basis quantenmechanischer Zustände der Quantenphysik und verarbeiten diese Zustände. Auf denselben Grundprinzipien werden auch Quantenalgorithmen realisiert. Ein Quantencompiler übersetzt die Rechenoperationen in entsprechende physikalische Manipulationen der Qubits. Die Ausführung von Prozessorbefehlen unterscheidet sich für Photonen, Atome, Ionen oder Supraleiter und hängt von der im Prozessor realisierten Quantentechnologie ab.

Im Gegensatz zu herkömmlichen Computern, in denen ein Bit nur einen Wert „0“ oder „1“ annimmt, kann ein Quantenbit (Qubit, gesprochen „kju-bit“) nach den Regeln der Quantenphysik in einer Superposition gleichzeitig sowohl „0“ als auch „1“ sein. Ein Ion kann ein Qubit speichern, Qubits können sich auch in einem verschränkten Zustand befinden. Durch Superposition und Verschränkung erreicht ein Quantencomputer einen höheren Grad seiner Rechenleistung und kann Probleme lösen, die sich mit konventionellen Computern nicht bewältigen lassen.

Ein Quantenalgorithmus besteht aus einem Quantenschaltkreis und einer genauen Auswahl der zu manipulierenden und zu messenden Qubits. Quantenprozessoren werden modular aufgebaut. Jeder Einzelprozessor speichert und verarbeitet eine begrenzte Zahl von Qubits, kann aber quantenmechanisch mit anderen Prozessoren logisch zusammengeschaltet werden. Das kann durch Photonen oder mechanische Schwingungen erfolgen. Die einzelnen Prozessoren sind etwa Miniquantencomputer und lassen sich wie Computer programmieren.

Obwohl man einen Quantencomputer auch mit klassischen Algorithmen programmieren kann, bringt das jedoch keine Vorteile, weil die besonderen Eigenschaften des Quantenprozessors wie Superposition und Verschränkung ungenutzt bleiben. Algorithmen für Quantencomputer sollten komplett neu entwickelt werden und die Besonderheiten der Quantenarchitektur berücksichtigen, damit diese Algorithmen effizient funktionieren.

Bekannte Klassen von Quantenalgorithmen

Abhängig von den verwendeten Methoden werden bekannte Quantenalgorithmen in die folgenden vier Gruppen eingeteilt:

  1. Algorithmen, die eine globale Eigenschaft aller Funktionswerte einer Funktion bestimmen (Deutsch-Jozsa-Algorithmus, Shor-Algorithmus zur Faktorisierung großer Zahlen u.a.)
  2.  Algorithmen, die durch Transformation des Status der Qubits die Wahrscheinlichkeit erhöhen, dass das Ergebnis gemessen werden kann (Quanten-Suchalgorithmen wie Grover-Suchalgorithmus, z.B. für BigData-Datenbanken)
  3. Algorithmen für Quanten-Simulation (Quantenphysik, Quantenchemie, Photosynthese, Quantenverhalten von lebenden Organismen)
  4. Algorithmen, die Methoden aus den ersten drei Gruppen kombinieren (z.B. „Approximate Counting Algorithm“ von Brassard-Hoyer-Tapp)

Vorteile von Quantenalgorithmen auf Quantencomputern

Es gibt Problemklassen, die mit Quantenalgorithmen auf Quantencomputern effizienter gelöst werden als mit herkömmlichen Algorithmen auf modernen klassischen Rechnern. Rechenaufgaben werden in einem Quantenprozessor exponentiell schneller ausgeführt als in einem klassischen superschnellen Prozessor. Der dramatische Geschwindigkeitszuwachs im Vergleich zu allen bekannten Algorithmen ermöglicht auch besonders komplexe Probleme mit Quantenalgorithmen zu lösen, die bisher als hoffnungslos und unlösbar galten.

Quantenalgorithmen nutzen die Eigenschaften der Superposition und die Möglichkeit der Überlagerung von Qubits. Das ermöglicht eine native Parallelität der Rechenprozesse. Die Quantenparallelität ist eine wichtige Eigenschaft eines Quantenprozessors. Erst mit Quantenalgorithmen können die auf Qubits basierten Daten effizient bearbeitet (ausgelesen, gespeichert und manipuliert) werden. Dafür sind Quantenalgorithmen für die Zusammenarbeit mit Quantenprozessoren am besten geeignet. Quantenalgorithmen sind klassischen bit-orientierten Algorithmen weit überlegen, weil nur Quantenalgorithmen die spezifischen Eigenschaften eines Quantencomputers optimal nutzen können.

Konventionelle Computer können zur Verifizierung von Quantenalgorithmen und als Referenzsysteme zur Validierung der Ergebnisse verwendet werden. Die Quantenprozessoren werden weiterentwickelt, so dass sie noch leistungsfähiger werden und stabile Ergebnisse liefern können.

Probleme von Quantencomputern

Derzeit gibt es nur Laborprototypen mit begrenzter Leistung, jedoch keine Quantencomputer auf dem Markt. Man versucht Quantenalgorithmen mit Quantencomputing-Simulatoren auf herkömmlichen Rechnern zu entwickeln und zu testen, bevor diese auf einem echten Quantencomputer laufen zu lassen. Ansätze mit hybriden Computern – einem Quantencomputer und einem oder mehreren konventionellen Computern bzw. Supercomputern in einem gemeinsamen System – sind auch populär und ermöglichen, viele aktuelle Probleme und Schwachstellen von Quantencomputern zu umgehen.

Enorme Datenmengen erfordern auch eine extrem große Speicherkapazität. Aktuell gibt es nicht genügend Direktzugriffsspeicher (RAM), um alle Quantenzustände und Zwischenergebnisse operativ zu speichern. Deshalb wird nach neuen Speichertechnologien für Quantencomputer intensiv geforscht.

Effektive Quantenfehlerkorrektur

Fehlerbehaftete Ergebnisse und eine relativ hohe Fehlerrate beim Auslesen und Manipulieren von Qubits sind zwei kritische Probleme, die den Fortschritt von Quantencomputern ausbremsen. Um die Fehlerkorrektur zu verbessern, sind fehlertolerante logische Qubits erforderlich, die verlässliche und korrekte Ergebnisse nach Ausführung eines Quantenalgorithmus liefern. Das Engineering der Quantenfehlerkorrektur wird deshalb in den Mittelpunkt der Aufmerksamkeit der Wissenschaftler gerückt.

Quantenalgorithmen basieren auf den grundlegenden Eigenschaften eines Quantencomputers und können Ergebnisse nur mit einer gewissen Genauigkeit erzeugen. Man spricht von einem probabilistischen Algorithmus, der sich von einem deterministischen Algorithmus eines klassischen Computers prinzipiell unterscheidet.

Mit Quantencomputern kann man das Ergebnis mit einer hohen Messwahrscheinlichkeit erlangen, die Fehlerwahrscheinlichkeit liegt aber nicht bei Null. Durch wiederholtes, zyklisches Ausführen und Iterationen des Quantenalgorithmus wird die Fehlerwahrscheinlichkeit effektiv reduziert. Auch wenn die anfängliche Fehlerrate groß genug ist, reichen nur wenige Sekunden andauernde Wiederholungen aus, um ein verlässliches und akzeptables Ergebnis zu erreichen, in dem die Fehlerquote unter dem festgelegten Grenzwert liegt.

Die charakteristische Eigenschaft von Quantenalgorithmen ist es, dass solche Algorithmen:

  1. parallele Datenverarbeitung nativ unterstützen;
  2. Fehler in Ergebnissen des Quantencomputers berücksichtigen;
  3. ein fehlerbehaftetes Ergebnis durch viele Wiederholungen/Iterationszyklen effektiv und in akzeptabler Zeit korrigieren können.

Quantentechnologien und Quantenalgorithmen

Quantentechnologien (QT) im Bereich Computing, Prozessoren und Algorithmen stecken noch in den Kinderschuhen, haben aber ein enormes Entwicklungspotential. Sie werden rasant von den führenden Industrieländern (wie Deutschland), IT-Konzernen (Google, IBM u.a.) und internationalen Forschungszentren (Jülich Supercomputing Centre u.a.) weiterentwickelt. Quantencomputer erschließen einen vielversprechenden innovativen Weg zu neuen Anwendungstechnologien und basieren selbst auf neuen Quantentechnologien.

Man braucht unterschiedliche Werkzeuge und Maschinen, um Aufgaben beliebiger Komplexität effizient lösen zu können. Genauso braucht man auch leistungsunterschiedliche Computer – sowohl klassische Rechner wie PCs, spezielle Server [2] und Mainframes als auch Supercomputer und Quantencomputer. Spezielle für Quantencomputer zugeschnittene neue Programmiersprachen sind erforderlich, um das enorme Rechenpotential der neuen Computer vollständig ausnutzen zu können.

Quantencomputer vs. klassische Computer

Jede Computerklasse hat seine Vorteile und Nachteile. Der Hauptvorteil eines Quantencomputers gegenüber einem klassischen Computer ist seine extrem hohe Rechenleistung (dank supraleitenden Qubit-Prozessoren) und die Fähigkeit Quantenalgorithmen auszuführen, die man bisher mit klassischen Rechnern oder Superrechnern nicht bewältigen konnte.

Auf Quantenalgorithmen basierte Anwendungen für neue Energien, Chemie, Materialwissenschaften, Genomforschung, Biotechnologien, KI und Optimierung sind von großer praktischer Bedeutung und haben die besten Chancen, die Innovation in diesen zukunftsorientierten Technologien erfolgreich voranzutreiben. Auch der Quantencomputer selbst wechselt die Rolle – von einem akademischen Forschungsthema zu einer realen innovativen Technologie.

Fazit

In absehbarer Zukunft werden Quantencomputer klassische Computer nicht verdrängen und nicht ersetzen, sondern werden diese ergänzen. Genauso wie Supercomputer einen herkömmlichen PC nicht ablösen können, werden auch Quantencomputer und Quantenalgorithmen für spezielle komplexe Anwendungs- und Forschungsaufgaben eingesetzt. Nachdem Quantencomputer ihre Kinderkrankheiten und Schwächen überwinden und den Markt erobern, erzeugen Quantenalgorithmen den erwarteten wirtschaftlichen und technologischen Durchbruch, revolutionieren die Industrie und lösen die schwierigsten komplexen Probleme, die bisher auch moderne Supercomputer nicht lösen konnten.

Ein Programmierer von Quantenalgorithmen soll sich auf das eigentliche Problem konzentrieren und sich nicht unbedingt mit den Gesetzen der Quantenmechanik auseinandersetzen. In Informationstechnologien und deren Weiterentwicklung spielt die Quantenphysik eine wichtige, jedoch untergeordnete Rolle. Trotz des quantenphysikalischen Hypes in Medien bleibt der Quantencomputer nur ein notwendiges technologisches Werkzeug zur Lösung von besonders komplexen Problemen. Eine enorme Komplexität eines Quantenprozessors ist nur ein aktuelles technologisches Merkmal, jedoch kein Selbstzweck der IT-Technologie.

Um innovative Anwendungen schnell und effizient entwickeln zu können, müssen Quantenprogrammierer die Komplexität der Quantenwelt überwinden. Es ist zu erwarten, dass Quantencomputer in Zukunft nicht nur zuverlässiger, schneller, effizienter und leistungsstärker werden, sondern auch einfach zu handhaben und zu bedienen sind wie herkömmliche PCs. Erst dann können „Quantenprogrammierer“ – d.h. Programmierer von Quantenalgorithmen für Quantencomputer – ihre Kreativität entfalten, sich auf eigentlichen Anwendungsproblemen konzentrieren und qualitative einsatzfähige Quantenanwendungen entwickeln, die die Vorteile von Quantentechnologien ausgiebig und effizient nutzen.

Quellen und Reverenzen

[1] https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html

[2] https://www.technikhiwi.de/nas-server-test/

Roman Uminski unterstützt seit 2017 das international tätige digitale Verbrauchermagazin Kaufberater.io als Key Account Manager und SEO-Spezialist. Durch seine langjährige Erfahrung ist er der erste Ansprechpartner für die digitalen Kooperationen im deutschsprachigen Raum.