Generalmente cuando vemos lo que ha sido el progreso de la computación en los últimos 50 años, nos vemos anonadados. Las computadoras de hace 50 años, tenían capacidades de procesamiento equivalentes a lo que tiene una calculadora grafica actual. Increíblemente esas mismas computadoras que nos podían parecer ridículas, fueron capaces de incluso llevar el hombre a la luna. Con el tiempo esos computadores han evolucionado de una forma exponencial llevándonos a procesadores con millones de transistores y capaces de cambiar nuestras vidas de una forma única. Poseemos computadoras en cualquier parte. Nuestros smartphones se han convertido en parte de nosotros, e incluso gracias a ellas hemos podido solucionar problemas y acceder a información que antes era sencillamente imposible siquiera plantearse.

ENIAC, una de las primeras computadoras clásicas

ENIAC, una de las primeras computadoras clásicas

Sin embargo, las computadoras actuales, mejor dicho, los procesadores actuales, parecen haber llegado a un límite. La ley de Moore, aquella ley empírica que dice que cada 2 años la cantidad de transistores presentes en un microchip se duplica, por primera vez parece tambalearse: sencillamente estos transistores se han vuelto tan pequeños, que los electrones transmisores de electricidad ya caen dentro del universo cuántico donde las cosas no se comportan como uno cree. Cabe destacar que ante transistores más pequeños se puede alcanzar mayores capacidades de procesamiento. El problema es que ante transistores más pequeños los electrones empiezan a caer dentro de algo llamado efecto túnel, que hace que los electrones se escapen de los canales de donde deberían pasar. Ante este escenario parece ser hora de cambiar de paradigma, de la forma completa en la que se ve la computación. Una de las alternativas para este cambio de paradigma es justamente la computación cuántica, una computación donde no existen casi límites.

Ley de Moore

Ley de Moore

Ahora antes de introducir lo que es un computador cuántico, primero hay que entender algo de lo básico de cómo funciona un computador. Un computador en lo más básico está conformado por bits. Un bit es la mínima unidad de información y es “algo” que puede tomar dos estados, un 1 o un 0 donde cada uno representa algo diferente. Así mientras un computador tenga más bits más estados diferentes puede tener. Un computador con 3 bits tiene 8 estados diferentes, y así si aumentamos el número de bits el crecimiento es exponencial. En la actualidad las computadoras mayormente digitales representan esos bits mediante caídas de voltaje donde la existencia de un voltaje representa un 1 y lo contrario un 0. Cabe destacar que esta no es la única forma de representar bits, pero en la actualidad es lo estándar. Los computadores cuánticos sin embargo en vez de usar bits usan algo denominado qubits (bits cuánticos). ¿Pero que es un qubit? Un qubit es la unidad básica de información en un computador cuántico. Su funcionamiento es parecido al de un bit, pero a diferencia de el puede ser 0, 1 y puede ser 0 y 1 a la vez. Ósea tiene 4 estados posibles y esto se puede generalizar, Aunque esto suene a ciencia ficción un qubit sigue una propiedad de la mecánica cuántica denominada superposición cuántica. Este principio nos dice que una partícula, toma todos los estados que le son posibles al mismo tiempo y solo cuando es medida toma un estado particular. Sin embargo, múltiples mediciones dan lugar a múltiples resultados. Así un computador con 3 qubits también tendría tres 8 estados, pero podría tomar los 8 estados a la vez, ósea podría tomar ocho decisiones al mismo tiempo.

esfera de Boch: representación visual de un qubit

esfera de Boch: representación visual de un qubit

Ventajas

Capacidad de Procesamiento

Una computadora cuántica tendría capacidades de procesamiento tan grandes que dejarían a nuestros actuales computadores como simples juguetes de museo. Una computadora cuántica de “solo” 30 qubits tendría la capacidad de procesamiento equivalente a una computadora clásica con un procesador de 10 teraflops (10 millones de millones de operaciones en coma flotante por segundo), cuando actualmente las computadoras convencionales trabajan en el orden de gigaflops (miles de millones de operaciones). Una computadora con 70 qubits ya seria mas poderosa que cualquier computadora de la actualidad. Esto además ayudaría a simplificar enormemente tareas que necesitan una gran cantidad de procesamiento como el manejo y renderizado de imágenes, y el manejo de Big Data.

Tianhe-2: computador clásico actual con mayor capacidad de procesamiento (33.86 petaflops)

Tianhe-2: computador clásico actual con mayor capacidad de procesamiento (33.86 petaflops)

Nuevos algoritmos para problemas viejos

El desarrollo de la computación ha creado diversos tipos de algoritmos y el análisis de algoritmos nos dice que estos tienen tendencias cotas o asíntotas a las que siguen. Así para dar un ejemplo un algoritmo denominado insertion sort que sirve para ordenar arreglos sigue una cota de O(n^2). ¿Qué significa eso? Que, dados valores muy grandes de n, donde n en este caso es el tamaño del arreglo, el procesador que lo ejecuta se demorara cn^2 unidades de tiempo donde c es una constante. Un ejemplo de eso sería un arreglo de longitud 20, el procesador se demoraría aproximadamente c*400 unidades de tiempo en ejecutarlo. Cabe destacar que estas constantes y unidades de tiempo varían de muchas formas y esto solo una guía del tiempo de ejecución de un algoritmo. Ahora existen problemas NP llamados así porque dado un problema de la computación no existe algoritmo alguno que haga que la cota de ejecución sea menor a un tiempo exponencial o incluso factorial. Estos problemas han sido el quebradero de cabeza de muchos científicos de la computación. Sin embargo, con la llegada de la computación cuántica muchos de estos problemas pasan a ser P. ósea se vuelven resolubles en tiempo polinómico y pasan a ser computables. Dentro de algoritmos desarrollados dentro de la computación cuántica esta por ejemplo el algoritmo de Shor. Desarrollado por Peter Shor este algoritmo permite la factorización de números en sus factores primos con una cota de O(log n). La factorización de números en sus factores primos es un problema típico NP y una de las bases de la criptografía actual, en particular del sistema RSA. Justamente el encriptado RSA es la base de la encriptación de los mensajes en internet y lo que permite la seguridad al mandar información por internet. Hacer obsoleto el sistema RSA es una clara demostración del poder de la computación cuántica.

RSA como funciona

 

Criptografía

Algo hemos hablado de la criptografía, y como esta podría alterar nuestra seguridad. Sin embargo, la criptografía cuántica tiene enormes ventajas para proteger nuestra información. Más que todo ya que a diferencia del sistema criptográfico actual basado en claves públicas que ponen a prueba propiedades de algunas funciones que no han sido matemáticamente probados, la criptografía cuántica se basa en la misma naturaleza de la mecánica cuántica. En particular de algo denominado principio de incertidumbre de Heisenberg. Este principio nos dice que el solo querer medir un sistema cuántico perturba el sistema. Así si cualquier organización o persona quisiera ver nuestra información esta se vería perturbada y no podría ser recuperada de la misma forma

 

descarga (5)

 

 

 

Retos

Representación de los qubits y puertas lógicas cuánticas

Cuando hablamos de los bits dijimos que era “algo” que podía tomar dos estados, 0 o 1 o prendido o apagado. También mencionamos que en la actualidad generalmente se les da una representación eléctrica donde la presencia de la misma es un 1 y su no existencia es un 0. Ahora los qubits no son tan fácilmente representables. En realidad, es muy complicado encontrar ese algo que pueda representar un qubit de manera eficiente. Actualmente existen algunos prototipos como Espines nucleares de moléculas en disolución, o también Iones suspendidos en vacío. Otro de los grandes problemas de los computadores cuánticos es el desarrollo de puertas lógicas cuánticas. En la computación clásica, los bits suelen agruparse en puertas como OR o AND que ante ciertos requisitos dejan pasar electricidad o no lo hacen. Estos son simples circuitos que cambian o no dependiendo de alguna reacción. Estas forman la base de la computadora en sí, ya que son capaces de cambiar el estado de los bits. Ahora las puertas lógicas cuánticas no son tan sencillas. Por un momento pensemos que tenemos una representación de un qubit eficaz. Para eso tenemos una partícula la cual se mueve a cierta velocidad. Esa velocidad tal como sabemos de física, puede separarse en su componente Y su componente X. Así poseemos una partícula la cual tiene una velocidad X, una velocidad Y, y también una velocidad total. Tenemos la representación de un qubit. Ahora una puerta lógica cuántica puede ser por ejemplo algo que rote la partícula de forma que afecte ambas componentes de velocidad se vean afectadas: hemos obtenido dos resultados. Sin embargo, la cosa se complica aún más si tenemos dos partículas, para ello la puerta lógica rotará ambas partículas y cada partícula poseerá 4 estados, su velocidad X, su velocidad Y, su velocidad X respecto a la segunda partícula, y una velocidad Y respecto a la segunda partícula. Hemos obtenido 4 estados. Ahora para que esto se pueda dar las partículas deben estar bajo un fenómeno denominado entrelazamiento cuántico. Partículas bajo este fenómeno funcionan como un sistema. Si una de ellas cambia, el resto también lo hace. Esto permite la existencia de las puertas lógicas cuánticas. Sin embargo, entrelazar partículas no es sencillo, y conforme aumenta el número de qubits aumenta mucho su complejidad.

 

Algoritmos cuánticos

Uno de los obstáculos principales para la computación cuántica es el problema de la decoherencia cuántica, que causa la pérdida del carácter unitario (y, más específicamente, la reversibilidad) de los pasos del algoritmo cuántico. Ahora sabemos que para la existencia de puertas lógicas cuánticas se necesita que las partículas que representan a los qubits estén entrelazadas. El problema es que casi cualquier puede deshacer ese entrelazamiento. Eso, en español, significa que dada la salida de un algoritmo cuántico es posible que al intentar volver a implementarlo no sea posible. Eso se soluciona o tratando de aislar el computador de la mejor manera o también introduciendo algo que se llama correcciones de errores cuánticos, que usa la estadística para poder hacer reversible el algoritmo.

 

entrelazamiento cuántico

entrelazamiento cuántico

Obviamente otro obstáculo esta justamente en la implementación de los algoritmos es justamente su complejidad. Por ejemplo, el algoritmo de Shor se basa en resultados de álgebra, que establecen una relación entre factores de un número y el período de una función específica. Aprovechando esa capacidad que comentábamos de hacer varias operaciones a la vez, el algoritmo de Shor calcula muchos valores de la función usando los estados de varios qubits, y después aplica la transformada de Fourier cuántica (por si la transformada de Fourier no diese miedo ya de por sí) para combinar todos esos resultados de tal forma que, al medir el estado de los qubits, se obtenga el período de la función de forma aproximada. Aunque eso suene complicado (y sí que lo es), la verdadera esta en cambiar nuestra forma de programar y eso es un gran reto

Estado Actual

En la actualidad no existen computadores cuánticos comerciales. Entre las empresas más importantes involucradas en su desarrollo están Google e IBM. Además, cabe destacar de la empresa canadiense D-Wave que tiene como meta el desarrollo de computadores cuánticos comerciales para dentro de 20 años.

D-Wave 2x : prototipo comercial de computadora cuántica

D-Wave 2x : prototipo comercial de computadora cuántica

 

 

Conclusión

En la actualidad existe ya desarrollo de computadores cuánticos, pero su capacidad y los retos a los que se envuelto son muy grandes. Sabemos exactamente como debe funcionar un computador cuántico, pero llevarlo a la práctica es un gran reto. No se ha encontrado una manera eficiente de representar qubits, y eso unido a la dificultad de lidiar con la mecánica cuántica ha hecho de este paradigma todo un reto. Sin embrago los seres humanos estamos acostumbrados a ello, si miramos son retrospectiva como era la computación clásica hace 60 años no damos cuenta de cuanto hemos evolucionado. Quizás y tan solo quizás las personas de dentro de 60 años, miraran nuestros computadores como objetos de museo.

 

Para mayor entendimiento consultar este enlace

http://www.genbeta.com/herramientas/computacion-cuantica-asi-funciona-lo-que-probablemente-sea-el-futuro-de-la-tecnologia

 

Video asociado

 

 

 

Otras Referencias

 

https://es.wikipedia.org/wiki/Algoritmo_cu%C3%A1ntico

https://es.wikipedia.org/wiki/Computaci%C3%B3n_cu%C3%A1ntica

http://hipertextual.com/2015/09/d-wave-2x

https://es.wikipedia.org/wiki/Superposici%C3%B3n_cu%C3%A1ntica

https://es.wikipedia.org/wiki/Ley_de_Moore

http://www.monografias.com/trabajos/histocomp/histocomp.shtml

http://eltamiz.com/elcedazo/2014/01/04/computacion-cuantica-i-introduccion/

http://www.marisolcollazos.es/noticias-informatica/?tag=computacion-cuantica