Blog

Umkehrung des Drehbuchs für die Entwicklung von Quantensoftware

3
Januar
,
2022

Ich stieß auf diesen PLOS ONE-Artikel aus dem Jahr 2018 über "Open-Source-Software im Quantencomputing" und konzentrierte mich auf das Diagramm, das den gesamten Softwareentwicklungsprozess darstellt.

doi: https://doi.org/10.1371/journal.pone.0208561.g001

Der ganz linke Teil (Definition des Problems) ist selbsterklärend. Wenn man nicht weiß, welches Problem man zu lösen versucht ("die beste Route finden", "den Grundzustand eines Moleküls bestimmen", "den Wert einer Finanzoption berechnen"), ist es schwer zu rechtfertigen, einen Quantencomputer dafür einzusetzen.

Die Erstellung des rechten Teils (des Compilers und/oder Transpilers) ist ein schwieriges Problem, für das in den meisten Fällen der Hardwareanbieter zuständig ist. Da der Hardware-Anbieter am besten weiß, welche Konnektivität sein Computer hat, wie der native Gattersatz aussieht, welche Rausch- und Kohärenzmerkmale er hat und welche einzigartigen Fähigkeiten die Hardware besitzt, ist er am besten in der Lage, einen Compiler zu erstellen. Für den Compiler könnte es von Vorteil sein, mehr zu wissen als nur "hier sind die Gatter, die ich kompilieren möchte", aber das ist eine Diskussion für einen anderen Tag.

Die Umsetzung des Problems in einen Quantenschaltkreis ist ein wirklich schwieriges Problem, vor allem, wenn die Probleme und die Schaltkreise größer und komplexer werden.

Der typische Prozess sieht heute etwa so aus:

Stromfluss für die Entwicklung von Quantensoftware

Sobald das Problem definiert und in einzelne Schritte aufgeteilt ist, sucht der Quanten-Software-Ingenieur nach bereits vorhandenen Schaltungen, die jeden Schritt umsetzen. Der Designer nimmt manuelle Änderungen vor, um die Blöcke an den spezifischen Anwendungsfall anzupassen. Er arbeitet hart daran, die einzelnen Blöcke miteinander zu verbinden und sie so zu optimieren, dass sie sowohl in die verfügbaren Quantenressourcen als auch in die Leistungs- und Genauigkeitsziele passen. Sobald eine Gate-Level-Schaltung verfügbar ist, wird sie schließlich an den Compiler/Transpiler zur Ausführung auf einem Simulator oder einem Quantenprozessor weitergeleitet.

Das Problem ist, dass die meisten dieser Schritte manuell durchgeführt werden müssen. Infolgedessen sind sie fehleranfällig, und der Designer - selbst wenn er ein Weltklasse-Exporteur ist - kann vernünftigerweise nur einen kleinen Teil der Implementierungsoptionen prüfen, nur einen kleinen Teil der verfügbaren Optimierungen durchführen und könnte nach einigen Tagen oder Wochen dieses Problems müde und überdrüssig werden.

Der Classiq-Ansatz ist anders. Er beruht auf zwei einfachen Erkenntnissen: 1) Die Entwicklung von Quantenschaltungen ist schwierig; und 2) es gibt einige Aufgaben, bei denen Computer - klassische Computer - den Menschen drastisch übertreffen können.

Der Classiq-Ansatz besteht daher darin, das Drehbuch umzudrehen. Anstatt einen Menschen die meisten Schritte in diesem Prozess ausführen zu lassen, definiert ein Mensch das Problem und zerlegt es in miteinander verbundene Funktionsschritte. Von diesem Zeitpunkt an läuft der Prozess vollautomatisch und dennoch schneller und besser ab:

Fluss der nächsten Generation für die Entwicklung von Quantensoftware

Der menschliche Konstrukteur gibt dem Computer Anweisungen, was zu tun ist, und prüft dann die Ergebnisse (und ändert bei Bedarf die Parameter oder Beschränkungen). Der Mensch behält die volle Kontrolle, aber der Computer beschleunigt und verbessert die Arbeit dramatisch.

Setzen Sie sich noch heute mit uns in Verbindung, um zu erfahren, wie Classiq Ihre Quantisierungsbemühungen beschleunigen kann.

Ich stieß auf diesen PLOS ONE-Artikel aus dem Jahr 2018 über "Open-Source-Software im Quantencomputing" und konzentrierte mich auf das Diagramm, das den gesamten Softwareentwicklungsprozess darstellt.

doi: https://doi.org/10.1371/journal.pone.0208561.g001

Der ganz linke Teil (Definition des Problems) ist selbsterklärend. Wenn man nicht weiß, welches Problem man zu lösen versucht ("die beste Route finden", "den Grundzustand eines Moleküls bestimmen", "den Wert einer Finanzoption berechnen"), ist es schwer zu rechtfertigen, einen Quantencomputer dafür einzusetzen.

Die Erstellung des rechten Teils (des Compilers und/oder Transpilers) ist ein schwieriges Problem, für das in den meisten Fällen der Hardwareanbieter zuständig ist. Da der Hardware-Anbieter am besten weiß, welche Konnektivität sein Computer hat, wie der native Gattersatz aussieht, welche Rausch- und Kohärenzmerkmale er hat und welche einzigartigen Fähigkeiten die Hardware besitzt, ist er am besten in der Lage, einen Compiler zu erstellen. Für den Compiler könnte es von Vorteil sein, mehr zu wissen als nur "hier sind die Gatter, die ich kompilieren möchte", aber das ist eine Diskussion für einen anderen Tag.

Die Umsetzung des Problems in einen Quantenschaltkreis ist ein wirklich schwieriges Problem, vor allem, wenn die Probleme und die Schaltkreise größer und komplexer werden.

Der typische Prozess sieht heute etwa so aus:

Stromfluss für die Entwicklung von Quantensoftware

Sobald das Problem definiert und in einzelne Schritte aufgeteilt ist, sucht der Quanten-Software-Ingenieur nach bereits vorhandenen Schaltungen, die jeden Schritt umsetzen. Der Designer nimmt manuelle Änderungen vor, um die Blöcke an den spezifischen Anwendungsfall anzupassen. Er arbeitet hart daran, die einzelnen Blöcke miteinander zu verbinden und sie so zu optimieren, dass sie sowohl in die verfügbaren Quantenressourcen als auch in die Leistungs- und Genauigkeitsziele passen. Sobald eine Gate-Level-Schaltung verfügbar ist, wird sie schließlich an den Compiler/Transpiler zur Ausführung auf einem Simulator oder einem Quantenprozessor weitergeleitet.

Das Problem ist, dass die meisten dieser Schritte manuell durchgeführt werden müssen. Infolgedessen sind sie fehleranfällig, und der Designer - selbst wenn er ein Weltklasse-Exporteur ist - kann vernünftigerweise nur einen kleinen Teil der Implementierungsoptionen prüfen, nur einen kleinen Teil der verfügbaren Optimierungen durchführen und könnte nach einigen Tagen oder Wochen dieses Problems müde und überdrüssig werden.

Der Classiq-Ansatz ist anders. Er beruht auf zwei einfachen Erkenntnissen: 1) Die Entwicklung von Quantenschaltungen ist schwierig; und 2) es gibt einige Aufgaben, bei denen Computer - klassische Computer - den Menschen drastisch übertreffen können.

Der Classiq-Ansatz besteht daher darin, das Drehbuch umzudrehen. Anstatt einen Menschen die meisten Schritte in diesem Prozess ausführen zu lassen, definiert ein Mensch das Problem und zerlegt es in miteinander verbundene Funktionsschritte. Von diesem Zeitpunkt an läuft der Prozess vollautomatisch und dennoch schneller und besser ab:

Fluss der nächsten Generation für die Entwicklung von Quantensoftware

Der menschliche Konstrukteur gibt dem Computer Anweisungen, was zu tun ist, und prüft dann die Ergebnisse (und ändert bei Bedarf die Parameter oder Beschränkungen). Der Mensch behält die volle Kontrolle, aber der Computer beschleunigt und verbessert die Arbeit dramatisch.

Setzen Sie sich noch heute mit uns in Verbindung, um zu erfahren, wie Classiq Ihre Quantisierungsbemühungen beschleunigen kann.

Ü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