computación cuántica

Download Computación Cuántica

If you can't read please download the document

Upload: freelancer

Post on 22-Jun-2015

814 views

Category:

Technology


3 download

DESCRIPTION

Concepto e importacia de la Computación Cuántica, Axiomas Fundamentales de la Mécanica Cuántica, El Qbit, sistema de dos qbits, compuertas cuánticas, algoritmos cuánticas, Dwave: la primera computadora cuántica comercial.

TRANSCRIPT

  • 1. Computacin Cuntica Principios Fundamentales y Aplicaciones Prcticas Bayron Guevara Desarrollador de Software e Investigador Independiente Email: [email protected] FB Grupo: https://www.facebook.com/groups/multiversehacking

2. Computacin Cuntica Qu es y por qu ha llegado a ser tan importante? Es el procesamiento y comunicacion de informacin usando los efectos y principios de la mecnica cuntica. Representa el siguiente salto en la revolucin tecnolgica ya que permitira resolver los problemas ms complejos de la humanidad que actualmente son inmanejables aun para las super-computadoras. Esto se debe a que los sistemas cunticos son exponencialmente poderosos y que permiten evaluar simultaneamente todos los valores de ciertas funciones. Ejemplo de problemas que podran ser solucionados eficientemente se encuentran: aquellos que involucran encontrar la solucin ms optima, evaluacin de todas las posibilidades en un problema combinatorio, lo cuales son fundamentales en aplicaciones de Inteligencia Artificial, Bio-informtica, simulaciones fsicas a las escalas ms pequeas. 3. Computacin Cuntica Mecnica Cuntica: Fsica a niveles sub-atmicos El revolucionario concepto de Informacin y Computacin Cunticos se debe a los sorprendentes principios o axiomas de la Mecnica Cuntica: Superposicin: Estable que un sistema de partculas puede encontrarse en mltiples posiciones al mismo tiempo. Otra forma de verlo es que el sistema todava no ha decidido cual sera su estado final. Principio de incertidumbre: El simple hecho de observar o medir un sistema cuntico lo colapsa o afecta de manera substancial. Por tal razn, la mecnica cuntica es inherente-mente probabilista. Werner Heisenberg: No podemos conocer con absoluta certeza la posicin y el momento lineal (velocidad) de una partcula. 4. Computacin Cuntica Mecnica Cuntica: Fsica a niveles sub-atmicos Evolucin temporal: Describe la evolucin de un sistema cuntico a travs del tiempo a travs de la siguiente ecuacin diferencial parcial formulada por Erwin Schrodinger: La cual tiene algunas implicaciones inesperadas: * Cuantificacin de la energa: Los niveles de energa solamente pueden tomar valores discretos especficos. De ah el termino cuntico de esta rama de la fsica. * Incertidumbre como resultado de que describe a un estado cuntico como una distribucin de probabilidad. * Dualidad partcula-onda y Efecto tnel: Una objeto cuantico puede comportarse como particula o como onda. El efecto tunel consiste en la capacidad de las partculas para atravesar barreras en lugar de saltarlas. Este fenomeno que es una ventaja de los computacion cuantica, por otro lado es un obstaculo en la miniturizacion de los transistores convencionales. 5. Computacin Cuntica Mecnica Cuntica: Un experimento Clsico Adjunto link hacia un video para ayudar a explicar este experimento: http://www.youtube.com/watch?v=DfPeprQ7oGc Un experimento que es usado comnmente para explicar y desmostrar los efectos contra-intuitivos de la mecnica cuntica se llama Double-Slit, el cual consistente en colocar dos laminas una detrs de otra, la primera contiene dos ranuras (slits) y la segunda contiene un sensor que determina la ubicacin del electrn o fotn, luego se disparan electrones que a traviesan la primera lamina y llegan a la segunda. El resultado es que los electrones se comportan a la vez como ondas por que muestran un patrn de interferencia y como partculas porque se detectan como objetos enteros e indivisibles. 6. Computacin Cuntica El Qbit, qu es y que lo diferencia de los bits clsicos Es el estado ms bsico de un sistema cuntico y el bloque de construccin fundamental de las computadoras cunticas. A la izquierda se muestra la representacin geomtrica de un qbit, tambin llamada Esfera de Boch. Un qbit puede implementarse fsicamente mediante cualquier soporte cuntico como por ejemplo, los estados de energa o el spin de un electrn, la polaridad de un fotn, puntos cunticos, efecto Josephson aplicado a superconductores (esta ltima es la tecnologa usada en la primera CQ comercial llamada D-Wave). Es el anlogo a los bits de las computadoras convencionales, pero difieren en que pueden estar en ms de un estado a la vez, es decir pueden representar un 1 o un 0 simultneamente. A esto formalmente le llama superposicin y es lo que posibilita su enorme poder de procesamiento paralelo. 7. Computacin Cuntica Algunos datos asombrosos Computacin Cuntica La propiedad derivada de la superposicin y la incertidumbre llamada entrelazamiento 'entanglement' hace que una partcula afecte a otra instantaneamente independientemente de la distancia aun cuando se encuentre en otra galaxia. (algo parecido a la tele-transportacion en la ciencia ficcin). Una de las posibles explicaciones o interpretaciones de los fenmenos cunticos es que existen Universos Paralelos (Multiverso) y un espacio- tiempo de mltiples dimensiones. Una computadora cuntica de slo 300 qbits podra calcular simultneamente una cantidad de valores mayores a los tomos en el universo. 8. Computacin Cuntica El Qbit, concepto matemtico Matemticamente representamos cada qbit como un vector multidimensional unitario de nmeros complejos tambin conocido como espacio de Hilbert. Usamos la notacin Bra-Ket (< | >) para abreviar su escritura. Cuando escribimos el estado de un qbit en realidad estamos describiendo su superposicin como una amplitud compleja sobre esos dos niveles de energa base. Lo cual se escribe as: En la figura izquierda se muestra los niveles de energa de un tomo, digamos hidrgeno, para representar los dos estados finales de un qbit. El estado base se codifica en 0 y el primer estado excitado corresponde al 1. A la derecha vemos su representacin geomtrica de varios qbits como un vector unitario. 9. Computacin Cuntica El Qbit, concepto matemtico Es decir la probabilidad de obtener un 0 es igual a la magnitud de alfa a la segunda potencia y de forma similar con la probabilidad de obtener 1. Hay que recordar que para nmeros complejos la magnitud es como sigue: Ahora un qbit adems debe estar normalizado, lo que significa que la probabilidad conjunta de todos sus estados debe ser igual a 1 o 100% Como ya saben la mecnica cuntica es probabilista. De ah que dichas magnitudes (valores de alfa y beta) nos permitan obtener la probabilidad de que el qbit tome determinado valor, ya sea 1 o 0, al ser medido. Esto se formula de la siguiente manera: 10. Computacin Cuntica Sistemas de mltiples Qbits Cuando interactuan ms de un qbit, su estado se representa como el producto tensorial de los mismos. Para el caso de los siguientes qbits :v Entonces el estado compuesto de este sistema cuntico sera: Como podemos deducir para describir un sistema de K qbits necesitaramos amplitudes o nmeros complejos. Por lo que ya podemos tener mejor intuicion de lo que significa la superposicin y por que la misma puede usarse para realizar un procesamiento paralelo que se incrementa exponencialmente segn el nmero de qbits. 11. Computacin Cuntica Entrelazamiento (Entanglement) Existe un estado muy curioso de un sistema cuntico llamado entrelazamiento, en el cual un sistema no puede describirse en trmino de sus componentes individuales, en trminos de qbits: dos qbits no pueden expresarse como el producto tensorial de sus qbits individuales. Tomemos el siguiente ejemplo tambin llamado estado de Bell: Analizando un poco podemos descubrir que es imposible factorizar dicho estado como el producto de dos qbits, no obstante este estado se ha re-producido incontables veces en los laboratorios. Algo mas interesante seria conocer el estado final del sistema cuando medimos unicamente uno de sus qbits, para este ejemplo, tomemos el primero. En caso de que este resultara ser 0, el resultado seria: 12. Computacin Cuntica Entrelazamiento (Entanglement) Ahora como podemos observar la probabilidad que el segundo qbit sea 0 quedara en 1, en otras palabras el resultado que se obtenga en el primer qbit automticamente determina o afecta al segundo. El mismo resultado se obtendra si el qbit resultara ser 1. Esta relacin se mantiene incluso si estos qbit se encuentran en galaxias separadas, lo que ha dado conjeturas sobre la posibilidad de tele-transportacin. No obstante no podemos comunicar la informacin que deseemos debido a que no podemos forzar a que el primer qbit siempre tome el valor que queramos ya que la mecnica cuntica es probabilista (Principio de No Sealizacion). Pero si podemos crear Correlaciones No Locales (ver paradoja EPR y Experimento Bell). En la computacin cuntica si existe un mecanismo de transportacin pero no permite la velocidad superluminal, y es necesario transportar convencionalmente 2 bits por cada qbit. 13. Computacin Cuntica Compuertas Cunticas Anlogas a las compuertas digitales (XOR, NOT, AND), estas permiten operar sobre los estados de un sistema cuntico. Se basan en el principio de transformacin unitaria en el cual un sistema cuntico evoluciona como una serie de rotaciones vectoriales que permiten mantener su unidad, normalizacin y reversibilidad (a diferencia de la compuertas digitales, se puede aplicar otro conjunto de compuertas que permitan revertir el sistema a su estado inicial). Estas se representan como matrices unitarias cuadradas. Veamos algunos ejemplos de compuertas cunticas sencillas que operan sobre un nico qbit: Bit Flip: Simbolizado con la letra X, invierte su superposicin/amplitud 14. Computacin Cuntica Compuertas Cunticas Phase Flip: Invierte la fase o el signo de la segunda amplitud Transformada de Hadamard: Bsicamente ejecuta una rotacin de 45 grados. De igual forma podramos extender el concepto de matriz unitaria para compuertas de dos o ms qbits, donde para el caso de k qbits, necesitaramos una matriz de dimensin 2^k * 2^k. 15. Computacin Cuntica Algoritmos Cunticos Estos se caracterizan por resolver en tiempo polinmico problemas que a las mejores algoritmos clsicos les tomara un tiempo exponencial. Por brevedad me limitare a nombrar y describir la utilidad de los algoritmos cunticos ms conocidos. Algoritmo de Shor: Factoriza nmeros primos en tiempo polinmico, un hecho que rompera con la mayoria de los mtodos de criptografa asimtrica actuales. Por ejemplo, el cifrado RSA que se utiliza en los certificados SSL de los sitios web. Su cota superior viene dada por: Algoritmo de Grover: Mejor en forma cuadrtica la eficiencia de bsqueda de un elemento en una base de datos no estructurada (para poner un ejemplo: una BD relacional sin indexacin). Cota superior: Algoritmo de DeutschJozsa: Conocido por ser el primer ejemplo de algoritmo cuntico en ser exponencialmente ms veloz. Resuelve un problema de caja negra en una sola consulta mientras que a uno clasico le tomaria 2^(n-1) + 1. 16. Computacin Cuntica Ejemplo Prctico utilizando la primera CQ comercial Con el fin de realizar una demostracin prctica de la ejecucin de un algoritmo cuntico veamos un simulador desarrollador por Dwave, la primera empresa en fabricar computadoras cunticas comerciales. Vale la pena mencionar que entre sus actuales clientes se encuentra Lockheed Martin, La Nasa y Google. Para aclarar, esta es un tipo de computadora cuntica especializada llamada Adiabtica que aprovecha el efecto tnel de la mecnica cuntica para resolver problemas de optimizacin discretos tales como el problema de encontrar la ruta ms corta (Vendedor Viajante), problemas de optimizacion combinatorios, en la Inteligencia Artificial para el aprendizaje autnomo, en la biologa para estudio de las cadenas de protenas, etc. El mecanismo de programacin de esta computadora no es una forma general de plantear un algoritmo cuntico debido a que NO se basa en el uso de las compuertas que vimos anteriormente, sino en la descripcin de un programa de energa Hamiltoniano, en donde la computadora buscar la solucin asignando a los qbits los valores que minimizan la cantidad de energa total del sistema. 17. Computacin Cuntica Ejemplo Prctico utilizando la primera CQ comercial En trminos matemticos la computadora tratar de minimizar la siguiente funcin: Nuestro trabajo es encontrar los valores de hi y Jij que nos permitan definir el problema que queremos resolver. Afortunadamente Dwave ofrece un componente de Software llamado BlackBoxSolver que realiza el trabajo difcil por nosotros. Mediante este ultimo mtodo nosotros solamente tendremos que definir un algoritmo que tome como entrada los valores -1 y 1 que corresponden una posible solucin del problema y luego retornar valores menores para las respuestas correctas y penalizar mediante valores altos las respuestas incorrectas. 18. Computacin Cuntica Ejemplo prctico: Resolviendo el Eternity II El Eternity II es un rompecabezas que consiste en armar un conjunto de 256 piezas de forma tal que los patrones de piezas adyacentes coincidan. Las piezas correctas laterales y de esquinas siempre llevarn un patrn gris. En la figura de la izquierda se muestra un patrn desordenado de este juego. Para simplificar nuestro ejemplo usaremos unicamente un conjunto de 16 piezas que se muestran a continuacin: 19. Computacin Cuntica Ejemplo prctico: Resolviendo el Eternity II Lo que buscamos es definir una funcin objetivo que proporcionaremos a nuestra computadora cuntica y que se alimentar de sus resultados para buscar la mejor solucin al problema, asumiendo que entre menor sea el valor retornado, ms correcta es la solucin encontrada. Descompondremos la definicin de nuestro algoritmo de penalizacin por partes como se sigue a continuacin: P1: Calcular el numero de piezas que no encajan P2: Penalizar aquellos casos donde una pieza se coloque en el mismo lugar de otra P3: Penalizar cuando una pieza lateral no contenga el patrn gris P4: Adems penalizar cuando una pieza de esquina no sea de patrn gris. A cada penalizacin le asignamos un multiplicador diferente con el objetivo de reforzar como incorrectos los casos menos deseables. Para este ejemplo se han usando los siguientes factores: Penalizacin agregada = 5 x P4 + 4 x P3 + 3 x P2 + 3 x P1 20. Computacin Cuntica Ejemplo prctico: Resolviendo el Eternity II El lenguaje prefererido para programar la Dwave es Python por su versatilidad para operar sobre vectores, matrices y en general para la computacion cientifica. El cdigo de nuestra funcin de penalizacin quedara similar al siguiente: 21. Computacin Cuntica Ejemplo prctico: Resolviendo el Eternity II Luego tendramos que proporcionarle una instancia del objeto MismatchFunction y una serie de parmetros que definen las iteraciones y la intensidad del trabajo que la Dwave har para resolver nuestro problema. Como se puede observar en el siguiente cdigo utilizamos un instancia local del solver de la Dwave para realizar pruebas locales que luego podamos ejecutar en una computadora cuntica real (si disponemos del dinero suficiente). Luego invocamos al metodo solve y le pasamos como parmetros nuestra funcin objetivo y las configuraciones para establecer la precisin de la solucin 22. Computacin Cuntica Ejemplo prctico: Resolviendo el Eternity II Ademss recogemos e imprimimos estadsticas sobre los resultados que corresponden a los criterios de penalizacin que definimos anteriormente. Despus de ejecutar el programa unas cuantas veces, la mejor solucin encontrada es la que muestra la figura de la derecha. Es importante recordar que la Dwave es una computadora probabilista no determinista, as que no siempre encontrar la mejor respuesta, no obstante podemos ajustar nuestro algoritmo para mejorar la calidad de la respuesta. 23. Gracias por su tiempo. Repositorio con el cdigo del ejercicio Eternity II: https://github.com/Socrattes2099/dwave-eternity2 Email: [email protected] FB Grupo: https://www.facebook.com/groups/multiversehacking