Algoritmos Quânticos - PPGINF-UCPel >> Mestrado em Ciência da

Algoritmos Quânticos
Renato Portugal,
Carlos Magno M. Cosme,
Demerson N. Gonçalves
Laboratório Nacional de Computação Cientı́fica - LNCC
Ministério da Ciência e Tecnologia - MCT
WECIQ2006 – p.1/46
Resumo
•
•
•
•
•
•
•
•
•
Transformada de Fourier Quântica
Algoritmo de Shor
Cálculo da Fase de um Autovalor
Algoritmo de Kitaev
Algoritmo de Watrous e Decomposição de Grupos
Abelianos
Problema do Subgrupo Escondido
Problema do Isomorfismo de Grafos
Algoritmo de Grover
Algoritmos de Busca via Caminhos Quânticos
WECIQ2006 – p.2/46
Fı́sica Quântica
WECIQ2006 – p.3/46
Transformada de Fourier Quântica
A transformada de Fourier de uma função
F : {0, . . . , N − 1} → C é uma nova função dada por
1
F̃ (j) = √
N
N
−1
X
jk
ωN
F (k),
(1)
k=0
onde
ωN = e
2πi
N
.
(2)
Transformada de Fourier de um ket
N −1
1 X jk
|ψj i ≡ TFN (|ji) = √
ω |ki
N k=0
(3)
WECIQ2006 – p.4/46
TF4 (|0i) = (|0i + |1i + |2i + |3i)/2
TF4 (|0i) = (|0i + i|1i − |2i − i|3i)/2
TF4 (|0i) = (|0i − |1i + |2i − |3i)/2
TF4 (|0i) = (|0i − i|1i − |2i + i|3i)/2

1
1
1
1





1
i
−1
−i


1
 |ji
TF4 (|ji) = 
2  1 −1 1 −1 



1 −i −1 i
WECIQ2006 – p.5/46
É um fato notável que TFN (|ji) pode ser fatorada (se
N = 2n ):
TFN (|ji) =
2πi 2j
|0i + e
√
2
|1i
!
2πi 2j2
|0i + e
√
⊗
2
|1i
!
2πi 2jn
|0i + e
√
⊗. . .⊗
2
|1i
!
WECIQ2006 – p.6/46
.
TF(|0i) =
TF(|1i) =
TF(|2i) =
TF(|3i) =
|0i + |1i
|0i + |1i
√
√
⊗
2
2
|0i + i |1i
|0i − |1i
√
√
⊗
2
2
|0i − |1i
|0i + |1i
√
√
⊗
2
2
|0i − i |1i
|0i − |1i
√
√
⊗
.
2
2
WECIQ2006 – p.7/46
E
j 1
E
j 2
E
j 3
E
j 4
×
H R(2) R(3) R(4)
•
×
H R(2) R(3)
•
•
H R(2)
•
•
•
×
H ×
j
2πi 2
|0i+e
√
2
|1i
j
2πi 2
2
|0i+e
|1i
j
2πi 3
2
|0i+e
|1i
j
2πi 4
2
|0i+e
|1i
√
2
√
2
√
2
Figura 1: Transformada de Fourier sobre 4 qubits.
R
(k)
=
"
1
0 e
0
2πi
2k
#
.
WECIQ2006 – p.8/46
E
j 1
E
j 2
..
.
E
j n
TFN
2πi
e
2πi
e
0.jn
E
0.jn−1 jn
..
.
2πi
e
0.j1 ···jn
E
E
Figura 2: Circuito compacto da transformada de Fourier.
2πi
e
E
E
E 0 + e2πi 0.jn 1
0.jn
√
=
2
WECIQ2006 – p.9/46
Algoritmo de Shor
Problema: achar eficientemente um fator de um número
composto N .
Fatoração e ordem de um número inteiro x módulo N .
Def.: A ordem de x é o menor inteiro r tal que xr ≡ 1
mod N
Teorema: Se r for par, então (xr/2 ± 1) contém fatores
comuns com N .
Exemplo: N = 21 e x = 2 −→ 26 ≡ 1 mod 21.
Então 23 ± 1 tem fatores de N = 21.
De fato, 23 + 1 = 9 fator 3 e 23 − 1 = 7 fator 7.
WECIQ2006 – p.10/46
Algoritmo de Shor
• Escolha aleatoriamente um número x menor que N .
• Ache a ordem de x módulo N .
• Se a ordem não for par, o processo recomeça.
Como se acha a ordem de x classicamente?
Calculamos x1 , x2 , x3 , · · · em sequência.
Esse algoritmo tem complexidade O(N ).
No computador quântico, usamos o paralelismo quântico.
WECIQ2006 – p.11/46
2◦ reg.
n qbits
{
{
|0i
H
1◦ reg.
n0 qbits
|0i
H
placements
Circuito do Algoritmo de Shor
TF†2n0
Vx
|0i
|0i
|ψ0 i
|ψ1 i
|ψ2 i
|ψ3 i
|ψ4 i |ψ5 i
WECIQ2006 – p.12/46
Algoritmo Quântico
O estado inicial é
|ψ0 i = |0 . . . 0i |0 . . . 0i .
| {z } | {z }
n
n
Aplique H n no 1◦ registrador (N ≤ 2n ):
1
|ψ1 i = √
2n
n
−1
2X
j=0
|ji |0i
Vx é definido por
j
Vx |ji |0i = |ji x .
0
1
2
1
Vx |ψ1 i = √
|0i x + |1i x + |2i x + · · ·
n
2
WECIQ2006 – p.13/46
Aplicamos Vx em |ψ1 i:
|ψ2 i = Vx |ψ1 i
1
= √
2n
1
= √
2n
n
2X
−1
j=0
n
2X
−1
j=0
Vx (|ji |0i)
j
|ji x .
Veja os kets múltiplos de r no 1◦ reg.:
n
2
− 1 r |1i .
|0i |1i , |ri |1i , |2ri |1i , · · · , r
WECIQ2006 – p.14/46
|ψ2 i pode ser escrito como:

 2n
−1
r−1
r
E
X
X
1
b


√
|ψ2 i =
|ar + bi x .
n
2 b=0 a=0
Medindo o 2◦ registrador:
|ψ3 i =
r

 2n
−1
r
E
X
r 
b0

|ar
+
b
i
.
x
0
n
2
a=0
WECIQ2006 – p.15/46
placements
Distribuição de probabilidades
{
r
r
2n
0
b0
Figura 3:
r + b0
2r + b0
Termos de |ψ3 i
3r + b0
(1◦ registrador)
Distribuição de probabilidades de |ψ3 i para o caso
b0 = 3 and r = 8.
WECIQ2006 – p.16/46
|ψ4 i = TF†2n (|ψ3 i)


n
r 2rn −1
2 −1
r X  1 X −j(ar+b0 )  b0 E
√
ω
|ji x
=
n
n
2
2
a=0

j=0
n

2n
−1
r


2 −1
1  X  r X −jr a  jb0  b0 E
= √
(ω ) ω |ji x
n
2
r
1
= √
r
r−1
X
k=0
−1
(ω
a=0
a=0
n ! E
b0
−2πi kr b0 k2
e
x
r
−jr a
) =
r
2n
2n
r
j=0
1 se jr é um múltiplo de 2n
0 caso contrário,
(4)
WECIQ2006 – p.17/46
placements
Distribuição de probabilidades
{
2n
r
4 2n 1
r r
0
2n
r
Figura 4:
2 2n
r
3 2n
r
Termos de |ψ4 i
(1◦ registrador)
Distribuição de probabilidades de |ψ4 i O número de
picos é r e o perı́odo é 2n /r.
WECIQ2006 – p.18/46
PSfrag replacements
0.15
0.1
0.05
0
0
50
100
150
200
250
300
350
400
450
500
j
Figura 5:
Gráfico da distribuição de probabilidades de |ψ4 i no
caso N = 21 e x = 2. Nesse caso r = 6.
WECIQ2006 – p.19/46
Final do algoritmo
Medir o primeiro registrador.
Dividimos o resultado N para obter j/r, onde 0 ≤ j ≤ r − 1.
Se j e r não tiverem fatores comuns e j 6= 0, teremos r na
primeira tentativa, pois basta tomar o denominador.
Caso contrário, temos que rodar a parte quântica do
algoritmo novamente. Com poucas repetições se chega ao
resultado.
A complexidade é O(n2 )
WECIQ2006 – p.20/46
Cálculo da Fase de um Autovalor
U unitário =⇒ autovalores são da forma e2πiφ , 0 ≤ φ < 1
Suponha U e |ψi conhecidos:
E
•
0
H
E
/n
ψ
Uk
Na representação algébrica:
C(U k )
√1 (|0i + e2πiφk |1i)
2
E
ψ
E
|0i + |1i |0i + e2πiφk |1i E
√
√
=
ψ
ψ .
2
2
WECIQ2006 – p.21/46
Cálculo da Fase - passo intermediário
E
0
E
0
E
0
E
0
E
ψ
H
•
H
•
H
H
/n
•
U2
0
U2
1
U2
2
m−1
√1 (|0i
2
+ e2πiφ2
···
√1 (|0i
2
+ e2πiφ2 |1i)
···
√1 (|0i
2
+ e2πiφ2 |1i)
···
√1 (|0i
2
+ e2πiφ2 |1i)
···
···
•
U2
m−1
|1i)
2
1
0
E
ψ
Figura 6: Primeira parte do circuito para cálculo da fase de um
autovalor.
WECIQ2006 – p.22/46
Cálculo da Fase - circuito completo
E
0
E
0
E
0
E
0
E
ψ
H
···
H
···
•
NM
NM
•
TF†
•
H
H
/n
···
•
U2
NM
NM
···
0
U2
1
···
U2
m−2
U2
m−1
φ1
φ2
φm−1
φm
E
ψ
Figura 7: Circuito completo para cálculo da fase de um autovalor.
WECIQ2006 – p.23/46
Algoritmo de Kitaev
Generalização do algoritmo de Shor para outros grupos.
Seja G um grupo. O algoritmo calcula a ordem r de g , i.e.,
g r = e.
Número de qbits
n = dlog2 |G|e.
A operação básica é:
E E
Uh g = h · g
WECIQ2006 – p.24/46
Note que:
E E
(Uh )k g = hk · g
Para cada g , vamos definir r vetores indexados por
k = 0, 1, · · · , r − 1:
r−1
E
E
X
1
(g)
(ωr )jk g · hj
=√
ψk
r
j=0
Temos que:
E
E
(g)
(g)
Uh ψ k
= (ωr )k ψk
A fase do autovalor é kr .
WECIQ2006 – p.25/46
Problema: Como usar o autovetor no algoritmo de fase?
Solução: Pode-se mostrar que
r−1 E
E
X
1
(g)
g = √
ψk .
r
k=0
Algoritmo de Kitaev:
E
/m
0
E
Fasem (Uh )
/n
g
NM
aproximação para
E
(g)
ψk0
k 0 2m
r
WECIQ2006 – p.26/46
Cálculo detalhado
E E
Fasem (Uh )(0 g ) = Fasem (Uh )
1
√
r
r−1 X
k=0
E
E
(g)
0 ψk
!
r−1
E E
X
1
(g)
= √
Fasem (Uh ) 0 ψk
r
k=0
r−1
E
1 X k k2m E
(g)
= √
ωr ψk
r aprox
r
k=0
WECIQ2006 – p.27/46
Algoritmo de Watrous
Cálculo da ordem de um grupo solúvel.
Um grupo G é solúvel se existem g1 , · · · , gm ∈ G tais que,
definindo Hj = hg1 , · · · , gj i temos
G = Hm D · · · D H1 D H0 := {e}.
(5)
Uma série de subgrupos como acima é chamada uma série
subnormal.
WECIQ2006 – p.28/46
Decomposição de Grupos Abelianos
Grupos Finitos Abelianos podem ser decompostos como uma
soma direta de subgrupos cı́clicos cujas ordens são potências
de primos.
Exemplo:
Z×
35 = h11i ⊕ h6i ⊕ h13i .
Não existe algoritmo clássico eficiente.
WECIQ2006 – p.29/46
Problema do Subgrupo Escondido - PSE
Sejam: (1) G grupo finito, (2) H < G, (3) f fç injetora de
classes laterais f : G −→ C
G
H
g1 H
g2 H
.....
f (e)
f (g1)
f (g2)
.....
placements
Problema: Sabendo os geradores de G, usando f como oráculo,
ache geradores para H com complexidade O(poly log |G|).
WECIQ2006 – p.30/46
Algoritmo para o PSE abeliano
1. Inicializar em:
2. Aplicar Uf :
3. Medir o
2o
√1
|G|
√1
|G|
P
P
g∈G |gi |0i
g∈G |gi |f (g)i
registrador:
√1
|H|
4. Aplicar a Trans. Fourier:
P
√1
|H|
h∈H
P
|g1 hi |f (g1 )i
h∈H ⊥
χh (g1 ) |hi
5. Medir para achar um elemento de H ⊥ .
6. Repetir O(poly log |G|).
7. Tendo geradores para H ⊥ podemos achar geradores para
H.
H ⊥ = {g ∈ G| χg (h) = 1, ∀h ∈ H}
WECIQ2006 – p.31/46
PSE Não-Abeliano
Lomonaco: “The devil is in the details.”
•
Subgrupos Normais
• Pp,r = Zpr o Zp , p primo e r ≥ 2
• ZN o Zp
com restrições sobre N e p.
• Zn
p o Zp ,
n pequeno (n = 2 - grupo de Heisenberg)
•
Grupo Diedral D2r = Z2r o Z2 para r > 2
• Grupo Diedral genérico - Dn = Zn o Z2 (não res. efic.)
•
•
Grupos q-edrais Zpr o Zq , p, q primos q|p − 1, and r ≥ 1
Grupos quasi-diedrais
r
r−1
2
2
2
−1 yi, r > 2
QD2r = hx, y | x = y = e, yx = x
• Produtos diretos Zpr ×φ Zq , p, q primos, r ≥ 1
• Wn = Z n o Z 2
2
WECIQ2006 – p.32/46
Problema do Isomorfismo de Grafos
2
2
1
3
5
5
1
3
4
X2
replacements
H
G
4
X1
V = {1, 2, 3, 4, 5}
E = {{1, 2}, {1, 4}, {2, 3}, {3, 4}, {3, 5}}
E 0 = {{1, 3}, {2, 3}, {2, 5}, {3, 4}, {4, 5}}
V 0 = {1, 2, 3, 4, 5}
Isomorfismo: α : V −→ V 0 que preserve as arestas α(E) = E 0 .
Grupo dos Automorfismos: Aut(X1)={( ), (2, 4)}
WECIQ2006 – p.33/46
Problema do Isomorfismo de Grafos
Problemas polinomialmente equivalentes:
1. Determinar se 2 grafos são isomorfos
2. Construir explicitamente um isomorfismo entre grafos
3. Determinar o número de isomorfismos entre grafos
4. Achar um conjunto gerador de Aut(X)
5. Determinar a ordem de Aut(X)
Teorema:
P1=Problema da interseção de grupos de permutação,
P2=Problema do isomorfismo de grafos.
P1 está em P =⇒ P2 está em P
WECIQ2006 – p.34/46
O Algoritmo de Grover
•
•
•
•
•
Banco de dados com N elementos não ordendos
Queremos saber se um elemento i0 pertence ou não
Complexidade do algoritmo clássico: O(N )
√
Complexidade do algoritmo quântico: O( N )
Algoritmo se passa em um sub-espaço real do espaço de
Hilbert
WECIQ2006 – p.35/46
O Algoritmo de Grover - Passo 1
Vamos supor que N = 2n e que os elementos do banco
de dados são números não negativos menores que N ,
podendo ter repetições.
• O número procurado i0 pode pertencer ou não.
• Passo 1: Colocar o computador quântico no estado
•
N −1
1 X
|ψi = √
|ii
N i=0
(6)
Exemplo: i0 = 101 = 5. N = 8.
|ψi =
|000i + |001i + |010i + |011i + |100i + |101i + |110i + |111i
√
8
WECIQ2006 – p.36/46
Interpretação Geométrica
|i0 i
PSfrag replacements
θ
2
|ψi
Quanto vale θ?
N −1
θ
1 X
1
π θ
sin
hi0 |ii = √
−
= cos
= hi0 |ψi = √
2
2 2
N i=0
N
2
θ≈√
N
WECIQ2006 – p.37/46
O Algoritmo de Grover - Passo 2
Passo 2: Aplicar um operador que reflete |ψi.
(
1 se i = i0
f (i) =
0 caso contrário.
Uf |ii = (−1)f (i) |ii .
Próximo estado:
|ψ1 i = Uf |ψi
1
= √
N
N
−1
X
i=0
Uf |ii
N −1
1 X
= √
(−1)f (i) |ii .
N i=0
WECIQ2006 – p.38/46
O Algoritmo de Grover - Passo 2
|ψ1 i é o reflexo de |ψi.
|i0 i
PSfrag replacements
θ
|ψi
|ψ1 i = Uf |ψi
WECIQ2006 – p.39/46
O Algoritmo de Grover - Passo 3
Passo 3: R reflete |ψ1 i em torno de |ψi.
R = 2 |ψi hψ| − I,
(7)
R não altera vetor múltiplo de |ψi
R |ψi = (2 |ψi hψ| − I) |ψi
= 2 |ψi hψ|ψi − |ψi
= |ψi .
(8)
R inverte o sinal de vetor perpendicular a |ψi:
R |ψi⊥ = (2 |ψi hψ| − I) |ψi⊥
= 2 |ψi hψ|ψi⊥ − |ψi⊥
= − |ψi⊥ .
(9)
WECIQ2006 – p.40/46
O Algoritmo de Grover - Passo 3
|i0 i
|ψ2 i = R |ψ1 i
PSfrag replacements
θ
θ
|ψi
|ψ1 i = Uf |ψi
Quantas vezes temos que operar Uf e R?
Sabemos que θ ≈
√2 .
N
Temos que multiplicar θ por
√
π N
4
para girar |ψi de 90 graus.
√
Portanto o número de consultas ao banco de dados é O( N ).
WECIQ2006 – p.41/46
Caminhos Aleatórios Quânticos
Partı́cula quântica numa reta infinita.
Espaço de Hilbert: H2 ⊗ H∞ .
H2 = {|ji, 0 ≤ j ≤ 1}. H∞ = {|mi, −∞ ≤ m ≤ ∞}
1. Inicie a partı́cula na origem: m = 0
2. Lance a moeda quântica C
E E
E
E E
0
+
1
• (C ⊗ I) 0 ⊗ m
−→ √2 ⊗ m
3. Mova a partı́cula uma posição para esquerda e para
direita de acordo com o estado da partı́cula
E E E
E
• S 0 ⊗ m −→ 0 ⊗ m + 1
E E E
E
• S 1 ⊗ m −→ 0 ⊗ m − 1
4. Repetir esses passos t vezes
WECIQ2006 – p.42/46
CQ
Desvio padrão no caso quântico é
hx2 i
√
∝ t, no clássico é t
0.08
P(x)
0.06
0.04
0.02
0
-100
Figura 8:
|ψ(0)i =
-80
-60
-40
-20
0
x
20
40
60
80
100
Distribuição de probabilidade com moeda de Hadamard e estado inicial
|0i+i|1i
√
2
⊗ |0i, junto com o caso clássico após 100 passos.
WECIQ2006 – p.43/46
Alg. de Busca via Caminhos Quânticos
Caminhos no Hipercubo
S|ji|xi = |ji|x ⊕ ej i.
Moeda perturbada:
C 0 = C0 ⊗ I + (C1 + C0 ) ⊗ |0i h0|
C0 é a moeda de Grover
temos
C0 = −I + 2 |ψm i hψm |
U 0 = S · (C0 ⊗ I) − 2S · (|ψm i hψm | ⊗ |0i h0|)
WECIQ2006 – p.44/46
Defina
f (x) =
(
1,
0,
se x = alvo,
caso contrario
Estado inicial
|ψmoeda i ⊗ |ψvertices i =
Aplique
U0
1
√
n
n
X
d=1
|di
√
tf vezes onde tf =
2n
!
⊗
1
√
2n
n
2X
−1
x=0
|xi
!
π
2
Meça na base computacional.
WECIQ2006 – p.45/46
Conclusões
•
•
•
•
•
•
Três grandes linhas de ataque
Problemas desafiadores
PSE não abeliano e PIG
Classes de Complexidades Quânticas
Quais são os limites da eficiência quântica
Novas idéias
WECIQ2006 – p.46/46