En Genbeta os hemos hablado de lo que probablemente sea el futuro de la informática: la computación cuántica. Hemos visto como la superposición de estados y el entrelazamiento nos permiten hacer varias operaciones simultáneas sobre un único _qubit_, que es lo que da a la computación cuántica esa potencia exponencial.
Ahora bien, eso sólo es la teoría. ¿Cómo llevamos todo a la práctica? ¿Cómo hacemos un dispositivo capad de medir y modificar estados cuánticos? ¿Qué podemos lograr con computadores cuánticos? No son preguntas triviales. En este artículo vamos a ver cuáles son esos retos actuales de la computación cuántica.
¿Qué usamos para los qubits?
La primera cuestión es qué cogemos para representar los qubits. Hasta ahora sólo hemos hablado de ellos como cosas abstractas, objetos matemáticos que pueden estar en varios estados. En la práctica, necesitamos escoger una partícula o elemento para que represente físicamente ese qubit, de la misma forma que en la computación tradicional los bits están representados por un cable por el que pasa o no electricidad.
La decisión no es fácil. Si queremos observar los efectos cuánticos necesitamos sistemas físicos pequeños, como moléculas, átomos o electrones. Pero manipular esos elementos no es fácil, como tampoco lo es obtener mediciones precisas de sus estados.
Hay muchísimas posibilidades que los científicos han estado explorando para implementar ordenadores cuánticos. Una de las que más éxito ha tenido ha sido la resonancia magnética nuclear (RMN), principalmente porque es una tecnología ya madura con la que es relativamente sencillo implementar un ordenador.
De hecho, fue con un ordenador RMN con el que se ejecutó por primera vez en 2001 el algoritmo cuántico de Shor para factorizar números. Pero como todo en la naturaleza, la facilidad por un lado viene con dificultades por otro.
La computación cuántica con RMN se basa en medir los estados de _spin_ de ciertos átomos en una molécula. Por ejemplo, a veces se usa el _spin_ de los átomos de carbono en la molécula de alanina, que tenéis en la imagen. Como hay tres átomos de carbono (los negros), tenemos un sistema de tres qubits.
Como podréis imaginar, esta técnica no nos sirve mucho para varios qubits. El problema es que en moléculas grandes hay muchas interferencias que van a modificar los _qubits_ sin que nos demos cuenta, y las computaciones que hagamos serán incorrectas. Es el fenómeno del ruido, y uno de los mayores retos a superar en la computación cuántica.
A la escala a la que se producen efectos cuánticos, el ruido es un problema serio y complicado de resolver.
El ruido puede llegar incluso a desentrelazar las partículas en poco tiempo, de tal forma que en un sistema mal aislado ya no sólo tendríamos un _qubit_ erróneo de vez en cuando, sino cálculos que si tardan más de un cierto tiempo dejan de ser válidos. El tema es complejo ya que el ruido puede venir de los propios elementos que usamos como _qubits_, fluctuaciones que hacen que acaben cambiando su estado cuando deberían mantenerse estables.
D-Wave, ordenadores con circuitos superconductores
Donde se han hecho más progresos es en la representación de _qubits_ con circuitos superconductores. Según el tipo de circuito, lo que se mide es la carga o la dirección en la que los electrones se mueven en un bucle. Para que no haya pérdidas ni fluctuaciones debido a la temperatura (lo que comentábamos antes del ruido), hay que enfriar los circuitos a un punto muy cercano al cero absoluto (-273º).
Con esa tecnología, en D-Wave han conseguido crear los primeros procesadores cuánticos "comerciales", con aplicaciones prácticas reales (en Google tienen uno, por ejemplo). El problema es que al necesitar enfriarse tanto, parece difícil crear un procesador pequeño basado en la misma idea.
Los científicos siguen investigando las posibilidades a su alcance para crear un ordenador cuántico universal y manejable. Pero hay un problema más.
¿Seguro que eso es un ordenador cuántico?
Sonará raro, pero no todos los ordenadores hechos con _qubits_ son cuánticos. Si recordamos la teoría, lo que hacía especial a la computación cuántica es el entrelazamiento, el hecho de que los estados de dos partículas estén fuertemente relacionados. Con eso llegábamos a que, con _n_ partículas teníamos _2n_ estados, y era lo que daba la potencia exponencial a los ordenadores cuánticos. El entrelazamiento es lo que marca la diferencia.
Es difícil saber si hay o no entrelazamiento en un ordenador cuántico.
Pues bien, resulta que en muchos ordenadores supuestamente cuánticos, no se ha observado ese fenómeno con seguridad. Por ejemplo, en uno de los procesadores cuánticos más avanzados, el D-Wave Two, no se consiguió medir la mejora de velocidad teórica que debería haber.
Por supuesto, eso no descarta totalmente que el ordenador sea cuántico. Saber si las partículas están entrelazadas o no es difícil, y es el otro reto de la computación cuántica.
Y ahora que tengo un ordenador cuántico, ¿qué hago?
En Xataka hemos hablado ya de algunos avances hechos con ordenadores cuánticos, como por ejemplo Google usando uno para ayudar a Google Glass. Sin embargo, en Genbeta comentábamos que programar para un ordenador cuántico es muy distinto a hacerlo para un ordenador normal. Aclarémonos: ¿qué es lo que se puede hacer ahora mismo con un ordenador cuántico?
Lo cierto es que no hay muchos algoritmos cuánticos que exploten todas las posibilidades de un ordenador de este tipo. Uno de ellos y ha permitido avances importantes en aprendizaje automático.
Este campo de la inteligencia artificial, por muy _glamouroso_ que pueda sonar, en realidad es más bien burdo. La mayoría de esos sistemas tan avanzados e inteligentes, capaces de reconocer caras o entender frases, en realidad han sido generados "aleatoriamente": se crea una función con ciertos parámetros, se mira cuántas veces falla, se modifican los parámetros y se repite el proceso, hasta que al final acabas con algo que parece que funciona.
Resulta que los ordenadores cuánticos pueden resolver fácilmente ese tipo de problemas de optimización gracias al algoritmo de temple, que a grandes rasgos consiste en poner a los qubits en un estado determinado (los parámetros iniciales de la función) y esperar, aplicando una perturbación constante. Al final, los qubits llegan a unos parámetros que, con alta probabilidad, minimizan el número de errores.
El análogo en el mundo real sería tirar una canica por una colina: siempre tiende a ir al punto más bajo. Sin embargo igual tienes que darle una patada de vez en cuando para asegurarte de que no se queda en puntos intermedios. Esa patada sería el equivalente al fenómeno de "túnel cuántico", que de forma simplificada consiste en pasar de un estado a otro aunque entre medias haya una "barrera" aparentemente imposible de saltar.
Dicho de otra forma: una aplicación de los ordenadores cuánticos es crear sistemas de aprendizaje automático más rápidos y más precisos que los que se pueden crear con ordenadores tradicionales.
¿Y para qué usamos el aprendizaje automático? Pues para muchos procesos que no somos capaces de recrear en un ordenador. Por ejemplo, se pueden usar sistemas de aprendizaje automático para saber cuál es la mejor forma de aplicar radioterapia a un paciente, para detectar objetos en imágenes o para crear modelos estadísticos que predigan la evolución de la bolsa. En general, se usan para procesos que no somos capaces de modelar exactamente (nadie sabe explicarle a un ordenador en qué consiste exactamente una sonrisa, por poner un ejemplo tonto) pero para los que tenemos un montón de datos que el ordenador puede usar para aprender.
La teoría dice que la computación cuántica también podría aplicarse a otros campos, como por ejemplo el de la seguridad. Como comentábamos en Genbeta, hay un algoritmo cuántico diseñado para factorizar números rápidamente, lo que dejaría a RSA en un chiste y permitiría romper gran parte de la seguridad de Internet. Sin embargo, todavía no se han llegado a crear ordenadores con suficiente capacidad para ello.
¿Qué nos depara el futuro?
Esa es una buena pregunta. Aunque hay avances (D-Wave es la empresa a la cabeza con su D-Wave Two, un procesador de 512 qubits), todavía estamos en una fase muy, muy temprana. Como decíamos antes, ni siquiera sabemos si los ordenadores son realmente cuánticos. Hay evidencias y de hecho los sistemas de D-Wave son más rápidos que el ordenador que puedas tener en tu casa, pero todavía no superan claramente a todos los ordenadores clásicos en todas las situaciones, que es lo que se esperaría.
Uno de los campos que más se vería afectados por el avance de la computación cuántica sería el de la criptografía. Los sistemas de clave pública se basan en problemas como el de la factorización de enteros, problemas que un ordenador clásico resolvería en años. Pero, tal y como os comentábamos antes, un ordenador cuántico podría resolverlo en un tiempo muchísimo menor y romper así la seguridad de muchísimos sistemas de Internet, como HTTPS. Por suerte, ya hay avances en lo que se llama _criptografía post-cuántica_, sistemas seguros incluso con ordenadores cuánticos.
Sea como sea, todavía nos queda mucho tiempo hasta que la computación cuántica llegue a un mínimo punto de madurez, y muchísimo más para que se convierta en una tecnología tan extendida como la computación actual, si es que en algún momento se consigue.
En Genbeta | Computación cuántica: así funciona lo que probablemente sea el futuro de la tecnología
Ver 27 comentarios