lunes, 29 de diciembre de 2014

Construir un computador cuántico

Andreas Dewes contó en esta charla una introducción a la computación cuántica y describió el que él construyó como parte de su tesis doctoral, desmitificando un poco y aclarando el concepto.

Qué son y para qué sirven.

Originalmente, los computadores cuánticos se pensaron para simular sistemas de física cuántica, probablemente inspirados en una conferencia de Richard Feynman. Pero luego se vio que podrian ser útiles para otras cosas, en concreto en paralelización de algoritmos.
Mientras que en la computación tradicional se trabaja con registros binarios y puertas universales (como la NAND o la NOR) y la prueba de si un password es válido requiere tiempo lineal, en la computación cuántica se trabaja con qubits y funciones probabilísticas.
Un Qubit es una especie de átomo con dos estados, |0> y |1>. Todo Qubit estáen una combinación de esos dos estados, pero cuando se mide está sólo en uno de los dos estados.
Cuando se tiene un registro de varios qubits, cada qubit está en una superposición de los dos estados, y el registro total está en una superposisicón de los 2^N estados.
También existe un conjunto de puertas universales, pero lo que no se puede realizar con qubits es copiarlos, por lo que una puerta cuántica da como resultado el registro original y un cálculo específicoque es funcioón de para todos los qubits de entrada y sus 2^N estados.
Otro ejemplo de puerta útil es la de mezclado (la traducción que se me ocurre de "entanglement"): cuando se toman como entrada dos qubits y los asocia de modo que la salida es una combinación de |01> y |10>, de modo que si una salida está a 0, la otra estará a 1 y viceversa.

Algoritmos cuanticos

En el hipotético caso de que tuviésemos una función cuyo resultado fuese un bit de si, por ejemplo un password fuese válido o no, con un ordenador cuántico, se podría realizar un cálculo para comprobar todos los password a la vez, pero el problema principal sería cómo medir cuál es el resultado, ya que como el vector de resultado tendría todos los password posibles, el único estado que contiene el password correcto es uno de los estados menos probables del estado cuánto del sistema.
Andrew ha explicado que una manera es mediante el algoritmo de Grover (descubierto en 1996), que transfiere todas las probabilidades de los estados no interesantes al estado que nosotros queremos. Por ejemplo, para 10 qubits sólo hace falta hacer la operación de Grover 25 veces para restringir el resultado más probable al que nos interesa. El algoritmo de Grove tiene una complejidad de O(sqrt(N)). Para factorizar números, se puede usar otro el algoritmo denominado de Shor que es de O(log(n)^3).

Constuir un ordenador cuántico simple (de dos qbits)

Tras repasar por encima varios sistemas de realizar bits cuánticos, como la trampa para iones que puede llegar a 50-100 qubits, Andrew se ha centrado en procesadores cuánticos mediante superconductores. Se basan en las propiedades de los superconductores que son cuánticos a bajas temperaturas, y él hizo uno de dos qubits para su tesis.
Está basado en niobio que es superconductor a -264ºC y una unión cuántica que consiste en dos trozos de superconductor separados por un hueco de sustrato que conduce cuánticamente a bajas tempertuaras. Hay dos puertas de estas con un filtrado a ambos lados que lo separa del resto del circuito y una unión mediante un condensador que los acopla para hacer los cálculos.
Todo eso se introduce en un recipiente capaz de refrigerar a 20mºK.
Luego se encadenan los cálculos de varias puertas, y se repiten los cálculos varias veces para varias combinaciones con lo que se puede ver que el resultado correcto tiene probabilidades de 52-60% para ese estado frente a los otros tres.
Si se puede hacer un computador de dos qubits, ¿por qué no se puede hacer de dos mil (p.e. lo que haría falta para atacar un password RSA)? Una de las principales limitaciones es lo que se llama la decoherencia que es que el estado cuántico que liga todos los bits se desvanece al cabo de un tiempo. En los primeros sistemas cuánticos, sucedía al cabo de unos pocos nanosegundos, y además al aumentar el número de estados aumenta la dificultad de mantener la conexión entre todos los qubits la medición correcta de los resultados.

Estado del arte

Para terminar, Andrew ha repasado las arquitecturas cuánticas más avanzadas en las diversas partes del mundo:
  • UCSB con su arquitectura RezQu / Surface Code, que es muy parecida a la suya pero con más qbits.
  • Delft y Yale: utilizan resonadores de tres dimensiones (cajas metálicas donde los estados cuánticos se acumulan en determinados puntos por resonancia, en vez de microchips, que mantienen el estado cuántico más tiempo.
  • Un laboratorio de Yale que es el más avanzados en corrección de errores cuánticos: .
  • CEA Saclay: Sistemas cuánticos híbridos que se pueden transferir a centros NV en diamante. Esto queda muy poco claro, pero se explica en una charla posterior.
Para acabar, ha mostrado la evolución del tiempo de decoherencia a lo largo de la (corta) historia de la computación cuántica: de 1ns al principio de las investigaciones en 1999, hoy ya se llega a unos pocos centenares de us.
Como resumen, Andrew comenta que realmente vamos a tener computadores cuánticos en breve, pero probablemente de la mano de investigación corporativa o estatal que son los que tienen el dinero para hacerlo.

No hay comentarios:

Publicar un comentario en la entrada