lunes, 27 de julio de 2009

Computación cuántica.

La computación clásica, por medio de ordenadores electrónicos se basa en el uso de la lógica binaria, mediante puertas lógicas deterministas de varios tipos (NAND, NOR, etc.), para realizar cálculos y operaciones con los datos.
La computación cuántica es un paradigma totalmente distinto, más semejante a una implementación de las máquinas de Turing, cuyas posibilidades fueron apuntadas hacia finales de los años setenta del pasado siglo por personalidades como Richard P. Feynmann, Charles H. Bennet o Paul Benioff.

Las partículas elementales, como el electrón, y sus agrupaciones, como el núcleo atómico, poseen una propiedad llamada "spin" que está relacionada con el momento magnético del núcleo o del electrón y que usualmente se relaciona (de manera poco real) con el sentido de giro del electrón o núcleo alrededor de su eje. Usualmente, según el sentido de giro, el spin puede tomar dos valores, que de manera genérica se representa como 1/2 y -1/2.
El impacto de un cuanto de energía (un fotón) sobre la partícula o núcleo, puede provocar el cambio del valor del spin, como si la partícula hubiese recibido un empujón que la hubiese volcado, invirtiendo su sentido de giro alrededor de su eje. Sin embargo, si el fotón tiene menos energía (y por tanto menor frecuencia), el impacto no será siempre capaz de provocar el cambio de valor del spin de la partícula, sino que lo logrará sólo con cierta probabilidad. Pues bien, el principio de superposición de la mecánica cuántica (aspecto que queda fuera del propósito de este post, pero que no será difícil encontrar información en Internet acerca de este apasionante tema), en su interpretación ortodoxa de Copenhague, afirma que en estos casos la partícula queda simultáneamente asociada a los valores posibles del spin, como si tuviera ambos a la vez. Es decir, la partícula se encuentra simultáneamente en dos estados superpuestos. Una de estas partículas se puede asociar con lo que se viene conociendo como "bit cuántico" (Qbit es su abreviatura). Los Qbit se pueden asociar entre sí, y es posible realizar con ellos ciertas operaciones lógicas.

De acuerdo con la interpretación de Copenhague de la que hablaba antes, cuando se mide el spin de una partícula que se encuentra en superposición de dos estados, se produce el colapso de la partícula a uno solo de ellos. El colapso se producirá a uno o a otro de los dos posibles estados, con una probabilidad asociada al impacto recibido. Un impacto por un fotón con mayor energía (por tanto, más frecuencia) provocará un colapso más probable al spin opuesto al que tenía la partícula al principio. Lo contrario es evidente que ocurrirá si el fotón tenía menos energía (menos frecuencia).

Una de las sustancias más utilizadas para investigar sobre la computación cuántica es el cloroformo. Su fórmula química (CHCl3) indica que la molécula de dicha sustancia está formada por un átomo de carbono, un átomo de hidrógeno y 3 átomos de cloro. Si ignoramos los 3 átomos de cloro, los dos núcleos de carbono e hidrógeno pueden adoptar cada uno un spin positivo o negavito atendiendo a las líneas anteriores donde se explicaba esto, lo que daría lugar a cuatro combinaciones posibles: (++), (+-), (-+), (--), donde se supone que el primer signo de cada par corresponde al átomo de carbono y el segundo al de hidrógeno.
En general, dos núcleos o partículas pueden estar en cuatro estados diferentes; tres podrían llegar a ocho, y n partículas serían capaces de adoptar 2^n (2 elevado a n) estados (posibles combinaciones de spin) distintos.

Un sistema de computación cuántica se basaría en el hecho de que es posible mantener dos o más partículas en estados superpuestos, independientemente una de otra, lo que da lugar, para n partículas (n Qbits en realidad) a 2^n estados superpuestos en total (atendiendo al párrafo anterior donde se ha demostrado esto). Si a estas partículas se les aplican ciertas operaciones lógicas cuánticas equivalentes a las especificaciones del problema que se desea resolver, es posible que sólo uno de los 2^n estados superpuestos corresponda a la solución.

Algunos de los experimentos prácticos, que se han realizado de hecho ya experimentalmente, pueden ser el descifrado de un código RSA (llevado a cabo experimentalmente por Isaac L. Chuang en el año 2001, en un computador cuántico que utilizaba una molécula sintética de siete átomos). Otro problema que se presta al uso de la computación cuántica es la búsqueda de un dato en una base de datos no indexada. Sabemos que si el número de datos a revisar es N, el número de operaciones a realizar en un ordenador electrónico actual es del orden de N/2, en cambio con el algoritmo propuesto en el año 1996 por Lov K. Grover, se puede resolver el problema en en el orden de la raíz cuadrada de N comparaciones. También esto último fue comprobado por Chuan en una computadora cuántica, esta vez en el año 1997.

Todos los experimentos realizados hasta la fecha se han hecho con un número muy pequeño de Qbits (alrededor de 5, 6 ó 7). En estas condiciones, los problemas resuletos parecen triviales. Para poder aplicar un ordenador cuántico a la resolución de problemas interesantes, lo ideal según los investigadores es disponer del orden de 30 Qbits, que equivalen atendiendo a la teoría que hemos visto unas líneas más arriba a 2^30 de estados cuánticos superpuestos. Pero el problema que aquí se presenta y hacia donde están orientadas todas las investigaciones en este tema, es que el sistema cuántico resulta excesivamente difícil de mantener cuanto mayor es el número de sus Qbits (inestabilidad cuántica y de partículas). En resumen, podemos decir que todas estas cuestiones, a día de hoy están abiertas a la investigación y todavía faltan algunos años para que los ordenadores cuánticos sean una realidad.

NOTA: Gran parte de la información del presente artíuclo ha sido sacada de textos publicados por los Profesores de la Escuela Politécnica Superior de la Universidad Atunónoma de Madrid, Enrique Alfonseca Cubero, Manuel Alfonseca Moreno, Roberto Moriyón Salomón y Alfonso Ortega de la Puente, tres de los cuales he tenido la suerte de que hayan sido profesores míos en distintas asignaturas de la carrera de Ingeniería Informática.