Las tecnologías que cambiarán el futuro Jesús del Río Rodríguez (e7614717@est.fib.upc.es) Seminarios de CASO
Tendencias Computación distribuida Paralelismo masivo Computación cuántica Biocomputación Sistemas hardware reconfigurables Nuevas técnicas de programación Algoritmos autoevolutivos Algoritmos genéticos
Computación cuántica I Usamos qubits La unidad básica de información no está en uno de dos estados (0, 1) si no en una combinación lineal de ellos a|0 > +b|1 > (Estado de un qubit) Dimensionalidad + superposición = Paralelismo cuántico Dimensionalidad: 2n (n: número de qubits)
Computación cuántica II Un grupo de varios qubits NO puede describirse atendiendo sólo a los qubits individuales El todo es más que la suma de las partes Estados entrelazados (entangled) Ejemplo: Describir |00 > +|11 > en términos de cada uno de los qubits de forma separada. (a0|0 > +a1|1 >) (b0|0 > +b1|1 > ) = |00 > +|11>
Curiosidades Teleportación de qubits Creación de puertas lógicas Transmisión SEGURA de datos Factorización de números Búsqueda de datos
Distribución de claves Idea básica: Si algo se mide, queda afectado El cliente envía una secuencia de qubits con una base aleatoria El banco lo recibe y lo mide usando una base cualesquiera (elegida aleatoriamente) El cliente envía la base al banco, y éste usa los que coinciden y descarta los demás. La tasa de error es del 50%. Si el jeiker mira lo que se transmite, lo hace el 50% de las veces mal => Modifica los qubits. Se detecta mediante paridad.
MAC es fácil :P P QP Una máquina de Turing sufre una penalización exponencial al emular una máquina de Turing cuántica Unsorted search: Clásicamente O(N) Cuánticamente O(N1/2) Nuevas clasificaciones de complejidad
Factorización de números Algoritmo diseñado por Peter W. Shor Resuelve en tiempo polinómico un problema NP completo Clásicamente: exp(c(log n)1/3 (log log n)2/3) Cuánticamente O((log n)2 (log log n) (log log log n))
Bibliografía An introduction to Quantum Computing for Non-Physicists (quant-ph/9809016) Shor: quant-ph/9508027 http://www.research.att.com/~shor/papers/index.html Encriptación cuántica: http://www.qubit.org/intros/cryptana.html http://www.sees.bangor.ac.uk/~schmuel/comp/comp.html
Evolución artificial No podemos entenderlo todo, así que dejemos a la “naturaleza” hacer el trabajo duro. Podemos explotar la física del mundo real, cosa que no podemos realizar en simulaciones.
Evolución artificial II Los algoritmos genéticos se basan en la capacidad de poder “sobrevivir” en un sistema complejo, interactuando con sus vecinos. A través de las generaciones, los algoritmos mejor adaptados son los que sobreviven, llegando incluso a crear relaciones tan complejas como las reales.
Evolución Artificial III Los algoritmos genéticos se usan en sistemas muy cambiantes, ya que se “adaptan” mejor a las exigencias. También podemos asociarlos con redes neuronales, creando sistemas de vida artificial “pensantes”.
Hardware reconfigurable FPGA Sistemas de propósito general cuya arquitectura puede ser modificada mediante programación. Se basan en bloques lógicos predefinidos, que pueden ser interconectados de infinitas maneras.
Hardware reconfigurable II El rendimiento es muy elevado Cifrado Rijndael (Encr / decr) ANSI C: 27Mb/s – 27Mb/s Visual C++: 70.5Mb/s – 70.5Mb/s FPGA: 268Mb/s – 248Mb/s Podemos usar la plataforma para otros proyectos. Visión por ordenador, reconocimiento...
Sistemas adaptativos ¿Qué pasaría si implementamos algoritmos genéticos sobre FPGA’s? Adrian Thompson desarrolló un algoritmo para reconocer tonos de 1Khz y 10Khz. Al implementarlo, comenzó a suministrar ráfagas de dichas frecuencias. Al cabo de unas 5000 generaciones (2 semanas), el sistema fue capaz de distinguir entre los dos tonos. Todavía no se sabe exactamente como funciona el circuito.
El futuro La computación cuántica proporcionara una potencia nunca antes soñada por la humanidad. Los sistemas reconfigurables, junto a la potencia de los algoritmos genéticos, abrirá la puerta a la vida artificial. ¿Inteligencia artificial? Quizá en unos años... ¿Y consciencia?
Bibliografía www.google.com (o similares :P) www.vcc.com “Algoritmos genéticos” “Evolvable hardware” www.vcc.com