Pular para o conteúdo principal

Algoritmos variacionais

Antes de começar, por favor responda a esta breve pesquisa de pré-curso, que é importante para nos ajudar a melhorar nossos conteúdos e a experiência do usuário.

Este curso aborda os detalhes dos algoritmos variacionais e algoritmos quântico-clássicos híbridos de curto prazo, baseados no teorema variacional da mecânica quântica. Esses algoritmos podem aproveitar a utilidade dos computadores quânticos não tolerantes a falhas de hoje, tornando-os candidatos ideais para alcançar a vantagem quântica.

Ao longo deste curso, vamos explorar:

  • Cada etapa do fluxo de trabalho de design de algoritmos variacionais
  • As compensações associadas a cada etapa
  • Como usar as primitivas do Qiskit Runtime para otimizar velocidade e precisão

Embora este curso seja um ponto de partida para pesquisadores e desenvolvedores explorarem a utilidade dos computadores quânticos, sinta-se à vontade para explorar o conhecimento teórico e fundamental sobre computação quântica em geral no curso Basics of Quantum Information and Computation (também disponível como uma série de vídeos no YouTube).

Fluxo de trabalho híbrido simplificado

Fluxo de um algoritmo variacional mostrando as etapas: inicializar problema, preparar ansatz, avaliar função de custo, otimizar parâmetros. Os algoritmos variacionais incluem vários componentes modulares que podem ser combinados e otimizados com base nos avanços de algoritmos, software e hardware. Isso inclui uma função de custo que descreve um problema específico com um conjunto de parâmetros, um ansatz para expressar o espaço de busca com esses parâmetros, e um otimizador para explorar iterativamente o espaço de busca. A cada iteração, o otimizador avalia a função de custo com os parâmetros atuais e seleciona os parâmetros da próxima iteração até convergir para uma solução ótima. A natureza híbrida dessa família de algoritmos vem do fato de que as funções de custo são avaliadas usando recursos quânticos e otimizadas por meio de recursos clássicos.

  1. Inicializar o problema: Os algoritmos variacionais começam inicializando o computador quântico em um estado padrão 0|0\rangle, depois transformando-o para algum estado desejado (não parametrizado) ρ|\rho\rangle, que chamaremos de estado de referência.

    Essa transformação é representada pela aplicação de um operador de referência unitário URU_R sobre o estado padrão, de modo que UR0=ρU_R|0\rangle = |\rho\rangle.

  2. Preparar o ansatz: Para começar a otimizar iterativamente do estado padrão 0|0\rangle até o estado alvo ψ(θ)|\psi(\vec\theta)\rangle, precisamos definir uma forma variacional UV(θ)U_V(\vec\theta) para representar uma coleção de estados parametrizados que nosso algoritmo variacional irá explorar.

    Chamamos qualquer combinação específica de estado de referência e forma variacional de ansatz, de modo que: UA(θ):=UV(θ)URU_A(\vec\theta) := U_V(\vec\theta) U_R. Os ansaetze assumirão, em última análise, a forma de circuitos quânticos parametrizados capazes de levar o estado padrão 0|0\rangle ao estado alvo ψ(θ)|\psi(\vec\theta)\rangle.

    No total, teremos:

    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. Avaliar a função de custo: Podemos codificar nosso problema em uma função de custo C(θ)C(\vec\theta) como uma combinação linear de operadores de Pauli, executada em um sistema quântico. Embora isso possa ser informação sobre um sistema físico, como energia ou spin, também podemos codificar problemas não físicos. Podemos usar as primitivas do Qiskit Runtime para lidar com o ruído por meio de supressão e mitigação de erros durante a avaliação da função de custo.

  4. Otimizar os parâmetros: As avaliações são enviadas a um computador clássico, onde um otimizador clássico as analisa e escolhe o próximo conjunto de valores para os parâmetros variacionais. Se tivermos uma solução ótima pré-existente, podemos defini-la como um ponto inicial θ0\vec\theta_0 para inicializar nossa otimização. Usar esse estado inicial ψ(θ0)|\psi(\vec\theta_0)\rangle pode ajudar o otimizador a encontrar uma solução válida mais rapidamente.

  5. Ajustar os parâmetros do ansatz com os resultados e re-executar: Todo o processo é repetido até que os critérios de finalização do otimizador clássico sejam atendidos, e um conjunto ótimo de valores de parâmetros θ\vec\theta^* é retornado. O estado de solução proposta para nosso problema será então ψ(θ)=UA(θ)0|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle.

Teorema variacional

Um objetivo comum dos algoritmos variacionais é encontrar o estado quântico com o menor ou maior autovalor de um determinado observável. Um insight fundamental que usaremos é o teorema variacional da mecânica quântica. Antes de apresentar seu enunciado completo, vamos explorar alguma intuição matemática por trás dele.

Intuição matemática para energia e estados fundamentais

Na mecânica quântica, a energia se apresenta na forma de um observável quântico geralmente chamado de Hamiltoniano, que denotaremos por H^\hat{\mathcal{H}}. Vamos considerar sua decomposição espectral:

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

onde NN é a dimensionalidade do espaço de estados, λk\lambda_{k} é o kk-ésimo autovalor ou, fisicamente, o kk-ésimo nível de energia, e ϕk|\phi_k\rangle é o autoestado correspondente: H^ϕk=λkϕk\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle. A energia esperada de um sistema no estado (normalizado) ψ|\psi\rangle será:

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

Se levarmos em conta que λ0λk,k\lambda_0\leq \lambda_k, \forall k, temos:

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

Como {ϕk}k=0N1\{|\phi_k\rangle \}_{k=0}^{N-1} é uma base ortonormal, a probabilidade de medir ϕk|\phi_{k} \rangle é pk=ψϕk2p_k = |\langle \psi |\phi_{k} \rangle |^2, e a soma de todas as probabilidades é tal que 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. Em resumo, a energia esperada de qualquer sistema é maior do que a energia mais baixa ou energia do estado fundamental:

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

O argumento acima se aplica a qualquer estado quântico (normalizado) válido ψ|\psi\rangle, portanto é perfeitamente possível considerar estados parametrizados ψ(θ)|\psi(\vec\theta)\rangle que dependem de um vetor de parâmetros θ\vec\theta. É aqui que a parte "variacional" entra em jogo. Se considerarmos uma função de custo dada por C(θ):=ψ(θ)H^ψ(θ)C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle e quisermos minimizá-la, o mínimo sempre satisfará:

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.

O valor mínimo de C(θ)C(\vec\theta) será o mais próximo que se pode chegar de λ0\lambda_0 usando os estados parametrizados ψ(θ)|\psi(\vec\theta)\rangle, e a igualdade só será atingida se existir um vetor de parâmetros θ\vec\theta^* tal que ψ(θ)=ϕ0.|\psi(\vec\theta^*)\rangle = |\phi_0\rangle.

Teorema variacional da Mecânica Quântica

Se o estado (normalizado) ψ|\psi\rangle de um sistema quântico depende de um vetor de parâmetros θ\vec\theta, então a aproximação ótima do estado fundamental (ou seja, o autoestado ϕ0|\phi_0\rangle com o autovalor mínimo λ0\lambda_0) é aquela que minimiza o valor esperado do Hamiltoniano 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

A razão pela qual o teorema variacional é enunciado em termos de mínimos de energia é que ele inclui um conjunto de suposições matemáticas:

  • Por razões físicas, um limite inferior finito para a energia Eλ0>E \geq \lambda_0 > -\infty precisa existir, mesmo para NN\rightarrow\infty.
  • Limites superiores geralmente não existem.

No entanto, matematicamente falando, não há nada de especial no Hamiltoniano H^\hat{\mathcal{H}} além dessas suposições, portanto o teorema pode ser generalizado para outros observáveis quânticos e seus autoestados, desde que sigam as mesmas restrições. Além disso, note que se existirem limites superiores finitos, os mesmos argumentos matemáticos poderiam ser usados para maximizar autovalores, trocando limites inferiores por limites superiores.

Resumo

Com esta lição, você aprendeu a visão geral dos algoritmos variacionais. Nas próximas lições, exploraremos cada etapa em maior detalhe, junto com suas compensações associadas.