Schwerpunkte

ETH Zürich

Erste höhere Programmiersprache für Quantencomputer

16. Juni 2020, 10:03 Uhr   |  Iris Stroh

Erste höhere Programmiersprache für Quantencomputer
© ETH Zürich

Computerwissenschaftler der ETH Zürich haben die erste Programmiersprache für Quantencomputer formuliert, die auch komplexe Rechenaufgaben elegant, einfach und sicher lösen kann.

Informatiker der ETH Zürich haben im Bereich der Programmierung einen wichtigen Durchbruch geschafft: Ihre Quantenprogrammiersprache soll die erste sein, die so einfach und sicher ist wie man das von klassischen Computersprachen kennt.

Das Programmieren von Quantencomputern wird einfacher: Wissenschaftler der ETH Zürich haben die erste Programmiersprache entworfen, mit der man Quantencomputer ähnlich einfach, zuverlässig und fehlerfrei programmieren kann wie klassische Computer. »Die Programmierung von Quantencomputern ist bis heute eine Herausforderung für die Forschung«, sagt ETH-Informatikprofessor Martin Vechev vom Secure, Reliable and Intelligent Systems Lab (SRI). Das soll sich jetzt aber ändern: »Unsere Quantenprogrammiersprache Silq erlaubt es Programmierenden, die Potenziale der Quantencomputer besser zu nutzen als mit bisherigen Sprachen, da ihre Codes kürzer, schneller und für Programmierer intuitiver und leichter zu verstehen sind«, erläutert Vechev weiter. An der Programmiersprachenkonferenz PLDI 2020 wird er Silq der Fachwelt vorstellen. Um die Diskussion, Nutzung und Weiterentwicklung zu ermöglichen, haben sein Team und er Silq zudem auf einer eigenen Webseite (silq.ethz.ch) veröffentlicht.

Quantencomputer haben in den letzten zehn Jahren zunehmend an Aufmerksamkeit gewonnen. Schließlich bergen diese Computer, die nach den Regeln der Quantenphysik funktionieren, ein enormes Potenzial. Die meisten Forschenden sind heute überzeugt, dass sie gewisse Probleme schneller lösen können als klassische Computer, da sie für ihre Berechnungen verschränkte Quantenzustände nutzen, bei denen sich zu einem bestimmten Zeitpunkt verschiedene Informationen überlagern. Dadurch dürften Quantencomputer in Zukunft auch Probleme effizient lösen, die klassische Rechner nicht innerhalb einer sinnvollen Frist berechnen können.

Diese Quantenüberlegenheit ist jedoch noch nicht abschließend bewiesen. In jüngster Zeit sind jedoch wichtige technische Fortschritte erzielt worden: So konnte im Spätsommer 2019 erstmals ein Quantencomputer eine – wenn auch sehr spezifische – Aufgabe schneller lösen als die schnellsten klassischen Computer.

Für gewisse »Quantenalgorithmen«, also Berechnungsstrategien, ist zudem bekannt, dass sie schneller sind als klassische Algorithmen, die das Potenzial von Quantencomputern nicht ausnutzen. Bis heute lassen sich diese Algorithmen jedoch noch nicht auf bestehender Quantenhardware rechnen, da Quantencomputer aktuell noch zu fehleranfällig sind.

Wie Programmierende denken

Das Potenzial der Quantencomputer wirklich auszuschöpfen, erfordert nicht nur die neueste Technologie, sondern auch eine Quantenprogrammiersprache, um die Quantenalgorithmen zu beschreiben. Heute sind Quantenprogrammiersprachen stark an die Hardware angelehnt, das heißt sie beschreiben genau das Verhalten der zugrundeliegenden Schaltkreise. Für Programmiererinnen und Programmierer sind solche »Hardwarebeschreibungssprachen« umständlich und fehleranfällig, da man die einzelnen Programmanweisungen sehr detailliert ausformulieren und entsprechend viele Einzelheiten der Implementierung von Quantenalgorithmen explizit ausdrücken muss.

An dieser Stelle setzen Martin Vechev und seine Gruppe mit der Programmiersprache Silq an. »Silq ist die erste Quantenprogrammiersprache, die sich nicht primär an der Bau- und Funktionsweise der Hardware orientiert, sondern an der Denkweise der Programmierenden, die ein Problem lösen wollen und dafür nicht jedes Detail der Rechnerarchitektur und der Implementierung verstehen müssen«, sagt Benjamin Bichsel, Doktorand in Vechevs Gruppe, der die Entwicklung von Silq betreut.

Computersprachen, die von den technischen Details des jeweiligen Computertyps abstrahieren, bezeichnen Informatikerinnen und Informatiker als höhere Programmiersprachen. Für Quantencomputer ist Silq die erste höhere Programmiersprache überhaupt. Höhere Programmiersprachen sind ausdruckstärker, das heißt sie können auch komplexe Aufgaben und Algorithmen mit weniger Text (Code) ausdrücken. Das macht sie für Programmiererinnen und Programmierer verständlicher und einfacher in der Verwendung. Zudem kann man sie auf verschiedene Rechnerarchitekturen anwenden.

Fehlerfrei dank automatischer Müllabfuhr

Die wichtigste Neuerung und Erleichterung, die Silq für Quantenprogrammiersprachen einführt, betrifft eine Fehlerquelle, die das Quantenprogrammieren bisher erschwerte: Jeder Computer berechnet eine Aufgabe in mehreren Zwischenschritten. Dabei entstehen Zwischenergebnisse, so genannte temporäre Werte. Um den Arbeitsspeicher zu entlasten, werden diese Werte bei klassischen Computern automatisch entfernt.

Bei Quantencomputern ist diese Entsorgung wegen der Quantenverschränkung nicht so einfach: Die früheren Rechenwerte können mit den aktuellen wechselwirken und die korrekte Berechnung stören. Entsprechend erfordert die Bereinigung solcher temporärer Werte auf Quantencomputern eine fortgeschrittene Technik, die in der Fachsprache »uncomputation« genannt wird.

»Silq ist die erste Quantenprogrammiersprache, die nicht mehr benötigte Werte automatisch erkennt und entsorgt«, erklärt Bichsel. Dafür nutzten die Informatikerinnen und Informatiker ihr Know-how der klassischen Programmiersprachen. Ihre Methode, wie sie die »uncomputation« ausführen, verwendet nämlich nur Programmierbefehle, die frei von speziellen Quantenoperationen sind – sie sind »qfree«, wie Vechev und Bichsel sagen.

»Silq ist ein wichtiger Durchbruch auf dem Weg zu einer optimalen Programmierung von Quantencomputern, der letzte Entwicklungsschritt ist sie nicht«, sagt Vechev. Noch gibt es viele offene Fragen. Dadurch, dass »Silq« verständlicher ist, erhoffen sich Vechev und Bichsel sowohl Impulse für die Weiterentwicklung der Quantenprogrammiersprachen als auch für die Lehre und die Entwicklung neuer Quantenalgorithmen.

»Unser Viererteam hat den Durchbruch nach zwei Jahren Arbeit dank der Kombination verschiedener Expertisen in Sprachdesign, Quantenphysik und Implementierung geschafft. Wenn nun andere Forschungs- und Entwicklungsteams unsere Neuerungen aufgriffen, wäre das ein schöner Erfolg«, schließt Bichsel.

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Das könnte Sie auch interessieren

Physiker öffnen Schrödingers Katzenbox
TUM-Ausgründung entwickelt magnetische Kühlung
Jülich und Google kooperieren
Schrödingers Katze mit 20 Qubits
IBM Q System One kommt nach Deutschland
Quantencomputer abhörsicher vernetzt
Der praktische Weg zum Quantencomputing
Fraunhofer und IBM bringen Quantenrechner nach Deutschland
Neuartige Kühltechnik ermöglicht kleinere Quantencomputer

Verwandte Artikel

ETH Zürich