Sari la conținutul principal

Algoritmi variaționali

Înainte de a începe, te rog să completezi acest scurt sondaj pre-curs, care este important pentru a ne ajuta să îmbunătățim ofertele de conținut și experiența utilizatorilor.

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.

Acest curs acoperă specificul algoritmilor variaționali și al algoritmilor hibride cuantic-clasici de scurtă durată, bazați pe teorema variațională a mecanicii cuantice. Acești algoritmi pot valorifica utilitatea oferită de computerele cuantice actuale, non-tolerante la erori, făcându-i candidați ideali pentru a obține avantaj cuantic.

Pe parcursul acestui curs, vom explora:

  • Fiecare pas din fluxul de lucru al designului algoritmului variațional
  • Compromisurile asociate cu fiecare pas
  • Cum să folosești primitivele Qiskit Runtime pentru a optimiza viteza și acuratețea

Deși acest curs este menit să fie un punct de plecare pentru cercetători și dezvoltatori care doresc să exploreze utilitatea computerelor cuantice, nu ezita să explorezi cunoștințele teoretice și fundamentale despre calculul cuantic în general în Bazele informației și calculului cuantic (disponibil și ca o serie de videoclipuri YouTube).

Flux hibrid simplificat

Flow of a variational algorithm showing steps: initialize problem, prepare ansatz, evaluate cost function, optimize parameters. Algoritmii variaționali includ mai multe componente modulare care pot fi combinate și optimizate pe baza progreselor algoritmice, software și hardware. Aceasta include o funcție de cost care descrie o problemă specifică cu un set de parametri, un ansatz pentru a exprima spațiul de căutare cu acești parametri și un optimizer pentru a explora iterativ spațiul de căutare. La fiecare iterație, optimizatorul evaluează funcția de cost cu parametrii curenți și selectează parametrii pentru iterația următoare până când converge spre o soluție optimă. Natura hibridă a acestei familii de algoritmi provine din faptul că funcțiile de cost sunt evaluate folosind resurse cuantice și optimizate prin resurse clasice.

  1. Inițializarea problemei: Algoritmii variaționali încep prin inițializarea computerului cuantic într-o stare implicită 0|0\rangle, apoi transformând-o într-o stare dorită (neparametrizată) ρ|\rho\rangle, pe care o vom numi stare de referință.

    Această transformare este reprezentată de aplicarea unui operator de referință unitar URU_R asupra stării implicite, astfel încât UR0=ρU_R|0\rangle = |\rho\rangle.

  2. Pregătirea ansatz-ului: Pentru a începe optimizarea iterativă de la starea implicită 0|0\rangle la starea țintă ψ(θ)|\psi(\vec\theta)\rangle, trebuie să definim o formă variațională UV(θ)U_V(\vec\theta) pentru a reprezenta o colecție de stări parametrizate pe care algoritmul nostru variațional să le exploreze.

    Ne referim la orice combinație particulară de stare de referință și formă variațională ca ansatz, astfel încât: UA(θ):=UV(θ)URU_A(\vec\theta) := U_V(\vec\theta) U_R. Ansatze vor lua în cele din urmă forma unor circuite cuantice parametrizate capabile să ducă starea implicită 0|0\rangle la starea țintă ψ(θ)|\psi(\vec\theta)\rangle.

    În total, vom avea:

    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. Evaluarea funcției de cost: Putem codifica problema noastră într-o funcție de cost C(θ)C(\vec\theta) ca o combinație liniară de operatori Pauli, rulată pe un sistem cuantic. Deși aceasta poate fi informație despre un sistem fizic, cum ar fi energia sau spinul, putem codifica și probleme non-fizice. Putem folosi primitivele Qiskit Runtime pentru a aborda zgomotul cu supresie și mitigare a erorilor în timp ce evaluăm funcția noastră de cost.

  4. Optimizarea parametrilor: Evaluările sunt transmise unui computer clasic, unde un optimizer clasic le analizează și alege următorul set de valori pentru parametrii variaționali. Dacă avem o soluție optimă preexistentă, o putem seta ca punct inițial θ0\vec\theta_0 pentru a porni optimizarea noastră. Utilizarea acestei stări inițiale ψ(θ0)|\psi(\vec\theta_0)\rangle ar putea ajuta optimizatorul nostru să găsească o soluție validă mai rapid.

  5. Ajustarea parametrilor ansatz-ului cu rezultatele și reluarea procesului: Întregul proces este repetat până când criteriile de finalizare ale optimizatorului clasic sunt îndeplinite și se returnează un set optim de valori ale parametrilor θ\vec\theta^*. Starea soluției propuse pentru problema noastră va fi atunci ψ(θ)=UA(θ)0|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle.

Teorema variațională

Un obiectiv comun al algoritmilor variaționali este de a găsi starea cuantică cu cea mai mică sau cea mai mare valoare proprie a unui anumit observabil. O perspectivă cheie pe care o vom folosi este teorema variațională a mecanicii cuantice. Înainte de a intra în enunțul ei complet, haideți să explorăm câteva intuiții matematice din spatele acesteia.

Intuiție matematică pentru energie și stări fundamentale

În mecanica cuantică, energia apare sub forma unui observabil cuantic denumit de obicei Hamiltonian, pe care îl vom nota cu H^\hat{\mathcal{H}}. Să considerăm descompunerea sa spectrală:

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

unde NN este dimensionalitatea spațiului stărilor, λk\lambda_{k} este a kk-a valoare proprie sau, fizic, al kk-lea nivel de energie, iar ϕk|\phi_k\rangle este starea proprie corespunzătoare: H^ϕk=λkϕk\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle, energia așteptată a unui sistem în starea (normalizată) ψ|\psi\rangle va fi:

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

Dacă ținem cont că λ0λk,k\lambda_0\leq \lambda_k, \forall k, avem:

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

Deoarece {ϕk}k=0N1\{|\phi_k\rangle \}_{k=0}^{N-1} este o bază ortonormată, probabilitatea de a măsura ϕk|\phi_{k} \rangle este pk=ψϕk2p_k = |\langle \psi |\phi_{k} \rangle |^2, iar suma tuturor probabilităților este astfel încât 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. Pe scurt, energia așteptată a oricărui sistem este mai mare decât energia cea mai mică sau energia stării fundamentale:

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

Argumentul de mai sus se aplică oricărei stări cuantice (normalizate) valide ψ|\psi\rangle, deci este perfect posibil să considerăm stări parametrizate ψ(θ)|\psi(\vec\theta)\rangle care depind de un vector de parametri θ\vec\theta. Aceasta este partea „variațională". Dacă considerăm o funcție de cost dată de C(θ):=ψ(θ)H^ψ(θ)C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle și dorim să o minimizăm, minimul va satisface întotdeauna:

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.

Valoarea minimă a lui C(θ)C(\vec\theta) va fi cea mai apropiată aproximare a lui λ0\lambda_0 folosind stările parametrizate ψ(θ)|\psi(\vec\theta)\rangle, iar egalitatea va fi atinsă doar dacă există un vector de parametri θ\vec\theta^* astfel încât ψ(θ)=ϕ0.|\psi(\vec\theta^*)\rangle = |\phi_0\rangle.

Teorema variațională a mecanicii cuantice

Dacă starea (normalizată) ψ|\psi\rangle a unui sistem cuantic depinde de un vector de parametri θ\vec\theta, atunci aproximarea optimă a stării fundamentale (adică starea proprie ϕ0|\phi_0\rangle cu valoarea proprie minimă λ0\lambda_0) este cea care minimizează valoarea de așteptare a Hamiltonianului 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

Motivul pentru care teorema variațională este enunțată în termeni de minime ale energiei este că include o serie de ipoteze matematice:

  • Din motive fizice, trebuie să existe o limită inferioară finită a energiei Eλ0>E \geq \lambda_0 > -\infty, chiar și pentru NN\rightarrow\infty.
  • Limitele superioare nu există în general.

Cu toate acestea, din punct de vedere matematic, nu există nimic special în legătură cu Hamiltonianul H^\hat{\mathcal{H}} dincolo de aceste ipoteze, astfel că teorema poate fi generalizată la alți observabili cuantici și stările lor proprii, cu condiția să urmeze aceleași constrângeri. De asemenea, observă că dacă există limite superioare finite, aceleași argumente matematice s-ar putea face pentru maximizarea valorilor proprii prin înlocuirea limitelor inferioare cu limite superioare.

Rezumat

Cu această lecție, ai aflat o perspectivă de nivel înalt asupra algoritmilor variaționali. În lecțiile următoare, vom explora fiecare pas în detaliu mai mare, împreună cu compromisurile asociate.