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 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.
Página siguiente |