Computación cuántica: así funciona lo que probablemente sea el futuro de la tecnología

Computación cuántica: así funciona lo que probablemente sea el futuro de la tecnología
27 comentarios Facebook Twitter Flipboard E-mail

Estoy seguro de que muchos habréis oído hablar del concepto "Computación Cuántica", esa cosa mística que promete ser la próxima revolución en informática. Pero, ¿qué es? ¿Por qué va a ser la próxima revolución? ¿Qué tiene de especial, qué la diferencia de la computación tradicional?

En Genbeta hoy nos hemos decidido a bucear en este tema, y vamos a tratar de explicar, de forma simplificada y con pocos números y símbolos, en qué consiste la computación cuántica. Por otra parte, en Xataka veremos los retos a los que se enfrenta esta tecnología.

¿Pero por qué?

feynman.jpg

¿Qué se le pasaba por la cabeza a Feynman (y a otros) para buscar algo más allá de la informática clásica?

La primera pregunta que se nos debería ocurrir cuando hablemos de computación cuántica es: ¿por qué? ¿Qué clase de pensamientos malvados tenían en la cabeza los pioneros de este campo? ¿No les bastaba con la informática tradicional?

Pues lo cierto es que no. A los físicos no les bastaba. Uno de los primeros "momentos de lucidez" es la charla de Richard Feynman en 1982, en la que explicaba cómo era imposible simular sistemas cuánticos en ordenadores tradicionales.

La razón es que estos sistemas son muy complejos. Y no complejos por la teoría que tienen detrás (que también) sino por el número de estados posibles que pueden tener.

Supongamos que queramos simular el movimiento de las bolas en una mesa de billar en un ordenador. Para cada bola, tenemos que guardar dos cantidades: cuánto se mueve a lo largo y cuánto a lo ancho. Dos números por cada "elemento del sistema".

Hay tantos estados posibles en un sistema cuántico que es impracticable simularlos con un ordenador tradicional. Necesitamos más.

Ahora bien, ¿qué pasa si nuestras bolas de billar son "bolas cuánticas" (sea lo que sea eso)? Si sólo tenemos una es fácil: tenemos que guardar cuánto se mueve a lo largo y cuánto a lo ancho. La cosa se complica si tenemos dos bolas. Para la primera, tenemos que guardar cuánto se mueve en esas dos direcciones, pero además cuánto se mueve a lo largo y a lo ancho _con respecto a la segunda bola_ (luego veremos por qué). Cuatro medidas. Si añadimos una bola más al sistema, necesitaremos saber las dos direcciones con respecto a la tercera bola, y además cuánto se mueve a lo larcho y ancho _con respecto al movimiento conjunto de la segunda y tercera bola_. Un lío.

Por suerte, ese lío está matemáticamente bien definido. Es un lío exponencial. Si tenemos _n_ bolas, necesitaremos _2n_ medidas por cada una. Y esto tiene consecuencias importantes.

Si tenemos nuestra mesa de billar normal con 2.000 bolas y añadimos una más, necesitaremos guardar dos medidas más. Con nuestra mesa de billar cuántica, si tenemos 2.000 bolas y añadimos una más, necesitamos el doble de medidas. Si en la mesa clásica nos quedamos sin capacidad, nos ponemos el gorro de fabricante de móvil y ponemos una CPU más y otro GB de RAM (por ejemplo) y listos. Si en la mesa cuántica nos quedamos sin capacidad para simular, tenemos que doblar nuestra capacidad de proceso. Ya podéis imaginaros que, en la práctica, es irrealizable hacer simulaciones cuánticas con un número grande de partículas en un ordenador clásico.

clasicovscuantico.png

Por qué importa

El hecho de que un ordenador cuántico evolucione de forma exponencial implica que siempre podemos lograr que sea más rápido que uno tradicional. La analogía la tenéis en el gráfico: ya podemos coger el peor modelo de ordenador cuántico y el mejor tradicional, que al final el cuántico siempre acabará siendo mejor.

Pero, ¿y si usamos un ordenador cuántico? ¿Y si conseguimos aprovechar de alguna forma esa _faceta exponencial_ de las partículas cuánticas para que al añadir una CPU más, siempre dupliquemos la capacidad de procesamiento?

Esa es la idea de la computación cuántica. Aprovechar los estados entrelazados de las partículas para obtener más potencia, calculando a una escala mucho mayor.

Un poco de física

Si la explicación de antes con bolas de billar os ha convencido de que las partículas cuánticas están entrelazadas, podéis saltaros esta sección. Si no, vamos a tener que meternos un poco en el mundo de la física (y en el de la matemática también) para entender qué es lo que hay por detrás de esa característica fundamental de la computación cuántica.

Imagino que todos estaréis familiarizados con el principio de conservación de la energía, que nos dice que la energía de un sistema aislado siempre se conserva. Por ejemplo, si tu tiras un balón en el vacío (donde no hay aire y por lo tanto no hay rozamiento) girando a 10 vueltas por minuto, siempre seguirá girando a la misma velocidad. No cambiará la velocidad de giro a no ser que haya alguna influencia externa.

1: Más o menos. Más formalmente, la magnitud que se conserva es el momento angular, que es la velocidad de giro por la masa. En este caso concreto, si los minibalones son de la misma masa la suma de vueltas por minuto de cada uno debería ser 20.

Bien, ahora supongamos que vuestro balón se divide en dos minibalones a mitad de camino. No ha habido ninguna influencia externa, así que esa "velocidad de giro" debería mantenerse. Si un minibalón está girando a 10 vueltas por minuto, el otro no puede estar girando porque si no habríamos sacado vueltas de la nada, cosa que la física nos dice que no se puede.

Podríamos decir que la velocidad de giro de esos dos minibalones está _entrelazada_. Si mides la velocidad de un balón, sabrás automáticamente la velocidad del otro.

Algo así, más o menos, es lo que ocurre con el entrelazado cuántico. Una medición en una partícula determina exactamente qué es lo que se medirá en la otra, por muy lejos que esté. Sin embargo, hay una diferencia fundamental con el ejemplo de los minibalones.

En el caso de los minibalones, cuando ambos se dividen tienen una velocidad de giro concreta. Lo único que pasa es que no sabemos cuál es, pero tenerla la tienen. Pero si nos vamos al mundo cuántico, la cosa no es exactamente así. Dos minibalones cuánticos no tendrían una velocidad y dirección de giro concretas: tienen varias superpuestas, y cuando lo medimos lo que hacemos es _fijar_ esa dirección.

Ese es el otro concepto "extraño" de la física cuántica: la superposición de estados. La superposición nos interesa mucho porque es otro fundamento de la computación cuántica. Más tarde veremos por qué, pero de momento nos centramos en la física.

Seguro que muchos habéis visto alguna vez gafas de sol polarizadas. Estas gafas aprovechan una característica cuántica de los fotones (las partículas de luz): el _spin_, que podemos imaginarnos ahora como una pequeña oscilación en una dirección, como veis en imagen.

oscilaciones.png

La trayectoria de la partícula es la línea negra. Pero además, puede oscilar horizontalmente (rojo) o verticalmente (azul).

Las gafas de sol están polarizadas en una dirección, y actúan como un muro con rendijas horizontales. Un fotón que haya pasado a través de las gafas de sol sólo podrá haber salido por esas rendijas, y por lo tanto estará oscilando horizontalmente, de lado a lado.

Pero si tenéis unas gafas polarizadas a mano y miráis a través de ellas, en seguida os daréis cuenta de que os estoy mintiendo en algo. Con todas las posibles direcciones que puede tener una oscilación (infinitas), debería haber muy pocos fotones con oscilación exactamente horizontal. Es decir, debería pasar muy poca luz por las gafas, y sin embargo, si os las ponéis, veréis que pasa bastante. ¿Qué está pasando?

oscilacion.png

Cualquier dirección en la que oscile se puede expresar como dos componentes: una horizontal y otra vertical. No siempre podemos decir que oscile en horizontal o en vertical, sino que lo correcto es decir que oscila en una dirección que es una combinación de ambas. Por volver a la nomenclatura física: está en una superposición de estados de oscilación vertical y horizontal.

Volvamos a las gafas y al muro con rendijas. Lo que ocurriría en nuestra analogía es que no sólo pasan los fotones que oscilan en horizontal. Es muy probable que los que oscilan _casi_ en horizontal también acaben pasando porque justo cuando llegan al muro tienen un ángulo que les permite entrar. Eso sí, cuando salgan de ella se habrán "golpeado" y la oscilación habrá cambiado: siempre saldrán con la dirección de las rendijas. Cuanto más horizontal sea la oscilación, mayor será la probabilidad de que acaben entrando en alguna rendija.

gafas_de_sol.png

Gafas de sol polarizada, física cuántica en tu cara. Tecnología puntera que ríete tú de Google Glass.

El experimento de las gafas de sol y la luz polarizada es interesante, y si os fijáis tiene implicaciones importantes. ¿Cómo podemos medir la componente horizontal _y_ la vertical de un fotón? Hemos dicho que cuando pasa por el cristal polarizado horizontalmente (o muro con rendijas, si lo preferís) siempre sale con oscilación horizontal. Y es que hemos cambiado la oscilación del fotón al medirlo.

Nunca podremos medir con total precisión ciertos aspectos físicos de una partícula.

Y eso no es una limitación del experimento. Es una limitación física, llamada el Principio de Incertidumbre de Heisenberg. Es imposible ser 100% precisos a la hora de medir magnitudes físicas emparejadas, como pueda ser la componente horizontal y vertical de oscilación de ese fotón, porque no podemos medir sin tocar la partícula, y por lo tanto modificando alguna de sus magnitudes.

Hasta aquí la "introducción" física de este artículo. Si sois físicos, es posible que hayáis encontrado algunas imprecisione. Unas son intencionadas para simplificar las cosas, en algunas me habré equivocado: la física cuántica es un tema muy complejo y difícil de entender.

Independientemente de ello, tenemos que quedarnos con dos ideas fijas: el entrelazamiento y la superposición de estados.

La computación cuántica: el primer algoritmo

2013_03_25_cuantico2.jpg

Ahora que ya tenemos los fundamentos de la cuántica que nos interesan, vamos a aplicarlos a la informática. Para ello, el enfoque es simple: vamos a tratar de reproducir lo más básico de un ordenador y a partir de ahí ver si podemos construirlo como si fuese tradicional. De hecho, sólo esa parte básica nos bastará para entender qué es lo que hace tan especial a la computación cuántica.

¿Y qué es ese bloque básico de la computación tradicional? Pues las puertas lógicas. Tienen una o varias entradas; según pase o no electricidad por ellas sacarán o no electricidad por la salida. Por ejemplo, el inversor tiene una entrada y una salida: si la entrada no está conectada saldrá electricidad, y viceversa. Otro ejemplo, la AND (y, conjunción): sólo sale electricidad cuando las dos entradas tienen electricidad.

De la misma forma, se diseñaron puertas similares para ordenadores cuánticos. Y si las puertas clásicas operan sobre bits, donde un 1 es "hay electricidad" y un 0 es "no hay electricidad", las cuánticas operan sobre qubits. Los qubits se refieren a magnitudes físicas emparejadas. Por ejemplo, un 0 sería "el fotón oscila horizontalmente" y un 1 sería "el fotón oscila verticalmente". Como veíamos antes, no sólo hay horizontal y vertical, sino que puede haber una combinación o superposición de ambas.

Las puertas cuánticas operan sobre los qubits de una forma peculiar. Podemos imaginar una puerta que sea una rotación, que modifique la dirección oscilación de una partícula en 90 grados (un cuarto de vuelta). Si tenemos en cuenta que la oscilación tiene dos componentes, lo que hace la puerta es rotar 90 grados la oscilación horizontal y rotar también 90 grados la vertical.

No sé si os habréis dado cuenta de la sutilidad que hay ahí. Con un único "cable", una única puerta y una única operación, hemos obtenido dos resultados.

2: La analogía es muy imprecisa, pero nos sirve para entender el concepto.

Unamos eso a lo que habíamos visto antes del entrelazamiento. Cuando tenemos dos qubits cada qubit tendría cuatro "componentes" o estados: la oscilación horizontal y vertical, y además la horizontal y vertical _con respecto a la oscilación horizontal y vertical del otro qubit_2 respectivamente. Al hacer una transformación sobre dos qubits, haríamos cuatro operaciones.

Una única operación para calcular múltiples valores al mismo tiempo.

Generalizando, la gran ventaja de la computación cuántica es, como decíamos antes, que con una transformación sobre _n_ qubits podemos hacer _2n_ operaciones al mismo tiempo.

De esta forma, problemas que se consideraban "difíciles", como por ejemplo la factorización de números, se convierten en "fáciles". Peter Shor diseñó en 1994 un algoritmo para factorizar cualquier número en tiempo polinómico (es decir, "rápido"). Y ese algoritmo es interesante porque precisamente RSA, que protege nuestros datos cuando navegamos, basa su seguridad en el hecho de que se tarda muchísimo (años) en factorizar un número arbitrario suficientemente grande. Dicho de otra forma, la computación cuántica sería toda una revolución en el mundo de la seguridad. Y eso sólo con un algoritmo.

¿Y cómo programo para un ordenador cuántico?

2013_03_25_cuantico1.jpg

Como todo en la vida, la computación cuántica no es _tan_ bonita. Sí, podemos paralelizar cálculos con mucha más facilidad, pero hay un problema. Recordemos las gafas de sol y el muro con rendijas. Decíamos que sólo podíamos medir una _componente_ de cada uno de los fotones: con los qubits pasa lo mismo. Pueden estar en una superposición de todos los estados que quieras, pero sólo puedes obtener un 1 o un 0 al medir cada uno de ellos. Es decir, a pesar de que en un conjunto de 3 qubits "haya" ocho (23) componentes o estados, sólo obtendrás 3 cuando mires cada uno de los qubits.

El problema de la computación cuántica es que no podemos medir y obtener todos los valores que se calculan al transformar qubits

Esto implica que hay que cambiar la forma de pensar a la hora de diseñar los algoritmos para ordenadores cuánticos. Por ejemplo, el algoritmo de Shor se basa en resultados de álgebra, que establecen una relación entre factores de un número y el período de una función específica. Aprovechando esa capacidad que comentábamos de hacer varias operaciones a la vez, el algoritmo de Shor calcula muchos valores de la función usando los estados de varios qubits, y después aplica la transformada de Fourier cuántica (por si la transformada de Fourier no diese miedo ya de por sí) para combinar todos esos resultados de tal forma que, al medir el estado de los qubits, se obtenga el período de la función de forma aproximada.

Ahora mismo, esa es una de las principales barreras teóricas para desarrollar algoritmos enfocados a ordenadores cuánticos: sí, podemos hacer muchísimas operaciones, pero no podemos obtener los resultados de todas ellas y hay que buscar formas de extraer la información que nos interesa de ahí.

Las dificultades, sin embargo, no se acaban ahí. En Xataka desarrollaremos los retos a los que se enfrenta ahora mismo la computación cuántica, qué le falta para ser realizable en la práctica y los avances que se han logrado hasta ahora.

En Xataka | La computación cuántica en la práctica: los retos a superar para convertir teoría en realidad

Comentarios cerrados
Inicio