Articulo de referencia

Algoritmos de optimización cuántica

Los algoritmos de optimización cuántica son algoritmos cuánticos que se utilizan para resolver problemas de optimización. [ 1 ] La optimización matemática se ocupa de encontrar ...

Los algoritmos de optimización cuántica son algoritmos cuánticos que se utilizan para resolver problemas de optimización. [ 1 ] La optimización matemática se ocupa de encontrar la mejor solución a un problema (según ciertos criterios) a partir de un conjunto de posibles soluciones. Generalmente, el problema de optimización se formula como un problema de minimización, donde se intenta minimizar un error que depende de la solución: la solución óptima tiene el error mínimo. Se aplican diferentes técnicas de optimización en diversos campos como la mecánica , la economía y la ingeniería , y a medida que aumenta la complejidad y la cantidad de datos involucrados, se necesitan métodos más eficientes para resolver problemas de optimización. La computación cuántica puede permitir resolver problemas que no son factibles en la práctica con computadoras clásicas, o sugerir una aceleración considerable con respecto al mejor algoritmo clásico conocido.

Ajuste de datos cuánticos

El ajuste de datos es un proceso que consiste en construir una función matemática que se ajuste de la mejor manera a un conjunto de datos. La calidad del ajuste se mide mediante algún criterio, generalmente la distancia entre la función y los datos.

Ajuste de mínimos cuadrados cuánticos

Uno de los tipos más comunes de ajuste de datos es resolver el problema de mínimos cuadrados , minimizando la suma de los cuadrados de las diferencias entre los puntos de datos y la función ajustada.

El algoritmo se proporcionanorte{\displaystyle N}puntos de datos de entrada(incógnita1,y1),(incógnita2,y2),...,(incógnitanorte,ynorte){\displaystyle (x_{1},y_{1}),(x_{2},y_{2}),...,(x_{N},y_{N})}yMETRO{\displaystyle M}funciones continuasF1,F2,...,FMETRO{\displaystyle f_{1},f_{2},...,f_{M}}El algoritmo encuentra y proporciona como resultado una función continua.Fλ{\displaystyle f_{\vec {\lambda }}}que es una combinación lineal deFj{\displaystyle f_{j}}:

Fλ(incógnita)=j=1METROFj(incógnita)λj{\displaystyle f_{\vec {\lambda }}(x)=\sum _{j=1}^{M}f_{j}(x)\lambda _{j}}

En otras palabras, el algoritmo encuentra los coeficientes complejos.λj{\displaystyle \lambda _{j}}y por lo tanto el vectorλ=(λ1,λ2,...,λMETRO){\displaystyle {\vec {\lambda }}=(\lambda _{1},\lambda _{2},...,\lambda _{M})}.

El algoritmo tiene como objetivo minimizar el error, que viene dado por:

mi=i=1norte|Fλ(incógnitai)yi|2=i=1norte|j=1METROFj(incógnitai)λjyi|2=|Fλy|2{\displaystyle E=\sum _{i=1}^{N}\left\vert f_{\vec {\lambda }}(x_{i})-y_{i}\right\vert ^{2}=\sum _{i=1}^{N}\left\vert \sum _{j=1}^{M}f_{j}(x_{i})\lambda _{j}-y_{i}\right\vert ^{2}=\left\vert F{\vec {\lambda }}-{\vec {y}}\right\vert ^{2}}

dóndeF{\displaystyle F}se define como la siguiente matriz:

F=(F1(incógnita1)FMETRO(incógnita1)F1(incógnita2)FMETRO(incógnita2)F1(incógnitanorte)FMETRO(incógnitanorte)){\displaystyle {F}={\begin{pmatrix}f_{1}(x_{1})&\cdots &f_{M}(x_{1})\\f_{1}(x_{2})&\cdots &f_{M}(x_{2})\\\vdots &\ddots &\vdots \\f_{1}(x_{N})&\cdots &f_{M}(x_{N})\\\end{pmatrix}}}

El algoritmo de ajuste de mínimos cuadrados cuánticos [ 2 ] utiliza una versión del algoritmo cuántico de Harrow, Hassidim y Lloyd para sistemas de ecuaciones lineales (HHL) y produce los coeficientes.λj{\displaystyle \lambda _{j}}y la estimación de la calidad del ajustemi{\displaystyle E}Consta de tres subrutinas: un algoritmo para realizar una operación de pseudoinversa , una rutina para la estimación de la calidad del ajuste y un algoritmo para aprender los parámetros de ajuste.

Debido a que el algoritmo cuántico se basa principalmente en el algoritmo HHL, sugiere una mejora exponencial [ 3 ] en el caso dondeF{\displaystyle F}es disperso y el número de condición (es decir, la relación entre los autovalores más grandes y más pequeños ) de ambosFF{\displaystyle FF^{\dagger }}yFF{\displaystyle F^{\dagger }F}es pequeño.

Programación semidefinida cuántica

La programación semidefinida (PSE) es un subcampo de la optimización que se ocupa de la optimización de una función objetivo lineal (una función especificada por el usuario que se debe minimizar o maximizar) sobre la intersección del cono de matrices semidefinidas positivas con un espacio afín . La función objetivo es un producto interno de una matriz.do{\displaystyle C}(dada como entrada) con la variableincógnita{\displaystyle X}Denotemos porSnorte{\displaystyle \mathbb {S} ^{n}}el espacio de todosnorte×norte{\displaystyle n\times n}Matrices simétricas. La variableincógnita{\displaystyle X}debe estar dentro del cono (convexo cerrado) de matrices simétricas semidefinidas positivasS+norte{\displaystyle \mathbb {S} _{+}^{n}}El producto interno de dos matrices se define como:

A,BSnorte=tr(ATB)=i=1,j=1norteAijBij.{\displaystyle \langle A,B\rangle _{\mathbb {S} ^{n}}={\rm {tr}}(A^{T}B)=\sum _{i=1,j=1}^{n}A_{ij}B_{ij}.}

El problema puede tener restricciones adicionales (dadas como entradas), que también suelen formularse como productos internos. Cada restricción obliga al producto interno de las matrices.Ak{\displaystyle A_{k}}(dada como entrada) con la variable de optimizaciónincógnita{\displaystyle X}ser menor que un valor especificadobk{\displaystyle b_{k}}(dada como entrada). Finalmente, el problema SDP se puede escribir como:

minincógnitaSnortedo,incógnitaSnortesujeto aAk,incógnitaSnortebk,k=1,,metroincógnita0{\displaystyle {\begin{array}{rl}{\displaystyle \min _{X\in \mathbb {S} ^{n}}}&\langle C,X\rangle _{\mathbb {S} ^{n}}\\{\text{sujeto a}}&\langle A_{k},X\rangle _{\mathbb {S} ^{n}}\leq b_{k},\quad k=1,\ldots ,m\\&X\succeq 0\end{array}}}

No se conoce ningún algoritmo clásico óptimo que se ejecute incondicionalmente en tiempo polinomial . Se sabe que el problema de factibilidad correspondiente se encuentra fuera de la unión de las clases de complejidad NP y co-NP, o en la intersección de NP y co-NP. [ 4 ]

El algoritmo cuántico

Las entradas del algoritmo sonA1...Ametro,do,b1...bmetro{\displaystyle A_{1}...A_{m},C,b_{1}...b_{m}}y parámetros relativos a la traza de la solución , la precisión y el valor óptimo (el valor de la función objetivo en el punto óptimo).

El algoritmo cuántico [ 5 ] consta de varias iteraciones. En cada iteración, resuelve un problema de factibilidad , es decir, encuentra cualquier solución que satisfaga las siguientes condiciones (dando un umbral).t{\displaystyle t}):

do,incógnitaSnortetAk,incógnitaSnortebk,k=1,,metroincógnita0{\displaystyle {\begin{array}{lr}\langle C,X\rangle _{\mathbb {S} ^{n}}\leq t\\\langle A_{k},X\rangle _{\mathbb {S} ^{n}}\leq b_{k},\quad k=1,\ldots ,m\\X\succeq 0\end{array}}}

En cada iteración, un umbral diferentet{\displaystyle t}Se elige y el algoritmo produce una solución.incógnita{\displaystyle X}de tal manera quedo,incógnitaSnortet{\displaystyle \langle C,X\rangle _{\mathbb {S} ^{n}}\leq t}(y las demás restricciones también se cumplen) o una indicación de que no existe tal solución. El algoritmo realiza una búsqueda binaria para encontrar el umbral mínimo.t{\displaystyle t}para lo cual una soluciónincógnita{\displaystyle X}aún existe: esto proporciona la solución mínima al problema SDP.

El algoritmo cuántico proporciona una mejora cuadrática con respecto al mejor algoritmo clásico en el caso general, y una mejora exponencial cuando las matrices de entrada son de bajo rango .

Optimización combinatoria cuántica

El problema de optimización combinatoria tiene como objetivo encontrar un objeto óptimo de un conjunto finito de objetos. El problema puede formularse como una maximización de una función objetivo que es una suma de funciones booleanas . Cada función booleanadoα:{0,1}norte{0,1}{\displaystyle \,C_{\alpha }\colon \lbrace {0,1\rbrace }^{n}\rightarrow \lbrace {0,1}\rbrace }obtiene como entrada elnorte{\displaystyle n}cadena de bitsz=z1z2znorte{\displaystyle z=z_{1}z_{2}\ldots z_{n}}y da como resultado un bit (0 o 1). El problema de optimización combinatoria denorte{\displaystyle n}bits ymetro{\displaystyle m}Las cláusulas están encontrando unanorte{\displaystyle n}cadena de bitsz{\displaystyle z}que maximiza la función

do(z)=α=1metrodoα(z){\displaystyle C(z)=\sum _{\alpha =1}^{m}C_{\alpha }(z)}

La optimización aproximada es una forma de encontrar una solución aproximada a un problema de optimización, que a menudo es NP-difícil . La solución aproximada del problema de optimización combinatoria es una cadenaz{\displaystyle z}eso está cerca de maximizardo(z){\displaystyle C(z)}.

Algoritmo de optimización aproximada cuántica

Para la optimización combinatoria, el algoritmo de optimización aproximada cuántica (QAOA) [ 6 ] tuvo brevemente una mejor relación de aproximación que cualquier algoritmo clásico conocido de tiempo polinomial (para un problema determinado), [ 7 ] hasta que se propuso un algoritmo clásico más eficaz. [ 8 ] La aceleración relativa del algoritmo cuántico es una cuestión de investigación abierta.

QAOA consta de los siguientes pasos:

  1. Definición de un hamiltoniano de costeHdo{\displaystyle H_{C}}de tal manera que su estado fundamental codifica la solución al problema de optimización.
  2. Definición de un hamiltoniano de mezcladorHMETRO{\displaystyle H_{M}}.
  3. Definiendo los oráculosUdo(γ)=exp(iγHdo){\displaystyle U_{C}(\gamma )=\exp(-\imath \gamma H_{C})}yUMETRO(α)=exp(iαHMETRO){\displaystyle U_{M}(\alpha )=\exp(-\imath \alpha H_{M})}, con parámetrosγ{\displaystyle \gamma }y α.
  4. Aplicación repetida de los oráculosUdo{\displaystyle U_{C}}yUMETRO{\displaystyle U_{M}}, en el orden:U(γ,α)=i=1norte(Udo(γi)UMETRO(αi)){\displaystyle U({\boldsymbol {\gamma }},{\boldsymbol {\alpha }})=\coprod _{i=1}^{N}(U_{C}(\gamma _{i})U_{M}(\alpha _{i}))}
  5. Preparar un estado inicial, que es una superposición de todos los estados posibles y aplicarU(γ,α){\displaystyle U({\boldsymbol {\gamma }},{\boldsymbol {\alpha }})}al estado.
  6. Utilizar métodos clásicos para optimizar los parámetrosγ,α{\displaystyle {\boldsymbol {\gamma }},{\boldsymbol {\alpha }}}y medir el estado de salida del circuito optimizado para obtener la solución óptima aproximada del hamiltoniano de costo. Una solución óptima será aquella que maximice el valor esperado del hamiltoniano de costo.Hdo{\displaystyle H_{C}}.
Ejemplo de ansatz QAOA para un circuito de tres cúbits

La estructura del algoritmo, es decir, el uso de hamiltonianos de costo y mezclador, se inspira en el teorema adiabático cuántico , que establece que, partiendo de un estado fundamental de un hamiltoniano dependiente del tiempo, si el hamiltoniano evoluciona lo suficientemente lento, el estado final será un estado fundamental del hamiltoniano final. Además, el teorema adiabático puede generalizarse a cualquier otro autoestado siempre que no haya superposición (degeneración) entre diferentes autoestados a lo largo de la evolución. Identificando el hamiltoniano inicial conHMETRO{\displaystyle H_{M}}y el hamiltoniano final conHdo{\displaystyle H_{C}}, cuyos estados fundamentales codifican la solución al problema de optimización de interés, se puede aproximar el problema de optimización como la evolución adiabática del hamiltoniano desde un estado inicial hasta uno final, cuyo estado fundamental (auto) proporciona la solución óptima. En general, QAOA se basa en el uso de operadores unitarios que dependen de2pag{\displaystyle 2p}ángulos (parámetros), dondepag>1{\displaystyle p>1}es un número entero de entrada, que puede identificarse como el número de capas del oráculo.U(γ,α){\displaystyle U({\boldsymbol {\gamma }},{\boldsymbol {\alpha }})}Estos operadores se aplican iterativamente sobre un estado que es una superposición cuántica de igual peso de todos los estados posibles en la base computacional. En cada iteración, el estado se mide en la base computacional y la función booleanado(z){\displaystyle C(z)}se estima. Los ángulos se actualizan luego de forma clásica para aumentardo(z){\displaystyle C(z)}. Después de repetir este procedimiento un número suficiente de veces, el valor dedo(z){\displaystyle C(z)}es casi óptimo, y el estado que se está midiendo también está cerca de ser óptimo. En la figura se muestra un circuito de ejemplo que implementa QAOA en una computadora cuántica. Este procedimiento se ilustra con el siguiente ejemplo de cómo encontrar la cobertura mínima de vértices de un grafo. [ 9 ]

QAOA para encontrar la cobertura mínima de vértices de un grafo

El objetivo es encontrar una cobertura mínima de vértices para un grafo: un conjunto de vértices tal que cada arista del grafo contenga al menos uno de los vértices de la cobertura. Por lo tanto, estos vértices "cubren" todas las aristas. Buscamos una cobertura de vértices con el menor número posible de vértices. Las coberturas de vértices se pueden representar mediante una cadena de bits, donde cada bit indica si el vértice correspondiente está presente en la cobertura. Por ejemplo, la cadena de bits 0101 representa una cobertura formada por el segundo y el cuarto vértice de un grafo con cuatro vértices.

Gráfico de ejemplo para ilustrar el problema de la cobertura mínima de vértices.

Consideremos el grafo que se muestra en la figura. Tiene cuatro vértices y existen dos coberturas mínimas de vértices para este grafo: los vértices 0 y 2, y los vértices 1 y 2. Estos se pueden representar respectivamente mediante las cadenas de bits 1010 y 0110. El objetivo del algoritmo es muestrear estas cadenas de bits con alta probabilidad. En este caso, el hamiltoniano de costo tiene dos estados fundamentales, |1010⟩ y |0110⟩, que coinciden con las soluciones del problema. El hamiltoniano del mezclador es la suma simple y no conmutativa de operaciones de Pauli-X en cada nodo del grafo y se define como:

Hdo=0,25Z3+0,5Z0+0,5Z1+1,25Z2+0,75(Z0Z1+Z0Z2+Z2Z3+Z1Z2){\displaystyle H_{C}=-0.25Z_{3}+0.5Z_{0}+0.5Z_{1}+1.25Z_{2}+0.75(Z_{0}Z_{1}+Z_{0}Z_{2}+Z_{2}Z_{3}+Z_{1}Z_{2})}

HMETRO=incógnita0+incógnita1+incógnita2+incógnita3{\displaystyle H_{M}=X_{0}+X_{1}+X_{2}+X_{3}}

Salida de la implementación de QAOA en Qiskit para el problema de cobertura mínima de vértices. Nótese que la cadena de bits |1010> se invierte a |0101> ya que Qiskit utiliza el orden inverso de los bits.
Implementación de QAOA en Qiskit para el problema de cobertura mínima de vértices.

La implementación del algoritmo QAOA para este circuito de cuatro cúbits con dos capas del ansatz en qiskit (ver figura) y su posterior optimización dan como resultado la distribución de probabilidad para los estados que se muestra en la figura. Esto demuestra que los estados |0110⟩ y |1010⟩ tienen las mayores probabilidades de ser medidos, tal como se esperaba.

Generalización de QAOA a la optimización combinatoria con restricciones

En principio, el valor óptimo dedo(z){\displaystyle C(z)}Se puede alcanzar una precisión arbitraria, lo cual está garantizado por el teorema adiabático [ 10 ] [ 11 ] o, alternativamente, por la universalidad de las unitarias QAOA [ 12 ] . Sin embargo, es una cuestión abierta si esto se puede lograr de manera factible. Por ejemplo, se demostró que QAOA presenta una fuerte dependencia de la relación entre la restricción y las variables del problema (densidad del problema), lo que impone una restricción limitante a la capacidad del algoritmo para minimizar una función objetivo correspondiente [ 13 ] .

Pronto se reconoció que una generalización del proceso QAOA consiste esencialmente en la aplicación alternada de un paseo cuántico en tiempo continuo sobre un grafo subyacente, seguido de un cambio de fase dependiente de la calidad aplicado a cada estado de la solución. Este QAOA generalizado se denominó QWOA (Algoritmo de Optimización Basado en Paseos Cuánticos). [ 14 ]

En el artículo ¿Cuántos cúbits se necesitan para la supremacía computacional cuántica? enviado a arXiv, [ 15 ] los autores concluyen que un circuito QAOA con 420 cúbits y 500 restricciones requeriría al menos un siglo para ser simulado utilizando un algoritmo de simulación clásico que se ejecute en supercomputadoras de última generación, por lo que eso sería suficiente para la supremacía computacional cuántica .

Una comparación rigurosa de QAOA con algoritmos clásicos puede proporcionar estimaciones sobre la profundidad.pag{\displaystyle p}y el número de cúbits necesarios para la ventaja cuántica. Un estudio del algoritmo QAOA y MaxCut muestra quepag>11{\displaystyle p>11}es necesario para obtener una ventaja escalable. [ 16 ]

Variaciones de QAOA

Se han propuesto varias variaciones a la estructura básica de QAOA [ 17 ] , que incluyen variaciones en el ansatz del algoritmo básico. La elección del ansatz generalmente depende del tipo de problema, como problemas combinatorios representados como grafos o problemas fuertemente influenciados por el diseño del hardware. Sin embargo, el diseño del ansatz debe equilibrar la especificidad y la generalidad para evitar el sobreajuste y mantener la aplicabilidad a una amplia gama de problemas. Por esta razón, el diseño de ansatz óptimos para QAOA es un tema ampliamente investigado. Algunas de las variantes propuestas son:

  1. QAOA multiángulo [ 18 ]
  2. QAOA expresivo (XQAOA) [ 19 ]
  3. QAOA+ [ 20 ]
  4. QAOA contraadiabático digitalizado [ 21 ]
  5. Ansatz de operador alternante cuántico [ 22 ] , que permite restricciones en el problema de optimización, etc.

Otra variante de QAOA se centra en técnicas de optimización de parámetros, cuyo objetivo es seleccionar el conjunto óptimo de parámetros iniciales para un problema dado y evitar mesetas estériles, que representan parámetros que conducen a autoestados que corresponden a mesetas en el paisaje energético del hamiltoniano de coste.

Finalmente, se ha observado un gran interés en la investigación sobre el aprovechamiento de hardware específico para mejorar el rendimiento de QAOA en diversas plataformas, como iones atrapados, átomos neutros, cúbits superconductores y computadoras cuánticas fotónicas. Los objetivos de estos enfoques incluyen superar las limitaciones de conectividad del hardware y mitigar los problemas relacionados con el ruido para ampliar la aplicabilidad de QAOA a una amplia gama de problemas de optimización combinatoria.

Implementación del algoritmo QAOA en Qiskit

Circuito cuántico QAOA

El circuito cuántico que se muestra aquí es un ejemplo sencillo de cómo se puede implementar el algoritmo QAOA en Python [ 23 ] utilizando Qiskit , un marco de desarrollo de software de computación cuántica de código abierto de IBM.

Véase también

Referencias

  1. 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). "Optimización cuántica mediante algoritmos variacionales en dispositivos cuánticos de corto plazo". Quantum Science and Technology . 3 (3): r 030503. arXiv : 1710.01022 . Bibcode : 2018QS & T....3c0503M . doi : 10.1088/2058-9565/aab822 . S2CID 56376912 . 
  2. Wiebe, Nathan; Braun, Daniel; Lloyd, Seth (2 de agosto de 2012). "Algoritmo cuántico para el ajuste de datos". Physical Review Letters . 109 (5) 050505. arXiv : 1204.5242 . Bibcode : 2012PhRvL.109e0505W . doi : 10.1103/PhysRevLett.109.050505 . PMID 23006156. S2CID 118439810 .  
  3. Montanaro, Ashley (12 de enero de 2016). "Algoritmos cuánticos: una visión general". npj Quantum Information . 2 (1) 15023. arXiv : 1511.04206 . Bibcode : 2016npjQI...215023M . doi : 10.1038/npjqi.2015.23 . S2CID 2992738 . 
  4. Ramana, Motakuri V. (1997). "Una teoría de dualidad exacta para la programación semidefinida y sus implicaciones de complejidad". Mathematical Programming . 77 : 129–162 . doi : 10.1007/BF02614433 . S2CID 12886462 . 
  5. Brandao, Fernando GSL; Svore, Krysta (2016). "Aceleraciones cuánticas para la programación semidefinida". arXiv : 1609.05537 [ quant-ph ].
  6. Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "Un algoritmo de optimización aproximada cuántica". arXiv : 1411.4028 [ quant-ph ].
  7. Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "Un algoritmo de optimización aproximada cuántica aplicado a un problema de restricción de ocurrencia acotada". arXiv : 1412.6062 [ quant-ph ].
  8. ^ Barac, Booz; Moitra, Ankur; O'Donnell, Ryan ; Raghavendra, Prasad; Regev, Oded; Steurer, David; Trevisan, Luca; Vijayaraghavan, Aravindan; Witmer, David; Wright, Juan (2015). "Superar la asignación aleatoria en problemas de satisfacción de restricciones de grado acotado". arXiv : 1505.03424 [ cs.CC ].
  9. ^ Ceroni, Jack (18 de noviembre de 2020). "Introducción a QAOA" . Demostraciones de PennyLane .
  10. Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "Un algoritmo de optimización aproximada cuántica". arXiv : 1411.4028 [ quant-ph ].
  11. ^ Binkowski, Lennart; Koßmann, Gereon; Ziegler, Timo; Schwonnek, René (2024). "Prueba elemental de la convergencia QAOA". Nueva Revista de Física . 26 (7): 073001. arXiv : 2302.04968 . Código Bib : 2024NJPh...26g3001B . doi : 10.1088/1367-2630/ad59bb .
  12. Morales, ME; Biamonte, JD; Zimborás, Z. (2019-09-20). "Sobre la universalidad del algoritmo de optimización aproximada cuántica". Procesamiento de información cuántica . 19 (9): 291. arXiv : 1909.03123 . doi : 10.1007/s11128-020-02748-9 .
  13. Akshay, V.; Philathong, H.; Morales, MES; Biamonte, JD (2020-03-05). "Déficits de alcanzabilidad en la optimización aproximada cuántica". Physical Review Letters . 124 (9) 090504. arXiv : 1906.11259 . Bibcode : 2020PhRvL.124i0504A . doi : 10.1103/PhysRevLett.124.090504 . PMID 32202873 . S2CID 195699685 .  
  14. Marsh, S.; Wang, JB (2020-06-08). "Optimización combinatoria mediante paseos cuánticos altamente eficientes". Physical Review Research . 2 (2) 023302. arXiv : 1912.07353 . Bibcode : 2020PhRvR...2b3302M . doi : 10.1103/PhysRevResearch.2.023302 . S2CID 216080740 . 
  15. Dalzell, Alexander M.; Harrow, Aram W.; Koh, Dax Enshan; La Placa, Rolando L. (2020-05-11). "¿Cuántos cúbits se necesitan para la supremacía computacional cuántica?" . Quantum . 4 264. arXiv : 1805.05224 . Bibcode : 2020Quant...4..264D . doi : 10.22331/q-2020-05-11-264 . ISSN 2521-327X . 
  16. Lykov, Danylo; Wurtz, Jonathan; Poole, Cody; Saffman, Mark ; Noel, Tom; Alexeev, Yuri (2023). "Umbrales de frecuencia de muestreo para la ventaja cuántica del algoritmo de optimización aproximada cuántica". npj Quantum Information . 9 (1) 73. arXiv : 2206.03579 . Bibcode : 2023npjQI...9...73L . doi : 10.1038/s41534-023-00718-4 .
  17. Blekos, Kostas; Brand, Dean; Ceschini, Andrea; Chou, Chiao-Hui; Li, Rui-Hao; Pandya, Komal; Summer, Alessandro (junio de 2024). "Una revisión del algoritmo de optimización aproximada cuántica y sus variantes". Physics Reports . 1068 : 1–66 . arXiv : 2306.09198 . Bibcode : 2024PhR..1068....1B . doi : 10.1016/j.physrep.2024.03.002 .
  18. Herrman, Rebekah; Lotshaw, Phillip C.; Ostrowski, James; Humble, Travis S.; Siopsis, George (2022-04-26). "Algoritmo de optimización aproximada cuántica multiángulo" . Scientific Reports . 12 (1): 6781. arXiv : 2109.11455 . Bibcode : 2022NatSR..12.6781H . doi : 10.1038/ s41598-022-10555-8 . ISSN 2045-2322 . PMC 9043219. PMID 35474081 .   
  19. Vijendran, V; Das, Aritra; Koh, Dax Enshan; Assad, Syed M; Lam, Ping Koy (2024-04-01). "Un ansatz expresivo para la optimización aproximada cuántica de baja profundidad" . Quantum Science and Technology . 9 (2): 025010. arXiv : 2302.04479 . Bibcode : 2024QS & T....9b5010V . doi : 10.1088/2058-9565/ad200a . ISSN 2058-9565 . 
  20. Chalupnik, Michelle; Melo, Hans; Alexeev, Yuri; Galda, Alexey (septiembre de 2022). "Aumento del ansatz QAOA con una capa independiente del problema multiparamétrico". 2022 IEEE International Conference on Quantum Computing and Engineering (QCE) . IEEE. págs. 97–103 . arXiv : 2205.01192 . doi : 10.1109/QCE53715.2022.00028 . ISBN  978-1-6654-9113-6.
  21. Chandarana, P.; Hegade, NN; Paul, K.; Albarrán-Arriagada, F.; Solano, E.; del Campo, A.; Chen, Xi (2022-02-22). "Algoritmo de optimización aproximada cuántica contradiabática digitalizada" . Physical Review Research . 4 (1) 013141. arXiv : 2107.02789 . Bibcode : 2022PhRvR...4a3141C . doi : 10.1103/PhysRevResearch.4.013141 . ISSN 2643-1564 . 
  22. Hadfield, Stuart; Wang, Zhihui; O'Gorman, Bryan; Rieffel, Eleanor; Venturelli, Davide; Biswas, Rupak (2019-02-12). "Del algoritmo de optimización aproximada cuántica a un ansatz de operador alternante cuántico" . Algorithms . 12 (2): 34. arXiv : 1709.03489 . doi : 10.3390/a12020034 . ISSN 1999-4893 . 
  23. "Resolver problemas de optimización cuántica a escala de utilidad" . Consultado el 24 de febrero de 2025 .
  • Implementación del algoritmo QAOA para el problema de la mochila con Classiq.