Diseño y simulación de un procesador cuánticopersonal.us.es/jlguisado/archs_aux/Presentacion PFC...

Post on 04-Feb-2018

240 views 3 download

Transcript of Diseño y simulación de un procesador cuánticopersonal.us.es/jlguisado/archs_aux/Presentacion PFC...

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

Jaime Mª Coello de Portugal Vázquez

Ingeniería Informática

1

Proyecto Informático

Dirigido por José Luis Guisado Lizar

3 de Julio de 2013

1 Información cuántica

2

Información cuántica

Física clásica

Física cuántica

Min

iaturizació

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

Probabilidad

3

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

4

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

5

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

6

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

7

2 Computación cuántica

8

|𝟎

|𝟏

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

9

Las puertas cuánticas

Puerta clásica: inversor lógico Puerta cuántica: X

0 1

1 0

𝑋|0 = |1

𝑋|1 = |0

|Ψ(𝑡1) |Ψ(𝑡2) 𝑈(𝑡1, 𝑡2)

Sistema cuántico cerrado

𝑈†𝑈 = 𝑈𝑈† = 𝐼

Computación cuántica

10

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

11

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

La función de onda colapsa

12

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

13

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

14

3 Simulación

15

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 Los simuladores

16

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

17

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

18

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

{ }

|𝑒𝑛𝑡𝑟𝑎𝑑𝑎 |𝑠𝑎𝑙𝑖𝑑𝑎

19

Simulación Motor de simulación de hardware

Respuesta Device Estímulo

Reloj

D1

D2

D3

D4

D5

D6

1º (Síncronos) 2º 3º

20

4 Arquitectura qMIPS

21

Arquitectura qMIPS La arquitectura MIPS

22

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 sencilla y didáctica

Arquitectura qMIPS Arquitectura simulada

23

Arquitectura qMIPS La unidad de control

Quantum functional unit

IF ID

MAC EXE BC

JC

IMM

MAR MAW

MRC

REW RC

JALJRF

JRC

MFHI

QT QEX QMEA

24

Arquitectura qMIPS La unidad funcional cuántica

25

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

26

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 -

27

Instrucción Resumen

qoff Desplazamiento de etiquetas

qcnt Selector de qubit de control

5 El algoritmo de Deutsch

28

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

constante o equilibrada”

29

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 cuántico lo consigue con tan solo una llamada

30

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

31

Q0 Q1

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”

32

𝑓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

33

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

Con tan solo una llamada al oráculo

34

6 El algoritmo de Grover

35

El algoritmo de Grover El algoritmo de búsqueda

Encuentra un dato en una lista desordenada en un tiempo 𝑶( 𝑵)

36

7 Conclusiones

37

Conclusiones

38

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 • Banco de desarrollo y pruebas de algoritmos cuánticos

39

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

40

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

Representación número de partículas

41

Los postulados de la mecánica cuántica Segundo postulado: la evolución de los estados

|Ψ(𝑡1) |Ψ(𝑡2) 𝑈(𝑡1, 𝑡2)

Podemos hacer evolucionar los estados a voluntad

Sistema cuántico cerrado

𝑈†𝑈 = 𝑈𝑈† = 𝐼

Si 𝑈†𝑈 = 𝑈𝑈† = 𝐼 → 𝑈−1 = 𝑈† Siempre existe operador inverso

Las computaciones tienen que ser reversibles

42

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

43