Qiskit es parte del proyecto abierto de IBM para que cualquiera pueda experimentar con computadoras cuánticas. En esta segunda parte, veremos cómo es el hardware que se utiliza, y qué significa el concepto de software en computación cuántica.
En la primera parte vimos algunos conceptos básicos de computación cuántica. Ok, ¿pero cómo y dónde se hace el procesamiento en sistemas cuánticos?
Hardware
Dijimos que las computadoras cuánticas utilizan propiedades cuánticas a nivel atómico o subatómico. Entonces, ¿cómo se construye una computadora que trabaje con partículas subatómicas individuales? La respuesta es que no se puede. Además sería muy poco eficiente, dado que las partículas individuales son inestables debido al ruido ambiente. ¿Entonces?
Lo que se hace es simular estados cuánticos con diversas técnicas. La más utilizada es mediante el uso de superconductores. (Ver Superconductores). Para los interesados, aquí tienen un video de Google sobre como es posible simular estados cuánticos a escalas muy superiores a la atómica.
Superconductores
Son estructuras cristalinas en las que cuando se baja suficientemente la temperatura (es decir energía) ambiente, los átomos quedan como si estuvieran fijos (sin vibrar) y alineados. De esta forma, los electrones pueden atravesar dichas estructuras sin chocar con nada a su paso. Eso significa que nada les ofrece resistencia. Llevada a parámetros físicos, esto significa que su resistencia se vuelve cero ohms.
Rsc = 0 Ω
La superconductividad es una propiedad muy curiosa ya que cuando un material entra en estado superconductor su resistencia es absolutamente 0. Sí cero, no 0.00002 o 10-37… sino cero… es por eso que el conductor que entra en ese estado, se gana merecidamente el prefijo de Súper.
En mi caso personal, ¡qué bueno haberme reencontrado con los superconductores después de tantos años! Allá por fines de los ’80 participé en las mediciones de materiales superconductores cerámicos de alta temperatura (YBaCuO) fabricados por mi amigo que en ese entonces era mi jefe, el Lic. Ricardo Juárez.
Lo veía en el laboratorio pero me costaba creer que esos materiales pudieran levitar sobre sobre un imán debido a sus propiedades diamagnéticas… Es el efecto Meissner, por si no lo conocían y quieren verlo.
Lo que tuvo de maravilloso el descubrimiento de Bednorz y Müller allá por 1986 fue que hasta ese momento, la única forma de llevar a un material al estado superconductor era bajarle la temperatura a unos 4° Kelvin, la temperatura del Helio líquido, ¡¡¡…carísimo…!!! Pero con el nuevo material descubierto, ahora es posible hacerlo a unos 78 °K, la temperatura del aire líquido… en comparación ¡¡¡baratísimo!!!
Si bien hoy en día existen algunas iniciativas para usar superconductores de alta temperatura en computadoras cuánticas, todavía están en estado experimental. Los superconductores que se utilizan actualmente en computadoras cuánticas, son metales que se los enfría a temperaturas extremadamente bajas, del orden de los miliKelvins. Llevar a un material a esa temperatura no solo demora días sino que además el costo es extremadamente alto.
Es por estos elevadísimos costos que no solo la construcción, sino la misma operación de computadoras cuánticas quedan limitados a grandes corporaciones o laboratorios con muchos fondos disponibles. Esto… hasta que se logren construir computadoras cuánticas basadas en YBaCuO…
Dado que los superconductores utilizados deben ser enfriados a sólo algunos miliKelvins de temperatura, la construcción y puesta en funcionamiento de una computadora cuántica no es nada sencillo. En la siguiente imagen se puede ver cómo es una computadora cuántica. En este caso, la IBM-Q.
Fig 1.- Computadora cuántica IBM-Q
En el caso de las computadoras cuánticas de IBM, los qubits se simulan con capacitores de Niobio y superconductores de Aluminio formando junturas Josephson a temperaturas de 0.015 °K.
En el extremo inferior de lo que se ve en la figura, se encuentra el chip cuántico.
Fig. 2 – Chip de IBM-Q
Potencia
Es muy difícil medir la potencia de una computadora cuántica. La dificultad reside en que existen diferentes tecnologías que tienden a hacer foco en diferentes aspectos. La métrica más obvia y simple de entender es la cantidad de qubits. En un sitio del MIT denominado qubitcounter se puede ver cómo viene evolucionando la carrera por construcción de computadoras cuánticas de mayor cantidad de qubits.
La computadora con la mayor cantidad de quibits construida hasta el momento, fue desarrollada por la empresa Righetti de Estados Unidos y es de 128 qubits.
En el siguiente gráfico, se puede ver cómo fue la linea de tiempo desde la primer computadora cuántica hasta ahora.
Fig. 3 – Linea de Tiempo de desarrollo de procesadores cuánticos.
Sin embargo, la cantidad de qubits no define la eficiencia o la potencia de una computadora cuántica. El tema del benchmarking de computadoras cuánticas está en discusión permanente dado que cada fabricante trata de favorecer lo que cada uno tiene como fortaleza. Un intento por determinar un parámetro que sea lo suficientemente objetivo puede verse aquí, aunque todavía no existe un acuerdo o normalización en este tema.
Software
Una vez que se posee la computadora cuántica, se necesita hacer que nuestros problemas sean resueltos por ésta. En el caso de una computadora clásica, esto se hace programando la lógica de lo que queremos hacer en lenguajes de alto nivel. Este programa después se compila en instrucciones de código de máquina para que el procesador pueda interpretarlo y ejecutarlo.
En el caso de una computadora clásica, se podría pensar en en que el código de programación se mapea en código de máquina de la siguiente forma.
Fig. 4 – Mapeo entre un lenguaje de alto nivel (izquierdaa) versus las respectivas instrucciones para un procesador (derecha).
En el caso de las computadoras cuánticas, el proceso es bien diferente. De acuerdo con la arquitectura que posea cada diseño, el código resulta en la construcción de circuitos cuánticos que representan el problema que queremos resolver. Este es un ejemplo:
Fig. 5 – Mapeo entre un programa en Python (izquierda) versus su respectivo circuito cuántico (derecha).
En el caso particular de los procesadores de IBM, se puede encontrar una documentación muy completa y clara sobre los circuitos cuánticos.
Ahora bien, ¿qué problemas se pueden resolver con computadoras cuánticas? La respuesta es: algunos problemas sencillos, y algunos que son imposibles para la computación clásica.
En la tercera parte, veremos qué se puede programar en una computadora cuántica, y cómo jugar con las computadoras cuánticas que IBM pone a disposición de la comunidad.
< Jugando con Qubits (parte 1) |
| Jugando con Qubits (parte 3) > |
Nota por Carlos Benitez