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