Künstliche Intelligenz
Quantencomputing: Optimierungsalgorithmus QAOA als serverlose Anwendung
Wer heute für Quantencomputer programmiert, sieht sich mit Systemen konfrontiert, die an vielem kranken. Zum einen sind die Zahl der Qubits und ihre Verschränkungsmöglichkeiten untereinander begrenzt. Zwei beliebige Qubits lassen sich nicht immer direkt mit einem Gatter verknüpfen. Stattdessen muss die Verbindung über Umwege hergestellt werden, was einen längeren Schaltkreis nach sich zieht. Hinzu kommen typische Fehlerquellen wie das Rauschen im Quantencomputer, das die sensiblen Quantenzustände kollabieren lässt, oder die geringe Treue oder Fidelity der Gatter, also ihre Zuverlässigkeit.
All diese Schwächen hindern viele Schlüsselalgorithmen daran, in ihrer gesamten Tragweite zur Geltung zu kommen. Als Workarounds gelten deshalb vor allem hybride Ansätze, die sowohl klassische Systeme als auch Quantencomputer einbeziehen. Das verkürzt die Laufzeit auf der Quantenhardware, wodurch die Fehleranfälligkeit sinkt. Ein Vertreter dieser hybriden Ansätze ist QAOA (Quantum Approximation Optimization Algorithm). In der Artikelreihe soll er den maximalen Schnitt eines Graphen finden. Sein Herzstück ist ein Quantenschaltkreis, der, auf ein Quantenregister angewendet, den Zustand |β,γ⟩ erzeugt.
- Der Optimierungsalgorithmus QAOA verbindet klassische Rechner mit Quantenhardware, um Optimierungsprobleme zu lösen.
- QAOA lässt sich in einer hybriden Cloud-Umgebung wie Azure implementieren, die sowohl Quantencomputing- als auch klassische Rechenressourcen bereitstellt.
- Für die Implementierung einer serverlosen Anwendung nutzt das Beispiel Python, Q# und Azure Functions.
- Sessions in Azure Quantum helfen bei der Entwicklung hybrider Algorithmen.
- Terraform stellt die gesamte Infrastruktur bereit.
In diesem Artikel wird der Algorithmus in der Azure-Cloud implementiert . Für die klassischen Rechenressourcen zeichnet Azure Functions verantwortlich, Azure Quantum führt den Q#-Code aus und das Zusammenbauen der Infrastruktur übernimmt Terraform. Erfahrung in der Softwareentwicklung mit Python und Azure ist hilfreich, aber kein Muss. Sämtlicher Code zu diesem Artikel findet sich auf GitHub.
Das war die Leseprobe unseres heise-Plus-Artikels „Quantencomputing: Optimierungsalgorithmus QAOA als serverlose Anwendung“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.