Computación cuántica Blockchain

Detalles adicionales sobre la computación cuántica

25/08/20 7 min. de lectura

Índice

Superposición ⚙️

Un qubit se representa como una combinación de dos estados cuánticos que se expresan como |0> para el “estado de tierra” y |1> para el “estado excitado”, equivalente a 0 o 1 cuando se traduce a bits clásicos.

 Ambos estados se combinan así para definir un qubit:

Computación cuántica

Donde α y β son números complejos que definen las amplitudes de probabilidad. Por lo tanto, podemos calcular:

Computación cuántica

Por ejemplo, un qubit definido por

Computación cuántica

tiene una probabilidad de 50-50 de convertirse en 0 o 1 cuando se mide desde

Computación cuántica

Dado que α y β son complejos, el qubit puede ser representado como un punto en la superficie de una esfera, llamada “Esfera Bloch. Este gráfico es muy útil para entender el comportamiento de un solo qubit cuando es modificado por algunas puertas.

Esfera Bloch
Figura 1: Esfera Bloch

Usando esta matemática, podemos calcular la probabilidad de que un qubit aparezca como 0 o 1 cuando se mide. Pero ten en cuenta que la esfera de Bloch no funciona cuando enredas dos qubits.

Muestra de puertas cuánticas 🚪

Puerta de Hadamard 🧲

La puerta de Hadamard crea una superposición básica 50-50. Por lo tanto, al medirla se obtendrá (teóricamente) un resultado de 0 o 1 con una probabilidad del 50% para cada uno de los estados.

La figura 2 muestra un circuito básico construido en la Experiencia Cuántica de IBM, un recurso muy recomendado para aprender y experimentar con la computación cuántica. Aquí tomamos un qubit inicializado en “estado de tierra”, |0>, y le aplicamos una puerta Hadamard (caja azul). En este paso, el qubit está en superposición. Luego, lo medimos (caja rosa) y tomamos el resultado como un bit clásico: 0 o 1.

El histograma debajo del circuito representa los resultados: Aproximadamente el 50% de las medidas proporcionaron un 0 y el 50% proporcionó un 1, como se esperaba.

Puerta de Hadamard
Figura 2: Puerta de Hadamard aplicada a un único qubit

Mirando esto en la esfera de Bloch comenzamos con el qubit en la parte superior del eje Z.

Esfera Bloch

La puerta de Hadamard mapea el eje Z en el eje X y viceversa. Por lo tanto, hemos movido el qubit así:

Esfera Bloch

Pero las mediciones sólo ocurren en el eje Z. Por lo tanto, como nuestro qubit está alineado con el eje X, no tiene un valor definido en Z. Al medir, será como proyectarlo en Z y el resultado puede ser |0> o |1> con idéntica probabilidad.

Deshacer el azar con dos puertas Hadamard 💪

Una de las muchas cosas raras que puedes encontrar cuando juegas con qubits en superposición es que aplicando una segunda puerta de Hadamard se obtiene un |0> con un 100% de probabilidad.

Puerta de Hadamard aplicada dos veces
Figura 3: Una puerta de Hadamard aplicada dos veces

¿No es raro si lo piensas? Tomamos una puerta que convierte un |0> en algo que, cuando se mide, proporciona un resultado perfectamente aleatorio. Y si aplicamos la misma puerta a ese resultado perfectamente aleatorio, obtenemos un 0 con absoluta certeza. ¿Por qué es eso? La esfera de Bloch puede ayudarnos a entender lo que está sucediendo a nivel cuántico.

Comenzamos con el qubit en la parte superior del eje Z.

Esfera Bloch

La puerta de Hadamard mapea el eje Z en el eje X y viceversa. Por lo tanto, hemos movido el qubit de esta manera:

Esfera Bloch

Cuando aplicamos la puerta de Hadamard de nuevo, trazamos un mapa X sobre Z.

Esfera Bloch

Por lo tanto, terminamos con el qubit de nuevo en Z y el estado |0>.

La puerta del CNOT 🛸

Gracias al enredo, dos qubits siempre proporcionarán medidas correlacionadas. Tomemos por ejemplo el 50-50 qubits que vimos antes y consideremos que tenemos un segundo qubits enredado con él. Dado que el primer qubit tiene igual probabilidad de proporcionar un 0 o un 1 cuando se mide, no podemos predecir cuál será. Sin embargo, podemos estar seguros de que el valor del segundo qubit tendrá una relación conocida con el primero cuando lo midamos.

Tomemos, por ejemplo, la puerta cuántica CNOT (NO controlada). Funciona con dos qubits. El primer qubit se conoce como “control” y la puerta aplica un NOT al segundo qubit cuando el control (el primer qubit) está en el estado |1>. Así, la puerta CNOT proporcionará los siguientes resultados:

|00> →|00>

|01> →|01>

|10> →|11>

|11> →|10>

Se podría pensar que esto se parece bastante a las puertas lógicas clásicas, pero el concepto central aquí es que se aplica a los qubits mientras están en superposición.

Tomemos la figura 4. Consideramos dos qubits (q[0] y q[1]), ambos inicializados en estado de tierra.

Como primer paso ponemos q[0] en superposición usando una puerta Hadamard (caja azul). También ponemos q[1] en “estado excitado” usando una puerta NOT (cuadro verde).

Luego, aplicamos la puerta CNOT, haciendo de q[0] el control. Por lo tanto, como q[0] puede ser |0> o |1> con un 50% de probabilidad y q[1] se inicia como |1> las únicas transiciones que podemos obtener son:

|01> →|01>

|11> →|10>

Y una vez medidos muestran en el histograma el 50% de probabilidad como se esperaba debido al 50-50 de probabilidad de q[0].

Circuito CNOT
Figura 4: Circuito CNOT

Recuerda, la esfera de Bloch no puede ser usada para representar dos qubits después de usar una puerta de CNOT, porque se han enredado.

Manipular las probabilidades 😅

No profundizaré mucho más en las puertas cuánticas. Si estás interesado, te recomiendo que estudies las guías disponibles en IBM Quantum Experience. Sólo quiero mostrarles que las probabilidades en el resultado pueden ser manipuladas usando diferentes puertas como en la Figura 5 donde la probabilidad de medir un 0 es mucho mayor que la de obtener un 1.

Manipulación de probabilidades
Figura 5: Manipulación de probabilidades

Mirando esto con la esfera de Bloch, empezamos con el qubit en |0>.

Esfera Bloch

Luego aplicamos una puerta de Hadamard, que asigna Z a X.

Esfera Bloch

Luego aplicamos una puerta T, que rota el qubit π/4 alrededor del eje Z.

Esfera Bloch

Aplicando la puerta de Hadamard de nuevo, reubicamos X en Z, por lo que la qubit rota de nuevo:

Esfera Bloch

Y al medirlo en Z obtenemos que la probabilidad de obtener 0 no es del 100% porque la proyección viene en algún lugar de la parte superior del eje, pero no en la parte superior. La probabilidad teórica de obtener 0 es de 0,85, y de obtener 1 es de 0,15.

Esfera Bloch

Los algoritmos de computación cuántica y la programación es un tema complejo. Si se observan los ejemplos que se ofrecen aquí, se puede pensar en el estado actual de la computación cuántica como si la computación clásica estuviera cableando algunas decenas de puertas lógicas (AND, OR, XOR, etc.). Sin embargo, se trata de un nuevo y prometedor paradigma en la computación que seguramente traerá una nueva era a la ciencia y la tecnología.

Puede aprender más sobre la computación cuántica en:

  • IBM Quantum Experience, donde puede programar ordenadores cuánticos reales desde su casa utilizando las líneas de tiempo como las que se muestran en este artículo.
  • Qiskit, un marco de desarrollo de software de computación cuántica de código abierto para aprovechar los procesadores cuánticos de hoy en día en la investigación, la educación y los negocios.

¡Gracias a María José Ruiz Félez por las ilustraciones! 🙌

jaime gomez

Jaime Gómez García

Santander Global Tech

Experto en arquitectura de infraestructura IT y telecomunicaciones. Aprendo sobre Internet, redes y criptografía aplicada cada día desde mediados de los 90.

 

Otros posts