Introducción a la Computación Cuántica Salvador Elías Venegas Andraca sva@{mindsofmexico.org, bermasolar.com} [email protected] http://www.mindsofmexico.org/sva ¿Qué es la computación cuántica? + Computadoras Física cuántica Bueno, pero… ¿Qué es la computación? ¿Qué es la física cuántica? (siguientes hojas) Teoría de la computación - Autómatas - Computabilidad - Complejidad - Alan Turing Física cuántica Estudia las cosas que son muy, pero muy pequeñas… ¿Qué tan pequeñas? Aproximadamente 10-10 metros (átomo de hidrógeno) Erwin Schrödinger Albert Einstein Werner Heisenberg Y, ¿para qué sirve la computación cuántica? (1/2) Para aumentar la capacidad de las computadoras en la solución de problemas, empleando las propiedades cuánticas de la materia. Ejemplos: Factorización de números enteros en primos Simulación de sistemas físicos Y, ¿para qué sirve la computación cuántica? (2/2) Para comprender y aprovechar los efectos de la miniaturización a escala atómica/sub-atómica. Ejemplo: Intel. Transistores de 45nm (=45x10-9m) Algo MUY importante sobre computadoras y matemáticas Todas las funcionan de acuerdo a un modelo matemático: La máquina de Turing Máquina Determinística de Turing Un programa para una MDT se compone de: Símbolos de la cinta {S} Estados de la máquina {Q} Función de transición Lo siguiente suena a trabalenguas pero es importante: La máquina universal de Turing (MUT) es una máquina de Turing que puede simular a cualquier máquina de Turing. La teoría de la computación es una rama de la matemática que NO toma en cuenta las propiedades físicas de los sistemas en los que se implantan algoritmos. ¿Es esto importante? Sí, es importante tomar en cuenta dichas propiedades físicas. Algunas razones son: 1. Gasto energético (conjunto universal de compuertas) OR AND NOT Las primeras dos compuertas tienen dos bits de entrada y uno de salida. Al procesar información con estas dos compuertas es necesario borrar un bit. De acuerdo al principio de Landauer, borrar información implica un gasto energético: Principio de Landauer. Suponga que una computadora borra un bit de información. La cantidad de energía disipada en el medio ambiente es al menos igual a KTln2, donde K es la constante de Boltzmann y T es la temperatura de la computadora. Parte del calor que emite una computadora se debe al acto de borrar información. 2. Ley de Moore La complejidad de un circuito integrado se duplica cada 18-24 meses y los costos se mantienen La complejidad de un circuito integrado es directamente proporcional al número de transistores en dicho circuito. Por eso, el tamaño de los transistores decrece constantemente. En algunos años, el tamaño de transistores alcanzará escalas atómicas. 3. Simulación de sistemas físicos Richard Feynman, uno de los padres de la computación cuántica, se preguntó si el uso de sistemas cuánticos para simular otros sistemas cuánticos permitiría reducir la complejidad algorítmica de este proceso. Richard Feynman ¿Es posible crear computadoras que: 1) no gasten energía innecesariamente, 2) tomen en cuenta los efectos de la miniaturización, y 3) puedan simular sistemas cuánticos? Sí, es posible. Computación cuántica = modelo reversible de computación + mecánica cuántica Modelo de computación reversible (1/5) Compuerta reversible. Una compuerta es reversible si y sólo si después de ejecutar el paso ei+1 es posible calcular, de nueva cuenta, el paso ei. Modelo de computación reversible. Modelo matemático creado para la ejecución de algoritmos utilizando compuertas reversibles. Modelo de computación reversible (2/5) Ejemplo de compuerta reversible: compuerta de Toffoli X1 X2 X3 X1 T X2 F= X3 XOR (X1 AND X2) Modelo de computación reversible (3/5) Tabla de verdad de la compuerta de Toffoli Entrada X1 0 0 0 0 1 1 1 1 X2 0 0 1 1 0 0 1 1 Salida X3 X1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 X2 0 0 1 1 0 0 1 1 F 0 1 0 1 0 1 1 0 Modelo de computación reversible (4/5) La compuerta de Toffoli es universal, esto es, para cualquier función computable f(X1, X2, …, Xn) existe un circuito M creado sólo con compuertas de Toffoli tal que M calcula el valor de f para cualquier combinación de variables X1, X2, …, Xn. Modelo de computación reversible (5/5) El modelo de computación reversible evita el gasto energético previsto por la ley de Landauer. Bits vs Qubits Bit Qubit æq ö æq ö y = cosç ÷ 0 + eif senç ÷ 1 è2ø è2ø {0,1} Fuente: MIT Transistor Superconducting Josephson qubit Breve introducción a la mecánica cuántica (1/2) Primus inter pares: definición de qubit. La estructura matemática-física de un bit es simple: basta con definir dos valores (por ejemplo, 0 y 1) y relacionar dichos valores con dos distintos resultados de la medición de un sistema físico clásico. Ejemplo tradicional: la diferencia de potencial entre el emisor y el colector de un transistor bipolar. Si la diferencia de potencial entre E y C es menor que 0.5V entonces se registra un ‘0’ lógico. Si la diferencia de potencial entre E y C es mayor que 4.5V entonces se registra un ‘1’ lógico. Breve introducción a la mecánica cuántica (2/2) Primus inter pares: definición de qubit. La contraparte cuántica del bit es el qubit. Un qubit es un sistema cuántico con al menos dos estados distinguibles y es la unidad básica de almacenamiento y procesamiento de información. Un electrón (spin up – spin down) Un fotón (polarización vertical-horizontal) Un procesador (casi)cuántico Dwave Systems ¿Existe una versión cuántica de la máquina de Turing? Sí. David Deutsch: 1) Propuso una máquina universal de Turing cuántica. 2) Propuso el principio de Church-Turing: Every finitely realizable physical system can be perfectly simulated by a universal model computing machine operating by finite means Algunos logros en computación cuántica (1/4) 1. Algoritmos cuánticos •Algoritmo de Shor: factorización de números primos en tiempo polinomial •Algoritmo de Grover: Localización de un elemento en un conjunto desordenado en O(sqrt(n)) (el mejor algoritmo clásico tarda O(n)). •Algoritmos de búsqueda en conjuntos desordenados, basados en caminatas cuánticas. Algunos logros en computación cuántica (2/4) 2. Criptografía cuántica •Decodificación de sistemas criptográficos en tiempo polinomial. •Detección de espías (eavesdropper) utilizando las propiedades de la mecánica cuántica (medición de estados cuánticos). Algunos logros en computación cuántica (3/4) ¿Productos comerciales? •Sistemas comerciales de criptografía y redes cuánticas: IdQuantique http://www.idquantique.com/ (Suiza) SmartQuantum http://www.smartquantum.com (Francia) Algunos logros en computación cuántica (4/4) ¿Experimentos a gran escala? •DARPA Quantum Network. Red de 6 nodos que conecta a las universidades de Harvard y Boston. La red transmitió información a través de fibras ópticas y lo hizo utilizando protocolos puramente cuánticos. •Transmisión de información cuántica (fotones) a largas distancias. Laboratorio Anton Zeilinger, universidad de Viena, Austria. •Quantum City Project: instalación de una red municipal con criptografía cuántica en Durban, Sudáfrica. Universidad de Kwazulu-Natal y SmartQuantum. ¿En qué podemos usar una computadora cuántica? Cuatro ejemplos Biología molecular, genómica, proteómica y bioinformática Segmentación y reconocimiento de imágenes Oh, Lenna, dear Lenna… http://computervision.wikia.com/wiki/Lenna Energía renovable Comunicaciones cuánticas Fibra óptica ¿Para qué queremos hacer computación cuántica en México? Para que ustedes, yo, nuestros hijos, todo México, vivamos así: En vez de tener este destino miserable Muchas gracias