Leichteres Quantencomputing Erste intuitive Programmiersprache für Quantencomputer

ETH-​Informatiker haben die erste Programmiersprache für Quantencomputer formuliert, die auch komplexe Rechenaufgaben elegant lösen kann.

Bild: ETH Zürich / Video: ETH Zürich

17.06.2020

Informatikern der ETH Zürich ist ein Durchbruch gelungen: Ihre Quantenprogrammiersprache „Silq“ ist die erste, die so elegant, verständlich und sicher ist wie klassische Computersprachen. Das Programmieren von Quantencomputern wird damit so einfach wie noch nie.

Das Potenzial von Quantencomputern wirklich auszuschöpfen, erfordert nicht nur die neueste Technologie, sondern auch eine Quantenprogrammiersprache, die die Algorithmen beschreibt. Grundsätzlich stellt ein Algorithmus eine Art Rezept dar, um ein Problem zu lösen, und eine Programmiersprache beschreibt den Algorithmus so, dass ein Computer die benötigten Berechnungen ausführen kann. Aber: „Die Programmierung von Quantencomputern ist bis heute eine Herausforderung für die Forschung“, sagt Informatikprofessor Martin Vechev von der ETH Zürich.

Aktuell sind Quantenprogrammiersprachen stark an die Hardware angelehnt. Das heißt, sie beschreiben genau das Verhalten der zugrundeliegenden Schaltkreise. Für Programmierer sind solche „Hardware-Beschreibungssprachen“ umständlich und fehleranfällig, da die einzelnen Programmanweisungen sehr detailliert ausformuliert und entsprechend viele Einzelheiten der Implementierung von Quantenalgorithmen explizit ausgedrückt werden müssen.

Denken wie Programmierer

An dieser Stelle setzen Vechev und seine Gruppe mit 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 Informatiker als höhere Programmiersprachen. Sie sind ausdrucksstärker, sprich, sie können auch komplexe Aufgaben und Algorithmen mit weniger Text (Code) ausdrücken. Das macht sie für Programmierer verständlicher und einfacher in der Verwendung. Zudem lassen sie sich auf verschiedenen Rechnerarchitekturen anwenden. Für Quantencomputer soll Silq die erste höhere Programmiersprache überhaupt sein.

Fehlerfrei durch automatische Müllabfuhr

Die wichtigste Neuerung und Erleichterung von Silq betrifft eine Fehlerquelle, die das Quantenprogrammieren bisher erschwerte: Jeder Computer berechnet eine Aufgabe in mehreren Zwischenschritten. Dabei entstehen Zwischenergebnisse, sogenannte temporäre Werte. Um den Arbeitsspeicher zu entlasten, werden diese Werte bei klassischen Computern automatisch entfernt. Informatiker sprechen hier von „Garbage Collection“ oder „Müllabfuhr“, weil die überflüssigen Zwischenwerte entsorgt werden.

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 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 Informatiker ihr Know-how der klassischen Programmiersprachen. Ihre automatische Müllabfuhr, beziehungsweise ihre Methode, wie sie die „uncomputation“ ausführen, verwendet nämlich nur Programmierbefehle, die frei sind von speziellen Quantenoperationen. Sie ist „qfree“, wie Vechev und Bichsel sagen.

Basis für weitere Forschung

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.

Um die Diskussion, Nutzung und Weiterentwicklung zu ermöglichen, haben die ETH-Forscher Silq auf einer eigenen Website veröffentlicht.

Bildergalerie

  • „Silq erlaubt es, die Potenziale der Quantencomputer besser zu nutzen als mit bisherigen Sprachen“, sagt Martin Vechev, Professor für Informatik am Secure, Reliable and Intelligent Systems Lab der ETH Zürich.

    Silq erlaubt es, die Potenziale der Quantencomputer besser zu nutzen als mit bisherigen Sprachen“, sagt Martin Vechev, Professor für Informatik am Secure, Reliable and Intelligent Systems Lab der ETH Zürich.

    Bild: Giulia Marthaler, ETH Zürich

Firmen zu diesem Artikel
Verwandte Artikel