Algoritmos de otimização quântica são algoritmos quânticos usados para resolver problemas de otimização.[1] A otimização matemática lida com encontrar a melhor solução para um problema (de acordo com algum critério) a partir de um conjunto de soluções possíveis. Na maioria das vezes, o problema de otimização é formulado como um problema de minimização, onde se tenta minimizar um erro que depende da solução: a solução ótima tem o erro mínimo. Diferentes técnicas de otimização são aplicadas em vários campos, como mecânica, economia e engenharia, e à medida que a complexidade e a quantidade de dados envolvidos aumentam, são necessárias maneiras mais eficientes de resolver problemas de otimização. A computação quântica pode permitir que problemas que não são praticamente viáveis em computadores clássicos sejam resolvidos, ou sugerir uma aceleração considerável em relação ao melhor algoritmo clássico conhecido.
Ajuste de dados quântico
editarO ajuste de dados é um processo de construção de uma função matemática que melhor se ajusta a um conjunto de pontos de dados. A qualidade do ajuste é medida por alguns critérios, geralmente a distância entre a função e os pontos de dados.
Ajuste de mínimos quadrados quântico
editarUm dos tipos mais comuns de ajuste de dados é resolver o problema de mínimos quadrados, minimizando a soma dos quadrados das diferenças entre os pontos de dados e a função ajustada.
O algoritmo recebe pontos de dados de entrada e funções contínuas . O algoritmo encontra e fornece como saída uma função contínua que é uma combinação linear de :
Em outras palavras, o algoritmo encontra os coeficientes complexos , e assim o vetor .
O algoritmo visa minimizar o erro, que é dado por:
onde é definida como a seguinte matriz:
O algoritmo quântico de ajuste de mínimos quadrados[2] faz uso de uma versão do algoritmo quântico para sistemas lineares de equações de Harrow, Hassidim e Lloyd (HHL), e produz os coeficientes e a estimativa da qualidade do ajuste . Ele consiste em três sub-rotinas: um algoritmo para realizar uma operação pseudo-inversa, uma rotina para a estimativa da qualidade do ajuste e um algoritmo para aprender os parâmetros do ajuste.
Como o algoritmo quântico é baseado principalmente no algoritmo HHL, ele sugere uma melhoria exponencial[3] no caso em que é esparsa e o número de condição (isto é, a razão entre o maior e o menor autovalores) de ambos e é pequeno.
Programação semidefinida quântica
editarA programação semidefinida (SDP) é um subcampo da otimização que lida com a otimização de uma função objetivo linear (uma função especificada pelo usuário a ser minimizada ou maximizada), sobre a interseção do cone de matrizes semidefinidas positivas com um espaço afim. A função objetivo é um produto interno de uma matriz (dada como entrada) com a variável . Denote por o espaço de todas as matrizes simétricas . A variável deve estar no cone (fechado convexo) de matrizes simétricas semidefinidas positivas . O produto interno de duas matrizes é definido como:
O problema pode ter restrições adicionais (dadas como entradas), também geralmente formuladas como produtos internos. Cada restrição força o produto interno das matrizes (dadas como entrada) com a variável de otimização a ser menor que um valor especificado (dado como entrada). Finalmente, o problema de SDP pode ser escrito como:
O melhor algoritmo clássico não é conhecido por rodar incondicionalmente em tempo polinomial. Sabe-se que o problema de viabilidade correspondente está ou fora da união das classes de complexidade NP e co-NP, ou na interseção de NP e co-NP.[4]
O algoritmo quântico
editarAs entradas do algoritmo são e parâmetros relacionados ao traço da solução, precisão e valor ótimo (o valor da função objetivo no ponto ótimo).
O algoritmo quântico[5] consiste em várias iterações. Em cada iteração, ele resolve um problema de viabilidade, ou seja, encontra qualquer solução satisfazendo as seguintes condições (dado um limiar ):
Em cada iteração, um limiar diferente é escolhido, e o algoritmo produz como saída uma solução tal que (e as outras restrições também são satisfeitas) ou uma indicação de que nenhuma solução existe. O algoritmo realiza uma busca binária para encontrar o limiar mínimo para o qual uma solução ainda existe: isso dá a solução mínima para o problema de SDP.
O algoritmo quântico fornece uma melhoria quadrática em relação ao melhor algoritmo clássico no caso geral, e uma melhoria exponencial quando as matrizes de entrada são de baixo rank.
Otimização combinatória quântica
editarO problema de otimização combinatória visa encontrar um objeto ótimo a partir de um conjunto finito de objetos. O problema pode ser formulado como uma maximização de uma função objetivo que é uma soma de funções booleanas. Cada função booleana recebe como entrada a string de bits e produz como saída um bit (0 ou 1). O problema de otimização combinatória de bits e cláusulas é encontrar uma string de bits que maximize a função
A otimização aproximada é uma maneira de encontrar uma solução aproximada para um problema de otimização, que é frequentemente NP-difícil. A solução aproximada do problema de otimização combinatória é uma string que está próxima de maximizar .
Algoritmo de otimização aproximada quântica
editarPara otimização combinatória, o algoritmo de otimização aproximada quântica (QAOA)[6] teve brevemente uma razão de aproximação melhor do que qualquer algoritmo clássico de tempo polinomial conhecido (para um certo problema),[7] até que um algoritmo clássico mais eficaz fosse proposto.[8] A aceleração relativa do algoritmo quântico é uma questão de pesquisa em aberto.
O QAOA consiste nas seguintes etapas:
- Definir um Hamiltoniano de custo tal que seu estado fundamental codifique a solução para o problema de otimização.
- Definir um Hamiltoniano de mistura .
- Definir os oráculos e , com parâmetros e α.
- Aplicação repetida dos oráculos e , na ordem:
- Preparar um estado inicial, que é uma superposição de todos os estados possíveis e aplicar ao estado.
- Usar métodos clássicos para otimizar os parâmetros e medir o estado de saída do circuito otimizado para obter a solução ótima aproximada para o Hamiltoniano de custo. Uma solução ótima será aquela que maximiza o valor esperado do Hamiltoniano de custo .

A estrutura do algoritmo, isto é, o uso de Hamiltonianos de custo e mistura, é inspirada no teorema adiabático quântico, que afirma que começando em um estado fundamental de um Hamiltoniano dependente do tempo, se o Hamiltoniano evoluir lentamente o suficiente, o estado final será um estado fundamental do Hamiltoniano final. Além disso, o teorema adiabático pode ser generalizado para qualquer outro autoestado, desde que não haja sobreposição (degenerescência) entre diferentes autoestados durante a evolução. Identificando o Hamiltoniano inicial com e o Hamiltoniano final com , cujos estados fundamentais codificam a solução para o problema de otimização de interesse, pode-se aproximar o problema de otimização como a evolução adiabática do Hamiltoniano de um inicial para um final, cujo estado (auto)fundamental dá a solução ótima. Em geral, o QAOA depende do uso de operadores unitários dependentes de ângulos (parâmetros), onde é um inteiro de entrada, que pode ser identificado como o número de camadas do oráculo . Esses operadores são aplicados iterativamente em um estado que é uma superposição quântica de igual peso de todos os estados possíveis na base computacional. Em cada iteração, o estado é medido na base computacional e a função booleana é estimada. Os ângulos são então atualizados classicamente para aumentar . Após este procedimento ser repetido um número suficiente de vezes, o valor de é quase ótimo, e o estado sendo medido também está próximo de ser ótimo. Um circuito de exemplo que implementa QAOA em um computador quântico é dado na figura. Este procedimento é destacado usando o seguinte exemplo de encontrar a cobertura mínima de vértices de um grafo.[9]
QAOA para encontrar a cobertura mínima de vértices de um grafo
editarO objetivo aqui é encontrar uma cobertura mínima de vértices de um grafo: uma coleção de vértices tal que cada aresta no grafo contenha pelo menos um dos vértices na cobertura. Assim, esses vértices "cobrem" todas as arestas. Desejamos encontrar uma cobertura de vértices que tenha o menor número possível de vértices. Coberturas de vértices podem ser representadas por uma string de bits onde cada bit denota se o vértice correspondente está presente na cobertura. Por exemplo, a string de bits 0101 representa uma cobertura consistindo do segundo e quarto vértices em um grafo com quatro vértices.

Considere o grafo dado na figura. Ele tem quatro vértices e há duas coberturas mínimas de vértices para este grafo: vértices 0 e 2, e os vértices 1 e 2. Estes podem ser respectivamente representados pelas strings de bits 1010 e 0110. O objetivo do algoritmo é amostrar essas strings de bits com alta probabilidade. Neste caso, o Hamiltoniano de custo tem dois estados fundamentais, |1010⟩ e |0110⟩, coincidindo com as soluções do problema. O Hamiltoniano de mistura é a simples soma não comutante de operações Pauli-X em cada nó do grafo e eles são dados por:


Implementar o algoritmo QAOA para este circuito de quatro qubits com duas camadas do ansatz em qiskit (veja figura) e otimizar leva a uma distribuição de probabilidade para os estados dada na figura. Isso mostra que os estados |0110⟩ e |1010⟩ têm as maiores probabilidades de serem medidos, exatamente como esperado.
Generalização do QAOA para otimização combinatória com restrições
editarEm princípio, o valor ótimo de pode ser alcançado com precisão arbitrária, isso é garantido pelo teorema adiabático[10][11] ou alternativamente pela universalidade dos unitários do QAOA.[12] No entanto, é uma questão em aberto se isso pode ser feito de maneira viável. Por exemplo, foi mostrado que o QAOA exibe uma forte dependência na razão entre a restrição de um problema e as variáveis (densidade do problema), colocando uma restrição limitadora na capacidade do algoritmo de minimizar uma função objetivo correspondente.[13]
Logo foi reconhecido que uma generalização do processo QAOA é essencialmente uma aplicação alternada de um passeio quântico de tempo contínuo em um grafo subjacente seguido por um deslocamento de fase dependente da qualidade aplicado a cada estado solução. Este QAOA generalizado foi denominado QWOA (Quantum Walk-based Optimisation Algorithm).[14]
No artigo How many qubits are needed for quantum computational supremacy submetido ao arXiv,[15] os autores concluem que um circuito QAOA com 420 qubits e 500 restrições exigiria pelo menos um século para ser simulado usando um algoritmo de simulação clássico rodando em supercomputadores de estado da arte, de modo que isso seria suficiente para a supremacia computacional quântica.
Uma comparação rigorosa do QAOA com algoritmos clássicos pode dar estimativas sobre a profundidade e o número de qubits necessários para a vantagem quântica. Um estudo do QAOA e do algoritmo MaxCut mostra que é necessário para uma vantagem escalável.[16]
Variações do QAOA
editarVárias variações da estrutura básica do QAOA foram propostas,[17] que incluem variações no ansatz do algoritmo básico. A escolha do ansatz tipicamente depende do tipo de problema, como problemas combinatórios representados como grafos, ou problemas fortemente influenciados pelo design do hardware. No entanto, o design do ansatz deve equilibrar especificidade e generalidade para evitar sobreajuste e manter a aplicabilidade a uma ampla gama de problemas. Por esta razão, projetar ansatze ótimos para QAOA é um tópico extensivamente pesquisado e amplamente investigado. Algumas das variantes propostas são:
- QAOA multi-ângulo[18]
- QAOA expressivo (XQAOA)[19]
- QAOA+[20]
- QAOA contra-adiabático digitalizado[21]
- Ansatz de operador alternante quântico[22], que permite restrições no problema de otimização, etc.
Outra variação do QAOA foca em técnicas para otimização de parâmetros, que visa selecionar o conjunto ótimo de parâmetros iniciais para um determinado problema e evitar platôs estéreis, que representam parâmetros que levam a autoestados que correspondem a platôs na paisagem energética do Hamiltoniano de custo.
Finalmente, houve um interesse significativo de pesquisa em alavancar hardware específico para melhorar o desempenho do QAOA em várias plataformas, como íons presos, átomos neutros, qubits supercondutores e computadores quânticos fotônicos. Os objetivos dessas abordagens incluem superar limitações de conectividade de hardware e mitigar problemas relacionados a ruídos para ampliar a aplicabilidade do QAOA a uma ampla gama de problemas de otimização combinatória.
Implementação do algoritmo QAOA em Qiskit
editar
O circuito quântico mostrado aqui é de um exemplo simples de como o algoritmo QAOA pode ser implementado em Python[23] usando Qiskit, uma estrutura de desenvolvimento de software de computação quântica de código aberto da IBM.
Ver também
editarReferências
editar- ↑ Moll, Nikolaj; Barkoutsos, Panagiotis; Bishop, Lev S.; Chow, Jerry M.; Cross, Andrew; Egger, Daniel J.; Filipp, Stefan; Fuhrer, Andreas; Gambetta, Jay M.; Ganzhorn, Marc; Kandala, Abhinav; Mezzacapo, Antonio; Müller, Peter; Riess, Walter; Salis, Gian; Smolin, John; Tavernelli, Ivano; Temme, Kristan (2018). «Quantum optimization using variational algorithms on near-term quantum devices». Quantum Science and Technology. 3 (3): 030503. Bibcode:2018QS&T....3c0503M. arXiv:1710.01022
. doi:10.1088/2058-9565/aab822
- ↑ Wiebe, Nathan; Braun, Daniel; Lloyd, Seth (2 de agosto de 2012). «Quantum Algorithm for Data Fitting». Physical Review Letters. 109 (5). Bibcode:2012PhRvL.109e0505W. PMID 23006156. arXiv:1204.5242
. doi:10.1103/PhysRevLett.109.050505
- ↑ Montanaro, Ashley (12 de janeiro de 2016). «Quantum algorithms: an overview». npj Quantum Information. 2 (1). Bibcode:2016npjQI...215023M. arXiv:1511.04206
. doi:10.1038/npjqi.2015.23
- ↑ Ramana, Motakuri V. (1997). «An exact duality theory for semidefinite programming and its complexity implications». Mathematical Programming. 77: 129–162. doi:10.1007/BF02614433
- ↑ Brandao, Fernando G. S. L.; Svore, Krysta (2016). «Quantum Speed-ups for Semidefinite Programming». arXiv:1609.05537
[quant-ph]
- ↑ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). «A Quantum Approximate Optimization Algorithm». arXiv:1411.4028
[quant-ph]
- ↑ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). «A Quantum Approximate Optimization Algorithm Applied to a Bounded Occurrence Constraint Problem». arXiv:1412.6062
[quant-ph]
- ↑ Barak, Boaz; Moitra, Ankur; O'Donnell, Ryan; Raghavendra, Prasad; Regev, Oded; Steurer, David; Trevisan, Luca; Vijayaraghavan, Aravindan; Witmer, David; Wright, John (2015). «Beating the random assignment on constraint satisfaction problems of bounded degree». arXiv:1505.03424
[cs.CC]
- ↑ Ceroni, Jack (18 de novembro de 2020). «Intro to QAOA». PennyLane Demos (em inglês)
- ↑ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). «A Quantum Approximate Optimization Algorithm». arXiv:1411.4028
[quant-ph]
- ↑ Binkowski, Lennart; Koßmann, Gereon; Ziegler, Timo; Schwonnek, René (2024). «Elementary proof of QAOA convergence». New Journal of Physics. 26 (7): 073001. Bibcode:2024NJPh...26g3001B. arXiv:2302.04968
. doi:10.1088/1367-2630/ad59bb
- ↑ Morales, M. E.; Biamonte, J. D.; Zimborás, Z. (20 de setembro de 2019). «On the universality of the quantum approximate optimization algorithm». Quantum Information Processing. 19 (9): 291. arXiv:1909.03123
. doi:10.1007/s11128-020-02748-9
- ↑ Akshay, V.; Philathong, H.; Morales, M. E. S.; Biamonte, J. D. (5 de março de 2020). «Reachability Deficits in Quantum Approximate Optimization». Physical Review Letters. 124 (9). Bibcode:2020PhRvL.124i0504A. PMID 32202873. arXiv:1906.11259
. doi:10.1103/PhysRevLett.124.090504
- ↑ Marsh, S.; Wang, J. B. (8 de junho de 2020). «Combinatorial optimization via highly efficient quantum walks». Physical Review Research. 2 (2). Bibcode:2020PhRvR...2b3302M. arXiv:1912.07353
. doi:10.1103/PhysRevResearch.2.023302
- ↑ Dalzell, Alexander M.; Harrow, Aram W.; Koh, Dax Enshan; La Placa, Rolando L. (11 de maio de 2020). «How many qubits are needed for quantum computational supremacy?». Quantum. 4. Bibcode:2020Quant...4..264D. ISSN 2521-327X. arXiv:1805.05224
. doi:10.22331/q-2020-05-11-264
- ↑ Lykov, Danylo; Wurtz, Jonathan; Poole, Cody; Saffman, Mark; Noel, Tom; Alexeev, Yuri (2023). «Sampling frequency thresholds for the quantum advantage of the quantum approximate optimization algorithm». npj Quantum Information. 9 (1). Bibcode:2023npjQI...9...73L. arXiv:2206.03579
. doi:10.1038/s41534-023-00718-4
- ↑ Blekos, Kostas; Brand, Dean; Ceschini, Andrea; Chou, Chiao-Hui; Li, Rui-Hao; Pandya, Komal; Summer, Alessandro (junho de 2024). «A Review on Quantum Approximate Optimization Algorithm and its Variants». Physics Reports. 1068: 1–66. Bibcode:2024PhR..1068....1B. arXiv:2306.09198
. doi:10.1016/j.physrep.2024.03.002
- ↑ Herrman, Rebekah; Lotshaw, Phillip C.; Ostrowski, James; Humble, Travis S.; Siopsis, George (26 de abril de 2022). «Multi-angle quantum approximate optimization algorithm». Scientific Reports (em inglês). 12 (1): 6781. Bibcode:2022NatSR..12.6781H. ISSN 2045-2322. PMC 9043219
. PMID 35474081. arXiv:2109.11455
. doi:10.1038/s41598-022-10555-8
- ↑ Vijendran, V; Das, Aritra; Koh, Dax Enshan; Assad, Syed M; Lam, Ping Koy (1 de abril de 2024). «An expressive ansatz for low-depth quantum approximate optimisation». Quantum Science and Technology. 9 (2): 025010. Bibcode:2024QS&T....9b5010V. ISSN 2058-9565. arXiv:2302.04479
. doi:10.1088/2058-9565/ad200a
- ↑ Chalupnik, Michelle; Melo, Hans; Alexeev, Yuri; Galda, Alexey (setembro de 2022). «Augmenting QAOA Ansatz with Multiparameter Problem-Independent Layer». 2022 IEEE International Conference on Quantum Computing and Engineering (QCE). [S.l.]: IEEE. pp. 97–103. ISBN 978-1-6654-9113-6. arXiv:2205.01192
. doi:10.1109/QCE53715.2022.00028
- ↑ Chandarana, P.; Hegade, N. N.; Paul, K.; Albarrán-Arriagada, F.; Solano, E.; del Campo, A.; Chen, Xi (22 de fevereiro de 2022). «Digitized-counterdiabatic quantum approximate optimization algorithm». Physical Review Research (em inglês). 4 (1). Bibcode:2022PhRvR...4a3141C. ISSN 2643-1564. arXiv:2107.02789
. doi:10.1103/PhysRevResearch.4.013141
- ↑ Hadfield, Stuart; Wang, Zhihui; O'Gorman, Bryan; Rieffel, Eleanor; Venturelli, Davide; Biswas, Rupak (12 de fevereiro de 2019). «From the Quantum Approximate Optimization Algorithm to a Quantum Alternating Operator Ansatz». Algorithms (em inglês). 12 (2): 34. ISSN 1999-4893. arXiv:1709.03489
. doi:10.3390/a12020034
- ↑ «Solve utility-scale quantum optimization problems». Consultado em 24 de fevereiro de 2025