Introducción a la Computación Cuántica
Hola con tod@s, con este post inauguramos esta categoría de ciencia y, nada más y nada menos, con computación cuántica. Este tema es muy amplio así que lo dividiremos en varios posts y nos centraremos desde la perspectiva de la teoría de la información cuántica, entenderemos como funciona el mundo cuántico, la capacidad computacional de los qubits y como operan en su interior, interiorizaremos sobre la mecánica de los qubits junto a las compuertas cuánticas y, a partir de este conocimiento, modelaremos y simularemos qubits y compuertas en varios lenguajes de programación clásica. ¡Vamos a ello!
Comprendiendo el mundo cuántico
Su origen radica en la física: los físicos logran descomponer átomos en sus partículas y observaron que éstas no obedecen a la lógica determinista clásica y que rompían cuanta ley de la física clásica había sido teorizada hasta ese momento; sí, toda ecuación física y lógica creada por el humano hasta ese momento se vino abajo. Este acontecimiento daría inicio a la física cuántica, que describe matemática y teóricamente este nuevo mundo (o lo que podemos conocer de él).
Este nuevo mundo demostró propiedades que eran hasta entonces impensables:
¿Te puedes imaginar que un objeto pueda estar en dos lugares al mismo tiempo?, ¿Te imaginas que el sólo hecho de observar a dicho objeto su estado cambie (como si existiese una realidad distinta a cada observador)?, ¿Te puedes imaginar que dos objetos puedan comunicarse entre sí a millones de años luz de manera inmediata (en tiempo 0)? ¡Bienvenido al mundo de la cuántica!
Algunas de las características observadas en las partículas subatómicas pueden enumerarse de la siguiente manera:
Principio de superposición
Capacidad de una partícula de estar en dos estados al mismo tiempo. Lo único que podemos conocer es la probabilidad de que el mismo tome un estado u otro o los dos al mismo tiempo (función de onda).
Referencia
Colapso de función de onda
Una partícula puede estar en dos estados al mismo tiempo siempre y cuando no este siendo observada y su probabilidad viene dada por la funcion de onda. Sin embargo; al ser observada, su función de onda colpasa en un estado particular.
Referencia
Entrelazamiento Cuántico
Cuando dos o más partículas se entrelazan entre sí, se conectan en estados complementarios. Es decir, si un electrón es entrelazado con otro: El primer electrón esta en un estado (SPIN-UP) y el segundo electrón se halla en su estado complementario (SPIN-DOWN). No importa cuánta distancia haya entre ellos, si un electrón colapsa su función de onda en un estado particular, el otro electrón también colapsará su función en un estado complementario.
Referencia
De manera breve, podemos resumir que una partícula puede estar en dos estados al mismo tiempo mientras no sea observado, si es observado podemos ver un solo estado de la partícula (a veces uno y a veces otro) y que éstas se pueden conectar y entrelazar a cualquier distancia enviando información de un lado a otro en tiempo 0, y muchas otras propiedades más.
Teoría de la Información Cuántica
De la misma manera que la física fue bifurcada por el mundo cuántico, la teoría de la información está sufriendo este destino debido al mismo motivo. Pero, ¿Cómo es esto posible?
En Teoría de la Información Clásica (la que utilizamos todos hoy en día) utilizamos como unidad de medida de información al ya conocido por todos BIT (Binary digit) mientras que la así llamada Computación Cuántica ocupa como unidad de medida de información al QUBIT (quantum binary digit)
BIT
Un bit como todos lo conocemos, es un dígito binario que tiene dos valores exclusivos: 0 o 1. En cualquier instante de tiempo, el bit puede tener o un 0 o un 1 y la potencia de la computación actual depende de muchos de ellos en su combinación para crear la tecnología de la información tal y como la conocemos hoy en día.
Con bits podemos procesar y registrar eventos de mucha índole y relación con la vida real (o al menos la que conocemos). Por ejemplo, vamos a registrar un evento haciendo uso de bits:
Vamos a registrar si un día aparece soleado o no haciendo uso de este bit:
Regla: Si un día está soleado lo registramos con un bit 1, y si un día no esta soleado lo registramos con 0.
Eventos: En nuestro registro, podemos ver que los dos primeros días de medición apareció soleado y los dos segundos días presentó lluvias.
Registro:
El cómputo de los registros haciendo uso de los bits se representa de la siguiente manera:
bit1 | bit2 | bit3 | bit4 |
---|---|---|---|
1 | 1 | 0 | 0 |
Análisis
Podemos observar a simple vista que para poder registrar n eventos, se necesitan n bits, que es equivalente a describir con la siguiente función:
f(x) = x
NOTA: Esto lo podemos hacer porque es un evento susceptible de ser registrado con bits.
QUBIT
El Qubit es la unidad de medida de información cuántica partiendo de estados binarios. El Qubit posee las caracteristicas de las particulas cuánticas (Superposición, colapso de función de onda, entrelazamiento). Pero, ¿Cómo es eso posible? Veamos.
Un qubit puede tener el valor 0 y 1 o todas sus combinaciones al mismo tiempo mientras no sea observado.
Las combinaciones de 0 y 1 posibles son:
valor 1 | valor 2 |
---|---|
0 | 0 |
0 | 1 |
1 | 0 |
1 | 1 |
En los qubits existe la probabilidad de que tome cualquiera de esos valores al mismo tiempo. En lenguaje semántico podríamos describir como un qubit puede tener 75% de 1 y 25% de 0 (aproximadamente).
Si el qubit es observado, su función de onda colapsa en un valor particular, es decir se vuelve 0 o 1 (casi como un bit clásico).
El colapso de función de onda se describe como la pérdida de su capacidad de representar combinaciones de bits simultáneamente.
Los qubits pueden entrelazarse con otros para comunicarse de manera instantánea.
Sin embargo, la información útil necesariamente debe hacer uso de un medio de transmisión clásico como la energía o la luz. A este efecto se le conoce como Teleportación Cuántica que veremos en publicaciones posteriores. Referencia.
En resumen, observamos que la verdadera potencia de un qubit se halla en su capacidad de poseer 0 y 1 simultáneamente o cuando no es observado que es lo mismo. Si hacemos una comparación con los bits, podemos ver que un qubit es capaz de procesar lo mismo que 2 elevado a la n bits, o equivalente a la siguiente función:
f(x) = 2^x
En la computación clásica poseemos una potencia lineal mientras que en la computación cuántica poseemos una potencia exponencial.
¡Calcula tú mismo la potencia en bits que te ofrecerían 600 qubits y te sorprenderás!
Sin embargo, la naturaleza de los qubits hace que se torne difícil crear algoritmos que ocupen esta capacidad debido a que la naturaleza de los eventos que procesa un qubit es distinta a la que estamos acostumbrados (personalmente caí en este error al inicio).
Esto nos crea un sin número de preguntas:
¿Cómo trabaja internamente un qubit?
¿Cómo podemos trabajar con qubits si no los podemos observar?
¿Si un qubit es un escenario aparentemente caótico, cómo puede una computadora cuántica trabajar con ellos?
En las publicaciones posteriores, nos internaremos en lo más profundo de un qubit, lo describiremos usando ecuaciones y lo simularemos haciendo uso de una computadora clásica en varios lenguajes de programación. Juntaremos algunos qubits para entrar en la noción de compuertas cuánticas y los simularemos usando pequeñas redes neuronales. Así que si eres de los que la ciencia les motiva, no te pierdas las siguientes publicaciones.
¡No te olvides de comentar tus dudas y sugerencias en el cajón inferior!