Criptografía

Fundamentos de computación cuántica

La computación cuántica está cada día más cerca. Recientemente IBM anunció el primer ordenador cuántico comercial, que, a pesar de sus limitaciones, es un primer paso en el camino. Además, tanto IBM como Microsoft, con Q#, disponen de herramientas para probar algoritmos cuánticos. Existiendo ya formación disponible en estas tecnologías. En esta entrada se van a explicar las bases de la computación cuántica y las puertas lógicas cuánticas.

A continuación, se comienza con uno de los conceptos básicos en computación cuántica, los cúbits (bit cuántico, en inglés quantum bit o qubit). Posteriormente se verá cómo operar con ellos mediante la utilización de puertas lógicas cuánticas y se mostrarán algunas de las más conocidas..

Bits y cúbits

En los ordenadores “clásicos” los programas son básicamente una serie de 0 y 1. Una serie de estados binarios discretos. En los ordenadores cuánticos esto cambia radicalmente, ya que operan con estados continuos entre 0 y 1. Lo que se conoce como un cúbit. Siendo esto lo que los hace mucho más potentes.

Si hacemos una analogía los bits clásicos son como un interruptor de la luz, que solamente tiene dos estados: encendido o apagado. Por otro lado, los cúbits se pueden interpretar como un potenciómetro, en el que se puede fijar cualquier estado intermedio entre encendido y apagado.

Para expresar los estados de los cúbits se puede utilizar la notación de Dirac. En esta cada uno de los estados se puede asociar con un vector, para el cúbit 0 se puede utilizar

\lvert 0 \rangle = \begin{bmatrix} 0 \\ 1 \end{bmatrix},

mientras que el 1 se puede representar como

\lvert 1 \rangle = \begin{bmatrix} 1 \\ 0 \end{bmatrix}.

En computación cuántica es posible que exista la superposición de dos estados. Lo que se puede denotar mediante la siguiente expresión

\lvert \Psi \rangle = \alpha \lvert 0 \rangle + \beta \lvert 1 \rangle

donde \alpha y \beta son valores complejos tal que la suma de sus cuadrados es la unidad. Ambos valores se pueden interpretar como la “probabilidad” de que el cúbit este en un estado u otro.

Medida de los estados de un cúbit

Como se ha comentado anteriormente los cúbits son estados cuánticos. Los cuales no tiene un valor determinado hasta que se realiza una medida, lo que se llama colapso. En el momento de la medida el cúbit toma solamente un valor de los posibles o bien \lvert 0 \rangle o bien \lvert 1 \rangle . Pero nunca se puede observar una combinación de ambos. Además, en el momento de la medida se pierde completamente los valores que tenían previamente \alpha y \beta.

A la hora de medir un cúbit generalmente se obtiene el estado \lvert 0 \rangle con probabilidad |\alpha|^2 y el estado \lvert 1 \rangle con probabilidad |\beta|^2. Por lo que, los resultados siempre se obtienen en términos de probabilidad.
Es decir, si tememos un estado con los valores de \alpha y \beta igual a \frac{1}{\sqrt{2}}. La probabilidad de obtener tanto \lvert 0 \rangle como \lvert 1 \rangle es del 50%. Debido a que \left| \frac{1}{\sqrt{2}} \right|^2 = 0,5.

Puertas lógicas cuánticas

En la computación clásica se utilizan las puertas lógicas para operar con los bits. El análogo en computación cuántica son las puertas lógicas cuánticas.

Una puerta lógica básica es aquella que implementar un el operador lógico NOT, en el que se cambia el estado del bit por su opuesto. Es decir, si el bit inicialmente era un 0 lo transforma en un 1 y si era un 1 los transforma en 0. Algo sencillo. En computación cuántica se puede definir un operador lógico análogo que cambia las probabilidades de un cúbit. Es decir, una puerta lógica cuántica NOT convierte el cúbit \alpha \lvert 0 \rangle + \beta \lvert 1 \rangle en \beta \lvert 0 \rangle + \alpha \lvert 1 \rangle.

Puertas lógicas en forma matricial

Las puertas lógicas se pueden expresar en notación matricial. Así, la puerta lógica cuántica NOT tiene la forma:

\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}

Lo que se puede comprobar simplemente operado con ella sobre un estado.

X \lvert 0 \rangle = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 1 \end{bmatrix} = \lvert 1 \rangle

Esta puerta lógica cuántica es la que se llama puerta X de Pauli.

Limitaciones de las puertas lógicas cuánticas

Los valores de \alpha y \beta no puede ser cualquiera. La suma de albos al cuadrado tiene que ser siempre la unidad. Ya que la probabilidad de observar algún estado ha de ser igual a uno. Esta condición no se puede violar ni siquiera después de aplicar una puerta lógica. Por lo que esta condición limita las posibles puertas lógicas cuánticas que se pueden implementar. Lo que en término de matrices se cumple si la matriz que define la operación es unitaria.

Las matrices unitarias son aquellas matrices complejas que satisfacen la condición

U^*U = UU^*= I

donde U es una matriz, U^* es su transpuesto conjugado y I es la matriz identidad.

Esta condición hace que algunas puertas lógicas clásicas no puedan tener su equivalente en computación cuántica. Pero esto no es un problema, dado que se pueden definir múltiples puertas lógicas que verifiquen la condición de unitariedad.

Conclusiones

En esta entrada se ha visto una introducción a la computación cuántica.

Imágenes: Pixabay (Gerd Altmann)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…

15 horas ago

Augurios deportivos y portadas malditas, o cuando The Economist predice mejor al revés – El bestiario de los indicadores económicos absurdos (parte 3)

Cerramos la serie internacional con la categoría más estrambótica de todas: indicadores que predicen el…

2 días ago

El Binning en Credit Scoring: El Arte de Discretizar Variables

Si el WOE y el IV son la base matemática del credit scoring, el binning…

4 días ago

Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial

Seguimos iterando sobre el laboratorio de Analytics Lane y lanzamos la versión 1.2, disponible en:https://www.analyticslane.com/lab/es…

1 semana ago

Cómo comparar tendencias con gráficos de líneas en Matplotlib: guía práctica paso a paso

Tienes los datos de tráfico web de los últimos cinco meses desglosados por canal: orgánico,…

2 semanas ago

This website uses cookies.