Hasta que llegue la Internet Cuántica

Internet Cuántica

JAVIER MARTÍN / FUTURIZABLE

“Pienso que se puede afirmar tranquilamente que nadie entiende la mecánica cuántica… No te pongas a repetir, si puedes evitarlo ¿pero cómo puede ser así? porque irás hacia un callejón sin salida del que nadie ha escapado. Nadie sabe cómo puede ser así. Si usted piensa que entiende la mecánica cuántica… entonces usted no entiende la mecánica cuántica» Richard Feynman

Tras leer estas palabras y reflexionar sobre ellas, teniendo en cuenta que Richard Feynman, además de haber recibido el premio Nobel de física, está considerado como el padre de la computación cuántica, y ha sido de uno de los científicos que más ha aportado al desarrollo actual de la mecánica cuántica, sería una osadía intentar explicar en detaller en qué consiste la computación cuántica. Pero lo que sí que podemos hacer es recomendar una serie de recursos que pueden ayudar a aquellos que estén interesados en profundizar en ello o incluso aprovechar la oportunidad que supone por lo incipiente que es esta nueva disciplina tecnológica.

Recursos sobre computación cuántica

No es la primera vez que hablamos de computación cuántica en Futurizable, ya que en 2016 hicimos un artículo donde lo mencionábamos junto a otras tecnologías incipientes en el ámbito de la informática, de las cuales, claramente, la que más protagonismo ha tomado en este tiempo es la cuántica. Del artículo anterior vale la pena recordar como apenas había un puñado de empresas dedicadas a trabajar en este ámbito, frente a las más de 100 startups que han surgido en estos años, enfocadas en realizar distintos tipos de desarrollos en el marco del quantum computing. Podemos destacar D-Wave, con su plataforma Leap; Riggeti, que ofrece su plataforma de computación cuántica a través de Amazon Web Services; IonQ, que ha apostado por el modelo de computación cuántica basado en trampa de iones propuesto por el físico español Ignacio Cirac; y Zapata Computing, que trabaja en el desarrollo de los algoritmos cuánticos necesarios para que comiencen a aparecer los primeros casos de uso reales de la tecnología.

En lo que a startups españolas se refiere, nos encontramos por ejemplo con Quside que se dedica al diseño y fabricación de componentes cuánticos innovadores para cualquier dispositivo conectado. Para ello han desarrollado una tecnología de generación de números aleatorios cuánticos, con el objetivo de habilitar la próxima generación de soluciones de cifrado. Quside nació como una spin-off del ICFO-The Institute of Photonic Sciences en Barcelona. Después de más de 6 años de intenso esfuerzo de I + D en el desarrollo de dispositivos cuánticos para comunicaciones seguras, el equipo tomó el camino de la industrialización y constituyó la empresa en 2017. A partir de ese momento la compañía se dedica al desarrollo de su innovadora tecnología cuántica y fotónica.

Otras startups españolas que trabajan en el ámbito de la computación cuántica a las que habrá que seguir la pista son Q-LIONMetempsyMultiverse y VLC Photonics.

Además hay que destacar que las grandes empresas tecnológicas cuentan ya con programas específicos para el desarrollo de esta tecnología, de manera que, al igual que ha ocurrido con la Inteligencia Artificial (al menos de momento) la idea es compartir y colaborar, de forma que, uniendo fuerzas en todas estas empresas, se puedan afrontar los grandes retos que presenta esta tecnología, tanto desde el punto de vista científico como a la hora de aplicarlo en casos reales.

En este sentido sabemos desde hace tiempo que la apuesta por la computación cuántica de IBM se realiza a través del proyecto Quiskit, donde están haciendo una importante labor de divulgación, gracias a al trabajo en la materia que realizan profesionales como Asier Arranz. Por otro lado sabemos que la iniciativa de Googlecon su proyecto Cirq, está muy ligada a su estrategia de Inteligencia Artificial, que Microsoft desarrolla también sus propias iniciativas en el marco de Azure y que Amazon ha llamado Braket a su iniciativa de informática cuántica.

También otras muchas empresas tecnológicas como Intel, Baidu, Mitsubishi, Nokia, Alibaba, … tienen sus propios programas para el desarrollo de la computación cuántica, por lo que vemos que estamos en un momento importante en cuanto al interés por la tecnología se refiere y lo que tendremos que ver en los próximos años es el nivel de madurez que se puede llegar a lograr, a través de los casos de uso en diferentes industrias, igual que ha sucedido recientemente con otras tecnologías como blockchain.

Las diferentes aplicaciones cuánticas

Antes de entrar en detalle sobre el funcionamiento de la computación cuántica conviene saber que existen diferentes aplicaciones cuánticas más allá de la propia computación, de forma que, actualmente, se trabaja en paralelo en el desarrollo de estas tecnologías basadas en la teoría de la información cuántica, de las cuales algunas están claramente más avanzadas que otras.

  1. Las comunicaciones cuánticas consisten en la transmisión de información valiéndose de los principios de la mecánica cuántica y propiedades como el entrelazamiento cuántico y la teleportación cuántica. Su desarrollo se basa principalmente en la criptografía cuántica y la computación cuántica, se proyecta como el futuro medio de comunicación ideal debido al gran aporte en el área de la seguridad informática. Se considera que en un futuro próximo se podrán implementar redes cuánticas que reemplacen a los actuales sistemas de telecomunicación especialmente para ofrecer utilidad en comunicaciones que trabajan con información crítica como puede ser la financiera, legal o de seguridad nacional.
  2. La criptografía cuántica es la criptografía que se basa en los principios de la mecánica cuántica para garantizar la absoluta confidencialidad de la información transmitida. Una de sus propiedades más importantes consiste en que si un tercero intenta espiar durante la creación de la clave secreta, el proceso se altera descubriendo al intruso antes de que se transmita la información privada, lo cual es consecuencia del teorema de no clonado.
  3. La computación cuántica es a lo que vamos a dedicar este artículo y consiste en el uso de qubits en lugar de bits, dando lugar a nuevas puertas lógicas que hacen posibles nuevos algoritmos.
    La programación cuántica está surgiendo a la par que se van desarrollando los ordenadores cuánticos, por lo que las principales empresas que trabajan en ello han creado sus propios lenguajes de programación como puede ser Q sharp de Microsoft, QASM desarrollado por IBM para ser usado en el marco de su framework Qiskit. Y sobre todo tenemos que considerar la gran relevancia que está tomando Python en este sector, al igual que ha ocurrido antes en el ámbito de la Inteligencia Artificial.
  4. Todos estos desarrollos nos llevarían en un futuro a disponer del llamado Internet Cuántico que funcionaría a través de satélites y nos colocaría a un nuevo nivel en cuanto al uso que podemos hacer de las tecnologías de comunicaciones e informáticas.
  5. Finalmente tenemos que pensar en otros tipos de aplicaciones por ejemplo en temas como la metrología y sensores, donde ya se trabaja por ejemplo en el diseño de alternativas a los relojes atómicos, en sistemas de navegación basados en acelerómetros como alternativa al sistema GPS y en el desarrollo de gravitrómetros cuánticos, entre otras muchas aplicaciones.

Cuatro formas en las que se pueden crear los qubits

De cara a poder desarrollar ordenadores cuánticos resulta imprescindible poder disponer de un hardware que sea capaz de trabajar con qubits, para lo cual se han propuesto diferentes soluciones, tanto de manera teórica o experimental, como desarrolladas de forma práctica, lo que ocurre es que la mayoría de ellas aún no están disponibles de manera comercial y sobre todo que aún no podemos saber si una de ellas se impondrá frente a las demás o si se mantendrán varias opciones en función de la utilidad que se quiera obtener. En todo caso lo que vamos a ver a continuación son 4 de las formas que están más desarrolladas hasta el momento.

  1. Utilizar el spin de partículas como el electrón para crear qubits, sabiendo que las partículas como los electrones, o los propios átomos, tienen una propiedad de tipo magnético denominada spin. Podemos imaginarnos el electrón como un pequeño imán, con su polo Norte y su polo Sur. En estado de superposición, la dirección Sur-Norte de éste queda indefinida. Para tratar de conocerla, utilizamos un aparato de medida que hace pasar el electrón entre dos imanes, uno mostrando su polo S y otro mostrando su polo N. Uno de los imanes (S) es más potente que el otro, de forma que si el electrón tiene su polo N hacia el S del aparato de medida y viceversa, saldrá del aparato con una trayectoria ligeramente desviada hacia donde estaba el polo S del aparato. Si, por el contrario, el electrón tiene sus polos iguales respecto a los del aparato, el que es más potente, el S, repele el polo S del electrón y la trayectoria de éste al salir, estará ligeramente desviada en la dirección N del aparato. Bien, si el electrón tiene su spin o dirección S-N en una dirección cualquiera, deberíamos ver trayectorias en diferentes ángulos y desviaciones, pero los experimentos nos dan dos trayectorias al 50%, como si el spin siempre estuviese perfectamente alineado con la dirección de los imanes del aparato, ya sea hacia el N o hacia el S. Al observar la distribución de los impactos de los electrones en la lámina final, no hay impactos en la zona donde llegarían los electrones cuyo spin tiene una dirección S-N inclinada u horizontal y su desviación hacia el N o el S no fuese tan marcada.
  2. Utilizar la dirección de polarización del fotón para crear el qubit, de forma muy semejante a lo que ocurre con el spin del electrón. El plano de vibración asociado al fotón, puede tener distintas inclinaciones, y existen filtros que solo dejan pasar los fotones cuyo plano de polarización está en un ángulo concreto. En estado de superposición, dicho plano está indeterminado, y al aplicarle el filtro vertical, se deshace la superposición y dejará pasar fotones al 50% con polarización vertical, mientras que otro 50% de fotones se habían manifestado con polarización horizontal y no pasan el filtro. En el experimento de los tres filtros, por ejemplo, se ve que si aplicamos un filtro que solo deja pasar la polarización horizontal, al aplicar un filtro vertical, no pasan fotones. Pero si, tras un filtro horizontal, colocamos otro inclinado un ángulo de 45º, el estado de superposición que provoca éste, hace que un filtro vertical posterior deje pasar el 50% del haz de fotones.
  3. Usar una trampa de iones para crear los qubits, mediante campos eléctricos y electromagnéticos.Al disponer iones (suelen ser de Calcio) capturados de forma que solo puedan vibrar en una de las tres dimensiones (Z), este único movimiento solo se manifiesta según cantidades concretas de energía (cuantos). En estado de superposición, podemos tener un ión en un estado indeterminado entre movimiento cero y vibración asociado a un estado energético concreto. Al incidir con un láser sobre el ión, según el estado energético que adopta al romperse la superposición, sale un fotón o no.
  4. Usar el efecto túnel entre dos superconductores (Unión Josephson, Temple Cuántico) es otra forma de crear qubits que cumplan con las características definidas por la lista de criterios propuesta por Di Vincenzo. Para ello se utiliza un circuito de superconductores (suele ser aluminio) a temperaturas muy cercanas al cero absoluto, en los que hay un sistema resonante (su estado se manifiesta a través de frecuencias) que puede estar en lo que se llama el estado “Ground” o básico que representará el 0, y puede estar en un estado “excitado”, al aplicar micro-ondas con una energía muy concreta, que representará al 1. Si la frecuencia aplicada con las microondas no llega a ser la exacta que pone al sistema en el estado excitado, el sistema se queda en un estado de superposición. En estos circuitos, la parte clave son las Uniones de Josephson en las que se produce el conocido efecto túnel, que es el que permite pasar electrones (los pares de Cooper) a través del aislante entre los dos superconductores. Es curioso que, precisamente, el efecto túnel sea el inconveniente que se encuentran los transistores de los chips clásicos para funcionar bien, siendo justo el efecto clave para que los chips cuánticos funcionen en el nuevo paradigma de la computación cuántica. Éste es el sistema utilizado por IBM en su ordenador cuántico Q, en el que un circuito tipo “trasmon” se comporta de forma cuántica en arquitecturas de diferentes formas y diferente número de qubits En la técnica del Temple Cuántico, que es la que usa D-Wave, el sistema es de un número mucho mayor de qubits y se analiza la distribución de valores del hamiltoniano (una función que mide la energía del sistema) obteniendo un “landscape” o paisaje en el que el valor mínimo representa la solución óptima al problema computacional.

Cómo empezar a aprender sobre computación cuántica

De las primeras cosas que podemos hacer cuando nos planteamos aprender sobre una nueva tecnología, es empezar a ir a eventos para conocer el estado de desarrollo de la materia y conocer a otras personas que se encuentran en una situación parecida a la nuestra, de forma que ésto nos podrá ayudar a tomar una decisión al respecto de cómo adentrarnos en esta materia y sobre todo hacerlo de la mano de otros que ya llevan parte del camino recorrido. A este respecto de los eventos ya se han empezado a poner en marcha algunos, como por ejemplo en Madrid están el Meetup Computación Cuántica en Madrid promovido por IBM y el Meetup Quantum and Beers Madrid promovido por Sngular, aunque en Meetup podremos encontrar otros que se realizan en otras ciudades.

Antes de lanzarnos a participar en eventos sería bueno llegar allí con cierta base en cuanto a los principales aspectos a conocer de esta disciplina y conocer conceptos como el qubit, la superposición, el entrelazamiento, las puertas cuánticas, como la de Hadamard y CNOT, o la esfera de Bloch. A este respecto recomendamos por aquí unos vídeos de DerivandoDate un Voltio y Quantum Fracture, que son grandes divulgadores científicos y explican el tema de la forma más didáctica posible. Además si quieres entender las connotaciones que esta tecnología va a tener a nivel de desarrollo informático y de negocio para las startups te recomendamos ver este vídeo de Platzi.

Los Frameworks para programar ordenadores cuánticos

Para trabajar con la computación cuántica, como ocurre con otras tecnologías recientes, lo mejor es subirse a hombros de gigantes, es decir, aprovechar todo el trabajo que ya han hecho las grandes empresas tecnológicas, para construir sobre ello nuevas ideas y aplicaciones. De hecho si estas empresas han decidido apostar por este modelo de funcionamiento es porque saben que es la mejor forma de impulsar un nuevo sector en el que existen tantas incertidumbres y dificultades a superar. Por lo tanto lo que vamos a descubrir a continuación son las plataformas sobre las que podemos trabajar si queremos empezar a hacer pruebas con la computación cuántica.

  1. Qiskit de IBM. IBM ha sabido mover ficha con habilidad y rapidez, creando un entorno bastante amable, con buena documentación, para iniciarse en la programación de circuitos cuánticos. Qiskit es un framework Open Source en Python, con cuatro elementos: Terra, Aer, Aqua e Ignis. A grandes rasgos, Terra provee de las herramientas básicas para programar los circuitos y ejecutarlos en remoto en los backends cuánticos reales; Aer permite simular el funcionamiento de éstos mientras estamos creando los circuitos y probando; Aqua proporciona las librerías para particularizar en el campo de la química, la IA o las finanzas, e Ignis se encarga del ruido, que como veremos más adelante es el gran problema al que se enfrenta en estos momentos la computación cuántica. A través de la IBM Q Experience y una serie de tutoriales, es relativamente sencillo introducirse y familiarizarse con el entorno de Qiskit, trabajando sobre Jupyter notebooks. También han lanzado un manual que permite ponerse manos a la obra para ir descubriendo más a fondo las posibilidades y herramientas a nuestro alcance.
  2. Forest SDK de Rigetti. El fundador de Rigetti provenía de la división de computación cuántica de IBM, por lo que, a pesar de ser una compañía relativamente reciente, se ha ganado la confianza de inversores y agentes del sector. El sistema de Rigetti, en realidad, es híbrido, complementando computación clásica con un co-procesador cuántico. En 2017 lanzó su propia plataforma de servicio para programar algoritmos cuánticos, llamada Forest, gratuita y libre, cuya SDK se puede descargar desde la web. Cuenta con su propio lenguaje de programación: Quil. Pero proporcionan una librería (PyQuil) para poder crear y ejecutar los programas con Python. Los circuitos programados se pueden ejecutar en una QVM (Quantum Virtual Machine) en modo simulación, o también se puede acceder a un QPU (Quantum Processing Unit) para hacer una ejecución en su ordenador cuántico real. Rigetti ha creado una comunidad de partners que actúan como intermediarios para llegar más lejos y con un portfolio de servicios más completo para empresas como usuario final.
  3. Strawberry Fields de Xanadu. Xanadu cuenta con una plataforma muy limpia para probar la computación cuántica basada en fotones. Strawberry Fields es una librería Python open source, que ellos categorizan como “full stack” para diseñar, simular y optimizar circuitos cuánticos ópticos. En la web ofrecen una interfaz interactiva bastante bonita para construir gráficamente un circuito y probarlo en simulación. La documentación todavía no es muy amplia, pero, al igual que en casi todas las plataformas, es suficiente para iniciarse y probar.
  4. Cirq de Google. Google ya lanzó en 2018 su propio framework open source para Python, denominado Cirq, con el que se pueden crear algoritmos cuánticos y ejecutarlos localmente, en un entorno virtual Python, en modo simulador. La documentación disponible es un poco escasa, pero está bien para iniciarse. La intención es dar acceso remoto a su ordenador cuántico para que cualquiera pueda ejecutar los algoritmos en el pardigma cuántico real, pero aún no han dado ese paso. Han estado bastante concentrados en poner a punto su última versión de chip cuántico, el Sycomore de 54 bits, para su experimento de supremacía cuántica. Sería bueno que continuasen en la línea de lo que hicieron con Tensorflow para el tema de machine learning y vuelvan a cuidar la comunidad. Lo malo de los simuladores cuánticos, es que tarde o temprano ya no sirven, pues, en el fondo, se ejecutan sobre computación clásica.
  5. Leap de D-Wave. D-Wave fue la primera empresa en vender ordenadores cuánticos, entre otros, a la Nasa. Sus ordenadores cuánticos se basan en la técnica del “recocido cuántico” o “temple cuántico”. Esta tecnología se basa en una arquitectura basada en grafos, por la cual cada qubit está acoplado a otros 15 qubits (en su arquitectura actual Pegasus). Su funcionamiento está totalmente enfocado en resolver problemas de optimización. El “Quantum Annealing” o recocido cuántico, es un algoritmo en el que se “cablean” los parámetros del problema en modo grafo y se realiza una gran cantidad de muestreos aleatorios, buscando después el mínimo global de las fluctuaciones cuánticas que se dan por efecto tunel en superconductores. Pero realmente el ordenador de D-Wave no es del todo cuántico, aunque sí muy potente. Ésto le da cierta ventaja sobre otros ordenadores cuánticos que todavía no pueden resolver problemas en el mismo nivel, pero también podría ser una limitación cuando el resto vaya aumentando su capacidad. La cuestión es que no todos los qubits aprovechan el estado de superposición en la misma fase de computación. Además, solo puede usarse para problemas que admitan el mapeado del algoritmo sobre cierto grafo. El entorno para probar de forma gratuita, a través de la nube, el D-Wave 2000 Q System, se llama Leap y se utiliza Ocean SDK, con herramientas y librerías de Python. Como también tiene tutoriales y ejemplos en notebooks de Jupyter, el primer acercamiento es bastante interactivo y asequible.
  6. QDK de Azure Quantum: Microsoft ofrece su propio framework open source llamado QDK (Quantum Development Kit) que permite programar y ejecutar simulaciones de algoritmos cuánticos. Ofrece conectar con Azure y poder utilizar containers de Docker para crear los entornos de simulación, y también ofrece la posibilidad de solicitar acceso anticipado a lo que va a ser su plataforma especializada en computación cuántica Azure Quantum, en la que se podrá utilizar hardware cuántico real en remoto a través de los partners con los que cuenta Microsoft, como IonQ. El lenguaje propio que ha desarrollado Microsoft para este entorno y su QDK es Q# (Q sharp), aunque también ofrece una librería para programar en Python, adaptando el código. La documentación es bastante completa pero poco unificada, y cuesta volver a encontrar algo que habías visto antes. Hay varias opciones de trabajo: Visual Studio, Jupyter notebooks,… Tiene buena pinta, a la espera de que lancen definitivamente Azure Quantum.
  7. Braket de AWS: El último actor conocido que se ha incorporado al escenario de la computación cuántica ha sido AWS. Tras anunciar la creación de la plataforma Bracket, y ofrecer la posibilidad de probarla en fase Beta a través de solicitud, ha ido reclutando los servicios de proveedores de hardware, como D-Wave, IonQ y Rigetti. Aunque aún no hay suficiente información sobre la experiencia que ofrece, parece ser que se programa sobre notebooks de Jupyter, en Python, y se puede elegir si se ejecutan los algoritmos sobre un backend de simulador o un backend de procesador cuántico real de alguno de los proveedores con los que tienen acuerdo.

Descubre los algoritmos cuánticos más importantes hasta el momento

Los algoritmos cuánticos son la base para que puedan empezar a desarrollarse aplicaciones basadas en computación cuántica, así que como os podéis imaginar, en lo que más se está trabajando actualmente es en el diseño de estos algoritmos, lo cual permitirá más adelante desarrollar los programas informáticos que se esperan ofrezcan utilidades en ámbitos como en el diseño de moléculas o la optimización de rutas de transporte…

Leer más: futurizable.com