Diseño y simulación de un
procesador cuántico
Jaime Mª Coello de Portugal Vázquez Ingeniería Informática
Proyecto Informático
Dirigido por José Luis Guisado Lizar
1
Información cuántica
Física clásica
Física cuántica
Mini atu riz ació nEl ¿límite? en la miniaturización
Partículas bien definidas
Sistemas fácilmente observables Estados robustos
¿Partícula u onda? Estados extremadamente frágiles
Observar un sistema lo modifica Posición y velocidad
Información cuántica
Energía
Física clásica
Física cuántica
Partícula
Es imposible que la partícula supere la barrera
Partícula
La partícula tiene una cierta
probabilidad de superar la barrera
El efecto túnel
Efecto túnel
Richard Feynman
Información cuántica
Inicios
Los computadores son incapaces de imitar a la física cuántica eficientemente
Si fabricamos un ordenador que utilice la física cuántica podrá imitarla con facilidad
Los computadores cuánticos serán superiores
Computación Criptografía Teleportación
Cuánticas
Información cuántica
Ramas
Computaciones más rápidasEnvío rápido de información Mensajes totalmente seguros
Superposición de estados cuánticos Entrelazamiento cuántico Colapso de la función de onda
Información cuántica
El procesador clásico-cuántico
Computador clásico
Computador cuántico
Muy general
Muy lento en algunos casos Fácil de construir y manejar
Muy específico
Muy rápido en algunos casos Difícil de construir y manejar
Computador clásico-cuántico
2
Computación cuántica
|𝟎
Computación cuántica
El qubit
Quantum bit o qubit Dos dimensiones complejas El más simple de los espacios de estados | 0 | 1 Base 𝛼|0 + β|1 Estados 𝛼 𝛽 Base computacional 1 2 |0 + 1 2 |1 Es un estado válidoParalelismo
cuántico
Las puertas cuánticas
Puerta clásica: inversor lógico Puerta cuántica: X
0 1
1 0
𝑋|0 = |1
𝑋|1 = |0
|Ψ(𝑡1) 𝑈(𝑡1, 𝑡2) |Ψ(𝑡2)
Sistema cuántico cerrado
𝑈†𝑈 = 𝑈𝑈† = 𝐼
Las puertas cuánticas
𝑋|0 = |1 𝑋|1 = |0 𝑌|0 = 𝑖|1 𝑌|1 = −𝑖|0 𝑍|0 = |0 𝑍|1 = −|1Puertas de Pauli Cambio de fase 𝑃(𝛼)|0 = |0 𝑃(𝛼)|1 = 𝑒𝑖𝛼|1 Puerta de Hadamard 𝐻|0 = 1 2|0 + 1 2|1 𝐻|1 = 1 2|0 − 1 2|1 𝑋 𝐻|1 = 𝑋 1 2|0 − 1 2|1 = 1 2𝑋|0 − 1 2𝑋|1 Paralelismo cuántico
Computación cuántica
Los postulados de la mecánica cuántica
Las medidas
El sistema deja de ser cerrado
1 2|0 − 3 2 |1 |0 |1 Medida |0 |1 |0 |1 Medida 𝑐𝑜𝑛 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 1 2 2 = 1 4 𝑐𝑜𝑛 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑 − 3 2 2 = 3 4
Los sistemas multiqubit
|Ψ |Φ Combinados |Ψ ⨂|Φ , o simplemente |ΨΦ Dos qubits 𝛼 00 + β 01 + 𝛾 10 + 𝛿 11 Tres qubits 𝛼 000 + β 001 + 𝛾 010 + 𝛿 011 +… 𝟐𝒏ú𝒎𝒆𝒓𝒐 𝒅𝒆 𝒒𝒖𝒃𝒊𝒕𝒔 Grados de libertadComputación cuántica
Los circuitos cuánticos
Qubit Puerta cuántica X H Y Medida |𝑐 |𝑡 Puertas controladas=
|𝑐 |𝑡 X X |0 |0 |0 |1 X |1 |1 Tiempo 𝐶𝑁𝑂𝑇 |𝑐𝑡 = 𝑠𝑖(|𝑐 = 1) → 𝑋|𝑡Computación cuántica
3
Simulación de estados cuánticos Simulación de hardware Simulación de circuitos
cuánticos
Simulación del procesador
clásico-cuántico
Qubit101 qMIPS
Simulación
Simulación
Motor de simulación de estados cuánticos
𝛼 00 + β 01 + 𝛾 10 + 𝛿 11 00 → 𝛼 , 01 → 𝛽 , 10 → 𝛾 , 11 → 𝛿 1 2|000 + 1 2|101 000 → 1 2 , 101 → 1 2
Simulación
Motor de simulación de estados cuánticos
Puerta P sobre qubit q del estado |Ψ 𝑋 0, 000 → 1 → 100 → 1 Subrutina P(q, Ψ) 𝑋 2, 100 → 1 → 101 → 1
Simulación
Motor de simulación de circuitos
H
H
H
Array{ Etapa 0 Etapa 1 Etapa 2 Etapa 3 }
Circuito = Etapa = H H Puerta 0 Puerta 1 Array { } |𝑒𝑛𝑡𝑟𝑎𝑑𝑎 |𝑠𝑎𝑙𝑖𝑑𝑎
Simulación
Motor de simulación de hardware
Respuesta Device Estímulo Reloj D1 D2 D3 D4 D5 D6 1º (Síncronos) 2º 3º
4
Arquitectura qMIPS
La arquitectura MIPS
Arquitectura RISC estricta: Reduced Instruction Set Computing
Ejecución en cinco fases:
• IF: Instruction Fetch
• ID: Instruction Decode
• EXE: Execution
• MEM: Memory
• WB: Write Back
Arquitectura qMIPS
Arquitectura qMIPS
La unidad de control
Quantum functional unit
IF ID MAC EXE BC JC IMM MAR MAW MRC REW RC JAL JRF JRC MFHI QT QEX QMEA
Arquitectura qMIPS
Arquitectura qMIPS
Las instrucciones clásicas
Instrucción Resumen
add Rd, Rs, Rt Rd <- Rs + Rt (con desbordamiento) addu Rd, Rs, Rt Rd <- Rs + Rt (sin desbordamiento) sub Rd, Rs, Rt Rd <- Rs - Rt (con desbordamiento) subu Rd, Rs, Rt Rd <- Rs - Rt (sin desbordamiento)
mult Rd, Rs, Rt Rd <- Rs x Rt(bajos); RHigh <- Rs x Rt (altos) div Rd, Rs, Rt Rd <- Rs / Rt(entera); RHigh <- Rs / Rt (resto) divu Rd, Rs, Rt Rd <- Rs / Rt(entera); RHigh <- Rs / Rt (resto) and Rd, Rs, Rt Rd <- Rs AND Rt
or Rd, Rs, Rt Rd <- Rs OR Rt xor Rd, Rs, Rt Rd <- Rs XOR Rt nor Rd, Rs, Rt Rd <- Rs NOR Rt
slt Rd, Rs, Rt Rd <- 1 si Rs > Rt; sino Rd <- 0 addi Rd, Rs, C Rd <- Rs + C (con desbordamiento) lw Rd, C(Rs) Rd <- mem[Rs + C] sw C(Rd), Rs mem[Rd + C] <- Rs jr Rs PC <- Rs j C (o etiqueta) PC <- C jal C (o etiqueta) R31 <- PC + 4; PC <- C beq Rs, Rt, C (o etiqueta) PC <- PC + C si Rs = Rt bne Rs, Rt, C (o etiqueta) PC <- PC + C si Rs ≠ Rt trap C Excepcion C mfhi Rs Rs <- RHigh
Arquitectura qMIPS
Las instrucciones cuánticas
Instrucción Resumen Puerta
qhad Qt, Qc Puerta de Hadamard.
qx Qt, Qc Puerta X de Pauli. Inversor. qy Qt, Qc Puerta Y de Pauli.
qz Qt, Qc Puerta Z de Pauli. qphs Qt, Qc, Rs Puerta P(2𝜋𝑖/2𝑅𝑠) qnph Qt, Qc, Rs Puerta P(−2𝜋𝑖/2𝑅𝑠)
qmea Qt, Rs, S Rs <- Medida(Qt) desplazado Rs a la izquierda
qrst Rs Registro cuántico <- Rs -
Instrucción Resumen
qoff Desplazamiento de etiquetas qcnt Selector de qubit de control
5
El algoritmo de Deutsch
El problema de Deutsch
Las cuatro funciones binarias de un bit
𝐶𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑎 0: 𝑓 𝑥 = 0 𝐶𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑎 1: 𝑓 𝑥 = 1
𝐼𝑑𝑒𝑛𝑡𝑖𝑑𝑎𝑑: 𝑓 𝑥 = 𝑥 𝑁𝑒𝑔𝑎𝑐𝑖ó𝑛: 𝑓 𝑥 = 𝑥
Constantes
Equilibradas
“Dado un oráculo (o caja negra) que ejecuta una de las cuatro funciones binarias de un bit, decidir si esta es
El algoritmo de Deutsch
Un intento clásico
Se llama al oráculo mandándole un 0 como entrada. Se obtiene una respuesta f(0) = a
Como necesitamos más información llamamos al oráculo mandándole un 1
Se obtiene una respuesta f(1) = b
Si a = b la función es constante y si a ≠ b la función es equilibrada
Son necesarias 2 llamadas al oráculo
El algoritmo de Deutsch
Primer paso
H |1 |0 Q0: Q1: H 1 2 |0 + |1 1 2 |0 − |1 𝑋 1 2 |0 − |1 = 1 2 𝑋|0 − 𝑋|1 = − 1 2 |0 − |1 1 2 |0 + |1 1 2 |0 − |1 Q0 Q1El algoritmo de Deutsch
Segundo paso: el oráculo
Oráculo
𝑥 𝑥
𝑦 𝑓 𝑥 ⊕ 𝑦
Constante a 0 Constante a 1 Identidad Negación
“Si f(Q0)=1 entonces niega Q1”
𝑓 1 2|0 |0 − |1 + 𝑓 1 2|1 |0 − |1 = 1 2(−1)𝑓(0)|0 |0 − |1 + 1 2(−1)𝑓(1)|1 |0 − |1 Q0 Q1 Q0 Q1
El algoritmo de Deutsch
Tercer paso: interferencia
± 1 2 |0 + |1 1 2 |0 − |1 𝑠𝑖 𝑓 0 = 𝑓(1) ± 1 2 |0 − |1 1 2 |0 − |1 𝑠𝑖 𝑓 0 ≠ 𝑓(1) ± |0 1 2 |0 − |1 𝑠𝑖 𝑓 0 = 𝑓(1) ± |1 1 2 |0 − |1 𝑠𝑖 𝑓 0 ≠ 𝑓(1) H
El algoritmo de Deutsch
Último paso: medida
± |0 1
2 |0 − |1 𝑠𝑖 𝑓 0 = 𝑓(1) ± |1 1
2 |0 − |1 𝑠𝑖 𝑓 0 ≠ 𝑓(1)
0 si el oráculo es constante 1 si el oráculo es equilibrado
6
El algoritmo de Grover
El algoritmo de búsqueda
7
Conclusiones
qMIPS
• Simulación de una arquitectura clásico-cuántica
• Versatilidad a la hora de programar
• Experimentación de la implementación física de los algoritmos
• Herramienta didáctica sobre computación cuántica
Qubit101
• Simulación de circuitos cuánticos• Facilidad para construir circuitos de alta complejidad
• Muy eficiente
Información cuántica
¿Por qué un límite?
Superposición de estados cuánticos Entrelazamiento cuántico Colapso de la función de onda Paralelismo cuántico Envío más rápido de información Comunicaciones totalmente seguras
Los postulados de la mecánica cuántica
Primer postulado: el espacio de estados
Bases
Estado
Espacio de estados
Espacio vectorial complejo
Producto interno definido (espacio de Hilbert)
El vector de estado define completamente el sistema
|Ψ
Estado arbitrario
| 𝑛 𝑙 𝑚𝑙 𝑚𝑠
Electrón orbitando un núcleo
| 0 2 1 4
Los postulados de la mecánica cuántica
Segundo postulado: la evolución de los estados
|Ψ(𝑡1) 𝑈(𝑡1, 𝑡2) |Ψ(𝑡2)
Podemos hacer evolucionar los estados a voluntad
Sistema cuántico cerrado
𝑈†𝑈 = 𝑈𝑈† = 𝐼
Si 𝑈†𝑈 = 𝑈𝑈† = 𝐼 → 𝑈−1 = 𝑈†
Siempre existe operador inverso
Las computaciones tienen que ser reversibles
Arquitectura qMIPS
Las instrucciones cuánticas de control
qoff Rs si Rs = 7
qcnt Rs si Rs = 5 Todas las puertas siguientes controladas por Q5