Computación Cuántica
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Computación Cuántica

on

  • 814 views

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 ...

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.

Statistics

Views

Total Views
814
Views on SlideShare
814
Embed Views
0

Actions

Likes
1
Downloads
30
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Computación Cuántica Presentation Transcript

  • 1. Computación Cuántica Principios Fundamentales y Aplicaciones Prácticas Bayron Guevara Desarrollador de Software e Investigador Independiente ● Email: bayron.guevara@gmail.com ● FB Grupo: https://www.facebook.com/groups/multiversehacking
  • 2. Computación Cuántica ¿Qué es y por qué ha llegado a ser tan importante? Es el procesamiento y comunicacion de información usando los efectos y principios de la mecánica cuántica. Representa el siguiente salto en la revolución tecnológica ya que permitiría resolver los problemas más complejos de la humanidad que actualmente son inmanejables aun para las super-computadoras. Esto se debe a que los sistemas cuánticos son exponencialmente poderosos y que permiten evaluar simultaneamente todos los valores de ciertas funciones. Ejemplo de problemas que podrían ser solucionados eficientemente se encuentran: aquellos que involucran encontrar la solución más optima, evaluación de todas las posibilidades en un problema combinatorio, lo cuales son fundamentales en aplicaciones de Inteligencia Artificial, Bio-informática, simulaciones físicas a las escalas más pequeñas.
  • 3. Computación Cuántica Mecánica Cuántica: Física a niveles sub-atómicos El revolucionario concepto de Información y Computación Cuánticos se debe a los sorprendentes principios o axiomas de la Mecánica Cuántica: Superposición: Estable que un sistema de partículas puede encontrarse en múltiples posiciones al mismo tiempo. Otra forma de verlo es que el sistema todavía no ha decidido cual sería su estado final. Principio de incertidumbre: El simple hecho de observar o medir un sistema cuántico lo colapsa o afecta de manera substancial. Por tal razón, la mecánica cuántica es inherente-mente probabilista. Werner Heisenberg: No podemos conocer con absoluta certeza la posición y el momento lineal (velocidad) de una partícula.
  • 4. Computación Cuántica Mecánica Cuántica: Física a niveles sub-atómicos Evolución temporal: Describe la evolución de un sistema cuántico a través del tiempo a través de la siguiente ecuación diferencial parcial formulada por Erwin Schrodinger: La cual tiene algunas implicaciones inesperadas: * Cuantificación de la energía: Los niveles de energía solamente pueden tomar valores discretos específicos. De ahí el termino cuántico de esta rama de la física. * Incertidumbre como resultado de que describe a un estado cuántico como una distribución de probabilidad. * Dualidad partícula-onda y Efecto túnel: Una objeto cuantico puede comportarse como particula o como onda. El efecto tunel consiste en la capacidad de las partículas 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. Computación Cuántica Mecánica Cuántica: Un experimento Clásico Adjunto link hacia un video para ayudar a explicar este experimento: http://www.youtube.com/watch?v=DfPeprQ7oGc Un experimento que es usado comúnmente para explicar y desmostrar los efectos contra-intuitivos de la mecánica cuántica se llama Double-Slit, el cual consistente en colocar dos laminas una detrás de otra, la primera contiene dos ranuras (slits) y la segunda contiene un sensor que determina la ubicación del electrón o fotón, 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 patrón de interferencia y como partículas porque se detectan como objetos enteros e indivisibles.
  • 6. Computación Cuántica El Qbit, qué es y que lo diferencia de los bits clásicos Es el estado más básico de un sistema cuántico y el bloque de construcción fundamental de las computadoras cuánticas. A la izquierda se muestra la representación geométrica de un qbit, también llamada Esfera de Boch. Un qbit puede implementarse físicamente mediante cualquier soporte cuántico como por ejemplo, los estados de energía o el spin de un electrón, la polaridad de un fotón, puntos cuánticos, efecto Josephson aplicado a superconductores (esta última es la tecnología usada en la primera CQ comercial llamada D-Wave). Es el análogo a los bits de las computadoras convencionales, pero difieren en que pueden estar en más de un estado a la vez, es decir pueden representar un 1 o un 0 simultáneamente. A esto formalmente le llama superposición y es lo que posibilita su enorme poder de procesamiento paralelo.
  • 7. Computación Cuántica Algunos datos asombrosos Computación Cuántica La propiedad derivada de la superposición y la incertidumbre llamada entrelazamiento 'entanglement' hace que una partícula afecte a otra instantaneamente independientemente de la distancia aun cuando se encuentre en otra galaxia. (algo parecido a la tele-transportacion en la ciencia ficción). Una de las posibles explicaciones o interpretaciones de los fenómenos cuánticos es que existen Universos Paralelos (Multiverso) y un espacio- tiempo de múltiples dimensiones. Una computadora cuántica de sólo 300 qbits podría calcular simultáneamente una cantidad de valores mayores a los átomos en el universo.
  • 8. Computación Cuántica El Qbit, concepto matemático Matemáticamente representamos cada qbit como un vector multidimensional unitario de números complejos también conocido como espacio de Hilbert. Usamos la notación Bra-Ket (< | >) para abreviar su escritura. Cuando escribimos el estado de un qbit en realidad estamos describiendo su superposición como una amplitud compleja sobre esos dos niveles de energía base. Lo cual se escribe así: En la figura izquierda se muestra los niveles de energía de un átomo, digamos hidrógeno, 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 representación geométrica de varios qbits como un vector unitario.
  • 9. Computación Cuántica El Qbit, concepto matemático 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 números complejos la magnitud es como sigue: Ahora un qbit además 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 mecánica cuántica 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. Computación Cuántica Sistemas de múltiples Qbits Cuando interactuan más 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 cuántico sería: Como podemos deducir para describir un sistema de K qbits necesitaríamos amplitudes o números complejos. Por lo que ya podemos tener mejor intuicion de lo que significa la superposición y por que la misma puede usarse para realizar un procesamiento paralelo que se incrementa exponencialmente según el número de qbits.
  • 11. Computación Cuántica Entrelazamiento (Entanglement) Existe un estado muy curioso de un sistema cuántico llamado entrelazamiento, en el cual un sistema no puede describirse en término de sus componentes individuales, en términos de qbits: dos qbits no pueden expresarse como el producto tensorial de sus qbits individuales. Tomemos el siguiente ejemplo también 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. Computación Cuántica Entrelazamiento (Entanglement) Ahora como podemos observar la probabilidad que el segundo qbit sea 0 quedaría en 1, en otras palabras el resultado que se obtenga en el primer qbit automáticamente determina o afecta al segundo. El mismo resultado se obtendría si el qbit resultara ser 1. Esta relación se mantiene incluso si estos qbit se encuentran en galaxias separadas, lo que ha dado conjeturas sobre la posibilidad de tele-transportación. No obstante no podemos comunicar la información que deseemos debido a que no podemos ´forzar´ a que el primer qbit siempre tome el valor que queramos ya que la mecánica cuántica es probabilista (Principio de No Señalizacion). Pero si podemos crear Correlaciones No Locales (ver paradoja EPR y Experimento Bell). En la computación cuántica si existe un mecanismo de transportación pero no permite la velocidad superluminal, y es necesario transportar convencionalmente 2 bits por cada qbit.
  • 13. Computación Cuántica Compuertas Cuánticas Análogas a las compuertas digitales (XOR, NOT, AND), estas permiten operar sobre los estados de un sistema cuántico. Se basan en el principio de transformación unitaria en el cual un sistema cuántico evoluciona como una serie de rotaciones vectoriales que permiten mantener su unidad, normalización 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 cuánticas sencillas que operan sobre un único qbit: Bit Flip: Simbolizado con la letra X, invierte su superposición/amplitud
  • 14. Computación Cuántica Compuertas Cuánticas Phase Flip: Invierte la fase o el signo de la segunda amplitud Transformada de Hadamard: Básicamente ejecuta una rotación de 45 grados. De igual forma podríamos extender el concepto de matriz unitaria para compuertas de dos o más qbits, donde para el caso de k qbits, necesitaríamos una matriz de dimensión 2^k * 2^k.
  • 15. Computación Cuántica Algoritmos Cuánticos Estos se caracterizan por resolver en tiempo polinómico problemas que a las mejores algoritmos clásicos les tomaría un tiempo exponencial. Por brevedad me limitare a nombrar y describir la utilidad de los algoritmos cuánticos más conocidos. Algoritmo de Shor: Factoriza números primos en tiempo polinómico, un hecho que rompería con la mayoria de los métodos de criptografía asimétrica 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 cuadrática la eficiencia de búsqueda de un elemento en una base de datos no estructurada (para poner un ejemplo: una BD relacional sin indexación). Cota superior: Algoritmo de Deutsch–Jozsa: Conocido por ser el primer ejemplo de algoritmo cuántico en ser exponencialmente más veloz. Resuelve un problema de caja negra en una sola consulta mientras que a uno clasico le tomaria 2^(n-1) + 1.
  • 16. Computación Cuántica Ejemplo Práctico utilizando la primera CQ comercial Con el fin de realizar una demostración práctica de la ejecución de un algoritmo cuántico veamos un simulador desarrollador por Dwave, la primera empresa en fabricar computadoras cuánticas 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 cuántica especializada llamada Adiabática que aprovecha el efecto túnel de la mecánica cuántica para resolver problemas de optimización discretos tales como el problema de encontrar la ruta más corta (Vendedor Viajante), problemas de optimizacion combinatorios, en la Inteligencia Artificial para el aprendizaje autónomo, en la biología para estudio de las cadenas de proteínas, etc. El mecanismo de programación de esta computadora no es una forma general de plantear un algoritmo cuántico debido a que NO se basa en el uso de las compuertas que vimos anteriormente, sino en la descripción de un programa de energía Hamiltoniano, en donde la computadora buscará la solución asignando a los qbits los valores que minimizan la cantidad de energía total del sistema.
  • 17. Computación Cuántica Ejemplo Práctico utilizando la primera CQ comercial En términos matemáticos la computadora tratará de minimizar la siguiente función: 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 difícil por nosotros. Mediante este ultimo método nosotros solamente tendremos que definir un algoritmo que tome como entrada los valores -1 y 1 que corresponden una posible solución del problema y luego retornar valores menores para las respuestas correctas y penalizar mediante valores altos las respuestas incorrectas.
  • 18. Computación Cuántica Ejemplo práctico: 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 llevarán un patrón gris. En la figura de la izquierda se muestra un patrón desordenado de este juego. Para simplificar nuestro ejemplo usaremos unicamente un conjunto de 16 piezas que se muestran a continuación:
  • 19. Computación Cuántica Ejemplo práctico: Resolviendo el Eternity II Lo que buscamos es definir una función objetivo que proporcionaremos a nuestra computadora cuántica y que se alimentará de sus resultados para buscar la mejor solución al problema, asumiendo que entre menor sea el valor retornado, más correcta es la solución encontrada. Descompondremos la definición de nuestro algoritmo de penalización por partes como se sigue a continuación: ● 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 patrón gris ● P4: Además penalizar cuando una pieza de esquina no sea de patrón gris. A cada penalización 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: Penalización agregada = 5 x P4 + 4 x P3 + 3 x P2 + 3 x P1
  • 20. Computación Cuántica Ejemplo práctico: 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 código de nuestra función de penalización quedaría similar al siguiente:
  • 21. Computación Cuántica Ejemplo práctico: Resolviendo el Eternity II Luego tendríamos que proporcionarle una instancia del objeto MismatchFunction y una serie de parámetros que definen las iteraciones y la intensidad del trabajo que la Dwave hará para resolver nuestro problema. Como se puede observar en el siguiente código utilizamos un instancia local del solver de la Dwave para realizar pruebas locales que luego podamos ejecutar en una computadora cuántica real (si disponemos del dinero suficiente). Luego invocamos al metodo solve y le pasamos como parámetros nuestra función objetivo y las configuraciones para establecer la precisión de la solución
  • 22. Computación Cuántica Ejemplo práctico: Resolviendo el Eternity II Ademáss recogemos e imprimimos estadísticas sobre los resultados que corresponden a los criterios de penalización que definimos anteriormente. Después de ejecutar el programa unas cuantas veces, la mejor solución 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 código del ejercicio Eternity II: https://github.com/Socrattes2099/dwave-eternity2 ● Email: bayron.guevara@gmail.com ● FB Grupo: https://www.facebook.com/groups/multiversehacking