Computación cuántica e Inteligencia Artificial

Paloma Recuero de los Santos    14 enero, 2020

La computación cuántica ha saltado de los entornos de investigación básica y los departamentos de innovación de las grandes tecnológicas a los medios de comunicación. Aunque no pretendamos hablar de igual a igual con uno de los personajes de “The big bang Theory”, vamos a intentar explicar de forma clara en qué consiste la computación cuántica, por qué despierta tanto interés hoy en día y cuál puede ser su impacto en el ámbito de la inteligencia artificial.

Logo de la serie The Big Bang Theory, que ha ayudado a popularizar la Física
Figura 1: La serie The Big Bang Theory ha ayudado a popularizar la Física

La computación cuántica, al igual que la inteligencia artificial, no es algo nuevo. Surgió en 1981, cuando Paul Benioff propuso aplicar las leyes cuánticas al mundo de la computación.

Hoy día, el interés de esta propuesta es mucho más relevante ya que la computación tradicional está llegando a un límite en el que hay que cambiar las reglas (leyes físicas) del juego. También, como veremos más adelante, porque la computación cuántica tiene el potencial de ofrecer más potencia de cálculo, y más capacidad de memoria, con un menor consumo de energía que los ordenadores tradicionales. Esto nos va a permitir resolver problemas que antes eran totalmente inabordables.

Los límites de la ley de Moore

La Ley de Moore, enunciada en 1965 predijo que el número de transistores en un microprocesador se duplicaría aproximadamente cada 24 meses. Se ha cumplido con asombrosa precisión, reduciendo gradualmente el tamaño de los transistores para producir microchips cada vez más pequeños y logrando, de esta forma, mayores velocidades de proceso. Actualmente, los transistores más modernos se fabrican con tecnología de 14 nm (1nm = 1 mil millonésima de metro) y puede que se consigan alcanzar los 5nm en 2020.

A medida que se reduce el tamaño es más complicado disipar el calor. Y no sólo eso. A esta escala las leyes de la física clásica dejan de funcionar, y los electrones, que son partículas cuánticas, se pueden ir “por donde no deben”.

Si una partícula clásica se encuentra con un obstáculo que no puede atravesar, rebota. Un electrón es una partícula cuántica, puede comportarse como una onda y, si el obstáculo es lo suficientemente delgado, puede atravesarlo. Como resultado, el chip “deja de funcionar” por lo que se conoce como “efecto túnel”, debido al cual una parte de la corriente eléctrica puede saltar de un circuito a otro a través de un aislante.

Efecto túnel de una partícula sobre un potencial V>E
Figura 2: Efecto túnel de una partícula sobre un potencial V>E

Por ello, debemos empezar a trabajar con las leyes de la física cuántica que, si recordamos, es la rama de la ciencia que estudia las características, comportamientos e interacciones de partículas a nivel atómico y subatómico.

La computación cuántica es una nueva forma de computar que aplica las leyes de la mecánica cuántica. Para entender mejor en qué consiste, lo compararemos con la computación tradicional.

Computación clásica: bits

La teoría de computación clásica se basa en trabajar con voltajes eléctricos que se traducen en dos estados:

  • “no señal” = 0
  • “señal” = 1

Trabajar con dos estados es muy interesante porque permite aplicar un formalismo matemático muy potente, el Algebra de Boole, sobre el cual se define la toda teoría de computación.

Así, en un ordenador convencional la información se representa como cadenas de bits 0 o 1.  En cada momento, el estado del ordenador lo describen los estados de sus bits. Por ejemplo, en un sistema de dos bits, el conjunto de todos los estados tiene 4 elementos y es {00, 01, 10, 11}.

Para cambiar de un estado a otro, el sistema aplica a los bits lo que se conoce como puertas lógicas de Boole.  Por ejemplo, NAND es una puerta lógica universal a partir de la cual se pueden construir las otras puertas lógicas de dos bits AND, OR, NOR, XOR, XNOR.

Figura 2: Puerta lógica de Boole NAND
Figura 2: Puerta lógica de Boole NAND

Computación cuántica: qubits

En computación cuántica, en lugar de trabajar a nivel de voltajes eléctricos, se trabaja a nivel de cuantos y por tanto entran en juego las leyes de la Física Cuántica. Entre ellas, nos van a interesar en particular dos: la superposición de estados y el entrelazamiento. A continuación vamos a ver en qué consisten y qué ventajas aportan a un ordenador cuántico.

¿Qué es la Superposición (superposition)?

La superposición de estados consiste en la capacidad de una partícula de encontrarse en dos estados distintos al mismo tiempo. Gracias a esta propiedad la capacidad de procesar información de un sistema cuántico es mucho mayor que la de un sistema digital clásico.

El ejemplo clásico del estado de superposición es el experimento (teórico) del gato de Schrödinger, que estaba “vivo y muerto” al mismo tiempo.

Representación del experimento de imaginario de Schröedinger que refleja en qué consiste el estado de superposición cuántico

	
Christian Schirm
Figura 3: Representación del experimento de imaginario de Schröedinger que refleja en qué consiste el estado de superposición cuántico (Christian Schirm)

Al igual que en un ordenador clásico la información se almacena en bits, en un ordenador cuántico se almacena en qubits. La diferencia entre un bit y un qubit es que el qubit puede encontrarse en un estado intermedio entre 0 y 1 con una probabilidad respectiva para cada valor que en conjunto deben sumar el 100%.

Comprendiendo los qubits

El estado cuántico general de un qubit puede representarse mediante una superposición lineal de sus dos estados base ortonormales. Esta base se puede denotar como |0⟩ y |1⟩, siendo {\displaystyle |0\rangle ={\bigl [}{\begin{smallmatrix}1\\0\end{smallmatrix}}{\bigr ]}} y {\displaystyle |1\rangle ={\bigl [}{\begin{smallmatrix}0\\1\end{smallmatrix}}{\bigr ]}}.

Cada uno de estos estados corresponde al 0 y 1 del bit clásico. Como comentábamos arriba, un qubit puede encontrarse en un estado de superposición cuántica combinación de esos dos estados.

{\psi = {\displaystyle \alpha |0\rangle +\beta |1\rangle }}

Cumpliéndose que \langle \psi | \psi \rangle = 1 \rightarrow \alpha^* \alpha  \langle 0 |0 \rangle + \beta^* \beta  \langle 1 |1 \rangle + \alpha^* \beta \langle 0 |1 \rangle + \beta^* \alpha  \langle 1 |0 \rangle, ergo es fácil cancelar los dos últimos términos y derivar que |\alpha|^2 + |\beta|^2=1. Jugar con los bra-kets en mecánica cuántica facilita mucho la vida.

En resumen: un bit puede contener un valor (0 ó 1), o contener ambos valores (0 y 1).

La esfera de Bloch es una representación geométrica del espacio de estados puros de un sistema cuántico de dos niveles. Cualquier punto de la esfera de Bloch es un estado cuántico o qubit y se puede representar como una combinación lineal de los estados  |0⟩ y |1⟩

MuncherOfSpleens
Figura 3: Esfera de Bloch (MuncherOfSpleens)

En cada instante del tiempo el qubit se encuentra en una superposición de los estados |0⟩ y |1⟩. Sin embargo, cuando se realiza una medida el estado se colapsa a uno de los dos valores. En el experimento del gato de Schödinger, mientras la caja estaba cerrada, el gato podía estar “vivo y muerto” en determinado porcentaje, al abrir la caja=medir, el gato estaba en uno de los dos estados.

De la misma forma, un qubit no vale sólo 1 o 0 como un bit normal, sino que puede ser, por ejemplo, un 1 en un 40% y un 0 en un 60%. Sin embargo, cuando lo leemos, sólo podemos obtener 1 o 0 (la medida se “colapsa” a un valor, como indicamos antes) y las probabilidades que tenía cada valor de salir se pierden porque al medirlo lo hemos modificado.

Esta es la razón por la cual la información que puede manejar un sistema cuántico es mucho mayor que la que maneja un sistema digital clásico, ya que no sólo contiene cero o uno sino una descripción de la probabilidad de que cada bit se encuentre en cero o uno al realizar una medida.

Y no sólo esto. El número de qubits indica la cantidad de estados que pueden estar en superposición. Así, con un qubit podemos tener 2 estados; con dos qubits, 4, con tres qubits 8… Es decir, la capacidad de cálculo aumenta de manera exponencial (2^n) con cada qubit que agreguemos.

En resumen, gracias a la superposición, los computadores cuánticos tienen más capacidad de cálculo y de memoria que los tradicionales.

Entrelazamiento (entanglement)

El entrelazamiento, tiene que ver con el hecho de que, en un sistema cuántico las partículas y sus interacciones no pueden considerarse por separado como si fuesen bolas en una mesa de billar sino que hay que tratar todo el sistema en conjunto.

Según esta propiedad, si aplicamos un pulso de microondas sobre dos o más parejas de qubits, éstos pasan a formar un sistema único, que se conoce como entrelazamiento cuántico. Esto permite a los científicos cambiar el estado de ambos qubits modificando el estado de tan sólo uno de ellos, aunque estén separados por grandes distancias. Esto es lo que Einstein llamaba, “la espeluznante acción a distancia” (spooky action at a distance).

En el siguiente vídeo de National Geographic se explica de forma clara y sencilla en qué consiste la “acción a distancia”.

Pero, para que estos qubits en superposición pueden entrelazarse, es necesario que se den unas condiciones físicas muy exigentes, ya que son muy sensibles a las perturbaciones y al ruido. Deben estar rodeados de vacío y a temperaturas muy bajas, próximas el cero absoluto (-273 K). Cuando no se dan estas condiciones, se pasa de un estado cuántico a un estado mecánico-clásico en lo que se conoce como decoherencia cuántica.

Las empresas líderes en computación cuántica afrontan el desafío de la decoherencia con distintas estrategias. Por ejemplo, Google, e IBM utilizan circuitos semiconductores a muy bajas temperaturas. Microsoft investiga sobre un tipo de partícula muy concreta, los fermiones de Majorana. Otras compañías como IonQ trabajan con trampas de iones. Los qubits son muy frágiles y pierden coherencia a medida que interactúan con el entorno. Por ello, es muy importante encontrar un equilibrio entre la fiabilidad del sistema y su escalabilidad, ya que al aumentar el número de qubits, la tasa de error también se incrementa.

Es fácil imaginar cuánto complican estas condiciones la creación de computadoras cuánticas y por qué se descarta que los ordenadores cuánticos se conviertan en dispositivos de uso doméstico a corto o medio plazo.

Figura 3:  Trampa de iones utilizada en una computadora cuántica.
Figura 3: Trampa de iones utilizada en una computadora cuántica (Wikipedia)

¿Por qué es interesante el entrelazamiento cuántico?

Gracias al entrelazamiento, un aumento en el número de qubits (n) se traduce en un incremento exponencial (2^n) en la potencia de computación de un ordenador cuántico, lo que permite realizar cálculos en grandes cantidades de datos a la vez.

Este incremento en la velocidad de cálculo de los ordenadores cuánticos ha sido clave para el desarrollo de dos algoritmos muy importantes cuyas aplicaciones prácticas son de un interés incuestionable: el algoritmo de temple cuántico en 1989 y el algoritmo de Shor en 1994 .

El algoritmo de Shor sirve para descomponer factorialmente números muy grandes en sus factores primos a gran velocidad. Puede sonar a mera curiosidad matemática, pero en realidad, es la base de los sistemas de encriptación y cifrado de datos que se usan actualmente. De ahí la preocupación de individuos, empresas y gobiernos porque en un futuro no tan lejano, un ordenador cuántico con suficientes qubits deje obsoletos estos sistemas de cifrado.

El algoritmo de temple cuántico (Quantum annealing) se utiliza para problemas de búsqueda local en contextos de optimización multivariable. Estos problemas generalmente consisten en encontrar el máximo o el mínimo de una función de coste, compuesta de muchas variables independientes con gran número de instancias.

Este algoritmo abre un interesante campo de aplicaciones prácticas de la computación cuántica relacionadas con la optimización de todo tipo de procesos. Por ejemplo, calcular, en un tratamiento de radioterapia, cuál es el mínimo de radiación suficiente para eliminar un tumor, causando los menores efectos secundarios al paciente.

Aplicaciones de la computación cuántica

Puede parecer algo muy abstracto, pero la computación cuántica podrá tener aplicaciones prácticas a corto plazo en distintas áreas de la industria y la tecnología, como la química cuántica, diseño de nuevos materiales, optimización de procesos etc.

Veamos algunos ejemplos:

  • Por ejemplo, podría usarse para descubrir materiales superconductores a temperatura ambiente que permitirían la transmisión de energía sin pérdidas.
  • Para generar simulaciones biomédicas, capaces de crear, simular y modelar estructuras moleculares que pueden ser la base de nuevos y potentes fármacos.
  • Para optimizar complejos procesos logísticos
  • Elaborar complejos modelos financieros y de gestión de riesgos
  • Modelar complejas reacciones químicas que tienen grandes costes energéticos y medioambientale. Por ejemplo, el método Haber-Bosch de fijación del nitrógeno ambiental para la obtención de fertilizantes, fundamental para mejorar la producción mundial de alimentos.
  • Para crear sistemas de aprendizaje automático más rápidos y precisos que los que se pueden crear con ordenadores tradicionales.

En resumen, las aplicaciones principales de la computación cuántica están relacionadas con la simulación de sistemas cuánticos (reacciones a nivel molecular), la optimización cuántica (resolver problemas minimizando las funciones de coste) y los relacionados con la física estocástica (simular procesos aleatorios).

Computación cuántica y machine learning

Cuando hablamos de inteligencia artificial y de aprendizaje automático, estamos hablando de trabajar con grandes cantidades de datos. Por ejemplo, en aprendizaje automático, problemas tan habituales como los problemas de clasificación, suelen resolverse con métodos basados en máquinas de vectores de soporte (SVMs). Estos algoritmos son muy potentes, pero, cuando el espacio de características es grande, la velocidad de cálculo se convierte en una gran limitación. El uso de ordenadores cuánticos para el cálculo de estos algoritmos podría hacer desaparecer esta limitación.

Por otra parte, en los problemas de optimización cuántica se utiliza la aplicación del algoritmo de temple cuántico a la función que representa la tasa de error de una red neuronal, para obtener ese valor mínimo para el cual esa red neuronal es más eficiente.

El aprendizaje automático también puede ser clave para hacer más fiables los ordenadores cuánticos, ya que mantener estados cuánticos y manipular de forma segura los qubits es un auténtico desafío. En particular, pueden ser muy útiles para aportar nuevos enfoques a la gestión de errores en los qubits.

Conclusión

La computación cuántica no revolucionará a corto plazo la informática en nuestros hogares pero si generará cambios disruptivos en nuestra forma de vivir. Para hacernos una idea de cómo la Física Cuántica ha cambiado el modo en que vemos la información y los usos que hacemos de ella, os recomendemos ver este vídeo (18 minutos) en el que Antonio Acín nos lo explica de forma clara e incluso divertida.

Por cierto que, el vídeo es de 2016, y hoy día sí que existen computadores cuánticos. En enero de este año (2019) IBM presentó el IBM Q System One, el primer ordenador cuántico para uso comercial. Éste combina computación cuántica con computación “tradicional” para ofrecer un sistema de 20 qubits, al que se puede acceder incluso en modo abierto.


Si te interesa el mundo de la computación cuántica, no te pierdas este otro post del blog Think Big empresas.

(Mis agradecimientos a Enrique Blanco, el otro físico del blog, por su revisión y correcciones 🙂 )

Para mantenerte al día con LUCA, visita nuestra página web,  suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *