Zum Hauptinhalt springen

Variationale Algorithmen

Bevor du beginnst, fülle bitte diese kurze Umfrage vor dem Kurs aus – sie ist wichtig, um unsere Inhalte und die Nutzererfahrung zu verbessern.

Dieser Kurs behandelt die Grundlagen variationaler Algorithmen und kurzfristige hybrid quantenklassische Algorithmen, die auf dem Variationsprinzip der Quantenmechanik basieren. Diese Algorithmen können den Nutzen heutiger nicht-fehlertoleranter Quantencomputer ausschöpfen und sind daher ideale Kandidaten für das Erreichen eines Quantenvorteils.

Im Verlauf dieses Kurses werden wir Folgendes erkunden:

  • Jeden Schritt im Workflow des variationalen Algorithmendesigns
  • Kompromisse bei jedem Schritt
  • Wie man Qiskit Runtime Primitives nutzt, um Geschwindigkeit und Genauigkeit zu optimieren

Während dieser Kurs als Einstiegspunkt für Forschende und Entwickler gedacht ist, die den Nutzen von Quantencomputern erkunden möchten, kannst du das theoretische und grundlegende Wissen rund um das Quantencomputing allgemein in Basics of Quantum Information and Computation vertiefen (auch verfügbar als YouTube-Videoserie).

Vereinfachter hybrider Arbeitsablauf

Ablauf eines variationalen Algorithmus mit den Schritten: Problem initialisieren, Ansatz vorbereiten, Kostenfunktion auswerten, Parameter optimieren. Variationale Algorithmen umfassen mehrere modulare Komponenten, die basierend auf Algorithmus-, Software- und Hardware-Fortschritten kombiniert und optimiert werden können. Dazu gehören eine Kostenfunktion, die ein spezifisches Problem mit einem Satz von Parametern beschreibt, ein Ansatz, um den Suchraum mit diesen Parametern auszudrücken, und ein Optimierer, der den Suchraum iterativ erkundet. In jeder Iteration wertet der Optimierer die Kostenfunktion mit den aktuellen Parametern aus und wählt die Parameter der nächsten Iteration, bis er zu einer optimalen Lösung konvergiert. Der hybride Charakter dieser Algorithmenklasse ergibt sich daraus, dass die Kostenfunktionen mit Quantenressourcen ausgewertet und mit klassischen Ressourcen optimiert werden.

  1. Problem initialisieren: Variationale Algorithmen beginnen damit, den Quantencomputer in einem Standardzustand 0|0\rangle zu initialisieren und ihn dann in einen gewünschten (nicht-parametrisierten) Zustand ρ|\rho\rangle zu transformieren, den wir Referenzzustand nennen.

    Diese Transformation wird durch die Anwendung eines unitären Referenzoperators URU_R auf den Standardzustand dargestellt, sodass UR0=ρU_R|0\rangle = |\rho\rangle.

  2. Ansatz vorbereiten: Um ausgehend vom Standardzustand 0|0\rangle iterativ zum Zielzustand ψ(θ)|\psi(\vec\theta)\rangle zu optimieren, müssen wir eine Variationsform UV(θ)U_V(\vec\theta) definieren, die eine Sammlung parametrisierter Zustände für unseren variationalen Algorithmus zum Erkunden darstellt.

    Wir bezeichnen jede bestimmte Kombination aus Referenzzustand und Variationsform als Ansatz: UA(θ):=UV(θ)URU_A(\vec\theta) := U_V(\vec\theta) U_R. Ansätze nehmen letztlich die Form parametrisierter Quantencircuits an, die in der Lage sind, den Standardzustand 0|0\rangle in den Zielzustand ψ(θ)|\psi(\vec\theta)\rangle zu überführen.

    Insgesamt ergibt sich:

    0URUR0=ρUV(θ)UA(θ)0=UV(θ)UR0=UV(θ)ρ=ψ(θ)\begin{aligned} |0\rangle \xrightarrow{U_R} U_R|0\rangle & = |\rho\rangle \xrightarrow{U_V(\vec{\theta})} U_A(\vec{\theta})|0\rangle \\[1mm] & = U_V(\vec{\theta})U_R|0\rangle \\[1mm] & = U_V(\vec{\theta})|\rho\rangle \\[1mm] & = |\psi(\vec{\theta})\rangle \\[1mm] \end{aligned}
  3. Kostenfunktion auswerten: Wir können unser Problem in einer Kostenfunktion C(θ)C(\vec\theta) als Linearkombination von Pauli-Operatoren kodieren, die auf einem Quantensystem ausgeführt wird. Während dies Informationen über ein physikalisches System sein können, wie Energie oder Spin, können wir auch nicht-physikalische Probleme kodieren. Wir können Qiskit Runtime Primitives nutzen, um mit Fehlersuppression und Fehlerminderung Rauschen zu begegnen, während wir unsere Kostenfunktion auswerten.

  4. Parameter optimieren: Die Auswertungen werden an einen klassischen Computer übergeben, wo ein klassischer Optimierer sie analysiert und den nächsten Satz von Werten für die variationalen Parameter auswählt. Wenn wir eine bereits vorhandene optimale Lösung haben, können wir diese als Anfangspunkt θ0\vec\theta_0 setzen, um unsere Optimierung zu bootstrappen. Die Verwendung dieses Anfangszustands ψ(θ0)|\psi(\vec\theta_0)\rangle kann unserem Optimierer helfen, schneller eine gültige Lösung zu finden.

  5. Ansatz-Parameter mit Ergebnissen anpassen und neu ausführen: Der gesamte Prozess wird wiederholt, bis die Abbruchkriterien des klassischen Optimierers erfüllt sind und ein optimaler Satz von Parameterwerten θ\vec\theta^* zurückgegeben wird. Der vorgeschlagene Lösungszustand für unser Problem ist dann ψ(θ)=UA(θ)0|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle.

Variationsprinzip

Ein häufiges Ziel variationaler Algorithmen ist es, den Quantenzustand mit dem niedrigsten oder höchsten Eigenwert einer bestimmten Observablen zu finden. Eine zentrale Erkenntnis, die wir nutzen werden, ist das Variationsprinzip der Quantenmechanik. Bevor wir seine vollständige Formulierung betrachten, erkunden wir die mathematische Intuition dahinter.

Mathematische Intuition für Energie und Grundzustände

In der Quantenmechanik tritt Energie in Form einer quantenmechanischen Observablen auf, die üblicherweise als Hamilton-Operator bezeichnet und mit H^\hat{\mathcal{H}} notiert wird. Betrachten wir seine Spektralzerlegung:

H^=k=0N1λkϕkϕk\hat{\mathcal{H}} = \sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|

Dabei ist NN die Dimensionalität des Zustandsraums, λk\lambda_{k} der kk-te Eigenwert oder physikalisch das kk-te Energieniveau, und ϕk|\phi_k\rangle ist der entsprechende Eigenzustand: H^ϕk=λkϕk\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle. Die erwartete Energie eines Systems im (normierten) Zustand ψ|\psi\rangle beträgt:

ψH^ψ=ψ(k=0N1λkϕkϕk)ψ=k=0N1λkψϕkϕkψ=k=0N1λkψϕk2\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \langle \psi |\bigg(\sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|\bigg) | \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k \langle \psi |\phi_k\rangle \langle \phi_k| \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] \end{aligned}

Berücksichtigen wir, dass λ0λk,k\lambda_0\leq \lambda_k, \forall k gilt, ergibt sich:

ψH^ψ=k=0N1λkψϕk2k=0N1λ0ψϕk2=λ0k=0N1ψϕk2=λ0\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] & \geq \sum_{k=0}^{N-1} \lambda_0 |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \\[1mm] \end{aligned}

Da {ϕk}k=0N1\{|\phi_k\rangle \}_{k=0}^{N-1} eine orthonormale Basis ist, beträgt die Wahrscheinlichkeit, ϕk|\phi_{k} \rangle zu messen, pk=ψϕk2p_k = |\langle \psi |\phi_{k} \rangle |^2, und die Summe aller Wahrscheinlichkeiten erfüllt k=0N1ψϕk2=k=0N1pk=1\sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 = \sum_{k=0}^{N-1}p_k = 1. Kurz gesagt: Die erwartete Energie jedes Systems liegt über der niedrigsten Energie oder Grundzustandsenergie:

ψH^ψλ0.\langle \psi | \hat{\mathcal{H}} | \psi \rangle \geq \lambda_0.

Das obige Argument gilt für jeden gültigen (normierten) Quantenzustand ψ|\psi\rangle, sodass es durchaus möglich ist, parametrisierte Zustände ψ(θ)|\psi(\vec\theta)\rangle zu betrachten, die von einem Parametervektor θ\vec\theta abhängen. Hier kommt der „variationale" Aspekt ins Spiel. Wenn wir eine Kostenfunktion C(θ):=ψ(θ)H^ψ(θ)C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle betrachten und diese minimieren möchten, wird das Minimum stets folgende Bedingung erfüllen:

minθC(θ)=minθψ(θ)H^ψ(θ)λ0.\min_{\vec\theta} C(\vec\theta) = \min_{\vec\theta} \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle \geq \lambda_0.

Der Minimalwert von C(θ)C(\vec\theta) ist das Nächste, was man mit den parametrisierten Zuständen ψ(θ)|\psi(\vec\theta)\rangle an λ0\lambda_0 herankommen kann. Gleichheit wird nur dann erreicht, wenn ein Parametervektor θ\vec\theta^* existiert, sodass ψ(θ)=ϕ0|\psi(\vec\theta^*)\rangle = |\phi_0\rangle.

Variationsprinzip der Quantenmechanik

Wenn der (normierte) Zustand ψ|\psi\rangle eines Quantensystems von einem Parametervektor θ\vec\theta abhängt, ist die optimale Näherung des Grundzustands (d.h. des Eigenzustands ϕ0|\phi_0\rangle mit dem minimalen Eigenwert λ0\lambda_0) derjenige, der den Erwartungswert des Hamilton-Operators H^\hat{\mathcal{H}} minimiert:

H^(θ):=ψ(θ)H^ψ(θ)λ0\langle \hat{\mathcal{H}} \rangle(\vec\theta) := \langle \psi(\vec\theta) |\hat{\mathcal{H}}| \psi(\vec\theta) \rangle \geq \lambda_0

Der Grund, warum das Variationsprinzip in Begriffen von Energieminima formuliert wird, liegt in einer Reihe mathematischer Annahmen:

  • Aus physikalischen Gründen muss eine endliche untere Schranke für die Energie Eλ0>E \geq \lambda_0 > -\infty existieren, auch für NN\rightarrow\infty.
  • Obere Schranken existieren im Allgemeinen nicht.

Mathematisch gesehen gibt es jedoch nichts Besonderes am Hamilton-Operator H^\hat{\mathcal{H}} jenseits dieser Annahmen, sodass das Theorem auf andere Quantenobservablen und ihre Eigenzustände verallgemeinert werden kann, sofern sie denselben Einschränkungen folgen. Beachte außerdem: Wenn endliche obere Schranken existieren, könnten dieselben mathematischen Argumente zur Maximierung von Eigenwerten angewendet werden, indem untere durch obere Schranken ersetzt werden.

Zusammenfassung

In dieser Lektion hast du einen Überblick über variationale Algorithmen auf hoher Ebene erhalten. In den folgenden Lektionen werden wir jeden Schritt im Detail erkunden und die damit verbundenen Kompromisse untersuchen.