Przejdź do głównej treści
Ten projekt jest w wersji beta. Znalazłeś błąd? Otwórz zgłoszenie na GitHub. Masz pytanie lub pomysł? Zapytaj w Discussions — chętnie poznamy Twoją opinię!
Jak oceniasz jakość tłumaczenia tej strony?

Algorytmy wariacyjne

Ten kurs omawia szczegóły algorytmów wariacyjnych i krótkoterminowych hybrydowych algorytmów kwantowo-klasycznych opartych na twierdzeniu wariacyjnym mechaniki kwantowej. Algorytmy te mogą wykorzystywać możliwości dzisiejszych komputerów kwantowych nieodpornych na błędy, co czyni je idealnymi kandydatami do osiągnięcia przewagi kwantowej.

W trakcie tego kursu zbadasz:

  • Każdy krok w przepływie pracy projektowania algorytmów wariacyjnych

  • Kompromisy związane z każdym krokiem

  • Jak używać prymitywów IBM Quantum do optymalizacji szybkości i dokładności

Choć ten kurs jest punktem wyjścia dla badaczy i deweloperów chcących odkrywać możliwości komputerów kwantowych, możesz też swobodnie zgłębiać wiedzę teoretyczną i podstawy informatyki kwantowej w ogólności w kursie Podstawy informacji i obliczeń kwantowych (dostępnym również jako seria filmów na YouTube).

Uproszczony przepływ pracy hybrydowej​

Flow of a variational algorithm showing steps: initialize problem, prepare ansatz, evaluate cost function, optimize parameters. Algorytmy wariacyjne obejmują kilka modułowych komponentów, które można łączyć i optymalizować w zależności od postępów w algorytmach, oprogramowaniu i sprzęcie. Należą do nich: funkcja kosztu opisująca konkretny problem z zestawem parametrów, ansatz wyrażający przestrzeń poszukiwań przy użyciu tych parametrów oraz optymalizator iteracyjnie eksplorujący tę przestrzeń. W każdej iteracji optymalizator ocenia funkcję kosztu dla bieżących parametrów i wybiera parametry do następnej iteracji, aż zbiegnie się do optymalnego rozwiązania. Hybrydowy charakter tej rodziny algorytmów wynika z faktu, że funkcje kosztu są obliczane przy użyciu zasobów kwantowych, a optymalizowane za pomocą zasobów klasycznych.

  1. Zainicjuj problem: Algorytmy wariacyjne zaczynają od zainicjowania komputera kwantowego w stanie domyślnym ∣0⟩|0\rangle, a następnie przekształcenia go do pewnego pożądanego (nieparametryzowanego) stanu ∣ρ⟩|\rho\rangle, który będziemy nazywać stanem referencyjnym.

    To przekształcenie jest reprezentowane przez zastosowanie unitarnego operatora referencyjnego URU_R na stanie domyślnym, tak że UR∣0⟩=∣ρ⟩U_R|0\rangle = |\rho\rangle.

  2. Przygotuj ansatz: Aby iteracyjnie optymalizować od stanu domyślnego ∣0⟩|0\rangle do stanu docelowego ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle, musisz zdefiniować formę wariacyjną UV(θ⃗)U_V(\vec\theta) reprezentującą zbiór stanów parametryzowanych, które algorytm wariacyjny będzie eksplorować.

    Dowolną kombinację stanu referencyjnego i formy wariacyjnej nazywamy ansatz, tak że: UA(θ⃗):=UV(θ⃗)URU_A(\vec\theta) := U_V(\vec\theta) U_R. Ansatze przyjmą ostatecznie postać parametryzowanych Circuit kwantowych zdolnych do przekształcenia stanu domyślnego ∣0⟩|0\rangle w stan docelowy ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle.

    Podsumowując, będziemy mieć:

    ∣0⟩→URUR∣0⟩=∣ρ⟩→UV(θ⃗)UA(θ⃗)∣0⟩=UV(θ⃗)UR∣0⟩=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. Oceń funkcję kosztu: Problem można zakodować w funkcji kosztu C(θ⃗)C(\vec\theta) jako liniową kombinację operatorów Pauli, uruchomioną na systemie kwantowym. Choć mogą to być informacje o układzie fizycznym, takie jak energia lub spin, można również kodować problemy niefizyczne. Możesz korzystać z prymitywów IBM Quantum, aby radzić sobie z szumem za pomocą tłumienia i łagodzenia błędów podczas obliczania funkcji kosztu.

  4. Zoptymalizuj parametry: Wyniki są przekazywane do komputera klasycznego, gdzie klasyczny optymalizator analizuje je i wybiera kolejny zestaw wartości parametrów wariacyjnych. Jeśli masz gotowe optymalne rozwiązanie wstępne, możesz ustawić je jako punkt startowy θ⃗0\vec\theta_0, aby przyspieszyć optymalizację. Użycie tego stanu początkowego ∣ψ(θ⃗0)⟩|\psi(\vec\theta_0)\rangle może pomóc optymalizatorowi szybciej znaleźć poprawne rozwiązanie.

  5. Dostosuj parametry ansatz na podstawie wyników i uruchom ponownie: Cały proces jest powtarzany, aż zostaną spełnione kryteria zakończenia klasycznego optymalizatora i zostanie zwrócony optymalny zestaw wartości parametrów θ⃗∗\vec\theta^*. Proponowany stan rozwiązania naszego problemu będzie wtedy ∣ψ(θ⃗∗)⟩=UA(θ⃗∗)∣0⟩|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle.

Twierdzenie wariacyjne​

Częstym celem algorytmów wariacyjnych jest znalezienie stanu kwantowego o najniższej lub najwyższej wartości własnej pewnej obserwowalnej. Kluczowym spostrzeżeniem, z którego będziemy korzystać, jest twierdzenie wariacyjne mechaniki kwantowej. Zanim przejdziemy do jego pełnego sformułowania, przeanalizujmy matematyczną intuicję leżącą u jego podstaw.

Matematyczna intuicja dla energii i stanów podstawowych​

W mechanice kwantowej energia ma postać kwantowej obserwowalnej, którą zazwyczaj nazywamy Hamiltonianem, oznaczanym przez H^\hat{\mathcal{H}}. Rozważmy jego rozkład spektralny:

H^=∑k=0N−1λk∣ϕk⟩⟨ϕk∣\hat{\mathcal{H}} = \sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|

gdzie NN jest wymiarem przestrzeni stanów, λk\lambda_{k} jest kk-tą wartością własną lub, fizycznie, kk-tym poziomem energetycznym, a ∣ϕk⟩|\phi_k\rangle jest odpowiednim stanem własnym: H^∣ϕk⟩=λk∣ϕk⟩\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle; oczekiwana energia układu w (znormalizowanym) stanie ∣ψ⟩|\psi\rangle wyniesie:

⟨ψ∣H^∣ψ⟩=⟨ψ∣(∑k=0N−1λk∣ϕk⟩⟨ϕk∣)∣ψ⟩=∑k=0N−1λk⟨ψ∣ϕk⟩⟨ϕk∣ψ⟩=∑k=0N−1λk∣⟨ψ∣ϕk⟩∣2\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}

Uwzględniając, że λ0≤λk,∀k\lambda_0\leq \lambda_k, \forall k, mamy:

⟨ψ∣H^∣ψ⟩=∑k=0N−1λk∣⟨ψ∣ϕk⟩∣2≥∑k=0N−1λ0∣⟨ψ∣ϕk⟩∣2=λ0∑k=0N−1∣⟨ψ∣ϕk⟩∣2=λ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}

Ponieważ {∣ϕk⟩}k=0N−1\{|\phi_k\rangle \}_{k=0}^{N-1} jest bazą ortonormalną, prawdopodobieństwo zmierzenia ∣ϕk⟩|\phi_{k} \rangle wynosi pk=∣⟨ψ∣ϕk⟩∣2p_k = |\langle \psi |\phi_{k} \rangle |^2, a suma wszystkich prawdopodobieństw spełnia ∑k=0N−1∣⟨ψ∣ϕk⟩∣2=∑k=0N−1pk=1\sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 = \sum_{k=0}^{N-1}p_k = 1. Krótko mówiąc, oczekiwana energia dowolnego układu jest wyższa niż najniższa energia, czyli energia stanu podstawowego:

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

Powyższy argument stosuje się do dowolnego poprawnego (znormalizowanego) stanu kwantowego ∣ψ⟩|\psi\rangle, więc można rozważać stany parametryzowane ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle zależące od wektora parametrów θ⃗\vec\theta. Tu właśnie pojawia się „wariacyjna" część. Jeśli weźmiemy funkcję kosztu zadaną przez C(θ⃗):=⟨ψ(θ⃗)∣H^∣ψ(θ⃗)⟩C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle i chcemy ją zminimalizować, minimum zawsze spełnia:

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.

Minimalna wartość C(θ⃗)C(\vec\theta) będzie najbliższą wartością λ0\lambda_0 osiągalną za pomocą stanów parametryzowanych ∣ψ(θ⃗)⟩|\psi(\vec\theta)\rangle, a równość zostanie osiągnięta tylko wtedy, gdy istnieje wektor parametrów θ⃗∗\vec\theta^* taki, że ∣ψ(θ⃗∗)⟩=∣ϕ0⟩|\psi(\vec\theta^*)\rangle = |\phi_0\rangle.

Twierdzenie wariacyjne mechaniki kwantowej​

Jeśli (znormalizowany) stan ∣ψ⟩|\psi\rangle układu kwantowego zależy od wektora parametrów θ⃗\vec\theta, to optymalne przybliżenie stanu podstawowego (czyli stanu własnego ∣ϕ0⟩|\phi_0\rangle o minimalnej wartości własnej λ0\lambda_0) to takie, które minimalizuje wartość oczekiwaną Hamiltonianu H^\hat{\mathcal{H}}:

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

Twierdzenie wariacyjne jest sformułowane w kategoriach minimów energii, ponieważ zawiera szereg założeń matematycznych:

  • Ze względów fizycznych musi istnieć skończone dolne ograniczenie energii E≥λ0>−∞E \geq \lambda_0 > -\infty, nawet dla N→∞N\rightarrow\infty.

  • Górne ograniczenia na ogół nie istnieją.

Jednak z matematycznego punktu widzenia nie ma nic szczególnego w Hamiltonianie H^\hat{\mathcal{H}} poza tymi założeniami, więc twierdzenie można uogólnić na inne kwantowe obserwowalne i ich stany własne, o ile spełniają te same ograniczenia. Należy również zauważyć, że jeśli istnieją skończone górne ograniczenia, te same argumenty matematyczne można zastosować do maksymalizacji wartości własnych, zamieniając dolne ograniczenia na górne.

Podsumowanie​

W tej lekcji poznałeś ogólny obraz algorytmów wariacyjnych. W kolejnych lekcjach zbadamy szczegółowo każdy krok oraz związane z nim kompromisy.