Blog

Quantenprogrammierung 2.0: Fokus auf Absicht, nicht auf Gates

20
Mai
,
2021
Yuval Boger

Als ich ein Kind war, stellte ich mir einen Computer vor, der nur eine große grüne Taste mit der Aufschrift "DWIM" hatte. Wenn ich diese "Do What I Mean"-Taste drückte, würde der Computer genau das tun: das tun, was ich von ihm wollte. Wir sind zwar noch nicht so weit, aber es vollzieht sich ein rascher Übergang von der Low-Level-Quantenprogrammierung zu höherwertigen Methoden, um die Absicht auszudrücken.

Wir haben gesehen, wie dieser Prozess bei der Entwicklung elektronischer Schaltungen abläuft. Nehmen wir eine einfache elektronische Schaltung: einen 4-Bit-Binärzähler. Wie würden Sie ihn am liebsten entwerfen? Option 1 (siehe Abbildung unten) zeigt diesen Zähler, der mit diskreten Gattern implementiert wurde. Option 2 zeigt eine Version dieses Zählers unter Verwendung von VHDL - einer Hochsprache für den Entwurf, die einen vorgefertigten Baustein verwendet.

Was wäre, wenn Sie anstelle eines 4-Bit-Zählers die 32-Bit-Version entwickeln müssten? Option 1 würde ziemlich groß werden, während Option 2 gleich bliebe. Was wäre, wenn Sie diese Schaltung von einer anderen Person erhalten würden und sie erklären müssten? Für die meisten Menschen wäre Option 2 viel besser lesbar und einfacher zu erklären. Wenn die Komplexität der Schaltung zunimmt, ist es attraktiver, die Absicht auszudrücken ("Ich möchte einen 8-Bit-UART"), als die Schaltung von Grund auf neu zu entwerfen

Option 1: Aus: Haghparast, Majid & Samadi Gharajeh, Mohammad. (2011). Entwurf eines nanometrischen reversiblen 4-Bit-Binärzählers mit paralleler Last. Australian Journal of Basic and Applied Sciences. 5. 63-71.
Option 2: Adaptiert von Xilinx 7 Series FPGA Libraries Guide for HDL Designs UG768 April 24, 2012

Das gleiche Konzept, das bei der Entwicklung von Hochgeschwindigkeitsschaltungen so erfolgreich ist, steht nun auch für die Quanteninformatik zur Verfügung. Es macht Spaß und ist lehrreich, eine einfache Quantenschaltung mit einer Handvoll Qubits und einigen parametrisierten Bausteinen zu erstellen. Die Lösung realer Probleme mit Dutzenden oder Hunderten von Qubits erfordert jedoch weniger Kodierung auf Gatterebene und einen effizienteren Algorithmusentwurf.

Eine häufige Anforderung bei Quantenalgorithmen ist zum Beispiel die Initialisierung und Vorbereitung des Zustands. Was wäre, wenn die Vorbereitung des Zustands für vier Qubits so einfach wäre wie:

Dieser High-Level-Code wird automatisch - innerhalb von Sekunden - in einen funktionierenden Quantenschaltkreis übersetzt:

Ähnlich wie VHDL die Logikprogrammierung vereinfacht, vereinfacht dieser Ansatz die Quantenprogrammierung drastisch. Er hat mehrere wichtige Vorteile:

  • Erstellen Sie komplexe Algorithmen mit relativer Leichtigkeit. Die gatterbasierte Programmierung ist nicht skalierbar. Quantenteams haben heute große Schwierigkeiten, neue Algorithmen zu entwerfen. Eine hohe Darstellungssprache, die automatisch in einen funktionierenden Quantenschaltkreis synthetisiert wird, wird die Entwicklung neuer Algorithmen erheblich erleichtern.
  • Schnellerer Entwurf mit weniger Fehlern. Da sich der Designer auf die Absicht und nicht auf die Low-Level-Programmierung konzentriert, kann er schneller Ergebnisse erzielen. Da wichtige algorithmische Blöcke (wie z. B. die Zustandsvorbereitung) im Vorfeld von Experten erstellt und optimiert wurden, sind Programmierfehler weniger wahrscheinlich
  • Wiederverwendung von Code. Genau wie bei VHDL können Anbieter und Nutzer wiederverwendbare Bausteine erstellen, um gemeinsame Funktionen auszuführen: vom reisenden Verkäufer bis zum Grover-Algorithmus.
  • Leichtere Fehlersuche und Erklärbarkeit. Ein Algorithmus, der aus High-Level-Blöcken aufgebaut ist, ist leichter zu verstehen und zu debuggen.
  • Hardware-agnostisch. Die Konvertierung von Intent zu Gates berücksichtigt die spezifischen Einschränkungen jeder Hardwareplattform - wie etwa die Qubit-Konnektivität und die verfügbaren Operatoren - und ermöglicht einen schnelleren Übergang von einer Plattform zur anderen.

Der "DYIM"-Knopf ist zwar noch weit entfernt, aber die absichtsbasierte Programmierung wie die von Classiq verwendet High-Level-Modellierung und führt zu einer effizienten Erzeugung, Analyse und Fehlersuche von Quantenschaltungen. Das ist ein großer Schritt nach vorn, und wir hoffen, dass Sie uns auf dieser spannenden Reise begleiten können.

Als ich ein Kind war, stellte ich mir einen Computer vor, der nur eine große grüne Taste mit der Aufschrift "DWIM" hatte. Wenn ich diese "Do What I Mean"-Taste drückte, würde der Computer genau das tun: das tun, was ich von ihm wollte. Wir sind zwar noch nicht so weit, aber es vollzieht sich ein rascher Übergang von der Low-Level-Quantenprogrammierung zu höherwertigen Methoden, um die Absicht auszudrücken.

Wir haben gesehen, wie dieser Prozess bei der Entwicklung elektronischer Schaltungen abläuft. Nehmen wir eine einfache elektronische Schaltung: einen 4-Bit-Binärzähler. Wie würden Sie ihn am liebsten entwerfen? Option 1 (siehe Abbildung unten) zeigt diesen Zähler, der mit diskreten Gattern implementiert wurde. Option 2 zeigt eine Version dieses Zählers unter Verwendung von VHDL - einer Hochsprache für den Entwurf, die einen vorgefertigten Baustein verwendet.

Was wäre, wenn Sie anstelle eines 4-Bit-Zählers die 32-Bit-Version entwickeln müssten? Option 1 würde ziemlich groß werden, während Option 2 gleich bliebe. Was wäre, wenn Sie diese Schaltung von einer anderen Person erhalten würden und sie erklären müssten? Für die meisten Menschen wäre Option 2 viel besser lesbar und einfacher zu erklären. Wenn die Komplexität der Schaltung zunimmt, ist es attraktiver, die Absicht auszudrücken ("Ich möchte einen 8-Bit-UART"), als die Schaltung von Grund auf neu zu entwerfen

Option 1: Aus: Haghparast, Majid & Samadi Gharajeh, Mohammad. (2011). Entwurf eines nanometrischen reversiblen 4-Bit-Binärzählers mit paralleler Last. Australian Journal of Basic and Applied Sciences. 5. 63-71.
Option 2: Adaptiert von Xilinx 7 Series FPGA Libraries Guide for HDL Designs UG768 April 24, 2012

Das gleiche Konzept, das bei der Entwicklung von Hochgeschwindigkeitsschaltungen so erfolgreich ist, steht nun auch für die Quanteninformatik zur Verfügung. Es macht Spaß und ist lehrreich, eine einfache Quantenschaltung mit einer Handvoll Qubits und einigen parametrisierten Bausteinen zu erstellen. Die Lösung realer Probleme mit Dutzenden oder Hunderten von Qubits erfordert jedoch weniger Kodierung auf Gatterebene und einen effizienteren Algorithmusentwurf.

Eine häufige Anforderung bei Quantenalgorithmen ist zum Beispiel die Initialisierung und Vorbereitung des Zustands. Was wäre, wenn die Vorbereitung des Zustands für vier Qubits so einfach wäre wie:

Dieser High-Level-Code wird automatisch - innerhalb von Sekunden - in einen funktionierenden Quantenschaltkreis übersetzt:

Ähnlich wie VHDL die Logikprogrammierung vereinfacht, vereinfacht dieser Ansatz die Quantenprogrammierung drastisch. Er hat mehrere wichtige Vorteile:

  • Erstellen Sie komplexe Algorithmen mit relativer Leichtigkeit. Die gatterbasierte Programmierung ist nicht skalierbar. Quantenteams haben heute große Schwierigkeiten, neue Algorithmen zu entwerfen. Eine hohe Darstellungssprache, die automatisch in einen funktionierenden Quantenschaltkreis synthetisiert wird, wird die Entwicklung neuer Algorithmen erheblich erleichtern.
  • Schnellerer Entwurf mit weniger Fehlern. Da sich der Designer auf die Absicht und nicht auf die Low-Level-Programmierung konzentriert, kann er schneller Ergebnisse erzielen. Da wichtige algorithmische Blöcke (wie z. B. die Zustandsvorbereitung) im Vorfeld von Experten erstellt und optimiert wurden, sind Programmierfehler weniger wahrscheinlich
  • Wiederverwendung von Code. Genau wie bei VHDL können Anbieter und Nutzer wiederverwendbare Bausteine erstellen, um gemeinsame Funktionen auszuführen: vom reisenden Verkäufer bis zum Grover-Algorithmus.
  • Leichtere Fehlersuche und Erklärbarkeit. Ein Algorithmus, der aus High-Level-Blöcken aufgebaut ist, ist leichter zu verstehen und zu debuggen.
  • Hardware-agnostisch. Die Konvertierung von Intent zu Gates berücksichtigt die spezifischen Einschränkungen jeder Hardwareplattform - wie etwa die Qubit-Konnektivität und die verfügbaren Operatoren - und ermöglicht einen schnelleren Übergang von einer Plattform zur anderen.

Der "DYIM"-Knopf ist zwar noch weit entfernt, aber die absichtsbasierte Programmierung wie die von Classiq verwendet High-Level-Modellierung und führt zu einer effizienten Erzeugung, Analyse und Fehlersuche von Quantenschaltungen. Das ist ein großer Schritt nach vorn, und wir hoffen, dass Sie uns auf dieser spannenden Reise begleiten können.

Über "Der Podcast des Qubit-Typen"

Der Podcast wird von The Qubit Guy (Yuval Boger, unser Chief Marketing Officer) moderiert. In ihm diskutieren Vordenker der Quanteninformatik über geschäftliche und technische Fragen, die das Ökosystem der Quanteninformatik betreffen. Unsere Gäste geben interessante Einblicke in Quantencomputer-Software und -Algorithmen, Quantencomputer-Hardware, Schlüsselanwendungen für Quantencomputer, Marktstudien der Quantenindustrie und vieles mehr.

Wenn Sie einen Gast für den Podcast vorschlagen möchten, kontaktieren Sie uns bitte .

Siehe auch

Keine Artikel gefunden.

Erstellen Sie Quantensoftware ohne Grenzen 

Kontakt