Przejdź do głównej treści

Algorytmy wariacyjne

Zanim zaczniesz, wypełnij tę krótką ankietę przed kursem, która pomoże nam ulepszać nasze materiały i doświadczenia użytkowników.

Note: This survey is provided by IBM Quantum and relates to the original English content. To give feedback on doQumentation's website, translations, or code execution, please open a GitHub issue.

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 Qiskit Runtime 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 UR0=ρ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ć:

    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. 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 Qiskit Runtime, 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=0N1λ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=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}

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

ψ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}

Ponieważ {ϕk}k=0N1\{|\phi_k\rangle \}_{k=0}^{N-1} jest bazą ortonormalną, prawdopodobieństwo zmierzenia ϕk|\phi_{k} \rangle wynosi pk=ψϕk2p_k = |\langle \psi |\phi_{k} \rangle |^2, a suma wszystkich prawdopodobieństw spełnia 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. 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 NN\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.