En los últimos años, algunas grandes empresas de tecnología como IBM, Microsoft, Intel o Google están trabajando en relativo silencio sobre algo que suena muy bien: la computación cuántica. El principal problema de esto, al menos para nosotros, es que es complicado saber qué es exactamente y para qué puede ser útil.
Hay algunas preguntas que se pueden resolver fácilmente. Por ejemplo, la computación cuántica no va a servir de momento para que tengas más FPS en tu tarjeta gráfica. Tampoco será todo tan fácil como cambiar la CPU de tu ordenador por una cuántica para que se vuelva hiperrápido. La computación cuántica es fundamentalmente distinta a la computación a la que estamos acostumbrados, y en este artículo vamos a tratar de arrojar algo de luz sobre el asunto.
¿Cuál es el origen de la computación cuántica?
A principios del siglo XX, Planck y Einstein proponen que la luz no es una onda continua (como las ondas de un estanque) sino que está dividida en pequeños paquetes o cuantos. Esta idea, en apariencia simple, servía para resolver un problema llamado la "catástrofe ultravioleta". Pero a lo largo de los años otros físicos fueron desarrollándola y llegando a conclusiones sorprendentes sobre la materia, de las cuales a nosotros nos interesarán dos: la superposición de estados y el entrelazamiento.
Para entender por qué nos interesan, hagamos un pequeño receso y pensemos en cómo funciona un ordenador clásico. La unidad básica de información es el bit, que puede tener dos estados posibles (1 ó 0) y con los que podemos realizar varias operaciones lógicas (AND, NOT, OR). Juntando _n_ bits podemos representar números y operar sobre esos números, pero con limitaciones: sólo podemos representar hasta _2^n_ estados distintos, y si queremos cambiar _x_ bits tenemos que realizar al menos _x_ operaciones sobre ellos: no hay forma de cambiarlos mágicamente sin tocarlos.
Pues bien, la superposición y el entrelazamiento nos permiten reducir esas limitaciones: con la superposición podemos almacenar muchos más que sólo _2^n_ estados con _n_ bits cuánticos (qubits), y el entrelazamiento mantiene fijas ciertas relaciones entre qubits de tal forma que las operaciones en un qubit afectan forzostamente al resto.
La superposición, si bien parece una bendición a primera vista, también es un problema. Tal y como demostraba Alexander Holevo en 1973, aunque tengamos muchos más estados que podemos guardar en _n_ qubits, en la práctica sólo podemos leer _2^n_ distintos. El por qué lo veíamos en un artículo en Genbeta sobre las bases de la computación cuántica: un qubit no vale sólo 1 ó 0 como un bit normal, sino que puede ser un 1 en un 80% y un 0 en un 20%. El problema es que cuando lo leemos sólo podemos obtener o 1 ó 0, y las probabilidades que tenía cada valor de salir se pierden porque al medirlo lo hemos modificado.
Esa discrepancia entre la información que guardan los qubits y la que podemos leer nosotros llevaba a Benioff y a Feynman a demostrar que un ordenador clásico no sería capaz de simular un sistema cuántico sin una cantidad desproporcionada de recursos, y a proponer modelos para un ordenador cuántico que sí fuese capaz de hacer esa simulación.
Esos ordenadores cuánticos probablemente no serían más que una curiosidad científica sin el segundo concepto, el entrelazamiento, que permite desarrollar dos algoritmos bastante relevantes: el temple cuántico en 1989 y el algoritmo de Shor en 1994. El primero permite encontrar valores mínimos de funciones, que así dicho no suena muy interesante pero tiene aplicaciones en inteligencia artificial y aprendizaje automático, tal y como comentamos en otro artículo. Por ejemplo, si conseguimos codificar la tasa de error de una red neuronal como una función a la que podamos aplicar temple cuántico, ese valor mínimo nos dirá cómo configurar la red neuronal para que sea lo más eficiente posible.
El segundo algoritmo, el algoritmo de Shor, nos sirve para descomponer un número en sus factores primos de manera mucho más eficiente que lo que podamos lograr en un ordenador normal. Así dicho, de nuevo, no suena para nada interesante. Pero si os digo que RSA, uno de los algoritmos más usados para proteger y cifrar datos en Internet, se basa en que factorizar números es exponencialmente lento (añadir un bit a la clave implica doblar el tiempo que se tarda en hacer un ataque por fuerza bruta), entonces la cosa cambia. Un ordenador cuántico con suficientes qubits dejaría completamente obsoletos muchos sistemas de cifrado.
¿Qué se ha conseguido hasta el momento con la computación cuántica?
Hasta ahora, la computación cuántica es un campo que no se ha aplicado mucho en el mundo real. Para que nos hagamos una idea, con los veinte qubits del ordenador cuántico comercial que anunciaba IBM, podríamos aplicar el algoritmo de factorización de Shor sólo a números menores que 1048576, que como os podéis imaginar no es muy impresionante.
Aun así, el campo tiene una evolución prometedora. En 1998 se presentó el primer ordenador cuántico (sólo dos qubits, y necesitaba una máquina de resonancia magnética nuclear para resolver un problema "de juguete" (el llamado problema de Deutsch-Jozsa). En 2001 se ejecutó por primera vez el algorimo de Shor. Sólo 6 años más tarde, en 2007, D-Wave presentaba su primer ordenador capaz de ejecutar el temple cuántico con 16 qubits. Este año, la misma compañía anunciaba un ordenador de temple cuántico de 2000 qubits. Por otra parte, los nuevos computadores de IBM, aunque con menos qubits, son capaces de implementar algoritmos genéricos y no sólo el del temple cuántico. En resumidas cuentas, parece que el empuje es fuerte y que la computación cuántica cada vez será más aplicable a problemas reales.
¿Cuáles pueden ser esas aplicaciones? Como comentábamos antes, el algoritmo del temple cuántico es muy apropiado para problemas de aprendizaje automático, lo cual hace de los ordenadores que lo implementen sean extermadamente útiles, aunque lo único que puedan hacer sea ejecutar ese único algoritmo. Si se pueden desarrollar sistemas que, por ejemplo, sean capaces de transcribir conversaciones o identificar objetos en imágenes y se puedan "traducir" para entrenarlos en ordenadores cuánticos, los resultados podrían ser órdenes de magnitud mejores que los ya existentes. El mismo algoritmo también se podría usar para encontrar soluciones a problemas en medicina o química, como encontrar los métodos óptimos de tratamiento para un paciente o estudiar las posibles estructuras de moléculas complejas.
Los ordenadores cuánticos genéricos, que aunque ahora mismo disponen de menos qubits, sí podrían ejecutar más algoritmos. Por ejemplo, podrían usarse para romper gran parte de de la criptografía usada ahora mismo como comentábamos antes (lo cual explica por qué la NSA quería tener un ordenador cuántico). También servirían como buscadores supperrápidos si se consigue implementar el algoritmo de búsqueda de Grover, y para la física y química pueden ser muy útiles como simuladores eficientes de sistemas cuánticos.
Las barreras que todavía hay que vencer
Por desgracia, los algoritmos y códigos para ordenadores clásicos no se podrían usar en ordenadores cuánticos y obtener una mejora en velocidad mágicamente: es necesario desarrollar un algoritmo cuántico (cosa no trivial) e implementarlo para poder obtener esa mejora. Eso, de primeras, restringe mucho las aplicaciones de los ordenadores cuánticos y será un problema a sortear cuando esos sistemas estén más desarrollados.
Sin embargo, el principal problema al que se enfrenta la computación cuántica es construir los ordenadores. Comparado con un ordenador normal, un ordenador cuántico es una máquina extremadamente compleja: funcionan a una temperatura cercana al cero absoluto (-273 ºC), el soporte de qubits son superconductores y los componentes para poder leer y manipular los qubits no son sencillos tampoco.
Además, los qubits no suelen ser estables, en el sentido de que son muy sensibles a las perturbaciones y al ruido. Esto puede llevar a errores en los cálculos (por ejemplo, si el ordenador calcula 1 + 1 y un qubit cambia por ruido igual el resultado nos sale 3) pero también a que el ordenador no sea cuántico propiamente dicho.
¿Que cómo puede ser un ordenador cuántico _no cuántico_? Tal y como habíamos explicado antes, los dos conceptos relevantes de un ordenador cuántico son la superposición y el entrelazamiento, y sin ellos no pueden existir las mejoras de velocidad que prometen los algoritmos cuánticos. Si las perturbaciones del ordenador modifican qubits en superposición y los llevan a estados clásicos rápidamente, o si rompen el entrelazamiento entre varios qubits, lo que tenemos no es un ordenador cuántico sino sólo una computadora extremadamente cara que sólo sirve para ejecutar un puñado de algoritmos de manera equivalente a un ordenador normal (y probablemente dé resultados erróneos).
De las dos propiedades, el entrelazamiento es la más difícil de mantener y de probar que existe. Cuantos más qubits haya, más fácil es que uno de ellos se _desentrelaze_ (lo que explica por qué aumentar el número de qubits no es una tarea trivial). Y no basta con construir el ordenador y ver que salen resultados correctos para decir que hay qubits entrelazados: buscar evidencias de entrelazamiento es toda una tarea en sí misma y de hecho la falta de evidencias era una de las principales críticas a los sistemas de D-Wave en sus inicios.
¿Y habrá móviles cuánticos en el futuro?
De momento, parece que la computación cuántica se va a limitar a empresas grandes que puedan aplicarla a problemas complejos y costosos computacionalmente, un poco de forma similar a los inicios de la computación clásica. Probablemente cada vez habrá ordenadores cuánticos más potentes, llegando a lo que Google decía sobre la supremacía cuántica a partir de la cual los ordenadores cuánticos podrían resolver problemas para los que ni el supercomputador más grande tiene suficientes recursos.
Empresas como Google, Microsoft o IBM podrían usar los ordenadores cuánticos para entrenar de manera más eficiente sistemas de aprendizaje automático, o para fines científicos simulando proteínas o sistemas cuánticos. En cualquiera de los casos, serán avances que no probablemente no notaremos mucho como usuarios más allá de la nota de prensa de turno.
Y más a largo plazo, ¿qué podemos esperar? A priori y con los materiales que se están construyendo ahora mismo los ordenadores cuánticos, no parece que la miniaturización sea demasiado factible. Pero ya hay investigaciones sobre nuevos materiales que podrían servir para crear ordenadores cuánticos más accesibles. Quién sabe si de aquí a cincuenta años podamos comprar "CPUs cuánticas" para mejorar la velocidad de nuestros ordenadores.
Ver 35 comentarios