Algoritmos de optimización mediante computació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 trata de encontrar la mejor solución a un problema (según algunos criterios) a partir de un conjunto de soluciones posibles. En la mayoría de los casos, el problema de optimización se formula como un problema de minimización, en el que 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 varios 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 formas más eficientes de resolver problemas de optimización. La computación cuántica puede permitir resolver problemas que no son prácticamente factibles en computadoras clásicas, o sugerir una aceleración considerable con respecto al algoritmo clásico más conocido.
Ajuste de datos cuánticos
El ajuste de datos es un proceso de construcción de una función matemática que se ajuste de la mejor manera a un conjunto de puntos de datos. La calidad del ajuste se mide mediante ciertos criterios, generalmente la distancia entre la función y los puntos de 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 recibe puntos de datos de entrada y funciones continuas . El algoritmo encuentra y proporciona como salida una función continua que es una combinación lineal de :
En otras palabras, el algoritmo encuentra los coeficientes complejos y, por tanto, el vector .
El algoritmo tiene como objetivo minimizar el error, que viene dado por:
donde se define como la siguiente matriz:
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 lineales de ecuaciones (HHL), y genera los coeficientes y la estimación de la calidad del ajuste . Consta de tres subrutinas: un algoritmo para realizar una operación pseudoinversa , una rutina para la estimación de la calidad del ajuste y un algoritmo para aprender los parámetros de ajuste.
La programación semidefinida (SDP) 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 (dada como entrada) con la variable . Denote por el espacio de todas las matrices simétricas. La variable debe estar en el cono (convexo cerrado) de matrices simétricas semidefinidas positivas . El producto interno de dos matrices se define como:
El problema puede tener restricciones adicionales (dadas como entradas), también formuladas habitualmente como productos internos. Cada restricción obliga a que el producto interno de las matrices (dadas como entrada) con la variable de optimización sea menor que un valor especificado (dada como entrada). Finalmente, el problema SDP puede escribirse como:
No se sabe que el mejor algoritmo clásico se ejecute incondicionalmente en tiempo polinomial . Se sabe que el problema de viabilidad 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 son parámetros relacionados con 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 viabilidad , es decir, encuentra cualquier solución que satisfaga las siguientes condiciones (dando un umbral ):
En cada iteración, se elige un umbral diferente y el algoritmo genera una solución tal que (y también se satisfacen las demás restricciones) o una indicación de que no existe tal solución. El algoritmo realiza una búsqueda binaria para encontrar el umbral mínimo para el cual todavía existe una solución : esto da la solución mínima al problema SDP.
El algoritmo cuántico proporciona una mejora cuadrática sobre el mejor algoritmo clásico en el caso general y una mejora exponencial cuando las matrices de entrada son de rango bajo .
Optimización combinatoria cuántica
El problema de optimización combinatoria tiene como objetivo encontrar un objeto óptimo a partir 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 booleana recibe como entrada la cadena de bits y da como salida un bit (0 o 1). El problema de optimización combinatoria de bits y cláusulas consiste en encontrar una cadena de bits que maximice la función.
La optimización aproximada es una forma de encontrar una solución aproximada a un problema de optimización, que a menudo es NP-hard . La solución aproximada del problema de optimización combinatoria es una cadena que está cerca de maximizar .
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 de tiempo polinomial conocido (para un problema determinado), [7] hasta que se propuso un algoritmo clásico más efectivo. [8] La aceleración relativa del algoritmo cuántico es una cuestión de investigación abierta.
QAOA consta de los siguientes pasos:
Definir un hamiltoniano de costes tal que su estado fundamental codifique la solución al problema de optimización.
Definición de un hamiltoniano mezclador .
Definición de los oráculos y , con parámetros y α.
Aplicación repetida de los oráculos y , en el orden:
Preparar un estado inicial, es decir una superposición de todos los estados posibles y aplicarlo al estado.
Utilizando métodos clásicos para optimizar los parámetros y medir el estado de salida del circuito optimizado se obtiene la solución óptima aproximada del hamiltoniano de coste. Una solución óptima será aquella que maximice el valor esperado del hamiltoniano de coste .
El diseño del algoritmo, a saber, el uso de hamiltonianos de costo y mezclador, se inspira en el teorema adiabático cuántico , que establece que comenzando en 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 se puede generalizar a cualquier otro estado propio siempre que no haya superposición (degeneración) entre diferentes estados propios a lo largo de la evolución. Identificando el hamiltoniano inicial con y el hamiltoniano final con , 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 inicial hasta el final, cuyo estado fundamental (propio) da la solución óptima. En general, QAOA se basa en el uso de operadores unitarios dependientes de ángulos (parámetros), donde es un entero de entrada, que puede identificarse como el número de capas del oráculo . Estos operadores se aplican iterativamente sobre un estado que es una superposición cuántica de ponderación igual de todos los estados posibles en la base computacional. En cada iteración, se mide el estado en la base computacional y se estima la función booleana. Luego, los ángulos se actualizan de manera clásica para aumentar . Después de que este procedimiento se repite una cantidad suficiente de veces, el valor de es casi óptimo y el estado que se mide también está cerca de ser óptimo. En la figura se muestra un circuito de muestra que implementa QAOA en una computadora cuántica. Este procedimiento se destaca utilizando el siguiente ejemplo de búsqueda de la cobertura mínima de vértices de un gráfico. [9]
QAOA para encontrar la cobertura mínima de vértices de un gráfico
El objetivo aquí es encontrar una cobertura mínima de vértices de un grafo: una colección de vértices de manera 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. Deseamos encontrar una cobertura de vértices que tenga 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 que consta del segundo y cuarto vértice en un grafo con cuatro vértices.
Consideremos el gráfico que se muestra en la figura. Tiene cuatro vértices y hay dos coberturas mínimas de vértices para este gráfico: los vértices 0 y 2, y los vértices 1 y 2. Estos pueden representarse respectivamente por 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 coste tiene dos estados fundamentales, |1010⟩ y |0110⟩, que coinciden con las soluciones del problema. El hamiltoniano de mezclador es la suma simple, no conmutativa, de las operaciones de Pauli-X en cada nodo del gráfico y se dan por:
La implementación del algoritmo QAOA para este circuito de cuatro cúbits con dos capas del ansatz en qiskit (ver figura) y la optimización conducen a una distribución de probabilidad para los estados dados en la figura. Esto muestra 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 restringida
En principio, el valor óptimo de puede alcanzarse con una precisión arbitraria, lo que está garantizado por el teorema adiabático [10] [11] o, alternativamente, por la universalidad de los unitarios de QAOA. [12] Sin embargo, es una pregunta abierta si esto se puede hacer de manera factible. Por ejemplo, se demostró que QAOA exhibe una fuerte dependencia de la relación entre la restricción de un problema y las variables (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 es esencialmente una aplicación alternada de un paseo cuántico de tiempo continuo sobre un gráfico 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]
Una comparación rigurosa de QAOA con algoritmos clásicos puede brindar estimaciones sobre la profundidad y la cantidad de qubits necesarios para lograr una ventaja cuántica. Un estudio de QAOA y el algoritmo MaxCut muestra que se requiere para lograr una ventaja escalable. [16]
Variaciones de QAOA
Se han propuesto varias variaciones de la estructura básica de QAOA, [17] que incluyen variaciones del ansatz del algoritmo básico. La elección del ansatz depende típicamente del tipo de problema, como problemas combinatorios representados como gráficos o problemas fuertemente influenciados por el diseño de 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 del ansatz óptimo para QAOA es un tema ampliamente investigado y estudiado. Algunas de las variantes propuestas son:
Análisis cuantitativo y cualitativo multiángulo [18]
OAA+ [19]
QAOA contraadiabático digitalizado [20]
Ansatz de operador alterno cuántico [21] , que permite restricciones en el problema de optimización, etc.
Otra variación 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 determinado y evitar mesetas estériles, que representan parámetros que conducen a estados propios que corresponden a mesetas en el paisaje energético del hamiltoniano de costos.
Por último, ha habido un interés significativo en la investigación sobre el aprovechamiento de hardware específico para mejorar el rendimiento de QAOA en varias plataformas, como iones atrapados, átomos neutros, qubits 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.
^ 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 utilizando algoritmos variacionales en dispositivos cuánticos de corto plazo". Ciencia y tecnología cuántica . 3 (3): 030503. arXiv : 1710.01022 . Código Bibliográfico :2018QS&T....3c0503M. doi :10.1088/2058-9565/aab822. Número de identificación del sujeto 56376912.
^ Wiebe, Nathan; Braun, Daniel; Lloyd, Seth (2 de agosto de 2012). "Algoritmo cuántico para ajuste de datos". Physical Review Letters . 109 (5): 050505. arXiv : 1204.5242 . Código Bibliográfico :2012PhRvL.109e0505W. doi :10.1103/PhysRevLett.109.050505. PMID 23006156. S2CID 118439810.
^ Montanaro, Ashley (12 de enero de 2016). "Algoritmos cuánticos: una descripción general". npj Quantum Information . 2 : 15023. arXiv : 1511.04206 . Bibcode :2016npjQI...215023M. doi :10.1038/npjqi.2015.23. S2CID 2992738.
^ Ramana, Motakuri V. (1997). "Una teoría de dualidad exacta para programación semidefinida y sus implicaciones de complejidad". Programación matemática . 77 : 129–162. doi :10.1007/BF02614433. S2CID 12886462.
^ Brandao, Fernando GSL; Svore, Krysta (2016). "Aceleraciones cuánticas para programación semidefinida". arXiv : 1609.05537 [quant-ph].
^ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "Un algoritmo de optimización aproximada cuántica". arXiv : 1411.4028 [quant-ph].
^ 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].
^ 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].
^ Ceroni, Jack (18 de noviembre de 2020). "Introducción a QAOA". Demostraciones de PennyLane .
^ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "Un algoritmo de optimización aproximada cuántica". arXiv : 1411.4028 [quant-ph].
^ 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 . doi :10.1088/1367-2630/ad59bb.
^ 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.
^ Akshay, V.; Philathong, H.; Morales, MES; Biamonte, JD (5 de marzo de 2020). "Déficits de alcanzabilidad en optimización aproximada cuántica". Physical Review Letters . 124 (9): 090504. arXiv : 1906.11259 . Código Bibliográfico :2020PhRvL.124i0504A. doi :10.1103/PhysRevLett.124.090504. PMID 32202873. S2CID 195699685.
^ Marsh, S.; Wang, JB (8 de junio de 2020). "Optimización combinatoria mediante paseos cuánticos de alta eficiencia". Physical Review Research . 2 (2): 023302. arXiv : 1912.07353 . Código Bibliográfico :2020PhRvR...2b3302M. doi :10.1103/PhysRevResearch.2.023302. S2CID 216080740.
^ Dalzell, Alexander M.; Harrow, Aram W.; Koh, Dax Enshan; La Placa, Rolando L. (11 de mayo de 2020). "¿Cuántos qubits 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.
^ 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 : 73. arXiv : 2206.03579 . Bibcode :2023npjQI...9...73L. doi :10.1038/s41534-023-00718-4.
^ 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 . Código Bibliográfico :2024PhR..1068....1B. 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). "Algoritmo de optimización cuántica aproximada de múltiples ángulos". Scientific Reports . 12 (1): 6781. arXiv : 2109.11455 . Código Bibliográfico :2022NatSR..12.6781H. doi :10.1038/s41598-022-10555-8. ISSN 2045-2322. PMC 9043219 . PMID 35474081.
^ Chalupnik, Michelle; Melo, Hans; Alexeev, Yuri; Galda, Alexey (septiembre de 2022). "Aumento del ansatz QAOA con una capa independiente del problema multiparamétrica". Conferencia internacional IEEE 2022 sobre computación e ingeniería cuántica (QCE) . IEEE. págs. 97–103. arXiv : 2205.01192 . doi :10.1109/QCE53715.2022.00028. ISBN .978-1-6654-9113-6.
^ Chandarana, P.; Hegade, NN; Paul, K.; Albarrán-Arriagada, F.; Solano, E.; del Campo, A.; Chen, Xi (2022-02-22). "Algoritmo de optimización cuántica aproximada digitalizada-contradiabática". Physical Review Research . 4 (1): 013141. arXiv : 2107.02789 . Bibcode :2022PhRvR...4a3141C. doi :10.1103/PhysRevResearch.4.013141. ISSN 2643-1564.
^ Hadfield, Stuart; Wang, Zhihui; O'Gorman, Bryan; Rieffel, Eleanor; Venturelli, Davide; Biswas, Rupak (12 de febrero de 2019). "Del algoritmo de optimización aproximada cuántica a un operador alternante cuántico Ansatz". Algoritmos . 12 (2): 34. arXiv : 1709.03489 . doi : 10.3390/a12020034 . ISSN 1999-4893.
Enlaces externos
Implementación del algoritmo QAOA para el problema de la mochila con Classiq