Computación Cuántica Su verdadero poder de cómputo y limitaciones Andrés Abeliuk Se podría decir que uno de los grandes profetas, y seguramente el único en el ámbito de las tecnologías, es Gordon Moore, creador de la ley que pronostica la evolución de Figura 1: Ley de Moore la tecnología digital, en particular aquella basada en transistores, componente principal de los microprocesadores. Dicha ley sostiene que el número de transistores en un microprocesador continuará doblándose cada 18 meses, es decir, a una tasa exponencial. La ley que fue anunciada en 1965 se pudo constatar empíricamente hasta el año 2000 (figura 1). A partir de ese momento se desaceleró la continua reducción del tamaño de los transistores. Estando cada día más cerca de la barrera física de la escala atómica, no pueden seguir reduciéndose. ¿Qué se puede esperar de la tecnología a partir de este punto? Moore anunció que a menos que la tecnología de microprocesadores cambie drásticamente, se llegará al límite en el año 2017. Para los creyentes de Moore no quedaba otra solución que cambiar y lo lógico era pensar que el siguiente paso sería el computador cuántico; modelo ya conocido desde los „90 que rompe los actuales paradigmas de la computación determinista, introduciendo el azar. Mientras en el modelo clásico de computación el bit es la unidad básica de información, en la cuántica se introduce el análogo llamado qubit (quantum bit) gobernado por las leyes cuánticas que rigen el mundo subatómico. Dichas leyes son bastante distintas a aquellas que rigen el mundo macro, a las cuales todos estamos acostumbrados, por lo tanto es difícil comprender el comportamiento de las partículas subatómicas. Aún así, el eminente físico Erwin Schrödinger, a finales de los años „20, ideó un experimento imaginario para exponer los extraños fenómenos que genera la mecánica cuántica. El conocido experimento del gato de Schrödinger consiste en suponer un sistema compuesto por una caja opaca cerrada que en su interior contiene a un gato, un recipiente de gas tóxico, una partícula radioactiva con 50 por ciento de probabilidad de desintegrarse y un dispositivo capaz de romper el recipiente si la partícula se desintegra. Nótese que el destino final del gato, morir o sobrevivir, depende del comportamiento de la partícula regido por la mecánica cuántica. En tanto, el espectador que observa la caja desde afuera, como no ve al gato, sólo puede asegurar que éste tiene una probabilidad de 50 por ciento de estar vivo y 50 por ciento de estar muerto. En otras palabras, el estado del gato es simultáneamente vivo y muerto, es decir, en una superposición de estados. Pero si se abre la caja el estado del gato se modifica, ya que se sabrá con certeza (100 por ciento) si el animal está vivo o no. Este fenómeno es conocido como superposición cuántica y caracteriza el hecho de que una partícula subatómica puede estar en varios estados a la vez, pues no se puede determinar su comportamiento salvo de manera probabilística. Ahora bien, si en vez de un gato tenemos una partícula que puede tener dos estados, por ejemplo el spin de un electrón, se tiene un sistema cuántico binario que representa un qubit: la unidad mínima de información cuántica que puede estar en los estados 0 y 1 simultáneamente. Y si se decide medir el qubit (lo que equivale a abrir la caja del gato), se obtiene un resultado al azar de los dos posibles estados, en tal caso se dice que colapsa la superposición. El qubit puede ser representado como la superposición cuántica lineal de estados de un bit clásico. Es decir, con un sólo qubit almacenamos al mismo tiempo el valor binario 0 y 1, con dos registros los valores 00, 01, 10 y 11 y así sucesivamente. En general, un registro de n qubits almacena al mismo tiempo 2n valores. ¡Gran noticia! Significa que se tiene procesamiento paralelo de 2n inputs con sólo n qubits. Pero no todo es bueno. ¿Qué pasa cuando abrimos la caja? Si medimos los qubits colapsa la superposición de estados a sólo uno al azar y no es posible acceder a toda la cantidad exponencial de posibles estados. Claramente entonces el bit es un caso particular de un qubit por lo que un computador cuántico es al menos tan poderoso como un computador clásico. La diferencia radica en la superposición de posibles estados en el computador cuántico. ¿Será posible entonces ocupar esa naturaleza con tal de ganar poder sobre la computación clásica? La respuesta ha mostrado ser relativamente positiva. La intuición detrás de esto es la siguiente: De acuerdo a las probabilidades de cada uno de los estados superpuestos (por ejemplo 50 por ciento vivo, 50 por ciento muerto), conocido como amplitud del estado cuántico, se puede obtener cierta información extra. La aplicación de una función sobre estados cuánticos puede procesar una cantidad exponencial de posibles inputs en una sola evaluación de la función. Ya Figura 2 sabemos que al medir, solo obtendremos el resultado de uno de estos inputs (figura 2). Pero conociendo la amplitud del estado resultante, algunas propiedades globales de la función pueden ser deducidas. En otras palabras, la información está “oculta” en las amplitudes de los estados y no es accesible directamente. A continuación formalizamos esta intuición. Dado que los qubits se representan como un vector de dos dimensiones de números complejos que a su vez representan las probabilidades, podemos naturalmente pensar en la posibilidad de una transformada de Fourier cuántica (TFQ), análoga de la transformada de Fourier clásica; herramienta matemática usada en la ingeniería para diversas aplicaciones (por ejemplo, para encontrar el período de una función). Actualmente el mejor algoritmo clásico para computar la transformada toma un tiempo del orden de NlogN para un input de tamaño N, mientras que la transformada cuántica, que basa su implementación en el conocimiento de las amplitudes de estado, toma Log2N. Si N es de la forma N=2n, los valores respectivamente son n2n y n2, evidenciándose una ganancia de tiempo exponencial. Eso aclara que cualquier algoritmo que use como subrutina la transformada será considerablemente más rápido en un computador cuántico, por lo que una de las clases fundamentales de algoritmos cuánticos son los basados en la TFQ. Dentro de estos algoritmos ya existen varios conocidos. Uno que destaca por ser de los primeros creados es el algoritmo de Shor (ideado por Peter Shor), para el milenario problema de „factorizar‟ números en sus factores primos, que hasta hoy no se sabe cómo resolver de manera eficiente en un computador tradicional (razón por la cual se ocupa en los sistemas de seguridad criptográficos). El algoritmo se basa en un teorema clásico que dice que el problema de „factorizar‟ puede ser reducido al de encontrar el "orden" de un número (bosquejado en la figura 3), donde la reducción es realizada en tiempo esperado polinomial usando aleatoriedad. Lo anterior es cierto para la computación clásica, sin embargo, el problema de encontrar el "orden" de un número es difícil en el modelo clásico pero no así en el modelo cuántico. De hecho, El orden de x mod N es el menor positivo r tal que xr mod N = 1 El algoritmo para encontrar el orden de X mod N consiste en encontrar el período de la función: f ( x) x y (mod N ) Es decir el mínimo r talque: f ( x) f ( x r ) x y x y r (mod N ) 1 x r mod N Por lo tanto r corresponde al orden de X. es posible demostrar que el problema del orden se puede Figura 3 reducir a encontrar el período de una función en particular, lo cual sí se puede hacer eficientemente ocupando la TFQ en un computador cuántico. De manera similar a lo anterior, Shor también describió un algoritmo para resolver eficientemente el problema del logaritmo discreto. Por otro lado existe otra clase de algoritmos fundamentales en el modelo de computación cuántico que no se basan en la TFQ, sino más bien en la búsqueda y ordenamiento (figura 4). Estos algoritmos ocupan a la vez la superposición de estados y aleatoriedad, por lo que tienen una posibilidad arbitrariamente pequeña de equivocarse. Lo sorprendente es que, por ejemplo, el algoritmo de Grover para búsqueda en una lista no ordenada de N elementos toma un tiempo esperado de N1/2. Es decir, para su implementación basta con mirar solo un pequeño porcentaje de los elementos en la lista, algo que parece imposible en la computación clásica. Este Figura 4 algoritmo también puede ser utilizado, por ejemplo, para búsquedas exhaustivas en la resolución de problemas en clases de complejidad consideradas intratables. Aunque en el peor caso estos algoritmos toman tiempo exponencial, en el futuro podrían ser utilizados como una gran herramienta en la implementación de heurísticas para problemas en estas clases. Es evidente que la potencia de los computadores cuánticos radica en la naturaleza incierta de la física cuántica, con lo cual es posible resolver eficientemente (tiempo polinomial) algunos problemas que no se sabe cómo resolver de la misma forma utilizando una máquina de Turing (MT) determinista (modelo teórico y ajustado a lo que se conoce como computadora). Por otra parte, muchos de estos problemas también pueden ser resueltos eficientemente por las máquinas de Turing no deterministas, es decir por las MTs que pueden saltar no determinísticamente desde un estado hacia varios otros. Esto naturalmente crea la pregunta de si los computadores cuánticos pueden simular a las máquinas de Turing no deterministas y resolver eficientemente la clase de problemas denominados en teoría de complejidad como NP-completos: NP de “Non-deterministic Polynomial time”, es decir, que pueden ser resueltos en tiempo polinomial por una MT no determinista. Y completos pues son problemas “duros” o “difíciles” para su clase (en particular, son problemas que no se sabe cómo resolver eficientemente por una MT determinista, y además para los cuales simplemente no se cree que esto se pueda hacer). Esta pregunta aún permanece abierta y se considera como una de las fundamentales del área. Nótese que todos los problemas que se sabe cómo resolver eficientemente en el mundo cuántico pero no en el tradicional (e.g. factorizar, encontrar el orden o el logaritmo discreto) pertenecen a la clase NP, pero no se sabe si son "completos" para esa clase. En particular, es posible que todos ellos pudieran ser resueltos por una MT determinista en tiempo polinomial. De hecho, esto es precisamente lo que los expertos creen actualmente: Que todos los problemas que pueden ser resueltos eficientemente por un computador cuántico también pueden ser resueltos eficientemente por uno tradicional (aunque probablemente los algoritmos cuánticos en este caso sean más sencillos). Contrariamente, se cree que hay problemas que son NP-completos y que no pueden ser resueltos en tiempo polinomial por una MT determinista (esto corresponde a la conjetura de si la clase P, es decir la clase de los problemas que pueden ser resueltos en tiempo polinomial por una MT determinista, es diferente de NP, la que es una de las 7 conjeturas más importantes de la matemática). En conclusión, la respuesta a la pregunta de si los computadores cuánticos entregan mayor poder a los computadores tradicionales, al menos en términos de eficiencia, es solo parcialmente positiva: Conocemos problemas que pueden ser resueltos eficientemente en el modelo cuántico para los cuales no se sabe si pueden ser también resueltos eficientemente en el modelo tradicional. Si se le agrega la posibilidad de la aleatoriedad a una máquina de Turing determinista, se obtiene una nueva clase de problemas que pueden ser resueltos eficientemente. Esta clase, llamada BPP por “Bounded-error, Probabilistic, Polynomial time”, corresponde a la clase de problemas de decisión resueltos en tiempo polinomial por una maquina de Turing probabilística, con un porcentaje de error no mayor a 1/3 (mediante repeticiones de la misma instancia puede disminuirse el error). Análogamente es posible definir la clase BQP, (“Bounded error, Quantum, Polynomial time”), de los problemas que pueden ser resueltos eficientemente por un computador cuántico probabilístico. Claramente BQP contiene a BPP, pues un computador cuántico puede simular a Figura 5: Mapa conceptual de algunas clases de complejidad uno clásico. Pero lo que no se conoce hasta hoy es la relación de BQP con NP. Hasta el momento se cree que BQP está incluido en NP, pero todo parece indicar que BQP no contiene problemas NP-completos pero sí contiene a todos los problemas en la clase P (figura 5). En conclusión, a pesar de que se cree que los algoritmos cuánticos no permiten colapsar ninguna de las clases de complejidad conocidas, si permitirían realizar computaciones más rápidas; es decir, bajan los tiempos de procesamiento, pero no los órdenes de magnitud. Sin embargo, existen otros fenómenos cuánticos que sí muestran una potencialidad infinitamente superior sobre los computadores clásicos, lo que radica en la propiedad de que dos partículas pueden ligarse. Esto significa que a pesar de estar a kilómetros de distancia, ambas partículas comparten el mismo estado, lo cual podría ser aplicado en la criptografía para generar llaves de manera segura. Por último, es alentador saber que ya se han creado varios prototipos reales de computadores cuánticos que trabajan con una cantidad pequeña de qubits. Es más, hace unos años ¡se logró factorizar el número 15 en sus factores primos con ayuda de la computación cuántica! De a poco se han creado computadores con mayor cantidad de qubits, ya se habla de 28 e inclusive existe una compañía comercial, "D-Wave Systems, Inc.”, que creó un computador cuántico capaz de resolver un sudoku. Parece ser cosa de tiempo entonces hasta que la tecnología y el conocimiento nos permitan manipular computadores cuánticos de capacidades aceptables. Es de esperar que los próximos años estén gobernados por la nueva ley de Moore Cuántica que prediga el crecimiento de los qubits por computador. Bibliografía sugerida: Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. Peter W. Shor (AT&T Research) COMPUTATIONAL COMPLEXITY A Modern Approach ,SANJEEV ARORA Princeton University, BOAZ BARAK. Princeton University Curso EE 520: Introduction to Quantum Information Processing, Todd A. Brun, Communication Sciences Institute, University of Southern California Quantum Complexity Theory, Ethan Bernstein and Umesh Vazirani, Proceedings of Symposium on the Theory of Computing, 1993. Special issue on Quantum Computation of the Siam Journal of Computing, Oct. 1997.