La computación y Supremacía Cuántica

Hace un par de meses atrás, a través de la filtración del paper, salió la noticia de que Google habría alcanzado la supremacía cuántica, información que fue confirmada recién el pasado 23 de octubre del presente año, esto tras la publicación oficial del artículo en la revista Nature.

Esto por supuesto que generó un gran revuelo dentro del mundo de la computación, porque significa que un computador cuántico, por primera vez, pudo hacer una tarea que para una computadora clásica le es prácticamente imposible de realizar. Claramente se trata de una noticia imposible de ignorar, pero a la vez es difícil de digerir por el simple hecho de que mete a la física cuántica dentro del tren.

La idea de esta nota es explicar — ojalá de una forma sencilla — lo que es un computador cuántico, cómo Google logró obtener la supremacía cuántica, y cuales serían los beneficios que en la práctica obtendremos de estos.

Disclaimer: Los contenidos que se ven a continuación son extremadamente densos. No necesariamente se pueden entender a la primera.

Contextualizando el mundo cuántico

Notablemente, la física que conocemos y experimentamos todos tiene un límite: el nivel atómico y subatómico, en donde notamos que las Leyes de Newton ya no nos sirven. A través del efecto fotoeléctrico, se descubrió que un fotón (básicamente, la luz) se podía comportar como partícula y onda a la vez, conceptos que en la física clásica no tienen relación alguna, algo muy extraño.

Lo cierto es que el trabajo que partió con el científico alemán Max Planck — y que después fue continuado por otros notables físicos, como Albert Einstein, Louis De Broglie, Erwin Schrödinger, entre otros — tuvo un gran impacto en la forma en que hasta entonces conocíamos nuestro mundo. El desarrollo de la mecánica cuántica ha repercutido en varias áreas, entre las cuales se incluye la biología, la química, y por supuesto, en la tecnología y computación.

Max Planck, “padre fundador” de la teoría Cuántica

Hay un aspecto fundamental que tenemos que tener en cuenta: en la mecánica cuántica es imposible realizar una medición precisa de dos variables de movimiento al mismo tiempo. Por ejemplo, posición y velocidad NO se pueden medir perfectamente de manera simultánea. De esto nace lo que se conoce como el Principio de Incertidumbre de Heisenberg. Teniendo esto en consideración, aquí se trabaja con probabilidades, utilizando lo que se conoce como la ecuación de onda de Schrödinger — la cual no es necesario explicar por el momento.

De esto surge otro concepto importante: la superposición cuántica o principio de superposición, la cual nos dice que una partícula puede estar en cualquiera de todos sus estados posibles. La famosa paradoja del gato de Schrödinger sirve para entender este concepto, pero creo que es más conveniente explicarlo en base al tema principal — computación cuántica — más adelante en esta nota.

Entonces, ¿cómo esto se aplica en la computación?. Eso es lo que veremos a continuación.

Bits vs. Qubits

Así como en la física se separa lo cuántico de lo clásico, en la computación también contamos con la misma distinción entre ambas ramas.

Como sabemos, los computadores, o bueno, en realidad cualquier objeto que cuente con un procesador — teléfonos, tablets, audífonos, etcétera –, trabaja con los famosos bits (ceros y unos) para procesar y almacenar información. En la computación cuántica contamos con un análogo: los bits cuánticos (cúbit en castellano, qubit en inglés), los cuales también trabajan con ceros y unos, pero no de la misma forma que en un ordenador clásico.

Como aquí se trabaja bajo las leyes de la mecánica cuántica, nunca vamos a tener la certeza sobre el valor que los qubits pueden adoptar. Por esto, los qubits no toman un solo valor discreto (0 ó 1), sino que, en rigor, los contiene a ambos al mismo tiempo (¡Hola, principio de superposición!), y se representa mediante probabilidad (es decir, hay X% de probabilidad de que el qubit tome el valor 0, y hay un Y% de que tome el valor 1). Eso sí, cada vez que tratamos de observar estos qubits, inmediatamente tomarán uno de estos dos valores, y actuarán como un bit convencional — de la misma manera se explica la paradoja de Schrödinger.

Pero esto no nos responde la pregunta de fondo: ¿Por qué un computador cuántico puede ser mejor que uno clásico?. La respuesta a esto radica en la cantidad de estados posibles que puede adoptar la máquina en base a la cantidad de (qu)bits que tiene. Veamos un ejemplo: Un computador clásico de dos bits tendría solo uno de los siguientes estados posibles: 00 ó 01 ó 11 ó 10. Un computador cuántico de dos qubits (los cuales se unen a través del entrelazamiento cuántico) tendría a disposición todas estas combinaciones para trabajar. Es decir, se trataría como si fuera una ”suma” de estos estados.

Para generalizar, si un computador tiene n bits, entonces tiene n cantidad de información disponible en un estado concreto (una cadena de bits). En un computador cuántico de n qubits, tenemos un estado con una cantidad de información de tamaño 2^n. Eso es una diferencia tremenda, ya que significa que, básicamente, un computador cuántico puede trabajar con una mayor cantidad de información que uno clásico (ya que uno aumenta de forma lineal, mientras que el otro de forma exponencial).

Nota para quien le interese: Específicamente, los qubits se representan como una combinación lineal de vectores, en donde el 0 y 1 son los vectores, y cada uno es ponderado por un coeficiente, cuyos cuadrados representan la probabilidad de que salga uno u otro. Particularmente, estos coeficientes incluso pueden ser números complejos. El equivalente a las puertas lógicas clásicas (AND, OR, etcétera, que sirven para poder armar los algoritmos) son mucho más complejas de tratar, pero es interesante notar que son representadas por matrices unitarias cuadradas.

Los procesadores cuánticos

Finalmente, lo que termina importando en todo computador es su corazón: el procesador.

Es curioso, el estado actual de los computadores cuánticos es similar a como eran los computadores clásicos de hace más de 60 años atrás: tremendas estructuras que tenían un poder muy limitado. En este caso, el gran chasis que rodea un procesador cuántico tiene un fin bastante importante: protegerlo de cualquier tipo de interferencia o energía externa que pueda alterar el funcionamiento del mismo.

Por propiedad cuántica, sabemos que las partículas también se pueden comportar como ondas. Esto también aplica en la computación cuántica, por lo tanto, cualquier onda externa que no corresponda al sistema de qubits puede afectar en el funcionamiento de la máquina. En este caso, una interferencia aumenta la tasa de error del equipo. Esto por esto que los procesadores cuánticos se aíslan en un vacío casi perfecto, y se encuentran sometidos a temperaturas bastante cercanas al cero absoluto (Aproximadamente, entre los 0.015º y 0.02º grados Kelvin, algo así como -273ºC).

Eso sí, no toda interferencia es mala. De hecho, el proceso de cálculo y verificación que realizan estas máquinas es a través de las interferencias constructivas y destructivas que hay entre los qubits. Si hay interferencia constructiva, por lo general significa que estamos frente a probabilidades muy altas de que, por ejemplo, estemos en el resultado correcto del problema. Si hay destructivas, entonces estamos ante probabilidades más bajas.

Es muy importante notar que esto no es infalible. Los computadores cuánticos siempre tendrán una ligera tasa de error, ya que recordemos que siempre se trabaja con probabilidades.

Por último, hay que hablar sobre la forma en que estos qubits se relacionan entre sí. Aquí entra en juego otro concepto cuántico: el entrelazamiento, noción que, en simples palabras (si es que podemos llamarlo simple, francamente), nos dice que si se ”unen” dos o más partículas cuánticas (en este caso, los qubits), se describe un estado único dentro de ese sistema, aún cuando estos están separados espacialmente.

Para efectos prácticos, el entrelazamiento cuántico aplicado en esta rama de la computación implica que si modificamos el estado de un solo qubit del procesador, también se modificará el del resto de los qubits, ya que están unidos entre sí.

Sycamore y el hito logrado por Google

Sycamore es el nombre que recibió el procesador cuántico que Google desarrolló para poder lograr esta hazaña. En particular, se trata de un procesador basado en un circuito superconductor de 54 qubits, pero de los cuales solamente 53 funcionaron finalmente.

Un pequeño paréntesis: para complementar lo que dije anteriormente, si se tratara de un computador clásico de 53 bits, tendríamos esa cantidad de información disponible en un estado concreto. Pero como se trata de una máquina cuántica, tenemos una cantidad de información de tamaño 2^53 (es decir, muchos millones!).

Procesador Sycamore

Lo que hizo Google, particularmente, fue pedirle a su computadora que estudiara la probabilidad de obtener diferentes resultados de un generador aleatorio de números. Lo que hizo el procesador fue calcular la distribución de probabilidad “corriendo” este circuito cuántico un millón de veces, tarea que tardó 3 minutos y 20 segundos (200 segundos).

Una cosa es completar la tarea, y otra es ver que el resultado sea realmente correcto. Según se relata en el paper, para poder alcanzar la supremacía cuántica, se debe asegurar que el procesador tenga una tasa muy baja de error. Entonces, para poder verificar el resultado, se realizaron simulaciones en pequeña escala de este circuito en computadores clásicos.

De acuerdo a Google, simular y hacer la misma tarea en la mejor supercomputadora clásica del mundo, se podría tardar hasta 10.000 años.

Es un número que sin duda deja a todos boquiabiertos, pero según IBM — otro de los pesos pesados en el mundo de la computación cuántica —, Google estaría exagerando el resultado. De acuerdo a ellos, la misma tarea se podría realizar en un computador clásico en alrededor de dos días y medio, y con resultados más precisos. La respuesta de IBM a Google, por el momento, no está respaldada por ningún tipo de publicación o paper que lo demuestre.

Entonces…

Para nosotros, los mortales, ¿En qué nos beneficia esto?… Pues, en nada de momento.

La prueba realizada por Google no tiene ningún aporte más que para demostrar el poder de estas máquinas. El verdadero potencial no va de la mano con generadores de números aleatorios, sino que va más bien por el lado de lo que no podemos hacer actualmente.

La computación cuántica no vendrá a reemplazar tan rápido a los computadores convencionales. Para nada. De hecho, son más que suficientes para la mayoría de las tareas comunes que tengamos que realizar. El mundo cuántico entrará para ampliar la visión que tenemos del mundo actualmente.

Por ejemplo, en un futuro servirá para poder modelar de forma más fidedigna las diversas moléculas y compuestos que forman parte de nuestro mundo. Esto no solo será un gran aporte a la biología molecular, sino que también para nosotros, las personas, ya que podría ayudar en la búsqueda de nuevos fármacos que nos podrÍan ser útiles.

Por otro lado, la Ingeniería Civil se podría ver beneficiada con esto gracias a lo que se conoce como los Gemelos Híbridos Digitales, los cuales son una suerte de simulación de infraestructuras que se pueden ”alimentar” a base de datos. La gracia de estos gemelos digitales es que pueden ayudar a gestionar de mejor manera la estructura, en todos los aspectos posibles: gestión y optimización de recursos, seguridad, los usos que se le da, entre varias otras cosas más. Estos gemelos pueden aprovechar la gran capacidad de procesamiento que tienen estas máquinas para poder hacer cálculos realmente complejos en tiempo real.

Y bueno, tampoco se puede dejar a la informática y a la ciberseguridad afuera. Uno de los principales motivos por los que se conoce — vagamente — la computación cuántica, es porque en teoría serán capaces de poder “romper” la seguridad en internet, gracias a su potencial de procesamiento que podría beneficiar a quienes quieran robarse las claves de los bancos y otras instituciones. Esto claramente podrá ser así, pero en vez de centrarnos en eso, deberíamos pensar en cómo se puede mejorar la seguridad en la web para que esto no sea una amenaza realmente peligrosa.

Y así puedo seguir nombrando otros ejemplos en donde la computación y la mecánica cuántica pueden tener un gran impacto. Como ven, no son tareas simples (como realizar una hoja de cálculo en Excel, programar, crear videojuegos, etcétera), sino que tienen un alto grado de complejidad, en donde la capacidad de procesamiento es necesaria para llevar a cabo muchas tareas y cálculos que hasta la mejor computadora del mundo se tardaría en realizar.

Eso es lo entretenido de todo esto. La computación cuántica no solo nos abrirá las puertas a nuevas soluciones, sino que también a nuevos desafíos y preguntas que aún no se nos han ocurrido o no nos hemos planteado realmente, y que incluso podrían no tener una respuesta. Pero para llegar a eso, aún tenemos que esperar a que esto alcance un mayor grado de madurez. Habrá que estar atentos a esta nueva década a la que estamos entrando.

Con información de: 1 | 2 | 3 | Apuntes propios

Agradecimientos: Andrés Concha, PhD, profesor de la Facultad de Ingeniería y Ciencias (FIC), U. Adolfo Ibáñez.