• Nenhum resultado encontrado

W ECIQ Mini-Curso 3. Computação Quântica Avançada. Renato Portugal

N/A
N/A
Protected

Academic year: 2021

Share "W ECIQ Mini-Curso 3. Computação Quântica Avançada. Renato Portugal"

Copied!
16
0
0

Texto

(1)

|W ECIQ 2007i

Mini-Curso 3. Computa¸

ao Quˆ

antica Avan¸

cada

Renato Portugal

Coordena¸c˜

ao de Ciˆ

encias da Computa¸c˜

ao

Laborat´

orio Nacional de Computa¸c˜

ao Cient´ıfica - LNCC

Av. Get´

ulio Vargas 333, Petr´

opolis, RJ, 25651-075, Brazil

portugal@lncc.br

2o

Workshop Escola de Computa¸c˜ao e Informa¸c˜ao Quˆantica Campina Grande - PB, Brasil, 2007.

(2)

1 Algoritmo de Shor e o Problema do Subgrupo Oculto 2

1.1 Redu¸c˜ao da fatora¸c˜ao ao c´alculo da ordem . . . 2

1.2 Algoritmo quˆantico para o c´alculo de ordem . . . 3

1.3 O Problema do Subgrupo Oculto . . . 8

1.4 O Problema do Subgrupo Oculto Abeliano . . . 10

1.5 Notas Bibliogr´aficas . . . 13

(3)

Cap´ıtulo 1

Algoritmo de Shor e o

Problema do Subgrupo

Oculto

O algoritmo de Shor foi um marco no desenvolvimento da computa¸c˜ao quˆantica, pois foi o primeiro exemplo de um algoritmo quˆantico com ganho exponencial em rela¸c˜ao aos algoritmos cl´assicos conhecidos tendo um aplica¸c˜ao pr´atica relevante. A principal aplica¸c˜ao ´e a quebra dos m´etodos de criptografia mais usados na pr´atica. O algoritmo de Shor ´e um algoritmo quˆantico que encontra eficientemente a de-composi¸c˜ao em fatores primos de um n´umero inteiro N . Usando as mesmas id´eias, ´e poss´ıvel tamb´em calcular o logaritmo discreto, que pode ser descrito da seguinte forma. Dados os n´umeros inteiros n1 e n2 tal que n1= ns2, ache o valor do n´umero

inteiro s. O algoritmo de Shor tamb´em ´e importante por ser um paradigma para a solu¸c˜ao do “Problema do Subgrupo Oculto”. Faremos uma introdu¸c˜ao a este problema neste trabalho. Vamos come¸car descrevendo como o problema de fatorar n´umeros inteiros na verdade ´e equivalente ao c´alculo de ordem.

1.1

Redu¸

ao da fatora¸

ao ao c´

alculo da ordem

A fatora¸c˜ao pode ser reduzida ao c´alculo da ordem de um n´umero x menor que N , onde x ´e escolhido aleatoriamente. O n´umero de bits necess´ario para armazenar o n´umero N ´e

n = ⌈log2N ⌉,

onde ⌈log2N ⌉ significa o menor n´umero inteiro maior ou igual a N. Um computador

quˆantico com n qbits pode armazenar N ou qualquer outro inteiro positivo menor que N . O n´umero de fatores primos de N ´e no m´aximo n. Se o n´umero de qbits e o n´umero de fatores primos s˜ao menores ou iguais que n, ent˜ao ´e natural perguntar se existe um algoritmo que fatora N em um n´umero de passos da ordem de n ou de

(4)

uma potˆencia de n, por exemplo, n2. Tal algoritmo ser´a considerado eficiente em

contraposi¸c˜ao de um algoritmo que precise de N passos ou mais.

A redu¸c˜ao da fatora¸c˜ao de N ao problema de achar a ordem de um inteiro positivo x menor que N pode ser descrita da seguinte forma. Se x e N possuem fatores comuns, ent˜ao o MDC(x, N ) fornece um fator de N , portanto ´e suficiente investigar o caso quando x ´e coprimo com N . A ordem de x m´odulo N ´e o menor inteiro positivo r tal que

xr≡ 1 mod N. Se r for par, podemos definir y como sendo

xr/2≡ y mod N.

Na nota¸c˜ao acima, vamos tomar y como sendo o resto da divis˜ao de xr/2 por N ,

portanto 0 ≤ y < N. Note que y satisfaz y2 ≡ 1 m´odulo N, ou equivalentemente (y − 1)(y + 1) ≡ 0 m´odulo N, o que significa que (y − 1)(y + 1) ´e divis´ıvel por N. Se 1 < y < N −1, os fatores y −1 e y +1 satisfazem 0 < y −1 < y +1 < N, y −1 e y +1 n˜ao s˜ao divis´ıveis por N separadamente. A ´unica alternativa ´e que ambos y − 1 e y + 1 tenham fatores de N , que resulta N por multiplica¸c˜ao. Ent˜ao, MDC(y − 1, N) e MDC(y + 1, N ) produzem fatores n˜ao triviais de N . Se N tiver mais fatores, eles podem ser calculados aplicando o algoritmo recursivamente. Considere N = 21 como exemplo. A sequˆencia de equivalˆencias

24 ≡ 16 mod 21 25 ≡ 11 mod 21

26 ≡ 11 × 2 ≡ 1 mod 21

mostra que a ordem de 2 m´odulo 21 ´e r = 6. Portanto, y ≡ 23≡ 8 m´odulo 21. De

y − 1 resulta o fator 7 e de y + 1 resulta o fator 3 de 21.

Resumindo, escolhemos aleatoriamente um inteiro positivo x menor que N e calculamos sua ordem modulo N . Se a ordem for par, calculamos MDC(y ± 1, N). Temos fatores de N . Dividimos N pelos fatores e reiniciamos o processo at´e achar todos os fatores de N . Se escolhermos um x e verificarmos que sua ordem ´e ´ımpar, temos que reiniciar o processo com um outro valor para x. Este ´e um exemplo de um algoritmo probabil´ıstico. Para garantia de sucesso, temos que mostrar que a probabilidade de sucesso ´e maior que 1/2, isto ´e, temos que exibir um algoritmo eficiente com probabilidade de sucesso acima de 1/2. Basta isso, pois, ´e simples mostrar que com poucas repeti¸c˜oes podemos aumentar muito a eficiˆencia. No caso do algoritmo acima, ´e trabalhoso mostrar que existe mais n´umeros x adequados do que inadequados. Esta an´alise pode ser vista na Ref. [8]. At´e o presente momento n˜ao ´e conhecido um algoritmo cl´assico eficiente para fatora¸c˜ao ou c´alculo de ordem. Vamos descrever agora um algoritmo quˆantico eficiente.

1.2

Algoritmo quˆ

antico para o c´

alculo de ordem

Considere o circuito da Fig. 1.1 que calcula a ordem r de um inteiro positivo x menor que N , coprimo com N . Vx´e um operador linear unit´ario dado por

(5)

1.2. ALGORITMO QU ˆANTICO PARA O C ´ALCULO DE ORDEM 4 H H

{

{

Vx Ft† |0i |0i |0i |0i 1◦registrador (t qbits) 2◦registrador (n qbits) |ψ0i |ψ1i |ψ2i |ψ3i |ψ4i

Figura 1.1: Circuito quˆantico para achar a ordem de um inteiro positivo x m´odulo N .

Vx(|ji |ki) = |ji

k + xj , (1.1) onde |ji e |ki s˜ao os estados do primeiro e segundo registrador respectivamente. As opera¸c˜oes aritm´eticas s˜ao feitas m´odulo N , assim 0 ≤ k + xj < N . O operador F

2t

´e a transformada de Fourier discreta no espa¸co de Hilbert de dimens˜ao 2t.

O primeiro registrador possui t qbits, onde t deve ser escolhido de forma que N2 ≤ 2t ≤ 2N2 por raz˜oes que ficar˜ao claras mais adiante [25]. Os estados do

computador quˆantico est˜ao indicados por |ψ0i at´e |ψ4i na Fig. 1.1. O estado inicial

´e |ψ0i = |0 . . . 0i | {z } t |0 . . . 0i | {z } n .

A aplica¸c˜ao do operador Hadamard em cada qbit do primeiro registrador resulta

|ψ1i = 1 √ 2t 2t−1 X j=0 |ji |0i , (1.2) que consiste numa superposi¸c˜ao de todos os estados da base computacional com igual amplitude. Este passo ´e bastante usual nos algoritmos quˆanticos, pois prepara o computador para o uso do paralelismo quˆantico. Aplicando Vx em |ψ1i obtemos

|ψ2i = 1 √ 2t 2t−1 X j=0 |ji xj . (1.3)

O estado |ψ2i ´e interessante, pois, j´a que Vx´e linear, ele atua simultaneamente em

(6)

x simultaneamente. Esta caracter´ıstica ´e chamada paralelismo quˆantico. Algumas destas potˆencias s˜ao 1, as quais correspondem aos estados

|0i |1i , |ri |1i , |2ri |1i , · · · ,  2t r − 1  r  |1i . (1.4) Isto explica a escolha de (1.1) para Vx. Classicamente, poder´ıamos calcular

su-cessivamente xj, para j come¸cando de 2 at´e chegarmos a j = r. Quanticamente,

pode-se calcular todas as potˆencias de x com uma ´unica aplica¸c˜ao de Vx. No n´ıvel

quˆantico, todos os valores de j que produzem xj ≡ 1 m´odulo N s˜ao “conhecidos”.

Mas esta informa¸c˜ao n˜ao est´a totalmente dispon´ıvel no n´ıvel cl´assico. Uma in-forma¸c˜ao cl´assica de um estado quˆantico ´e obtida atrav´es de uma medida e, neste ponto, n˜ao ajudaria se med´ıssimos o primeiro registrador, j´a que todos os estados da superposi¸c˜ao (1.3) possuem amplitudes iguais. A primeira parte da estrat´egia para determinar r ´e observar que o primeiro registrador dos estados (1.4) ´e peri´odico. Ent˜ao a informa¸c˜ao que queremos ´e um per´ıodo.

O pr´oximo passo de acordo com a Fig. 1.1 ´e aplicar a transformada de Fourier F2t ao estado do primeiro registrador. Vamos denotar por |ψji a transformada

de Fourier aplicada ao estado |ji da base computacional {|0i , . . . , |2t− 1i}, isto ´e,

F2t(|ji) = |ψji. A f´ormula da transformada de Fourier ´e

|ψji = 1 √ 2t 2t−1 X k=0 ωjk|ki , (1.5) onde ω = e2πi/2t

. O conjunto {|ψji : j = 0, . . . , 2t− 1} forma uma base ortonormal,

i.e,

hψj′|ψji = δj′j.

O pr´oximo estado do computador quˆantico, |ψ3i, pode ser calculado da seguinte

maneira. Aplicando a transformada de Fourier inversa no primeiro registrador, usando a linearidade da transformada de Fourier e a Eq. (1.5), obtemos

|ψ3i = √1 2t 2t−1 X j=0 |ψji xj = 1 2t 2t−1 X j=0 2t−1 X k=0 ω−jk|ki xj . (1.6)

O passo final ´e medir o primeiro registrador. Para analisar os poss´ıveis resultados da medida, temos que obter a probabilidade do resultado ser digamos k0. Isso n˜ao

´e uma tarefa simples, pois o valor do segundo registrador do estado (1.6) se repete para diferentes valores de j, pois xj ≡ xj+ar para qualquer valor de a modulo N .

O postulado da medida diz que a probabilidade de obter k0´e

(7)

1.2. ALGORITMO QU ˆANTICO PARA O C ´ALCULO DE ORDEM 6

onde P = |k0i hk0|, isto ´e, P ´e o projetor na dire¸c˜ao de |k0i e I ´e o operador

identi-dade atuando no segundo registrador. Substituindo |ψ3i na Eq. (1.7) e simplificando

obtemos p(k0) = 1 (2t)2 2t−1 X j,j′=0 ω(j′−j)k0 D xj′ xjE. (1.8)

Vamos analisar o termoDxj′

xjE. Esse termo ´e 0 ou 1 dependendo dos valores de

j′ e j. Vamos nos concentrar nos valores de je j tais queDxj′

xjE= h1 |1 i. Nesse

caso temos que j′, j = 0, r, 2r, · · · , isto ´e, j= ar, j = br onde a, b =0, 1, · · · ,

⌊(2t− 1)/r⌋. Os termos da Eq. (1.8) com estes valores de je j s˜ao j2t−1 r k X a,b=0 ω(a−b)rk0 = j2t−1 r k X a=0 ωark0 2 . (1.9)

Agora, os valores de j′e j tais queDxj′

xjE= hx |x i s˜ao dados por j, j = 1, r + 1,

2r + 1, · · · . Os termos da Eq. (1.8) com estes valores de j′ e j s˜ao iguais ao da Eq.

(1.9), exceto pelo limite superior do somat´orio. Uma vez que j′ e j come¸cam de 1,

o limite superior ´e agora ⌊(2t− 2)/r⌋. Levando este racioc´ınio adiante conclu´ımos

que a Eq. (1.8) se reduz a

p(k0) = 1 r2t r−1 X j=0 j2t−1−j r k X a=0 ωark0 2 . (1.10)

A equa¸c˜ao acima simplifica muito quando r ´e uma potˆencia de 2. Este caso foi analisado em detalhes na Ref. [23]. Quando r n˜ao ´e uma potˆencia de 2, podemos fazer o gr´afico de um caso particular para perceber quais s˜ao os valores de k0mais

prov´aveis. A Fig. 1.2 mostra o gr´afico de p(k0) quando N = 21, r = 6 e t = 9. Os

valores mais prov´aveis de k0 est˜ao em torno de j = 0, 85, 171, 256, 341, 427, que

s˜ao obtidos da f´ormula j2t/r para j de 0 at´e r − 1. Esta conclus˜ao ´e sempre v´alida.

A estrat´egia para achar o valor de r ´e a seguinte. Medimos o primeiro registrador no final do algoritmo e dividimos o valor do resultado (k0) por 2t. Existe uma

chance razo´avel do valor de k0ter sido j2t/r para algum j no intervalo 0, · · · , r − 1.

Tamb´em ´e poss´ıvel que j seja coprimo com r. Neste caso escrevemos o resultado como uma fra¸c˜ao reduzida e o denominador ´e o valor de r.

Este certamente ´e um algoritmo probabil´ıstico. Por´em n˜ao podemos ficar a mercˆe da sorte para achar o resultado. Na pr´atica os algoritmos probabil´ısticos s˜ao superiores aos determin´ısticos. Para que isto seja verdade temos que garantir que a probabilidade de sucesso ´e superior a 1/2. O m´etodo acima n˜ao garante probabilidade acima de 1/2, pelo menos para o valor de t no intervalo especificado no come¸co da se¸c˜ao, isto ´e, N2 ≤ 2t≤ 2N2. Se t for aumentado, a probabilidade

(8)

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0 100 200 300 400 500

Figura 1.2: Gr´afico de p(k0) quando r = 6 e t = 9.

t para for¸car que k0seja da forma j2t/r, podemos tomar outro caminho. Quando o

valor de k0 for diferente de j2t/r, o m´etodo de aproxima¸c˜ao por fra¸c˜oes cont´ınuas

permite-nos extrair a informa¸c˜ao desejada com mais chance. Uma fra¸c˜ao cont´ınua de um n´umero racional j1/j2 tem a forma

j1 j2 = a0+ 1 a1+...+11 ap ,

e ´e usualmente representada por [a0, a1, ..., ap], onde a0 ´e um inteiro n˜ao-negativo

e a1, ..., ap s˜ao positivos. O q-´esimo convergente (0 ≤ q ≤ p) ´e definido como

um n´umero racional [a0, a1, ..., aq]. Isto ´e uma aproxima¸c˜ao para j1/j2 e tem o

denominador menor que j2. Este m´etodo ´e aplicado facilmente pela invers˜ao da

fra¸c˜ao seguido pela divis˜ao inteira com resto racional. Por exemplo, vamos supor que o resultado da medida tenha sido k0= 85 2t/512, que ´e um valor razoavelmente

prov´avel de acordo com os parˆametros escolhidos na Fig. 1.2. Invertendo 85/512 temos 512/85, que ´e igual a 6 + 2/85. Repetimos o processo com 2/85 at´e obtermos o numerador 1. O resultado ´e

85 512 = 1 6 + 1 42+1 2 .

Assim, as convergˆencias de 85/512 s˜ao 1/6, 42/253, e 85/512. Devemos selecionar os convergentes que tenham um denominador menor que N = 21 (j´a que r < N )1.

1A desigualdade r ≤ ϕ(N ) segue do teorema de Euler: xϕ(N )≡ 1 mod N , onde x ´e um inteiro positivo coprimo com N e ϕ ´e a fun¸c˜ao totiente de Euler (ϕ(N ) fornece o n´umero de inteiros positivos menores que N , coprimos com N ). A desigualdade ϕ(N ) < N segue da defini¸c˜ao de ϕ. (Veja [10] p´ag. 492.)

(9)

1.3. O PROBLEMA DO SUBGRUPO OCULTO 8

Este m´etodo fornece 1/6, ent˜ao r = 6. Checamos que 26≡ 1 m´odulo 21 e a parte

quˆantica do algoritmo termina com a resposta correta. Caso contr´ario, isto ´e, se o valor de r encontrado n˜ao for a ordem de x, todo o algoritmo precisa ser reiniciado. A an´alise de probabilidade de sucesso ´e bastante trabalhosa e pode ser encontrada na Ref. [8].

1.3

O Problema do Subgrupo Oculto

O algoritmo de Shor pode ser visto como um caso particular de um problema muito mais geral conhecido como o Problema do Subgrupo Oculto (PSO) que formula-remos adiante. Um grupo finito G de ordem N > 0 ´e um conjunto finito de N elementos distintos {g1, g2, · · · , gN} junto com a defini¸c˜ao de um produto

associ-ativo e fechado. Al´em disso existe um elemento especial chamado de identidade, denotado por e, tal que gie = egi, 1 ≤ i ≤ N. Todo elemento pode ser invertido,

isso quer dizer que, dado gi existe um j tal que gigj = gjgi= e. Denotamos gi−1 o

elemento inverso. Na computa¸c˜ao quˆantica associamos a G um espa¸co de Hilbert HN de dimens˜ao N cuja base computacional ´e dada por {|g1i , · · · , |gNi}. Temos

ent˜ao que

hgi|gji = δi j. (1.11)

O produto entre gipor outro elemento do grupo deve ser executado por um operador

unit´ario Ugi cuja atua¸c˜ao na base computacional ´e

Ugi|gji = |gigji. (1.12)

Note que dentro do ket do lado direito da equa¸c˜ao acima temos o produto entre dois elementos do grupo G, que resulta num terceiro elemento tamb´em de G, portanto pertencente `a base computacional. Ugi´e um operador unit´ario porque simplesmente

executa uma permuta¸c˜ao dos vetores da base computacional. O operador inverso ´e Ug−1

i . A opera¸c˜ao Ugi tem que ser executada eficientemente, pois ´e a opera¸c˜ao

mais b´asica do algoritmo. Se um grupo G ´e definido de forma que o produto de 2 elementos n˜ao ´e executada eficientemente, n˜ao h´a a menor chance do PSO ser resolvido eficientemente.

Um subconjunto de G ´e um subgrupo se o produto for fechado neste subconjunto, isto ´e, seja H um subconjunto de G e h1, h2 ∈ H, ent˜ao H ´e um subgrupo de G,

denotado por H ≤ G, se h1h2 ∈ H para todo h1, h2 em H. A partir de um

subconjunto H podemos particionar G em classes laterais disjuntas da seguinte forma. Suponha que g1 6∈ G, ent˜ao o conjunto g1H = {g1h, ∀h ∈ H} n˜ao tem

nenhum elemento em comum com H e al´em disso tem a mesma cardinalidade de H. O pr´oximo passo ´e achar um elemento de G que n˜ao esteja nem em H nem em g1H. Suponha que g2 seja um elemento deste tipo. A pr´oxima classe lateral ´e g2H

que tamb´em n˜ao vai ter elementos em comum nem com H nem com g1H. Este

processo continua at´e termos uma parti¸c˜ao de G. O n´umero de classes laterais ´e |G|/|H|, onde |G| e |H| s˜ao a ordem de G e H respectivamente. Se o produto de grupo s˜ao for comutativo, isto ´e, existem gi, gj ∈ G tal que gigj 6= gjgi, ent˜ao o

(10)

conjunto g1H n˜ao ´e necessariamente igual a Hg1. O conjunto g1H ´e chamado de

classe lateral `a esquerda enquanto que Hg1 ´e chamado de classe lateral `a direita.

Um conjunto de elementos {g1, g2, · · · , gk} gera o grupo G, denotado por

D g1,

g2, · · · , gk

E

, se for poss´ıvel obter todos os elemento de G atrav´es de produtos de elementos do conjunto gerador. O conjunto gerador pode ter uma cardinalidade bem inferior `a ordem de G. ´E poss´ıvel mostrar que ´e sempre poss´ıvel escolher um conjunto gerador de cardinalidade menor ou igual a ⌈log2|G|⌉. Isso ´e importante

em computa¸c˜ao quˆantica, pois para descrever G podemos usar um conjunto cuja cardinalidade ´e bem inferior `a ordem de G. Ou seja, o tamanho da entrada para um algoritmo que trabalha com G ser´a O(log |G|). Um algoritmo cujo n´umero de passos seja da ordem de |G| ´e considerado ineficiente.

Podemos agora descrever o PSO. O problema consiste em achar os geradores de um subgrupo H do grupo G. O grupo G ´e conhecido atrav´es de geradores e o subgrupo H pode ser obtido a partir de uma fun¸c˜ao f que ´e constante nas classes laterais de H, por´em tem imagens diferentes para classes laterais distintas. Dizendo de outra maneira, f (g1) = f (g2) se e somente se g1H = g2H. O problema tem uma

solu¸c˜ao eficiente se conseguirmos achar os geradores de H de forma que o n´umero de passos, uso de mem´oria e n´umero de vezes que f foi usada tˆem complexidade computacional O(poly(log |G|)).

Uma solu¸c˜ao n˜ao eficiente para o PSO pode ser descrita da seguinte maneira. Calcule f (g) para todos os elementos de G. Selecione os elementos h tais que f (h) = f (e). Como e ∈ H e somente os elementos de uma mesma classe lateral tem a mesma imagem segundo f , segue que todos elementos h tais que f (h) = f (e) est˜ao em H. Neste caso conseguimos exibir todos os elemento de H. Esta solu¸c˜ao ´e muito dispendiosa pois o n´umero de consultas a f ´e da ordem de |G|. Al´em disso basta encontrarmos um conjunto gerador de H, cuja cardinalidade ´e bem inferior a |H|.

N˜ao h´a algoritmos cl´assicos eficientes para resolver o PSO. A raz˜ao principal ´e que classicamente temos que executar a avalia¸c˜ao da fun¸c˜ao f sequencialmente. Quanticamente existe a possibilidade de avalia¸c˜ao simultˆanea atrav´es do paralelismo quˆantico. Esta avalia¸c˜ao simultˆanea de f para todos os elemento do grupo G n˜ao ´e garantia de sucesso, pois a informa¸c˜ao desejada deve ser extra´ıda da superposi¸c˜ao decorrente do uso do paralelismo quˆantico. At´e o presente momento, foram encon-tradas solu¸c˜oes eficientes somente os grupos para os quais a informa¸c˜ao desejada, isto ´e, o conjunto gerador do subgrupo H, era de alguma forma um per´ıodo, de forma bem an´aloga ao que acontece no algoritmo de Shor. A informa¸c˜ao desejada deve ser extra´ıda via transformada de Fourier.

Vamos ver agora porque o algoritmo de Shor ´e um PSO. Tome G = Z, isto ´e, o conjunto dos n´umeros inteiros com a opera¸c˜ao usual de soma. O produto do grupo nesse caso ´e a soma. Note que a soma de n´umeros inteiros ´e associativa e fechada, tem um elemento identidade que ´e o 0 e todo n´umero tem inverso que ´e o seu negativo. Portanto Z ´e um grupo com a opera¸c˜ao soma. O grupo Z ´e gerado pelo conjunto {1}, isto ´e, Z = h1i. Quando um grupo pode ser gerado por um conjunto gerador de um ´unico elemento, o grupo ´e dito c´ıclico. No algoritmo

(11)

1.4. O PROBLEMA DO SUBGRUPO OCULTO ABELIANO 10

de Shor, temos um numero x menor que N escolhido aleatoriamente e queremos achar a ordem de x modulo N , isto ´e, queremos achar o menor inteiro positivo r tal que xr≡ 1 mod N. Note que se r ´e a ordem de x, ent˜ao qualquer m´ultiplo de

r tamb´em tem resto 1 quando dividido por N . Ou seja, o conjunto dos n´umeros inteiros k tal que xk ≡ 1 mod N forma um subgrupo de Z. Assim o subgrupo

oculto ´e H = {0, r, −r, 2r, −2r, · · · }. Note que os ´unicos geradores de H s˜ao r e −r. A informa¸c˜ao que queremos ´e um dos geradores de H. Note que se tivermos em m˜aos o negativo da ordem, facilmente encontramos a ordem. Isso mostra porque o algoritmo de Shor ´e um PSO. Por´em tem um problema nesta hist´oria toda. A ordem de Z n˜ao ´e finita. N˜ao podemos tomar um espa¸co de Hilbert tendo como base os elementos de Z, pois ir´ıamos precisar de um computador quˆantico com um n´umero infinito de qbits. A solu¸c˜ao ´e usar um computador com um n´umero finito de qbits pagando o pre¸co de obter uma solu¸c˜ao aproximada para r, mas cujo valor exato pode ser extra´ıdo via o m´etodo de fra¸c˜oes cont´ınuas com probabilidade superior a 1/2.

O algoritmo de Shor tem sido o paradigma de todos os algoritmos que resolvem o PSO de algum grupo G. No caso do algoritmo de Shor o grupo G ´e o grupo Z. A receita desenvolvida por Shor foi generalizada para qualquer grupo finito G abeliano (comutativo). Quando o grupo G n˜ao ´e abeliano, o paradigma funciona em algumas poucas classes de grupos, que incluem produtos semidiretos de grupos c´ıclicos e grupos nilpotentes de classe 2. Um enorme esfor¸co tem sido feito pelos pesquisadores nessa ´area, por´em novas id´eias tem sistematicamente dado em becos sem sa´ıda.

1.4

O Problema do Subgrupo Oculto Abeliano

Vamos descrever resumidamente como o PSO pode ser resolvido eficientemente quando o grupo G ´e abeliano. Teremos que usar recursos da teoria de grupos para os quais infelizmente n˜ao ser´a poss´ıvel fazer uma descri¸c˜ao did´atica neste texto.

O conjunto ZN = {0, 1, · · · , N − 1} com a opera¸c˜ao de soma modulo N ´e um

grupo c´ıclico gerado pelo elemento 1. Existe um resultado fundamental em teoria de grupos que afirma que qualquer grupo abeliano finito ´e isomorfo ao produto direto de grupos c´ıclicos, isto ´e

G ≃ ZN1× · · · × ZNk.

Isso quer dizer que qualquer elemento de G pode ser expresso como uma com-bina¸c˜ao linear de elementos da base α1 = (1, 0, · · · , 0), α2 = (0, 1, · · · , 0), · · · ,

αk = (0, 0, · · · , 1), ou seja, um elemento gen´erico de G ´e da forma g = (g1, · · · , gk)

onde g1∈ ZN1 e assim por diante. Assim podemos escrever

g =

k

X

i=1

giαi.

Um grupo abeliano G de ordem N tem N car´ateres associados. Os car´ateres s˜ao homomorfismos do grupo G para o conjunto dos n´umeros complexos unit´arios

(12)

(C∗). Seja g

1∈ ZN1. O car´ater χg1( ) : G → C

´e definido como

χg1(h1) = ω

g1h1

N1 ,

onde ωN1 ´e a N1-´esima raiz principal da unidade, isto ´e, ωN1 = e

2πi/N1. A potˆencia

g1h1 ´e um n´umero inteiro no grupo ZN1. Para um elemento gen´erico g de G, o

car´ater ´e definido por

χg(h) = ωgN11h1· · · ω

gkhk

Nk .

A partir desta defini¸c˜ao ´e simples de mostrar que χg(h) = χh(g). O conjunto

de todos os car´ateres de um grupo abeliano G forma tamb´em um grupo, onde o elemento identidade ´e o car´ater χe, o produto ´e a composi¸c˜ao dos car´ateres que

obedecem a seguinte rela¸c˜ao

χgh = χgχh.

´

E poss´ıvel mostrar que o grupo dos car´ateres, denotado por χ(G), ´e isomorfo ao pr´oprio G.

Suponha que os elementos de G sejam {γ1, · · · , γN}. Vamos definir N vetores

no espa¸co de Hilbert de dimens˜ao N indexados pelos elementos de G

|ψgi = 1 √ N      χg(γ1) χg(γ2) .. . χg(γN)     

Isto ´e, para cada g ∈ G temos um vetor diferente. ´E poss´ıvel mostrar que esse conjunto de vetores forma um base ortonormal. Uma matriz constru´ıda com estes N vetores como colunas ´e unit´aria por constru¸c˜ao. Esta matriz ´e a tranformada de Fourier FG do grupo G. Temos ent˜ao a seguinte express˜ao

FG|gi = 1 √ N X γ∈G χg(γ) |γi ,

ou seja, |ψgi ´e a transformada de Fourier do vetor |gi. A transformada de Fourier

no grupo G pode ser implementada a partir da transformada de Fourier em cada grupo c´ıclico ZNi, de fato, vale a rela¸c˜ao

FG= FN1⊗ · · · ⊗ FNk.

Dado um subgrupo H ≤ G, podemos definir o grupo ortogonal H⊥ como

H⊥ = {g ∈ G | χ

g(h) = 1 para todo h ∈ H}.

H⊥ ´e um grupo devido a propriedade χ

gh = χgχh. ´E poss´ıvel mostrar, embora

trabalhoso, que o grupo H⊥´e isomorfo ao grupo fator G/H e portanto temos que a

cardinalidade de H⊥´e |G|/|H|. Outra propriedade importante de H´e (H)=

(13)

1.4. O PROBLEMA DO SUBGRUPO OCULTO ABELIANO 12

H⊥ est˜ao muito relacionados. De fato, ´e poss´ıvel obter eficientemente os geradores

de H a partir dos geradores de H⊥.

Agora podemos descrever o algoritmo que resolve o PSO abeliano. Temos ent˜ao um grupo abeliano G, e uma fun¸c˜ao f : G → {0, 1}m que esconde um subgrupo

H. Isto ´e, f ´e constante em H e em suas classes laterais, por´em a imagem de f ´e diferente para classes laterais diferentes. A estrutura geral do algoritmo ´e similar ao algoritmo descrito na Fig. 1.1. Vamos usar dois registradores, o primeiro deve armazenar os elemento de G enquanto que o segundo deve armazenar as imagens dos elemento de G pela fun¸c˜ao f , isto ´e, deve ter m qbits. O computador quˆantico ´e iniciado no estado

|ψ0i =

0k |0mi ,

onde 0k´e o elemento neutro de G. O primeiro passo ´e aplicar a transformada de

Fou-rier FG ao primeiro registrador. Esse passo ´e equivalente a aplicar a transforma¸c˜ao

de Hadamard H a cada qbit do primeiro registrador da Fig. 1.1. O resultado ´e |ψ1i = 1 p |G| X g∈G |gi |0mi .

O pr´oximo passo ´e aplicar o operador unit´ario Uf definido da seguinte forma

Uf|gi |xi = |gi |x ⊕ f(g)i ,

onde a opera¸c˜ao x ⊕ f(g) ´e a soma bin´aria calculada no contradom´ınio da fun¸c˜ao f . Aplicando Uf ao estado |ψ1i obtemos

|ψ2i = 1 p |G| X g∈G |gi |f(g)i .

Vamos agora executar um passo intermedi´ario que ser´a medir o segundo registrador. Vamos supor que o resultado da medida foi f (g0). Todos os estados |gi do primeiro

registrador cuja imagem pela fun¸c˜ao f ´e igual a f (g0) sobrevivem `a medida. Uma

vez que f (g1) = f (g2) se e somente se g1H = g2H, segue que somente os elemento

da classe lateral g0H sobrevivem. Portanto ap´os a medida temos que

|ψ′ 2i = 1 p |H| X h∈g0H |hi |f(g0)i .

Temos em m˜aos uma superposi¸c˜ao de todos os elementos de uma classe lateral de H. Qual ´e classe lateral? Sabemos da teoria da medida, que todos os resultados f (g) s˜ao equiprov´aveis, portanto a classe lateral resultante ´e aleat´oria. Vamos ver agora que isso n˜ao representa nenhum problema. Vamos eliminar o segundo registrador, pois ele n˜ao tem mais nenhuma fun¸c˜ao no algoritmo daqui para frente.

O pr´oximo passo ´e aplicar a transformada de Fourier ao primeiro registrador. Usando a express˜ao de FG obtida anteriormente temos que

FG  p1 |H| X h∈g0H |hi  = p 1 |H||G| X γ∈G X h∈g0H χh(γ) |γi .

(14)

Como h ∈ g0H, segue que h = g0τ para algum τ ∈ H. Sabemos que χg0τ = χg0χτ e χg(h) = χh(g), ent˜ao temos X h∈g0H χh(γ) = χγ(g0) X τ ∈H χγ(τ ). Se γ ∈ H⊥ ent˜ao χ

γ(τ ) = 1. A soma acima resulta χγ(g0)|H|. Este valor ´e a

amplitude do estado |γi ap´os a aplica¸c˜ao de FG. Segue que

FG  p1 |H| X h∈g0H |hi  = p |H| p |G| X γ∈H⊥ χγ(g0) |γi .

Os termos tais que γ 6∈ H⊥devem ter amplitude zero pois a ordem de H´e |G|/|H|.

Assim o estado final do computador quˆantico ´e |ψ3i = p |H| p |G| X γ∈H⊥ χγ(g0) |γi .

O passo final ´e medir o primeiro registrador para obter um elemento γ ∈ H⊥. Esse

processo deve ser repetido um n´umero da ordem log |G|2, pois com uma proba-bilidade acima de 1/2 encontramos um conjunto gerador para H⊥. A partir desse

conjunto gerador ´e poss´ıvel obter um conjunto gerador para H eficientemente.

1.5

Notas Bibliogr´

aficas

As referˆencias mais b´asicas de computa¸c˜ao quˆantica que recomendamos s˜ao [22, 23, 1, 26, 24, 16]. Detalhes sobre a transformada de Fourier podem ser encontrado nas referˆencias [22, 23]. Outras referˆencias relevantes s˜ao [2, 11, 13, 6, 7, 20, 5]. A referˆencia original do algoritmo de Shor ´e [25]. Uma descri¸c˜ao did´atica pode ser encontrada em [17]. Outras referˆencias relevantes s˜ao [8, 3]. Um m´etodo alternativo para encontrar a ordem de um n´umero inteiro ´e usando algoritmo de c´alculo de fase descrito nas referˆencias [22, 15]. Algumas das principais referˆencias sobre o problema do subgrupo oculto s˜ao [19, 14, 18, 9, 12]. O problema do subgrupo necessita do algoritmo para decompor grupos abelianos finitos que foi descrito pela primeira vez em [4]. Outra referˆencia relevante ´e [21].

(15)

Bibliografia

[1] D. Aharonov. Quantum computation. In Dietrich Stauffer, editor, Annual Reviews of Computational Physics, volume 6. World Scientific, 1998.

[2] A. Barenco, A. Ekert, K.-A. Suominen, and P. T¨orm¨a. Approximate quantum Fourier transform and decoherence. Phys. Rev. A, 54:139–146, 1996.

[3] D. Beckman, A. N. Chari, S. Devabhaktuni, and J. Preskill. Efficient networks for quantum factoring. Phys. Rev. A, 54:1034, 1996.

[4] K.K.H. Cheung and M. Mosca. Decomposing finite abelian groups. J. Quan-tum Inf. Comp., 1(3):26–32, 2001.

[5] R. Cleve. A note on computing Fourier transforms by quantum programs. http://pages.cpsc.ucalgary.ca/~cleve, 2004.

[6] R. Cleve and J. Watrous. Fast parallel circuit for the quantum Fourier trans-form. In 41th Annual Symposium on Foundations of Computer Science, page 526, 2000.

[7] D. Coppersmith. An approximate Fourier transform useful in quantum fac-toring. Technical Report IBM Research Report 19642, IBM, 1994.

[8] A. Ekert and R. Jozsa. Notes on quantum factoring. 68:733–753, 1996. [9] M. Ettinger and P. Hoyer. On quantum algorithms for noncommutative

hid-den subgroups. In Proc. 16th STACS, pages 478–487, 1999. Final version in Adv. in Appl. Math. .

[10] J. von zur Gathen and J. Gerhard, Modern Computer Algebra, Cambridge University Press, Cambridge (1999).

[11] R. B. Griffiths and C.-S. Niu. Semiclassical Fourier transform for quantum computation. Phys. Rev. Lett., 76:3228, 1996.

[12] M. Grigni, L. Schulman, M. Vazirani, and U. Vazirani. Quantum mechanical algorithms for the nonabelian hidden subgroup problem. In Proc. 33th STOC, pages 68–74, 2001.

(16)

[13] L. Hales and S. Hallgren. An improved quantum Fourier transform algorithm and applications. In Proc. 41st Ann. Symp. on Foundations of Computer Science, pages 515–525, Redonda Beach, California, November 2000.

[14] R. Jozsa. Quantum factoring, discrete logarithms and the hidden subgroup problem, 2000. Prepared for IEEE Computing in Science and Engineering. [15] A. Kitaev. Quantum measurements and the abelian stabilizer problem, 1995. [16] A. Yu. Kitaev, A. H. Shen, and M. N. Vyalyi. Classical and quantum com-putation. Graduate studies in mathematics. American Mathematical Society, Providence, Rhodes Island, 2002.

[17] C. Lavor, L.R.U. Manssur, and R. Portugal. Shor’s algorithm for factoring large integers. quant-ph/0303175, 2003.

[18] S.J. Lomonaco Jr. and L.H. Kauffmann. Quantum hidden subgroup problems: a mathematical perspective. quant-ph/0201095, 2002.

[19] C. Lomont. The hidden subgroup problem: review and open problems. quant-ph/0411037, 2004.

[20] C. Lomont. A quantum Fourier transform algorithm. Los Alamos arXiv, quant-ph/0404060, 2004.

[21] M. Mosca. Quantum Computer Algorithms. PhD thesis, University of Oxford, 1999.

[22] M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Infor-mation. Cambridge University Press, Cambridge, UK, 2000.

[23] R. Portugal, C.C. Lavor, L.M. Carvalho, and N. Maculan. Uma Introdu¸c˜ao `a Computa¸c˜ao Quˆantica, volume 8 of Notas em Matem´atica Aplicada. SBMAC, 2004.

[24] E.G. Rieffel and W. Polak. An introduction to quantum computing for non-physicists. ACM Comput. Surv., 32(3):300–335, 2000.

[25] P. W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput., 26:1484–1509, 1997. [26] A. M. Steane. Quantum computing. 61:117, 1998.

Referências

Documentos relacionados

rgeom(n, p) distribui¸ c˜ ao Geom´ etrica(p) runif(n, a, b) distribui¸ c˜ ao Uniforme(a,b) rexp(n, lambda) distribui¸ c˜ ao Exponencial(lambda) rnorm(n, mean, sd) distribui¸ c˜

Neste diret´ orio est˜ ao, tamb´ em, localizados programas para manipula¸ c˜ ao de arquivos Postscript e L A TEX gerados pelo Scilab. • demos/ - onde est˜ ao localizados os

Para evitar isso, vocˆ e pode mover os dois comandos do preˆ ambulo para algum lugar ap´ os o comando \tableofcontents ou definitivamente n˜ ao us´ a-los, porque vocˆ e ver´ a que

Uma colora¸c˜ ao das arestas de um grafo ´e uma atribui¸c˜ ao de cores ` as suas arestas tal que arestas adjacentes recebem cores diferentes... 2 Colora¸c˜ oes m´ınimas e

Uma colora¸c˜ ao das arestas de um grafo ´e uma atribui¸c˜ ao de cores ` as suas arestas tal que arestas adjacentes recebem cores diferentes... 2 Colora¸c˜ oes m´ınimas e

No ´ ultimo cap´ıtulo deste trabalho, Cap´ıtulo 5, usaremos o grau to- pol´ ogico para mostrar a existˆ encia de solu¸ c˜ oes para um sistema de equa¸ c˜ oes diferenciais n˜

Caso o usu´ ario deseje executar novamente um mesmo comando ´ e necess´ ario apenas cha- mar na shell uma referˆ encia ao comando desejado com o caracter “!”, como mostra o exemplo

As entradas de referˆ encia do arquivo .bib s´ o aparecer˜ ao na p´ agina de referˆ encias se forem citadas no texto. No fim do