Rechnen mit Qubits

Wie programmiert man einen Quantenrechner?

| Autor / Redakteur: Dr. Anna-Lena Gutberlet / Andreas Donner

Wie programmiert man einen Quantenrechner?
Wie programmiert man einen Quantenrechner? (Bild: CC0 / CC0)

Ein Quantencomputer kann analog zu einer Turingmaschine programmiert werden. Es werden jedoch spezielle Algorithmen benötigt, damit die besonderen Eigenschaften, wie Superposition und Verschränkung, nicht ungenutzt bleiben.

Da Quantencomputer analog zu einer Turingmaschine – ein wichtiges Rechnermodell der theoretischen Informatik – gebaut werden können, eröffnen sich die gleichen Möglichkeiten (und Probleme) zur Programmierung wie bei normalen Computern: Zur Lösung eines Problems werden diverse Rechenoperationen durchgeführt. Das heißt, es werden Quantengatter angewendet, um Qubits zu verschränken, ihren Zustand zu manipulieren oder sie auszulesen. Dazu muss ein Programm geschrieben werden, nach welcher Logik die Gatter angewendet werden.

Um einen Quantencomputer zu programmieren, könnte man klassische Algorithmen verwenden. Das würde jedoch keine Vorteile bringen, da die besonderen Eigenschaften des Quantencomputers – vor allem Superposition und Verschränkung – ungenutzt blieben. Spezielle Quantenalgorithmen, wie zum Beispiel der Faktorisierungsalgorithmus von Shor (aus dem Jahr 1994), ermöglichen es, komplexe Probleme zu lösen, für welche klassische Methoden zu viel Zeit bräuchten.

Eines dieser Probleme ist die Primfaktorzerlegung: Dazu berechnet der Algorithmus alle möglichen Werte in einem Register in Superposition. Mithilfe einer Diskreten-Fourier-Transformation wird anschließend das richtige Ergebnis herausgefiltert. Es gibt klassische Verfahren zur Berechnung der Primfaktorzerlegung, aber selbst der beste Algorithmus kann diese nicht effizient berechnen. Der Algorithmus von Shor könnte somit dazu benutzt werden, viele heutig gängige Kryptosysteme, beispielsweise RSA, zu knacken.

Ein weiteres Beispiel ist der Suchalgorithmus von Grover. Will man zum Beispiel in einem Telefonbuch mit N Einträgen eine bestimmte Nummer finden, muss man einen Eintrag nach dem anderen durchsehen, bis man den richtigen findet. Im Allgemeinen braucht man, um einen bestimmten Eintrag in einer unsortierten Liste zu finden N/2 Versuche – bei einem Telefonbuch mit 1.000.000 Einträgen also 500.000. Mit dem Quantenalgorithmus benötigt man im Schnitt nur √N Schritte. Dies wird möglich durch die Grover-Iteration im Quantenregister. Sie erhöht die Wahrscheinlichkeit für das richtige Ergebnis und verringert die Wahrscheinlichkeit für das falsche Ergebnis. Damit Algorithmen von Shor und Grover für Alltagswendungen relevant wären, bräuchte man jedoch Quantencomupter mit Tausenden von Qubits.

Nach und nach wurden mehr Algorithmen für Quantencomputer gefunden und das Interesse an der Entwicklung formaler Programmiersprachen, die Rechenschritte besser abstrahieren können, stieg stetig an. Die Konzepte sind in einer Datenbank von Programmiersprachen für Quantencomputer angelegt.

Im März dieses Jahres kündigte IBM bereits die industrieweit erste Initiative zur Bereitstellung eines universell verfügbaren Quantencomputers für kommerzielle und wissenschaftliche Anwendungen mit dem Namen IBM Q an. Die Systeme und Services sind über einen Online-Zugang der IBM Cloud-Plattform verfügbar. Der Zugriff erfolgt über ein von IBM entwickeltes API auf Basis von Python. Zudem gibt es eine einfache grafische Benutzeroberfläche, über die Interessierte mit den Quantencomputern experimentieren können.

Softwareumgebung
Softwareumgebung (Bild: D-Wave Systems)

Das D-Wave 2000Q-System bietet eine Standard-Internet-API mit Client-Bibliotheken für C / C ++, Python und MATLAB. Diese Schnittstelle ermöglicht es Benutzern, auf das System entweder als Cloud-Ressource über ein Netzwerk zuzugreifen oder in ihre Hochleistungsrechner-Umgebungen und Rechenzentren zu integrieren. Der Zugriff ist auch über den gehosteten Cloud-Service von D-Wave verfügbar. Mit Hilfe von Entwicklungswerkzeugen und Clientbibliotheken von D-Wave können Entwickler Algorithmen und Anwendungen innerhalb ihrer bestehenden Umgebungen mit Hilfe von Standard-Tools erstellen.

Je nach Architektur der Quantencomputer werden unterschiedliche Programme benötigt, denn der Compiler muss die Befehle im Programm in physikalische Manipulation der Qubits umsetzen – und die Ausführung der Befehle unterscheidet sich für Photonen, Atome oder Supraleiter entschieden. Welche Quantenalgorithmen schließlich genutzt werden, hängt also davon ab, welche Architektur sich durchsetzten wird.

Literatur

http://www.spiegel.de/wissenschaft/technik/physik-nobelpreis-2012-fuer-haroche-und-wineland-a-860260.html
www.wikipedia.org
www.golem.de
Perspektiven der Quantentechnologie, Stellungnahme der Nationalen Akademie der Wissenschaften Leopoldina, Acatech – Deutsche Akademie der Technikwissenschaften und Union der deutschen Akademien der Wissenschaften, Juni 2015; https://www.leopoldina.org/uploads/tx_leopublication/2015_Quantentechnologien_LF_DE_korr.pdf
https://www.physik.uni-kl.de/fileadmin/widera/Hauptseminar_WS10_11/Ionenfallen.pdf
http://www.deutschlandfunk.de/glasfasernetz-wird-umgeruestet-das-quanten-internet-kommt.684.de.html?dram:article_id=387203
http://www.heute.de/bundesregierung-legt-forschungsprogramm-fuer-abhoersichere-quanten-internet-auf-47326454.html
www.quantencomputer.de

So arbeitet ein Quantencomputer

Rechnen mit Qubits

So arbeitet ein Quantencomputer

06.10.17 - Heutige Supercomputer besitzen eine unglaubliche Leistungsfähigkeit. Trotzdem können viele komplexe Rechenprobleme nicht zufriedenstellend durch die konventionellen Systeme gelöst werden. Quantencomputer besitzen das Potenzial, diese Schwierigkeiten zu bewältigen. lesen

Fünf Kriterien für einen Quantenrechner

Rechnen mit Qubits

Fünf Kriterien für einen Quantenrechner

06.11.17 - Das Rennen um den ersten Quantencomputer ist längst angelaufen. Mit dabei sind natürlich Größen wie Microsoft, Google oder IBM sowie zahlreiche Universitäten und Forschungseinrichtungen. Es gibt eine Vielzahl an Ansätzen, dieses Ziel zu verwirklichen. lesen

Die Grenzen des Quantencomputers

Rechnen mit Qubits

Die Grenzen des Quantencomputers

08.11.17 - Quantencomputer galten lange als Superrechner. Es zeigt sich jedoch immer mehr, dass sie klassische Computer nicht verdrängen, sondern ergänzen werden. Denn der Quantencomputer ist nicht immer schneller. lesen

Dieser Beitrag stammt von unserer Schwesterpublikation ELEKTRONIKPRAXIS.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44965789 / Basiswissen)