idw – Informationsdienst Wissenschaft

Nachrichten, Termine, Experten

Grafik: idw-Logo
Science Video Project
idw-Abo

idw-News App:

AppStore

Google Play Store



Instance:
Share on: 
06/15/2020 11:40

Die erste intuitive Programmiersprache für Quantencomputer

Hochschulkommunikation Hochschulkommunikation
Eidgenössische Technische Hochschule Zürich (ETH Zürich)

    Auf dem Weg zu leistungsfähigen Quantencomputern sind in jüngster Zeit einige technische Fortschritte erzielt worden. Nun haben Informatiker der ETH Zürich im Bereich der Programmierung einen wichtigen Durchbruch geschafft: Ihre Quantenprogrammiersprache ist die erste, die so elegant, einfach und sicher ist wie man das von klassischen Computersprachen kennt.

    Das Programmieren von Quantencomputern wird einfacher: Computerwissenschaftler 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), «umso mehr freut es mich, dass wir nun die Tradition der ETH Zürich in der Entwicklung von Quantencomputern und Programmiersprachen fortsetzen können.»

    «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 An der Programmiersprachenkonferenz PLDI 2020 wird er Silq in dieser Woche 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. Schliesslich bergen diese Computer, die nach den Regeln der Quantenphysik funktionieren, ein enormes Potenzial. Die meisten Forschenden sind heute überzeugt, dass sie gewisse Probleme dereinst 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 innert nützlicher Frist berechnen können.

    Diese Quantenüberlegenheit ist noch nicht abschliessend 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. Grundsätzlich stellt ein Algorithmus ein «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.

    Heute sind Quantenprogrammiersprachen stark an die Hardware angelehnt, das heisst 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 heisst sie können auch komplexe Aufgaben und Algorithmen mit weniger Text (Code) ausdrücken. Das macht sie für Programiererinnen 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.

    Informatikerinnen und Informatiker sprechen hier von «Garbage Collection» oder von «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 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 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.

    «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», schliesst Bichsel.


    Original publication:

    Bichsel B, Baader M, Gehr T, Vechev M. Silq: a high-level quantum language with safe uncomputation and intuitive semantics. PLDI 2020: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, Juni 2020, 286–300, doi: 10.1145/3385412.3386007 [https://doi.org/10.1145/3385412.3386007]


    More information:

    https://ethz.ch/de/news-und-veranstaltungen/eth-news/news/2020/06/die-erste-intu...


    Images

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


    Criteria of this press release:
    Journalists
    Information technology
    transregional, national
    Miscellaneous scientific news/publications, Research results
    German


     

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


    For download

    x

    Help

    Search / advanced search of the idw archives
    Combination of search terms

    You can combine search terms with and, or and/or not, e.g. Philo not logy.

    Brackets

    You can use brackets to separate combinations from each other, e.g. (Philo not logy) or (Psycho and logy).

    Phrases

    Coherent groups of words will be located as complete phrases if you put them into quotation marks, e.g. “Federal Republic of Germany”.

    Selection criteria

    You can also use the advanced search without entering search terms. It will then follow the criteria you have selected (e.g. country or subject area).

    If you have not selected any criteria in a given category, the entire category will be searched (e.g. all subject areas or all countries).