jueves, mayo 25, 2006

Computacion cuantica

Adriano me pide que saque diez minutillos y escriba alguna cosa relacionada con ordenadores cuanticos, el tema estrella estos dias en Espanha tras el premio Principe de Asturias concedido a Ignacio Cirac. Por cierto, no os perdais la entrevista que le hizo Adriano.

Asi que aprovechando que el Sil pasa por Ponferrada, intentare contar un poco de que va el jaleo ese de los ordenadores cuanticos. Despues, intentare describir un poco con las manos que es eso de los "estados enredados" ("entagled states" en ingles), que resulta ser un concepto de vital importancia no solo para el asunto de la computacion cuantica, sino que es la base misma de la llamada "teleportacion cuantica", fenomeno al que algunos sesudos intentan encontrar aplicacion como el metodo del futuro para intercambiar informacion de forma segura.

Pero empecemos por el principio: uno de los conceptos fundamentales de la computacion tradicional (llamemosla clasica) y su equivalente cuantico. La unidad de informacion en computacion clasica se llama bit. Un bit es, simplemente, la cantidad de informacion que tenemos al determinar cual de dos posibilidades nos quedamos. Asi, si podemos elegir entre un 1 o un 0, tendremos un bit. La logica de los ordenadores actuales esta totalmente basada en el bit, por eso, como en la pelicula Matrix, puede decirse que todo no son mas que unos o ceros. Cada elemento de la memoria del ordenador es un bit, que tiene el valor |1> o el valor |0>. El ordenador realiza todas sus operaciones haciendo operaciones sobre estos unos o ceros, desde sumar 2+2 hasta reproducir un DVD.

En computacion cuantica la unidad de memoria no es el bit, sino el qbit. En que consiste un qbit? En Mecanica Cuantica, un estado no esta bien determinado hasta que no se mide. Hasta el mismo instante de medirlo, no puedes saber que te va a salir. Las cosas se vuelven probabilisticas. Es esta indeterminacion lo que permitira usar un nuevo tipo de logica.

Vamos con un ejemplo. En el ordenador clasico, los |1> o |0> pueden venir codificados, por ejemplo, por la carga electrica de pequenhos condensadores: si estan descargados, tenemos un |0>, si estan cargados, tenemos un |1>. Mientras no lo toquemos, mientras no carguemos o descarguemos el condensador nosotros mismos (como consecuencia de alguna operacion que este realizando el ordenador), podemos estar bastante seguros de que un |0> seguira siendo un |0> o de que un |1> seguira siendo un |1> (esto es, de que el condensador seguira cargado o descargado).

El caso cuantico. Supongamos que el qbit (que aun no he dicho claramente lo que es, lo se) lo codificamos con el espin de una particula (un electron, por ejemplo, si quereis ser concretos). Para no complicarnos, imaginaos que el espin es una flechita que senhala en que direccion apunta el campo magnetico del electron. Puede apuntar para dos sitios: para arriba o para abajo (hablando en terminos sencillos, claro). Llamemos al espin para abajo |0> y al espin para arriba |1>. Siempre que midas el estado de un electron, mediras precisamente un |0> o un |1>. Donde esta pues la diferencia con el condensador del caso clasico? Que ahora, cuando no estamos midiendo el espin, no podemos asegurar que este apuntando para arriba o para abajo. Lo mas que podemos decir es que tiene el X% de probabilidad apuntar para abajo (ser un |0>) o el Y% de probabilidad de apuntar para arriba (ser un |1>). En otras palabras, el estado del electron no es |0> o |1>, sino una superposicion de ambos:

x|0> + y|1>

donde los coeficientes x e y de la superposicion estan directamente relacionados con las probabilidades X e Y que mencione antes. Ahora si, este es nuetro qbit: no solo puede ser un |0> o un |1>, sino cualquier combinacion de ambos.

Y de que sirve todo esto, si al medir el estado del electron solo vamos a encontrar |0> o |1>, y ni siquiera podemos saber de antemano lo que va a salir? En el caso clasico, al menos sabiamos que un |1> seguiria siendo un |1> mientras no lo tocasemos... Ahora ni eso; solo sabemos que tendra un Y% de posibilidades de seguir siendo un |1>. Pues vaya birria...

...O no tan birria. Porque al hacer operaciones sobre bits en un ordenador clasico, solo podemos operar sobre unos o ceros. Sin embargo, mientras no midamos, el estado de un qbit es verdaderamente x|0> + y|1>, ni cero ni uno. Y eso significa que, mientras no midamos el estado de un qbit, al hacer operaciones sobre el (a ciegas si quereis), no estamos haciendo simples operaciones sobre unos o ceros, sino sobre todas sus ininitas combinaciones. Imaginaos el poder de esta nueva forma de calcular. Los especialistas estan solo empezando a darse cuenta, y de momento son pocos los algoritmos (o programas de ordenador, si quereis) que se han desarrollado utilizando este nuevo tipo de logica que permiten los qbits. Ciertamente, la ganancia que se conseguiria para algunos usos seria nula o inapreciable. Pero ya se han desarrollado algunos algoritmos cuanticos muy interesantes.

Dos ejemplos. Un problema crucial en algo tan importante en el mundo moderno como la criptografia (pensad solo que todas las operaciones bancarias deben ir encriptadas para evitar que los malosos metan mano) es la factorizacion de numeros muy grandes, esto es, encontrar el producto de numeros primos en que se puede descomponer un numero dado. Computacionalmente, es un problema muy arduo, porque el tiempo que necesita un ordenador para facorizar un numero crece exponencialmente (esto es, una barbaridad) con el numero de cifras del numero. En eso se basa la seguridad del sistema de claves actual: se necesitarian anhos de trabajo continuo de un ordeandor potente para poder reventar una clave. Sin embargo, si dispusiesemos de un ordeandor cuantico (esto es, uno en que las operaciones se hiciesen sobre qbits en lugar de bits), podriamos utilizar el llamado algoritmo de Shor. Con este algoritmo, el tiempo necsario para descomponer un numero crece polinomialmente con el numero de cifras. Es esto una gran mejora? En cristiano: una clave que a un ordenador clasico le llevaria 100 anhos descifrar, un ordenador cuantico utilizando el algoritmo de Shor se la ventilaria en 20 minutos. Si, imaginaos lo que eso supondria para el sistema bancario actual. Afortunadamente, lo que se puede usar para descifrar tambien se puede usar para codificar informacion. Mas adelante lo cuento.

Otro ejemplito de algoitmo cuantico, brevemente, es el algoritmo de Grover. Con este algoritmo, buscar un elemento en una base de datos, en vez de llevarnos un tiempo proporcional al numero de elementos en la base de datos, nos costaria solo la raiz cuadrada de este numero. En una base de datos con un millon de elementos, nuestras busquedas serian aproximadamente mil veces mas rapidas.

No he explicado todavia otra de las bases de la potencia de la computacion cuantica: la posibilidad de crear estados enredados. Basicamente, esto consiste en que si ponemos dos sistemas cuanticos en contacto bajo ciertas condiciones, las propiedades de ambos quedaran inextricablemente relacionadas. Aunque despues los separemos (con cuidadito). Estos dos sistemas (si quereis, de nuevo dos electrones) pasan a estar "enredados" entre ellos: todo lo que le hagamos a uno le afectara al otro. Y, como es un sitema cuantico, si intentas medir el estado de uno, te cargas el invento. En teoria, las posibilidades de usar esto en comunicaciones seguras son tentadoras: tengamos dos electrones en Madrid, "enredemoslos" y despues llevemonos uno de ellos (con cuidadito) a Tokyo. No importa la distancia, seguiran enredados. Asi, si Paco que este en Madrid le quiere transmitir un mensaje seguro a su amiga Yuki que esta en Tokyo, manipiula su electron de alguna forma que tengan convenida y luego llama por telefono (o le pone un e-mail) a Yuki y le dice que mida el estado de su electron. La unica forma de recibir el mensaje de Paco sera midiendo el estado del electron de Yuki. Esta comunicacion habra sido inviolable, porque si cualquiera intentase "tocar" alguno de los dos electrones sin consentimiento de Paco y Yuki, el sistema se descarajaria, y ellos sabrian que alguien habia intentado espiar su comunicacion. Cosillas de la Mecanica Cuantica...

El fenomeno de la telportacion cuantica tambien se basa en los estados enredados. No se trata, en realidad, de teleportar materia de un lugar a otro de forma instantanea, al estilo Star Trek, aunque los fisicos usemos a veces esa imagen porque, al fin y al cabo, tenemos que vender la moto y conseguir que los contribuyentes nos sigan finaciando los laboratorios y los garbanzos (aunque en Espanha ya podrian los contibuyentes estirarse un poco mas, sobre todo con lo de los laboratorios). La teleportacion cuantica consiste en teleportar el estado de una particula a otra alejada de ella. Tengamos de nuevo dos electrones enredados, llevemonos uno de paseo... y transfiramolse despues el estado (espin para arriba o para abajo) del otro. Hop! Teleportacion cuantica!

Todo esto de los estados enredados es fundamental en computacion cuantica, porque podemos enredar los qbits. En computacion clasica, tenemos que hacer operaciones sobre los bits de uno en uno. Sin embargo, en un ordenador cuantico, donde tengamos un grupo de qbits enredados, podemos operar a la vez en paralelo sobre todos ellos. Y este paralelismo intrinseco es una de las grandes ventajas de la computacion cuantica.

Uno de los grandes enemigos de la computacion cuantica es la decoherencia. Esta consiste en que, con el tiempo (y las manipulaciones), los sistemas enredados tienden a desenredarse. Lo que hace muy dificil conseguir tener mas que unas pocas particulas enredadas entre ellas. Hoy en dia, para tener un grupo de media docena de atomos enredados entre ellos durante un segundo (formando una especia de prototipo de ordenador cuantico con seis qbits) hace falta un laboratorio entero lleno de cacharros complicadisimos y delicadisimos. Pero esto en si ya supone una mejora abismal sobre lo que podia hacerse hace unos anhos. Y cada dia se logran nuevos avances. Que sera posible dentro de 20 anhos?

Muchas gracias si, a pesar del rollo, la extension, y la ortografia ominosa (culpa de los teclados extranjeros) has llegado hasta aqui. Espero que se me haya entendido algo. Aqui abajo estan los comentarios, agradezco preguntas, dudas, peticiones de aclaraciones. Y, por descontado, correcciones. No soy experto para nada en este tema (lo mio es la mecanica estadistica, la dinamica no lineal, la biofisica) y seguro que hay varios gazapos, algunos incluso de los gordos.

11 comentarios:

Anónimo dijo...

Si has puesto alguna burrada, yo no me he dado cuenta.

Gracias por hacerme revivir las clases de Mecánica Cuántica I de tercero!!!

¿Paco y Yuki? ¿? ¿Qué fue de Alice y Bob?


Besitos cuánticos.

Anónimo dijo...

Saludos!!

Gracias por la información, jefe!!!
Desde luego si todos los profesores explicaran las cosas cómo tu... jejee
Un abrazo electrónico,

Izaro

Anabel dijo...

Lo he leído entero! Y algo he entendido.Es todo lo que puedo comentar de tu post de hoy,lo siento:-(

Anónimo dijo...

Yo tambien lo he leido entero !pero creo que no he entendido nada!.Claramente lo mio son las letras. Gracias por "hacer" que de algo nos enteremos.

8a dijo...

Muchas gracias por la explicación, eres un fenómeno. Así si que se entienden las cosas.

Un saludo.

Saúl dijo...

Muchas gracias a todos los que habeis tenido el valor de leerlo, y mas gracias todavia por vuestros comentarios a los que los habeis escrito.

NOTA: Habitualmente, lo que yo he contado con Paco y Yuki se cuenta con Alice y Bob, de ahi el comentario de Raquel. Por eso de que Alice esta en el punto A y Bob en el punto B. Frikadas. A mi me hacia ilusion cambiar los nombres...

Álex dijo...

Leyendo esto recuerdo por qué la física no me hacía mucha gracia en el instituto, aunque algún concepto sí que he entendido (uno o así).
Se agradece el esfuerzo, aunque algunos no demos para tanto.

Anónimo dijo...

Ni lo he leido ni lo voy a leer, pero si lo has hecho tu estará bien. Por cierto, aquí hace sol.

Anónimo dijo...

Muy buena explicacion.

Solo una peticion, seria posible que pudieras escribir algunos links hacia articulos asi de bien explicados pero un poco mas tecnicos?
Si fuera posible gracias, sino tambien gracias por el esfuerzo en explicar algo complicado.

Saúl dijo...

Al ultimo lector anonimo: gracias por leerlo y por el piropo. Un pagina en la que vienen mas detalles tecnicos y, sobre todo bastantes enlaces, es en el articulo de la Wikipedia sobre computacion cuantica. Creo que es un buen lugar para empezar a informarse mas, te animo a que lo consultes y navegues un poco por sus enlaces. El articulo sobre el qbit viene a resumir, un poco mas tecnicamente, lo que yo he dicho.

Alex E.: siempre he pensado que la fisica (o las matematicas), no son particularmente mas dificiles que cualquier otro campo de conocimiento. Su principal problema es que se formulan en un lenguaje propio (bueno, las matematicas son un lenguaje en si), sin cuyos rudimentos es complicado explicar las cosas. Por eso muchas veces fenomenos fisicos que no son en realidad tan complejos lo parecen: antes de explicarlos, hay que introducir toda una serie de conceptos, y si el interes o la paciencia del oyente no es demasiada, raramente se llega al final. Sobra decir que a mi pobre exposicion le han faltado muchos de esos elementos previos, lo que no ayuda precisamente a entenderla. Se ha hecho lo que se ha podido (sin escribir un tratado sobre el asunto).

Penultimo lector anonimo: delenda est Carthago.

Anónimo dijo...

EXCELENTE COMENTARIO ACERCA DE ESTE TEMA,EL CUALES MUY POCO INVESTIGADO EN COLOMBIA.

GRACIAS