En 1982 el físico Richard Feynman fue invitado a dar un seminario. Tenía muchos temas de los que hablar, pero se decantó por el que el organizador consideraba que nadie iba a escoger, la simulación de sistemas físicos en ordenadores. La clase fue resumida en un artículo que se publicó el mismo año en la revista International Journal of Theoretical Physics, y a día de hoy se considera un clásico de la ciencia (1).
Aunque nadie más quisiera hablar de ese tema, en la década de los ochenta la simulación de sistemas físicos con ordenadores era un tema importante. Durante los años cincuenta, los primeros ordenadores modernos habían revolucionado el mundo de la investigación. Realizar cálculos matemáticos que solo unas décadas antes eran totalmente inaccesibles se había vuelto algo habitual. Además, se crearon los lenguajes de programación de alto nivel, como Fortran o Cobol. Estos lenguajes permitían a los científicos crear sus propios programas sin necesidad de pasar años estudiando ciencias de la computación. Poco después, en la década de los setenta, aparecieron los primeros superordenadores. El famoso modelo Cray-1 (2) fue instalado en el Laboratorio Nacional de Investigación de Los Álamos en 1975, solo siete años antes del artículo de Feynman. El tema de cómo usar ordenadores para estudiar el comportamiento de los sistemas físicos era entonces un campo de investigación abierto y excitante.
Curiosamente, el artículo de Feynman es recordado no tanto por las conclusiones que expone sino por las preguntas que hace. En él se diferencia entre la dificultad de simular un sistema clásico, como un cohete que va a la Luna, y uno cuántico, como un átomo. Feynman identifica que los sistemas cuánticos son mucho más difíciles de simular que los clásicos, ya que los ordenadores funcionan siguiendo leyes clásicas. Como posible solución propone usar sistemas cuánticos para simular sistemas cuánticos. Esa idea se considera hoy en día como la semilla de la que germinó la ciencia de la computación cuántica.
La idea se puede resumir de manera muy concisa: «Los sistemas cuánticos son inherentemente diferentes a los clásicos. Los ordenadores son sistemas clásicos, y por eso simulan los sistemas cuánticos muy mal. Fabriquemos ordenadores que funcionen según la física cuántica y asunto resuelto». Una idea fácil de resumir pero muy difícil de realizar. Basta con decir que entre el artículo de Feynman y la actualidad han pasado ya treinta y cinco años y todavía no tenemos ordenadores cuánticos operativos.
Pero ¿por qué hacen falta ordenadores cuánticos? Como ya intuyó Feynman, el problema de simular sistemas cuánticos con ordenadores clásicos viene del hecho de que la física cuántica y la clásica son muy diferentes. En los sistemas clásicos, como los que tratamos a diario en nuestro mundo macroscópico, los sistemas se definen por magnitudes que están bien definidas. Así podemos dar la posición y la velocidad de un cohete, por ejemplo. La física cuántica es mucho más compleja. El ejemplo más típico es el gato de Schrödinger, que puede estar vivo y muerto al mismo tiempo. A pesar de su popularidad, este ejemplo es bastante desafortunado (3). Un gato es un ser macroscópico, formado por trillones de átomos e interacciona fuertemente con su entorno. Por ese motivo un gato nunca estará en superposición de dos estados. Sin embargo, en el mundo microscópico sí se da este comportamiento, llamado coherencia, y es muy común que los átomos o los electrones estén en varios estados al mismo tiempo. Esto no es solo una curiosidad, también dificulta mucho el realizar cálculos sobre este tipo de sistemas.
Veamos un ejemplo. Si un sistema clásico puede estar en dos estados, para definirlo solo tendremos que dar un valor (‘0’ o ‘1’). Esto es lo que se conoce como un bit. Si un sistema cuántico puede también encontrarse en esos mismos dos estados, la cosa se complica un poco. Puede estar en ‘0’ o en ‘1’, pero también puede estar en una combinación de ambos. Algo como a‘0’+b‘1’ es en este caso totalmente factible. En este ejemplo, a y b son dos números que determinan cuánto se encuentra el sistema en cada estado. Un sistema cuántico de dos niveles como este es lo que se denomina un qubit (quantum bit, o bit cuántico en español). Así que, si queremos definir el estado clásico, solo tenemos que almacenar en nuestro ordenador ‘0’ o ‘1’, y para definir el cuántico tenemos que almacenar dos números, ‘a’ y ‘b’. No parece que la diferencia sea tan radical. Es cierto que dos números ocupan más memoria en la máquina que un solo bit, pero tampoco la diferencia es abismal. El problema real se produce cuando el sistema es más grande. Si en lugar de dos tenemos cuatro estados posibles, el sistema clásico pasa a necesitar dos bits para ser descrito (’00’, ’01’, ’10’ o ’11’). Para este mismo caso el sistema cuántico necesita ahora de cuatro números, uno por cada posibilidad. Dos bits frente a cuatro números. Esta tendencia continúa a medida que el sistema va creciendo. En general, si un estado cuántico requiere de N bits para ser determinado, su equivalente cuántico requerirá 2 elevado a N números. Así, para un sistema totalmente manejable con un ordenador personal, como uno de 100 bits, un ordenador cuántico necesita una cantidad de variables del orden de 1030 (un 1 con 30 ceros detrás). Esto es algo que no solo no pueden manejar los ordenadores actuales, sino que se escapa de cualquier predicción de un futuro próximo por optimista que sea esta. Este problema forma parte de lo que se denomina en ciencias de la computación la maldición de la dimensionalidad (curse of dimensionality).
Por suerte, en el problema se halla la misma solución. Como los mismos sistemas cuánticos pueden estar en superposición es evidente que ellos sí que pueden computar todas estas variables. Así, si tenemos un sistema que controlamos muy bien, podemos usarlo para estudiar otro que se le parezca. Eso es lo que se denomina un simulador cuántico. Si somos más ambiciosos aún, podemos buscar un sistema que controlemos tan bien que podamos usarlo para simular cualquier otro sistema. Eso lo denominamos un ordenador cuántico universal. Este último nos permitiría estudiar infinidad de sistemas, con aplicaciones en el campo de la física de materiales, la medicina, la química y muchas más.
Si la teoría es en principio sencilla, eso no quiere decir que lo sea la realización experimental. Por desgracia, los sistemas cuánticos son muy difíciles de controlar. En general, son sistemas muy pequeños, como átomos o fotones (partículas de luz), y eso los hace difíciles de manipular. Pueden estar en varios estados al mismo tiempo, eso es cierto, pero esa propiedad dura habitualmente una fracción de tiempo demasiado corta como para poder aprovecharla. La interacción con el entorno hace que el mundo se vuelva clásico, y por eso no vemos estos exóticos efectos en nuestro día a día. Por este motivo, para poder utilizar sistemas cuánticos como ordenadores debemos aislarlos y enfriarlos hasta el extremo.
Muy poco después del artículo de Feynman se hicieron avances en el campo de la computación cuántica tanto teóricos como experimentales.
Desde el punto de vista teórico, a finales de los ochenta y principios de los noventa se establecieron las bases fundamentales de la computación cuántica (4). Este proceso fue una extensión de las bases de la computación clásica, desarrolladas principalmente por Alan Turing, al mundo cuántico. Poco después se encontraron ejemplos de problemas matemáticos que podían ser resueltos por un ordenador cuántico de manera más eficiente que por uno clásico. Con esto comenzó la revolución. Los ordenadores cuánticos ya no eran solamente un instrumento específico de investigación.
En 1996 se publicaron dos artículos que revolucionaron este campo. Lov K. Grover demostró que un ordenador cuántico tenía una capacidad de buscar un elemento en una base de datos de manera más eficiente que uno clásico (5). Para bases de datos pequeñas la mejora sería irrelevante, pero si es una base de datos muy grande (como las búsquedas por internet) los ordenadores cuánticos tardarían mucho menos que los clásicos en realizar la búsqueda.
En ese mismo año Peter W. Shor publicó otro resultado aún más impactante (6). Se trataba del ahora llamado algoritmo de Shor, un algoritmo que permite factorizar un número producto de dos primos con una velocidad mucho mayor que los algoritmos clásicos conocidos. Este problema puede parecer una curiosidad matemática, pero es de vital importancia para todos nosotros. Factorizar el producto de dos primos es un problema fácil de formular, pero muy difícil de resolver. Veamos una sencilla explicación. Si tenemos dos números primos (3 y 5), multiplicarlos es trivial (3×5=15). Ahora, si os doy un número (15) y os digo que es producto de dos primos, averiguar qué primos son no es tan fácil. Puede no ser tan difícil con números pequeños, solo con probar a multiplicar todos los número primos más pequeños nos dará la solución. Sin embargo, si el número es muy grande, el problema se vuelve muy complejo. Como ejemplo, podemos tomar 150.859 e intentar averiguar qué dos números primos al multiplicarlos dan ese resultado (7).
¿Por qué es este un problema importante? Porque en la diferencia de dificultad entre estos dos problemas se basan la mayoría de métodos criptográficos usados actualmente. Resumiendo un tema muy complejo, podemos decir que el número producto sirve para encriptar un mensaje, de modo que no se entienda, y los dos números primos sirven para desencriptarlo. Así, yo puedo crear una clave, 150859, y liberarla para que todo el mundo pueda mandarme mensajes. Todo el mundo podrá escribir mensajes cifrados, pero solo yo, que conozco los dos números primos que dan ese resultado, podré leer esos mensajes. Ahora bien, si alguien da con un método para obtener los números a partir del producto se acabó la comunicación segura. Eso es lo que hizo Shor con su algoritmo, dio un método que podía ser usado para desencriptar gran parte de las comunicaciones actuales. Si alguien tiene acceso a un ordenador cuántico suficientemente grande, podrá leer todas nuestras comunicaciones.
Estos resultados supusieron un salto conceptual. Los ordenadores cuánticos ya no eran un instrumental de laboratorio que los físicos pedían para hacer su vida más fácil. Podían ser usados en tareas mundanas como saber si una persona es cliente de un banco o leer las comunicaciones privadas de los demás. Esto último tenía además potencial militar, por lo que algunos Gobiernos comenzaron a pensar que sería interesante invertir en esta línea de investigación.
Desde entonces han salido a la luz otros algoritmos cuánticos. Las aplicaciones son muchas, como resolver sistemas de ecuaciones (8), mejorar la inteligencia artificial (9) o calcular propiedades de moléculas complejas (10). Todas estas potenciales aplicaciones han motivado la búsqueda del ordenador cuántico operativo.
Desde el punto de vista de la implementación también ha habido grandes avances en las últimas décadas. En esta dirección se han explorado distintos sistemas físicos, con la esperanza de controlarlos y poder usarlos como ordenadores cuánticos. En principio, cualquier sistema cuántico es un potencial ordenador. Esto incluye átomos, moléculas o partículas como el electrón. Sin embargo, por motivos prácticos no todos son iguales. Primero, necesitamos un sistema que sea fácilmente aislable para que mantenga sus propiedades cuánticas durante un tiempo razonable. Segundo, tenemos que tener la capacidad de manipular y observar el sistema para que haga lo que nosotros queramos. Durante las últimas décadas se han estudiado muchos sistemas con este fin como fotones, superconductores, iones, átomos, espines y condensados de Bose-Einstein. Aquí vamos a discutir los dos sistemas más importantes actualmente, los iones atrapados y los superconductores.
En 1952, el físico Erwin Schrödinger, uno de los padres de la física cuántica, realizó la siguiente afirmación: «Nunca experimentamos con solo un electrón o átomo o molécula (pequeña). A veces suponemos que lo hacemos en experimentos pensados, esto invariablemente conlleva consecuencias ridículas» (11). Esa afirmación refleja el sentimiento de la mayoría de los científicos de su época. Sí, existen los átomos, ya no queda duda, pero siempre los encontramos por trillones. La idea de manipular un átomo, un fotón o un electrón era inconcebible. Afortunadamente, esa imposibilidad no duró mucho y en 2012 vimos cómo el Premio Nobel de Física se entregaba a Serge Haroche y David J. Wineland por «la manipulación de sistemas atómicos individuales». Antes incluso, en 1989, Wolfgang Paul recibió el mismo galardón por su diseño de trampa magnética ahora llamada trampa de Paul. Este dispositivo consiste básicamente en un campo eléctrico cambiante que permite atrapar átomos a los que les falta algún electrón (iones). Su primer uso fue el de realizar espectroscopia de masas, pero a medida que se fue perfeccionando el interés se fue enfocando también en la computación.
Además de atrapar y aislar los iones hace falta también manipularlos. En 1995 el español Juan I. Cirac junto con su supervisor Peter Zoller demostró que aplicando pulsos láser a iones atrapados se puede realizar cualquier cómputo cuántico (12). Ese mismo año se demostró que era posible su implementación en el National Institute of Standards and Technology (Estados Unidos). Ese experimento se realizó con un ion de Berilio. A día de hoy, el ordenador cuántico de iones más potente se encuentra en el Instituto de Óptica e Información Cuántica de Innsbruck (Austria) y puede manipular ocho iones. En más de veinte años hemos pasado de uno a ocho átomos, y en la versión de ocho átomos ni siquiera pueden hacerse todos los cómputos posibles. Por ejemplo, el algoritmo de Shor solo se ha podido realizar hasta el momento con cinco iones. El ordenador de iones es actualmente un instrumento útil en investigación, pero no precisamente por su capacidad de cómputo. Eso actualmente, aunque dicen que esa tendencia cambiará pronto.
Otro sistema muy estudiado son los superconductores. Como la superconducción está considerada un fenómeno cuántico macroscópico su uso con este fin parecía bastante obvio. Aquí se ha dado además un caso curioso. Durante bastantes años, los investigadores en superconductores se contentaban con conseguir replicar lo que habían hecho con iones unos años antes. Esto hacía que algunos investigadores de iones se mofaran de sus compañeros investigadores de superconductores en congresos y reuniones. La sorpresa vino cuando en 2011 la empresa D-Wave Systems anunció que sacaba al mercado el ordenador D-Wave One, con 128 qubits superconductores. Esto suponía un avance abismal frente a los 5 qubits del ordenador de iones más potente del momento. Parecía que habían ganado la carrera por el ordenador cuántico, pero en poco tiempo aparecieron muchas cuestiones que resolver antes de otorgarles la medalla. El principal problema es que D-Wave One no es, ni pretende ser, un ordenador cuántico universal. En realidad, en lugar de ser capaz de realizar cualquier tarea realizaba solo una. Este cómputo es lo que se denomina quantum annealing (13). Sus fabricantes defienden que este problema es suficiente para resolver a través de él muchos otros, pero hay un gran debate en torno a esa afirmación. Ni siquiera está claro que D-Wave funcione de manera cuántica, ya que hay ordenadores clásicos capaces de realizar esos mismos cálculos igual o más rápido (14).
Desde 2011 se han realizado numerosas pruebas en D-Wave, y no hay nada concluyente. En 2015 se liberó el D-Wave 2, un nuevo modelo con 512 qubits que fue usado por Google y la NASA para crear su Laboratorio de Inteligencia Artifical Cuántica (QuAIL). Incluso este modelo superior no está demostrado que funcione mejor que un ordenador clásico, ni que realmente haga computación cuántica. Por este motivo las burlas de los investigadores en iones hacia los de superconductores no han desaparecido. Rainer Blatt, el investigador propietario del ordenador de iones de Innsbruck, suele todavía concluir sus charlas con un par de transparencias, comentando por qué D-Wave no es un ordenador cuántico legítimo. Él al mismo tiempo ha comenzado a experimentar con un prototipo de ordenador con 20 iones. Mientras tanto Google ya ha anunciado que para finales de año habrán realizado un cálculo que se encuentra más allá de la capacidad de los ordenadores clásicos. La carrera entre iones y superconductores está en su momento más emocionante.
La última gran noticia que hemos vivido en este campo ha venido de parte de IBM. Esta compañía ha anunciado que antes del fin de 2017 tendrá un servicio de computación cuántica en la nube. De nuevo se trata de tecnología de superconductores, y no pretende ser mejor que un ordenador personal. En principio solo permitirán cómputos de hasta cinco qubits, menos que los ordenadores de iones. Sin embargo, este es un momento importante ya que se tratará del primer ordenador de computación cuántica con acceso remoto. No será necesario comprar un costoso equipo, ni tener un laboratorio. Cualquiera podrá utilizarlo desde su casa. Cualquiera que pague, claro. Lo más revolucionario de esta propuesta es el desarrollo de la infraestructura necesaria para que distintos usuarios puedan acceder al mismo ordenador cuántico. Aunque el ordenador actual sea solo un juguete, toda esta maquinaria pondrá a IBM en un puesto privilegiado en el que esperar a que se puedan hacer mejores ordenadores.
Sin duda estamos viviendo una época interesante. Con los ordenadores cuánticos ocurre un fenómeno similar al que ocurre con la fusión nuclear. Parece que estará al alcance en unos años, pero lo mismo parecía hace un par de décadas. La diferencia es que ahora muchas empresas están empezando a invertir. Si IBM, Google, Intel y Microsoft comienzan a sacar sus proyectos, eso es indicativo de que algo se mueve. Quizás esta vez sí sea cierto y en una década los ordenadores cuánticos sean una realidad.
Notas:
(1) R. Feynman. «Simulating Physics with Computers». International Journal of Theoretical Physics 21 (6–7): 467-488 (1982).
(2) El superordenador Cray-1 tenía una potencia de cálculo de 160 MegaFLOPS. Eso quiere decir que podía hacer unos 160 millones de operaciones por segundo. Los superordenadores actuales más potentes pueden tener una potencia de PetaFLOPS (miles de millones de millones de operaciones por segundo).
(3) Con respecto a este tema, Stephen Hawking afirma: «cada vez que alguien me habla del gato de Schrödinger, saco mi pistola».
(4) D. Deutsch. «Quantum Theory, the Church-Turing principle and the universal quantum computer», Proc. Royal Society London A, 400, (1985).
(5) L. K. Grover. «A fast quantum mechanical algorithm for database search». Proceedings, 28th Annual ACM Symposium on the Theory of Computing (STOC), 212, (1996).
(6) P. W. Shor. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. SIAM J. Comput., 26, 1484, (1996).
(7) 587×257=150.859.
(8) A.W. Harrow, A. Hassidim, and S. Lloyd. Quantum Algorithm for Linear Systems of Equations. Phys. Rev. Lett. 103, 150502 (2009).
(9) V. Dunjko, J. M. Taylor, and H. J. Briegel. Quantum-Enhanced Machine Learning. Phys. Rev. Lett. 117, 130501 (2016).
(10) J. Huh, G. G. Guerreschi, B. Peropadre, J. R. McClean, and A. Aspuru-Guzik. Boson sampling for molecular vibronic spectra. Nature Photonics. Nature Photonics 9, 615 (2015).
(11) E. Schrödinger. «Are there quantum jumps?», British Journal for the Philosophy of Science 3, 233 (1952).
(12) J. I. Cirac and P. Zoller. «Quantum Computations with Cold Trapped Ions». Phys. Rev. Lett. 74, 4091 (1995).
(13) No hay una traducción al castellano aceptada para este término. Algunos utilizan temple cuántico o cristalización cuántica, pero el término en inglés es sin duda el más usado incluso en círculos hispanoparlantes.
(14) D. Manzano. Is D-Wave a Quantum Computer? Mapping Ignorance.
Pingback: La carrera por el ordenador cuántico – Jot Down Cultural Magazine | METAMORFASE
Claro que el gato de Schrödinger es «un ejemplo bastante desafortunado» para explicar la mecánica cuántica: cómo que es un contraejemplo. Erwin diseñó este experimento mental como una paradoja para atacar esta —entonces incipiente— teoría porque no aceptaba sus conclusiones. ;)
Lo que es desafortunado es que ahora esto se ponga como ejemplo para explicarla :D (y no eres el primero ni el último).
Felicitaciones por el artículo, muy completo y muy bien documentado
Felicitaciones, tu articulo es muy interesante, bien documentado y muy bien llevado pero sobre todo ameno a pesar de ser un tema especializado, lograste transmitir esa pasión por el tema.
Esta ciencia cambiara nuestra vida mas que ninguna otra cosa hecha por el hombre.
Gracias por el artículo, es fascinante.
De la computación cuántica he leído que, igual que un sistema cuántico reacciona al ser observado (como en el famoso experimento de la doble ranura), un ordenador cuántico también reaccionaría ante un intento de intrusión. ¿Alguien podría explicarme algo sobre esto? Lo necesito, de veras. Gracias de antemano.
Observar no es que un señor mire.
Un sistema cuántico pierde la coherencia al interactuar con cualquier cosa, pueden ser fotones de «una linterna», pueden ser los átomos del aire, etc…
A este hecho se le denomina decoherencia. Busca información sobre ello.
Sobre la pregunta en cuestión, no es fácil responder en un comentario. Tendrás que buscar sobre comunicación cuántica y criptografía para entenderlo.
Pero la «gracia» de la comunicación cuántica es esa, que es posible saber si ha habido un INTENTO de leer la comunicación. El intento puede ser exitoso o no serlo, se detecta igualmente.
Muy buena base de información es genial y muy curiosa la carrera «cuántica» sobre la historia de los ordenadores que ahora incluso vamos a poder mandarlos al espacio.