El Blog de QPath

¿Es el annealing cuántico computación cuántica?

La manera sencilla de componer soluciones de annealing cuántico

Autor

Ezequiel Murina
aQuantum Algorithms Team Leader 

En este artículo vas a conocer algunos puntos de vista sobre el debate referido a si el annealing cuántico es o no es computación cuántica. Van a soslayarse las ventajas de la tecnología de annealing así como también las herramientas que ofrece QPath® para hacer las cosas más fáciles sin importar cuán complejo pueda ser tu modelo de interacción de a pares. El artículo gira en torno al rol de una interfaz y una interesante analogía entre los dispositivos para llevar a cabo annealing y los instrumentos musicales, incorporando así un nuevo punto de vista.

 

El arte de programar con ondas

El fenómeno físico principal que la computación cuántica explota es la interferencia de ondas. Las ondas involucradas son creadas por circuitos micro-electrónicos en las implementaciones comerciales actuales. La superposición y el entrelazamiento emergen como las propiedades a controlar para llevar a cabo cómputos. Éste es el paradigma de computación cuántica universal.

Siempre que tratamos con ondas, tiene sentido reutilizar toda la matemática desarrollada para otro tipo de ondas (piensa en análisis de Fourier) y crear herramientas de visualización o conceptos inspirados por otros campos de la física como el electromagnetismo, la mecánica o la acústica.  Puede discutirse si este abordaje es o no el mejor para entender la física cuántica, pero funciona con el sustento de un consenso como la interpretación de Copenhaguen: la teoría cuántica no es una descripción sino una receta para medir los resultados posibles. Puedes reconocer, por ejemplo, como resultados de algoritmos cuánticos, outputs que exponen el comportamiento ondulatorio de los cúbits. La Figura 1 muestra un histograma de los resultados de un algoritmo cuántico y sus similitudes con un patrón de interferencia electromagnética.

PostEzFigure1_1

 

Figura 1 Abajo: histograma recuperado como resultado de múltiples ejecuciones de un algoritmo de estimación de fase cuántica para el caso de una codificación no exacta del valor propio en el registro principal. Arriba: patrón de interferencia modulado por difracción; puede obtenerlo utilizando un doble split y un láser con una longitud de onda de aproximadamente 650 nm.

 

La gente suele hablar de pentagramas como metáfora para referirse a los circuitos cuánticos empleados en el paradigma de programación cuántica universal. Continuando con este hilo, esbocemos una analogía entre annealing y música que puede clarificar si dicha técnica de optimización es o no es computación cuántica.

 

El caso de ondas sonoras

Una onda sonora es una variación local en la presión de aire propagándose a lo largo del mismo. Puede estar compuesta por una única frecuencia (tono puro), un patrón específico de frecuencias (nota musical) o un conjunto “desordenado” de frecuencias (ruido). Un instrumento, como dispositivo diseñado para producir notas musicales, reproduce un patrón que es diferente en vientos, cuerdas, pianos de cola, etc. Usualmente se analiza el espectro que caracteriza a cada instrumento, la intensidad, la duración temporal, etc., pero ése no es el foco de este post. Introduciré más ideas antes de demostrarte qué tiene que ver la música con el annealing cuántico.  

La música puede pensarse como una combinación de sonidos diferentes en un flujo de tensiones y resoluciones. Lo que suena “bien” o “mal” está establecido por la cultura dominante entre las sociedades y los períodos históricos. Así, la armonía de Bill Evans sonaría “caótica” en el siglo XVIII, mientras que la armonía de Bach puede parecer un tanto “estructurada” en el siglo XX. De todas maneras, en todos los casos, es el músico quien controla el flujo de notas, el programador que programa usando su instrumento. En ese sentido, el escenario es distinto en términos de la proximidad con respecto a la onda de sonido generada de acuerdo al tipo de instrumento ejecutado. Podemos definir un espectro del grado de proximidad que se extiende desde los vientos hasta el piano de cola o instrumentos electrónicos, como se muestra en la Figura 2.  

PostEzFigure2_1

Figura 2 Espectro de proximidad. Una posible clasificación no exhaustiva de los instrumentos musicales en función de la proximidad entre el músico y la onda sonora generada cuando toca.

 

La interfaz

Hemos definido una relación entre el músico y la onda sonora que es intermediada por los instrumentos y sus diferentes maquinarias involucradas. Focalicemos en cuán cercana es tal relación.

Por ejemplo, en el caso de los vientos, el contacto con la onda de sonido es bastante directo debido a que el origen de la perturbación en la presión del aire es el soplido mismo del músico. Luego, la señal, el soplido, es “procesado” por el instrumento para dar como output una nota musical.

En el caso de un cordófono como el violín, el contacto es ligeramente más débil. Dejando de lado la técnica de pizzicato, el violinista usualmente toca con un arco que transmite energía mecánica a las cuerdas. Él/ella usa los dedos de su mano izquierda para “apagar/encender” las frecuencias permitidas en las vibraciones de las cuerdas. Posteriormente, el movimiento de las cuerdas produce una perturbación en el aire circundante, la onda sonora que escuchamos.

¿Qué sucede en el caso del piano de cola? Bueno, aquí tenemos un mecanismo complejo, un teclado y el resto de la maquinaria de ejecución que incluye martillos, jacks, balancines, dampers, etc. Sólo el teclado está en contacto directo con los dedos del pianista. El resto yace escondido como partes internas del instrumento que transmitirán la información que controlará las vibraciones de las cuerdas del piano. El mecanismo de acción de un piano de cola se muestra en la Figura 3.

PostEzFigure3_1

Figura 3 Mecanismo de acción de un piano de cola. Podemos pensar que se trata de una interfaz que se extiende desde el teclado que el pianista toca (derecha) hasta la cuerda que va a ser golpeada por el martillo (izquierda). 

 

Amigos, cuando tocamos un instrumento musical, estamos en presencia de interfaces que median entre el músico y la onda sonora. Y aquí viene la pregunta trivial: ¿generamos música cuando, por ejemplo, tocamos el piano? ¡Claro que sí! Ahora, estimado lector, te invito a cambiar ligeramente de foco la pregunta y discutir lo que nos interesa: ¿es el annealing cuántico computación cuántica?.


¿Qué estamos tocando cuando tocamos con un annealer?

El annealing cubre una serie de técnicas entre las que se incluyen el annealing simulado, el annealing digital, el annealing cuántico e incluso abordajes más sofisticados como el anealing cuántico simulado. Aquí se discutirá el annealing cuántico, una técnica que se ejecuta sobre hardware cuántico llamado annealer y que explota el efecto de tunelaje cuántico. Para mayor información, puedes consultar el post “The QPath approach for Quantum Annealing”[1].

La aparente controversia sobre considerar el annealing cuántico como computación cuántica está relacionada con lo que usualmente la gente argumenta. Se dice: “Oye, ¿por qué es tan fácil programar un annealer? Es sólo codificar una matriz”, “no estamos programando ni las fases ni las amplitudes de los cúbits, entonces ¡no se trata de computación cuántica!”, “nada necesitamos saber sobre computación cuántica, ¡todo aquí es clásico!”, “¿dónde están los cúbits?, nunca tratamos con ellos”.

¿Programar un annealer es fácil? Sí, lo es, siempre que consideremos la simplicidad relativa de la implementación a código. Sin embargo, la codificación de un problema computacional a ser resuelto en una matriz de interacción puede ser un verdadero dolor de cabeza. Para comprender mejor que es lo que tengo en mente cuando afirmo esto, te sugiero que leas el artículo “Ising formulations of many NP problems”[2].

Dónde están los cubits. ¿Todo aquí es clásico? Los cúbits están ocultos, es verdad. El annealer como dispositivo se encarga de controlar la superposición y el entrelazamiento para promover el efecto de tunelaje cuántico. Pero tú no dirías que el piano como instrumento no genera música porque los dedos del pianista no están en contacto directo con las cuerdas que dan lugar a las ondas sonoras. Más aún, tú no dirías que un sintetizador digital como los utilizados en bandas de rock o jazz no genera música. Este último caso, el del sintetizador, puede pensarse como la contraparte musical de un annealer digital, un dispositivo clásico que emula el comportamiento de hardware cuántico pagando un alto costo computacional.

Programar un annealer cuántico sí es computación cuántica. Más aún, es el área de la computación cuántica más prometedora por la escalabilidad en el número de cúbits y los potenciales problemas de la vida real que esta tecnología podría resolver. Por último, pero no por ello menos importante, podemos reutilizar toda la matemática y física estadística desarrollada para optimizaciones en la codificación de la matriz de interacción y en el postprocesamiento de los outputs. Estimados amigos, cuando programamos un annealer estamos tocando cuántica.

 

El QPath® annealer compositor

Permítanme insistir en la discusión sobre cuán fácil es programar un annealer. Una métrica plausible podría ser el número de for loops de Python requeridos para la construcción de la matriz de interacción. Por supuesto, no es difícil codificar todas las interacciones incluidas en el Hamiltoniano de un problema computacional empleando N loops, siendo N el rango del tensor usado como variable en nuestro problema. Pero lo que es complicado es la etapa previa, es decir, el desarrollo matemático de las expresiones cuadráticas que puede aparecer en el Hamiltoniano. Una vez que ya has desarrollado tu modelo de interacción, puedes expresarlo mediante penalidades cuadráticas que deben ser expandidas en términos lineales, cuadráticos y offsets para ser coherentes con los inputs que necesita el annealer.

Hasta ahora, algunas librerías como PyQUBO fueron desarrolladas para abordar esta cuestión. Sin embargo, la propuesta de un annealer compositor hecha por QPath® va más allá y ofrece una interfaz gráfica que evita el requerimiento de expandir las expresiones cuadráticas para construir la matriz QUBO. La Figura 4 muestra una imagen de tal herramienta. No tienes que ocupar tiempo con la matemática, primero, y con los loops de Python, luego.

PostEzFigure4_1

Figura 4. QPath® annealer compositor. Una interfaz gráfica amigable para construir la data input para un dispositivo de annealing.

 

¡El annealer compositor de QPath® hará todo por ti! Es como el mecanismo del piano para llevar a cabo cómputos con annealing cuántico. Estás invitado a probarlo pronto en QuantumPath®.

[1] Murina, E. El enfoque de QPath para el annealing cuántico – The QuantumPath Blog. 1 de February de 2021 https://www.quantumpath.es/es/2021/02/02/el-enfoque-de-qpath-para-el-annealing-cuantico/

[2] Lucas, A. Ising formulations of many NP problems. 24 Jan 2014. https://arxiv.org/abs/1302.5843v3