Puertas Cuánticas para Dummies

Esta semana quiero hablar de las puertas cuánticas y porqué a día de hoy son tan importantes para entender el funcionamiento de los ordenadores cuánticos, y como siempre, intentaré ir al grano y no dar vueltas de las necesarias para que la información sea la justa y no te lleve más de 10 minutos leerla. Dicho lo cual, hay que tener en cuenta, que nos encontramos todavía en un nivel de detalle muy cercano a la arquitectura física del ordenador cuántico, por este motivo, cuando se crean algoritmos para estos, se hace necesario trabajar con los mecanismos básicos de manipulación del estado de los qubits, y que básicamente se reducen a aplicar sobre estos diferentes puertas lógicas cuánticas.

En el mundo de la computación clásica, ya no es necesario (salvo en ciertos escenarios) el tenernos que preocupar de como diseñar un circuito que realice una determinada función, y tradicionalmente, cuando era necesario, se trabajaban con dos tipos diferentes de circuitos: los combinacionales y los secuenciales.

  1. Circuitos combinacionales: Son aquellos en los que la salida depende solo del estado actual de las entradas. No tienen memoria, es decir, su comportamiento y salidas son completamente determinados por las entradas actuales. Un buen ejemplo es una simple operación lógica, como AND, OR, NOT, aunque existen circuitos específicos que se implementan como combinación de las puertas anteriores, como son el caso de los multiplexores, los codificadores, los sumadores o los comparadores, entre otros circuitos básicos que se pueden implementar.
  2. Circuitos secuenciales: A diferencia de los circuitos combinacionales, los circuitos secuenciales sí tienen memoria. La salida en estos circuitos depende tanto del estado actual de las entradas como del estado anterior del circuito. Ejemplos de esto incluyen los flip-flops y los contadores.

Por otro lado, en la computación cuántica utiliza principios de la mecánica cuántica, como la superposición y el entrelazamiento, para procesar información. Los qubits, a diferencia de los bits clásicos, pueden estar en un estado de superposición, lo que significa que pueden representar el 0 y el 1 al mismo tiempo. Esto aumenta exponencialmente la capacidad de procesamiento de información de un sistema cuántico, ya que un número n de qubits puede representar 2n estados diferentes al mismo tiempo. Además, gracias al entrelazamiento cuántico, el estado de un qubit puede estar correlacionado con el estado de otro, independientemente de la distancia que los separe, propiedad que se utiliza para crear puertas cuánticas de múltiples qubits, que son la base para la construcción de circuitos cuánticos.

La computación clásica, con sus circuitos combinacionales y secuenciales, se basa en un modelo determinista y local de procesamiento de información, mientras que la computación cuántica se basa en un modelo probabilístico y no local. Esta diferencia fundamental conduce a una gran diferencia en la capacidad de procesamiento de información, donde los ordenadores cuánticos tienen el potencial de superar a los ordenadores clásicos en ciertas tareas, como la factorización de números grandes y la búsqueda en grandes bases de datos.

¿Que es un qubit?

Un qubits es la unidad básica de información cuántica, es la versión cuántica de un bit en la computación clásica. Mientras que un bit sólo puede estar en un estado a la vez, 0 o 1, un qubits puede estar en un estado de superposición. Esto significa que puede representar 0, 1 o cualquier combinación de ambos al mismo tiempo.

Esto se debe a dos principios fundamentales de la mecánica cuántica: la superposición y el entrelazamiento. La superposición permite que los qubits estén en múltiples estados a la vez, mientras que el entrelazamiento permite que los qubits estén correlacionados entre sí de manera que el estado de un qubit puede depender instantáneamente del estado de otro, independientemente de la distancia que los separe. Es importante entender que no podemos conocer el estado exacto de un cúbit en superposición hasta que lo medimos. Cuando un qubit se mide, «colapsa» en uno de sus estados posibles con cierta probabilidad.

¿Qué es la esfera de Bloch?

La esfera de Bloch es una representación visual de un qubit. Es una esfera tridimensional donde el estado de un cúbit se representa como un punto dentro o en la superficie de la esfera.

Los estados clásicos 0 y 1 corresponden a los polos norte y sur de la esfera. Los estados de superposición se representan por puntos dentro de la esfera o en su superficie. Los puntos a lo largo del ecuador de la esfera representan los qubits en un estado de superposición equilibrada, donde las probabilidades de medir 0 o 1 son iguales.

Cuando aplicamos una puerta cuántica a un qubit, esto se representa en la esfera de Bloch como una rotación del vector del estado. Por ejemplo, si aplicamos una puerta X a un cúbit en el estado 0 (polo norte), lo giraremos al estado 1 (polo sur). En el gráfico siguiente (tomado de la Wikipedia) puedes ver la idea detrás de la esfera de Bloch:

No obstante, dado que dibujar esferas no es muy cómodo y no escalaría en el caso de disponer de muchos qubits, se han llegado a ciertas convenciones para intentar simplificar cómo representar los qubits de una forma que resulte manejable y más amigable para quien trabaja en este tipo de computación, me estoy refiriendo a la representación matricial y a la de diagrama de circuito.

Representación Matricial: En la computación cuántica, las operaciones se representan generalmente como matrices unitarias. Una matriz unitaria es una matriz cuya inversa es igual a su conjugada transpuesta

Representación de Diagrama de Circuito: En los diagramas de circuitos cuánticos, las puertas cuánticas se representan como cajas en una línea que representa un cúbit. Cada caja representa una puerta cuántica diferente y el tiempo fluye de izquierda a derecha

De momento no os preocupéis demasiado por los dos gráficos anteriores, solamente los he puesto para que os hagáis una idea de a que me refiero por diferentes tipos de representación, mi idea es que en otras entradas pueda explicaros con más detalle como se leen estos circuitos y matrices, algo que tampoco tiene demasiado misterio.

¿Qué Puertas Lógicas tenemos entonces?

Teniendo en cuenta que aplicar una puerta lógica lo que hace es cambiar la rotación del vector de estado de un qubit, en los laboratorios donde se diseñan los ordenadores cuánticos se han definido las siguientes puertas:

  • Puerta Pauli-X

La puerta Pauli-X (o puerta NOT cuántica) es equivalente a la puerta NOT clásica. Invierte el estado de un cúbit. Es decir, si tu cúbit está en el estado 0, después de aplicar la puerta X, se transformará en 1, y viceversa.

Ejemplo: Imagina que tienes una moneda en tu mano, si la moneda está boca arriba (0), al aplicar la puerta X (girarla), quedará boca abajo (1).

  • Puerta Hadamard

La puerta Hadamard (H) es crucial en computación cuántica porque nos permite crear superposiciones. Cuando aplicamos esta puerta a un cúbit, lo llevamos a una superposición equilibrada de estados 0 y 1.

Ejemplo: Piensa en un lápiz equilibrado en su punta. En este estado, el lápiz tiene igual probabilidad de caer hacia un lado o hacia otro, es decir, está en superposición.

  • Puertas de Pauli-Y y Pauli-Z

Estas puertas realizan rotaciones sobre los cúbits en diferentes ejes. Es como girar una bola en diferentes direcciones. Estas son un poco más difíciles de imaginar en términos cotidianos, pero son fundamentales en la creación de algoritmos cuánticos.

  • Puerta CNOT

La puerta CNOT es una puerta cuántica de dos cúbits que invierte el estado del segundo cúbit (cúbit objetivo) si el primer cúbit (cúbit control) está en el estado 1.

Ejemplo: Imagina que tienes dos bombillas. La segunda bombilla sólo se encenderá (cambiará de estado) si la primera bombilla está encendida.

  • Puerta de Toffoli

La puerta de Toffoli es una versión cuántica de la puerta AND clásica y requiere tres cúbits. Cambia el estado del tercer cúbit solo si los dos primeros cúbits están en el estado 1.

Ejemplo: Considera tres interruptores de luz conectados a una sola bombilla. La bombilla solo se encenderá (o el bit objetivo) sólo se enciende (o se invierte) si ambos interruptores (o bits de control) están encendidos.

Pues nada más por hoy, en próximas series veremos como utilizar las puertas lógicas para crear nuestras aplicaciones, aunque para ello necesitaremos conocer el uso de los simuladores y de los kits de desarrollo como Qiskit de IBM.

Si quieres saber más sobre computación cuántica, aquí te dejo otros artículos que he escrito sobre el tema:

Puertas Cuánticas para Dummies

Deja una respuesta

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

Scroll hacia arriba