• No se han encontrado resultados

Diseño y simulación de un procesador cuántico

N/A
N/A
Protected

Academic year: 2021

Share "Diseño y simulación de un procesador cuántico"

Copied!
43
0
0

Texto completo

(1)

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

(2)

1

(3)

Información cuántica

Física clásica

Física cuántica

Mini atu riz ació n

El ¿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

(4)

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

(5)

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

(6)

Computación Criptografía Teleportación

Cuánticas

Información cuántica

Ramas

Computaciones más rápidas

Enví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

(7)

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

(8)

2

Computación cuántica

|𝟎

(9)

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álido

Paralelismo

cuántico

(10)

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

𝑈†𝑈 = 𝑈𝑈† = 𝐼

(11)

Las puertas cuánticas

𝑋|0 = |1 𝑋|1 = |0 𝑌|0 = 𝑖|1 𝑌|1 = −𝑖|0 𝑍|0 = |0 𝑍|1 = −|1

Puertas 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

(12)

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

(13)

Los sistemas multiqubit

|Ψ |Φ Combinados |Ψ ⨂|Φ , o simplemente |ΨΦ Dos qubits 𝛼 00 + β 01 + 𝛾 10 + 𝛿 11 Tres qubits 𝛼 000 + β 001 + 𝛾 010 + 𝛿 011 +… 𝟐𝒏ú𝒎𝒆𝒓𝒐 𝒅𝒆 𝒒𝒖𝒃𝒊𝒕𝒔 Grados de libertad

Computación cuántica

(14)

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

(15)

3

(16)

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

(17)

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

(18)

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

(19)

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 { } |𝑒𝑛𝑡𝑟𝑎𝑑𝑎 |𝑠𝑎𝑙𝑖𝑑𝑎

(20)

Simulación

Motor de simulación de hardware

Respuesta Device Estímulo Reloj D1 D2 D3 D4 D5 D6 1º (Síncronos) 2º 3º

(21)

4

(22)

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

(23)

Arquitectura qMIPS

(24)

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

(25)

Arquitectura qMIPS

(26)

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

(27)

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

(28)

5

(29)

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

(30)

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

(31)

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 Q1

(32)

El 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

(33)

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

(34)

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

(35)

6

(36)

El algoritmo de Grover

El algoritmo de búsqueda

(37)

7

(38)

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

(39)
(40)

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

(41)

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

(42)

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

(43)

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

Referencias

Documento similar