Hay que comenzar diciendo que un ordenador convencional, sea del tamaño y la potencia que sea, es incapaz de simular un efecto cuántico con total fidelidad de manera eficiente. Para poder simular tales efectos sería necesario disponer de un ordenador que funcionase bajo las leyes de la mecánica cuántica.
Si se desea emular el comportamiento de un sistema cuántico compuesto de varias partículas, pongamos por ejemplo una molécula, lo ideal sería utilizar un computador cuántico construido a base de bits cuánticos o qubits; es decir, que sus elementos de tratamiento de la información tuvieran un comportamiento cuántico.
¿Por qué se quieren simular fenómenos cuánticos? El problema reside en que hay algunos fenómenos de naturaleza cuántica que no son bien entendidos debido al gran número de interacciones que conllevan y a su complejidad. Estos fenómenos no pueden estudiarse con todo detalle mediante ordenadores clásicos ya que el número de posibles estados que puede generar es tan amplio que un superordenador no puede cubrirlo en toda su extensión.
Esta situación fue bien entendida por los físicos que, en sus laboratorios, han conseguido utilizar sistemas cuánticos de pruebas para simular el comportamiento de otros sistemas. Mediante montajes experimentales de átomos ultrafrios, iones atrapados o puntos cuánticos consiguen simular el comportamiento de átomos en sólidos, enlaces moleculares o la evolución de algunos hamiltonianos de difícil cálculo. Con el tiempo se dieron cuenta de que estos sistema se podrían aprovechar de forma más genérica para realizar cálculos, y que si se podían escalar lo suficiente, su capacidad de cálculo podría superar incluso a los grandes superordenadores.
Por tanto, se puede decir que existen dos grandes familias de simuladores cuánticos. Por un lado, están los simuladores, que acabamos de comentar, que emulan un fenómeno cuántico concreto para su estudio pormenorizado, y por otro lado, están los simuladores de cómputo cuántico, los cuales no simulan un sistema físico concreto sino un sistema de circuitos de puertas lógicas que sería capaz de realizar pequeños cálculos empleando elementos del comportamiento cuántico.
Los simuladores de cómputo cuánticos se realizan mediante software y su misión primaria es la de comprobar el funcionamiento de ciertos algoritmos o primitivas cuánticas. Lo que hacen estos sistemas de software es simular un conjunto de qubits y sus interacciones. Sin embargo, debido al ritmo creciente del espacio de Hilbert que generan los qubits, rápidamente se alcanza un límite de muy difícil superación. Es decir, un qubit puede estar en dos estados bien diferenciados, digamos |0⟩ y |1⟩, aunque lo más habitual es que exista en forma de superposición de ambos estados, es decir α|0⟩ + β|1⟩ siendo α y β coeficientes de peso de cada estado fundamental y cuyo cuadrado indica la probabilidad de encontrar al sistema en el estado o en el estado al realizar una medición. Cuando se trata con dos no más qubits, debido a las características de superposición, el número de estados que constituyen un sistema crece rápidamente. Con dos qubits, se tiene un sistema con cuatro posibles estados:
α|00⟩ β|01⟩ γ|10⟩ δ|11⟩
Con 3 qubits se tienen ya 8 estados: |000⟩, |001⟩, |010⟩, |100⟩, |101⟩, |110⟩, |011⟩, |111⟩, cada uno con su propio peso. Si se siguen añadiendo qubits, se pasa a 16 estados para cuatro qubits, 32 para cinco, y así sucesivamente. Como se aprecia, cada vez que se añade un qubit, se dobla el número de estados posibles en los que se puede encontrar el sistema. Llega un punto en el que un ordenador ya no puede manejar tal volumen de información, y no es punto muy lejano. Para 30 qubits, por ejemplo, el número de posibles estados en los que se puede encontrar el sistema es 2^30= 1.073.741.824 y para 2^50 = 1.125.899.906.842.624
Aun tratándose de sistemas con limitaciones, 30 qubits no realizan un cálculo que no puede hacer un computador clásico; sin embargo, resultan de gran utilidad, ¿por qué? La forma de realizar el cálculo simula cómo lo haría un ordenador cuántico real, sin las imperfecciones que este pueda tener debido a los defectos de fabricación o de ajuste de la tecnología. Esto significa que si un algoritmo cuántico se ejecuta en un simulador y proporciona unos resultados, esos resultados son los que proporcionará en un sistema cuántico real con el mismo número de qubits que el simulador. Lo más interesante es que si el algoritmo funciona para, digamos 30 qubits, y se ha diseñado teniendo en cuenta la posibilidad de escalar, todo hace suponer que deberá funcionar también para 30 + N qubits; es decir, el algoritmo se podrá ejecutar en un ordenador cuántico de 100, 200 o 1000 qubits, donde ya no existe posibilidad de simulación alguna. No hay todavía visos de poder tener un ordenador de 1000 qubits totalmente operativo y libre de errores. Compañías como IBM han revelado que dispondrán de un ordenador de 1024 qubits para 2024, pero no sabemos todavía que margen de eficiencia y fiabilidad podrá alcanzar. Hasta entonces, la simulación cuántica es la mejor herramienta de la que disponemos.
Actualmente existen varios simuladores de uso libre en el mercado, algunos de espectro general como es el quirk otros con objetivos más específicos como el myQLM de la empresa ATOS, y que está principalmente pensado para el desarrollo de algoritmos en el campo del QML (Quantum Machine Learning).
Las empresas que ofrecen procesadores cuánticos reales, como IBM o DWave, también disponen de simuladores en sus entornos IBM Quantum o Leap, respectivamente, que permiten comprobar la ejecución los algoritmos antes de pasarlos al procesador real o incluso con una perspectiva clásica o híbrida.
En el estado actual de la evolución de la computación cuántica, es conveniente adoptar una metodología de trabajo en la cual los algoritmos son ejecutados y comprobados en un entorno de simulación que asegure que su lógica y su codificación es correcta y que están listos para ser ejecutados en un entorno cuántico real.
Hay que tener en cuenta que, una vez alcanzada la supremacía cuántica -y ya parece que cada día se está más cerca de llegar a ella-, no tendremos forma de comprobar los resultados proporcionados por los procesadores cuánticos, puesto que solo ellos serán capaces de ejecutar eficientemente los algoritmos.
Autor: Francisco Gálvez, director del Máster de Computación Cuántica de la Universidad de Nebrija
Fuentes de las imágenes
Figura 1. Fuente: https://sites.google.com/site/simulacioncuanticaucm/
Figura 2. Fuente: https://www.interempresas.net
Figura 3. Fuente: https://algassert.com/quirk