The QPath Blog
El enfoque de QPath para el annealing cuántico
Annealing como concepto foráneo en ciencias de la computación.
Teoría y aplicación.
¿Cuán frecuentemente encuentras la dicotomía entre teoría y aplicación cada vez que consultas literatura técnica o científica, asistes a un webinar o incluso a una clase en la universidad? Pienso que se trata de un falso concepto, una parcialidad.
Te propongo fundamentar mi idea con un breve ejemplo. Desde hace muchos años, en la industria del vidrio, se lleva a cabo un proceso que consiste en calentar al vidrio y, luego, enfriarlo lentamente siguiendo algún protocolo temporal. ¿Por qué querríamos hacer esto? Pues porque en el caso de las piezas de vidrio se modifica una propiedad físico-química: el material adopta una estructura molecular diferente que evita quebraduras espontáneas. A esta técnica se la llama annealing[1].
Podemos esgrimir una descripción más teórica. Una perturbación del sistema, seguida por una trayectoria hacia el equilibrio, permitiría visitar estados estables más interesantes de acuerdo a nuestros propósitos.
La técnica de annealing seguramente fue aplicada en sus inicios en la industria de materiales antes que tuviera lugar el desarrollo de una teoría termodinámica capaz de explicar el fenómeno a nivel molecular. Posteriormente, el mejoramiento de los procesos de annealing en la industria fue posible gracias a una teoría que describe cuáles son y cómo regular los parámetros críticos involucrados del proceso.
Entonces, tanto la teoría como la aplicación son dos caras de una misma moneda. Hay una constante interacción entre estos dos abordajes de la realidad, a modo de una sinergia que posibilita cambiar el mundo y hacerlo más confortable para vivir en él.
Mientras se da la interacción entre teoría y aplicación es común que, en una instancia de abstracción camino al desarrollo de una teoría, suceda una migración de conceptos de una disciplina a otra. Retomando el ejemplo presentado anteriormente, el annealing es un protocolo de calentamiento-enfriamiento empleado en industrias como la del vidrio, pero además es una técnica computacional aplicada en química teórica (annealing simulado), así como también un proceso que tiene lugar a nivel de hardware en dispositivos de computación cuántica (annealing cuántico). En resumen, el annealing que aquí se va a considerar es el que refiere a una técnica del área de ciencias de la computación y que se inspira en la química computacional y, en su origen, en la química aplicada a la industria.
Este artículo se centrará en qué es el annealing cuántico, cómo funciona el primer annealer cuántico comercial, qué es lo que nosotros programamos y qué tiene QPath para ofrecer al respecto.
Annealing cuántico para la optimización
¿Has oído hablar de entropía? Quizás alguna vez. La entropía es la fuerza impulsora que establece una direccionalidad en la evolución de un sistema físico, un “movimiento hacia”.
¿Has oído hablar de energía? ¡Seguro que sí! La energía es la contraparte de la entropía. Todo sistema físico tiende a evolucionar hacia un mínimo de energía (máximo de entropía). La Figura 1 muestra la situación desde el punto de vista de la entropía y la energía como fuerzas impulsoras.

Figura 1 La acción de la entropía remueve las inhomogeneidades del sistema (izquierda). Equivalentemente, la energía de un sistema tiende a “relajar las posibles tensiones” (derecha). Estamos hablando de un proceso de optimización.
Muchos problemas computacionales pueden tratarse desde un abordaje de optimización. Esto incluye la definición de variables relevantes que describe las propiedades del problema que son de nuestro interés e interacciones de a pares entre estas variables. En este contexto, la energía es una función matemática de las variables definidas y nos da información sobre la intensidad de las interacciones. Buscamos los valores mínimos de energía mediante el muestreo de las variables.
El annealling comienza cuando aplicamos una perturbación al sistema (un calentamiento) que le permite acceder a un rango mayor de estados energéticos. Luego, aplicamos un protocolo de (lento) enfriamiento que deja al sistema evolucionar hacia un estado más estable, es decir, un mínimo de energía.
La colección de valores dados a las variables en cada muestreo se llama configuración. Ir de una configuración a otra de menos energía requiere saltar una barrera energética en la mayoría de los casos. Esto demanda un mayor tiempo de cómputo. Sin embargo, cuando tratamos con un sistema cuántico, puede ocurrir un fenómeno llamado tunelaje cuántico. El tunelaje cuántico posibilita la superación de una barrera energética sin tener que saltarla sino “cruzando por la base”. Así, la demanda de tiempo de cómputo es menor. La Figura 2 ilustra una equivalencia conceptual (recordar que no hay efectos cuánticos en sistemas macroscópicos) del fenómeno de tunelaje llevado a escala humana.

Figura 2 El tunelaje cuántico puede ocurrir durante un protocolo de annealing cuántico. Consiste en una ruta directa entre dos mínimos locales separados por una barrera de energía. El tiempo de cómputo se reduce con respecto a la situación en donde es necesario clásicamente “trepar el cerro para alcanzar el otro lado”.
Un annealer cuántico comercial
Un annealer cuántico es un dispositivo de hardware que lleva a cabo annealing cuántico. La empresa D-Wave Systems ha lanzado un annealer cuántico comercial compuesto por varios cúbits ordenados espacialmente en una geometría de grafo y capaces de interactuar entre ellos y con dos campos magnéticos externos. La escalabilidad exponencial en el número de cúbits (estables) es una de las características más interesantes de esta tecnología.
En el hardware de D-Wave, los cúbits inicializan en un estado de superposición cuántico debido a la acción de un campo magnético transversal. El protocolo de annealing cuántico comienza cuando un campo magnético longitudinal es lentamente encendido mientras el transversal es lentamente apagado, como se muestra en la Figura 3. El protocolo termina cuando todos los cúbits colapsan en estados de bits que codifican una de las posibles soluciones optimizadas de nuestro problema computacional.

Figura 3 Implementación del protocolo de annealing cuántico según el hardware de D-Wave. El Hamiltoniano H (la energía del sistema, es decir, la energía del conjunto de cúbits, incluye la interacción con los campos magnéticos transversal (rojo) y longitudinal (verde)., así como también la interacción de a pares entre cúbits (violeta).
¿Qué es lo que programa el programador annealing?
El annealing cuántico en ciencias de la computación promete resolver problemas de tipo NP-hard, entre otros, de una manera más sencilla, junto con la reducción de los recursos computacionales requeridos. El impacto de la tecnología de annealing va a ser grande ya que las soluciones a problemas de tipo NP-hard son hoy en día fuertemente demandadas en muchas industrias.
Haciendo foco en el desarrollo de software, el abordaje QUBO (Quadratic Unconstraint Binary Optimization) oficia de puente lógico-matemático para la codificación de problemas NP-hard, entre otros, en variables binarias y sus correspondientes interacciones de a pares. El modelo de un sistema, es decir, la definición de variables e interacciones, es crítico a la hora de obtener la información que necesitas respetando cierto umbral de tolerancia.
Las interacciones de a pares son modeladas como términos cuadráticos. Esto es, productos entre las variables involucradas (término “violeta” en la Figura 3). La interacción de los cúbits con el campo magnético externo longitudinal es representada por un término linear (término “verde” en la Figura 3). Ambos, los términos cuadrático y lineal del Hamiltoniano, constituyen el denominado modelo de Ising que es equivalente a la formulación QUBO. El Hamiltoniano de Ising es lo que programa el programador en función del problema computacional que quiera resolver. Ocasionalmente, aparece un término de energía constante. No obstante, éste sólo modifica el valor absoluto de la energía total, el cual es irrelevante en lo que respecta a la interpretación de los resultados en cuanto a minimización se refiere. Por otro lado, el primer término del Hamiltoniano de la Figura 3 (“rojo”) no es controlado por el programador sino por un proceso independiente que ejecuta el annealer. De hecho, es el término transversal la parte cuántica del Hamiltoniano que favorece el efecto de tunelaje cuántico.
QPath hacia el desarrollo de software cuántico comercial
La programación cuántica puede ser algo complicado incluso para aquellos que tienen una formación científica. Nos encontramos en los primeros años de la computación cuántica. Por un lado, los lenguajes de programación cuánticos, dispositivos de hardware y los algoritmos están en constante evolución. Por otro lado, hay una escasez de la fuerza de trabajo requerida. En consecuencia, el desarrollo de software cuántico para la industria representa hoy en día un desafío muy grande.
Dada esta situación, Qpath aparece como el camino que posibilita el desarrollo de software cuántico comercial. QPath es una plataforma de desarrollo y ciclo de vida de software cuántico. Va a integrar y soportar un conjunto de métodos y técnicas críticos de ingeniería del software para la producción a gran escala de algoritmos y software cuántico de alta calidad. Para mayor información, puedes leer el artículo titulado “Introducción al desarrollo de software cuántico con QPath” en El Blog de QPath [2]. El siguiente párrafo trata sobre qué tiene QPath para ofrecen en lo que respecta al annealing cuántico.
Como se mencionó arriba, la empresa D-Wave System ha lanzado el primer annealer cuántico comercial junto a un SDK llamado Ocean. Programar un annealer consiste básicamente en codificar una matriz de interacción cuya dimensión aumenta con el número de variables definidas para describir nuestro problema computacional. Ocean trabaja con Python como lenguaje de programación. QPath puede ayudar en el diseño, despliegue y ejecución de tu algoritmo de annealing cuántico. QPath te provee un conjunto de abstracciones, herramientas, ejecuciones a escala y resultados unificados que simplifican la etapa de desarrollo, siendo cuidadoso con los detalles tecnológicos subyacentes. Toda esta tecnología de software es agnóstica respecto de un hardware específico. Por lo tanto, puede ser usada en otros annealers cuánticos que sean lanzados por diferentes compañías en un futuro.
Buenas noticias. Mucho trabajo en ejecución, muchas ideas convirtiéndose en realidad. Se trata simplemente de un camino cuántico hacia el desarrollo de software cuántico comercial.
[1] En español el término empleado para describir tratamientos térmicos en la fabricación de metales y vidrios pero, atendiendo al uso generalizado del anglicismo en la computación cuántica, en el artículo emplearemos annealing al referirnos al mismo.
[2] Peterssen Nodarse, Guido; Hevia, José Luis. Introduction to quantum software development with QPath. The QPath Blog. https://www.quantumpath.es/index.php/es/2021/01/13/introduccion-al-desarrollo-de-software-cuantico-con-qpath/. 2021