«QqUuAaNnTtUuMm computing» o las claves de la computación cuántica

Manuel García Gil    18 octubre, 2021
Ordenadores cuánticos

El título de este post debería de ser “Quantum computing”, pero he puesto deliberadamente QqUuAaNnTtUuMm. La razón es que quería arrancar con un ejemplo o idea de la base misma de la computación cuántica.

Pero, ¿qué es la computación cuántica y para qué vale? O, al menos, ¿para qué sirve hoy en día? Quantum computing es una forma radicalmente distinta de crear y usar ordenadores. No se basa en nuestros queridos bits, sino en otro concepto llamado qbit (o cubit). La diferencia entre ambos es que mientras un bit puede adoptar dos (y solo dos) estados de información: el 0 y el 1, pero solo uno de ellos a la vez, el qbit puede tener los dos estados simultáneamente.

Varias operaciones simultáneas gracias a los qbits

En la computación cuántica intervienen las leyes de la mecánica cuántica y la partícula puede estar en superposición coherente: es decir, puede ser 0, 1 y puede ser 1 y 0 a la vez (dos estados ortogonales de una partícula subatómica). Eso permite que se puedan realizar varias operaciones simultáneamente, según el número de qbits.

Superposición cuántica

Para entender cómo es posible esto es necesario comprender la superposición, algo intrínsecamente ligado a la propia teoría cuántica. Es lo que todos conocemos como la paradoja del gato de Schrödinger, esto es, que el gato esté muerto y vivo a la vez. Obviamente, pensar en un gato muerto y vivo a la vez se nos antoja chocante, pero parece que lo aceptamos mejor cuando se trata de partículas subatómicas.

En este sentido, la superposición cuántica nos dice que un electrón, por ejemplo, no tiene en un momento dado un determinado estado cuántico (spin up o down), sino que hasta que es observado (medido) tiene todos los estados y, al medirlo, “colapsa” en uno concreto.

El número de qbits de que disponemos indica la cantidad de unidades de información que pueden estar en superposición. Con los bits convencionales, si se tenía un registro de tres bits, había ocho valores o combinaciones posibles y el registro solo podía tomar uno de ellos. En cambio, con un vector de tres qbits, la partícula puede tomar ocho valores o combinaciones distintas a la vez, gracias a la superposición cuántica. Así, un vector de tres qbits permitiría un total de ocho operaciones paralelas.

Para que os hagáis una idea de lo que significa esto, un ordenador cuántico de 30 qbits equivaldría a un procesador convencional de 10 teraflops (10 millones de millones de operaciones en coma flotante por segundo). Los superordenadores más actuales tienen petaflops de capacidad, pero manejan una cantidad literalmente astronómica de bits.

Por tanto, la potencia de los ordenadores cuánticos viene de su capacidad de representar, gracias a las propiedades de los qbits, vastos espacios multidimensionales. En ellos se pueden representar y resolver problemas de una dimensión imposible de abordar para un ordenador convencional por su complejidad o el tiempo que le llevaría.

Algoritmos cuánticos como el de Shor o Grover

El siguiente paso para entender el cambio que significa la computación cuántica es darnos cuenta de que no podemos usar los mismos algoritmos ni la misma forma de programar en un ordenador cuántico que en uno convencional.

Un algoritmo convencional es una serie finita de instrucciones que se ejecutan en un ordenador clásico. Un algoritmo cuántico es también una secuencia de instrucciones pero, en este caso, este conjunto de instrucciones solo puede ser ejecutado por un ordenador cuántico en gran medida. Mientras un algoritmo clásico puede implementarse en un ordenador cuántico, lo contrario no es posible. La razón es que los algoritmos cuánticos usan las capacidades que hemos mencionado de superposición y también el entrelazamiento cuántico, algo impensable e imposible en un ordenador convencional.

En este sentido, hay dos algoritmos cuánticos bien conocidos y extensamente usados: el algoritmo de Shor y el algoritmo de Grover.

El algoritmo de Grover, o  Grover’s search, es un algoritmo de búsqueda. Gracias a él, si quisiéramos encontrar un elemento de una lista de N elementos (siendo N arbitrariamente grande), mientras que en un ordenador clásico, donde en el peor caso tendríamos que recorrer los N elementos, o, al menos N/2, el algoritmo de Grover nos permite encontrar el elemento tras haber buscado en, aproximadamente √N elementos, lo cual es una reducción impresionante del tiempo de búsqueda.

Como ejemplo práctico, si tuviéramos que buscar en una lista con 1 trillón de elementos (un trillón americano o inglés no europeo) y tardásemos un microsegundo por cada comprobación, una semana de búsqueda en un ordenador clásico equivaldría aproximadamente a un segundo en uno cuántico.

Estructura y componentes de un ordenador cuántico

Y, a todo esto, ¿de qué está hecho un ordenador cuántico?, ¿de algo parecido a nuestras placas base y chipsets? Pues no. Un ordenador cuántico es bastante diferente. Para empezar porque ha de estar muy frío, cerca del 0 absoluto.

Por lo tanto, algunos de sus componentes son:

Superfluidos

Se usan para congelar (supercongelar) superconductores y situarlos cerca de una centésima de grado sobre el cero absoluto. En teoría ésta es la menor temperatura que se puede conseguir por lo que sabemos hoy.

Superconductores

Al circular electrones a través de diferentes superconductores, estos se acoplan en algo llamado pares de Cooper. Eso permite que los electrones atraviesen el aislante que los separa en la unión Josephson por medio del efecto túnel.

Técnicas de control

Se trata de hacer interactuar un qbit con fotones para controlar su comportamiento, haciendo que se mantenga en su estado, cambie y leer su información.

Superposición

Un único qbit en sí mismo no es demasiado útil, pero unos cuantos conectados en estado de superposición dan lugar a las vastas capacidades de cálculo que veíamos.

Entrelazamiento

El entrelazamiento cuántico permite que los qbits, que se comportan de forma aleatoria, estén perfectamente correlacionados entre sí. Con algoritmos cuánticos que explotan el entrelazamiento cuántico se pueden resolver problemas complejos específicos de manera más eficiente que en los ordenadores clásicos.

Se requieren nuevos programas de programación

Para terminar debo indicar que tampoco los lenguajes de programación habituales sirven por sí solos para programar los ordenadores cuánticos. Se necesitan nuevos esquemas, nuevas librerías y nuevos lenguajes de programación.

Una muestra de estos últimos son Qistik, de IBM, y Cirq, de Google, que proporcionan un entorno de programación para Python.

Imagen: Pixabay/geralt

Deja una respuesta

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