SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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
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.
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.
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.
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.
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.
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.
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.
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:
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.
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:
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.
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
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.
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.
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.
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.
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:
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
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:
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
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.
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

Más contenido relacionado

La actualidad más candente

Quantum computing
Quantum computingQuantum computing
Quantum computingSamira Riki
 
Quantum Computing
Quantum ComputingQuantum Computing
Quantum ComputingKomal Gupta
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONPANAFMX
 
Primera unidad numeros binarios
Primera unidad numeros binariosPrimera unidad numeros binarios
Primera unidad numeros binariosgluiss
 
Quantum computation - Introduction
Quantum computation - IntroductionQuantum computation - Introduction
Quantum computation - IntroductionAakash Martand
 
What is quantum computing
What is quantum computingWhat is quantum computing
What is quantum computingMariyum Khan
 
Quantum Computing: The Why and How
Quantum Computing: The Why and HowQuantum Computing: The Why and How
Quantum Computing: The Why and Howinside-BigData.com
 
Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Dianosky Sosa Piñango
 
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALESVictor Asanza
 
Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I SANTIAGO PABLO ALBERTO
 
Transformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yTransformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yEvelyn Ruiz
 

La actualidad más candente (20)

Computacion cuantica
Computacion cuanticaComputacion cuantica
Computacion cuantica
 
Circuitos integrados
Circuitos integradosCircuitos integrados
Circuitos integrados
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Flip flops (ff)
Flip flops (ff)Flip flops (ff)
Flip flops (ff)
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Circuitos digitales-problemas
Circuitos digitales-problemasCircuitos digitales-problemas
Circuitos digitales-problemas
 
Computacion cuantica
Computacion cuanticaComputacion cuantica
Computacion cuantica
 
Quantum Computing
Quantum ComputingQuantum Computing
Quantum Computing
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSON
 
10 registros
10 registros10 registros
10 registros
 
Primera unidad numeros binarios
Primera unidad numeros binariosPrimera unidad numeros binarios
Primera unidad numeros binarios
 
Quantum computation - Introduction
Quantum computation - IntroductionQuantum computation - Introduction
Quantum computation - Introduction
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Mapas k de 2 3 4 variables
Mapas k de 2 3 4 variablesMapas k de 2 3 4 variables
Mapas k de 2 3 4 variables
 
What is quantum computing
What is quantum computingWhat is quantum computing
What is quantum computing
 
Quantum Computing: The Why and How
Quantum Computing: The Why and HowQuantum Computing: The Why and How
Quantum Computing: The Why and How
 
Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111
 
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
⭐⭐⭐⭐⭐ PRÁCTICA: ANÁLISIS DE CIRCUITOS COMBINATORIALES
 
Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I
 
Transformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal yTransformar decimal fraccionario a binario, octal y
Transformar decimal fraccionario a binario, octal y
 

Similar a Computación Cuántica

Similar a Computación Cuántica (20)

Computación cuantica rocio
Computación cuantica rocioComputación cuantica rocio
Computación cuantica rocio
 
2023-T10-Mécanica_Cuántica.ppsx
2023-T10-Mécanica_Cuántica.ppsx2023-T10-Mécanica_Cuántica.ppsx
2023-T10-Mécanica_Cuántica.ppsx
 
Materia comercio electronico
Materia  comercio electronicoMateria  comercio electronico
Materia comercio electronico
 
El Problema de Deutsch en una Comptadora Cuática
El Problema de Deutsch en una Comptadora CuáticaEl Problema de Deutsch en una Comptadora Cuática
El Problema de Deutsch en una Comptadora Cuática
 
Computación cuántica
Computación cuánticaComputación cuántica
Computación cuántica
 
Computacincuntica
ComputacincunticaComputacincuntica
Computacincuntica
 
Computación cuántica
Computación cuánticaComputación cuántica
Computación cuántica
 
Mafia
MafiaMafia
Mafia
 
Cuantica
CuanticaCuantica
Cuantica
 
Computación Cuántica
Computación Cuántica Computación Cuántica
Computación Cuántica
 
Historia de la computación cuántica
Historia de la computación cuánticaHistoria de la computación cuántica
Historia de la computación cuántica
 
Computación cuántica luis
Computación cuántica luisComputación cuántica luis
Computación cuántica luis
 
Informatica cuantica
Informatica cuanticaInformatica cuantica
Informatica cuantica
 
Bit cuantico
Bit cuanticoBit cuantico
Bit cuantico
 
Informatica cuántica
Informatica cuánticaInformatica cuántica
Informatica cuántica
 
Taller
TallerTaller
Taller
 
Computadoras cuanticas 1
Computadoras cuanticas 1Computadoras cuanticas 1
Computadoras cuanticas 1
 
La MecáNica CuáNtica
La MecáNica CuáNticaLa MecáNica CuáNtica
La MecáNica CuáNtica
 
UNAMAD: CIRCUITOS Y MAQUINAS ELECTRICAS: 1 i@402 clase_02may13
UNAMAD: CIRCUITOS Y MAQUINAS ELECTRICAS: 1 i@402 clase_02may13UNAMAD: CIRCUITOS Y MAQUINAS ELECTRICAS: 1 i@402 clase_02may13
UNAMAD: CIRCUITOS Y MAQUINAS ELECTRICAS: 1 i@402 clase_02may13
 
Computacion y croptografia cuantica
Computacion y croptografia cuanticaComputacion y croptografia cuantica
Computacion y croptografia cuantica
 

Último

TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Festibity
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 

Último (14)

TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 

Computación Cuántica

  • 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