¿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 forzosamente 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.