Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Computa7Compress~aodeDados, Notas de estudo de Informática

conputação quantica

Tipologia: Notas de estudo

2011

Compartilhado em 22/12/2011

jhoao-philbo-1
jhoao-philbo-1 🇧🇷

5

(2)

16 documentos

1 / 16

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Computa¸ao Quˆantica
Jean Faber e Renato Portugal
Laborat´orio Nacional de Computa¸ao Cient´ıfica - LNCC
Av. Get´ulio Vargas 333, Petr´opolis, RJ, 25651-075, Brazil
e-mail: {faber,portugal}@lncc.br
Resumo
Descrevemos a Computa¸ao Quˆantica de forma acess´ıvel usando conceitos
asicos de ´
Algebra Linear. Adotamos um tom informal minimizando o uso
de ormulas matem´aticas. Revisamos alguns conceitos de ´
Algebra Linear e
Mecˆanica Quˆantica como superposi¸ao e emaranhamento. Descrevemos os
pontos mais importantes dos algoritmos de Grover e Shor ressaltando o uso
do paralelismo quˆantico. Apresentamos de forma breve conceitos da teoria
da informa¸ao, da criptografia quˆantica e da implementa¸ao pr´atica de com-
putadores quˆanticos.
1 Introdu¸ao
A Computa¸ao Quˆantica estabeleceu um novo paradigma nascido da fus˜ao de duas impor-
tantes ´areas: Ciˆencia da Computa¸ao e ısica Quˆantica. Todo novo paradigma nos leva a
uma releitura do paradigma anterior. A Computa¸ao Cl´assica, anteriormente conhecida
apenas por Computa¸ao, surgiu em um contexto matem´atico. No come¸co do eculo XX,
os matem´aticos, como de costume, estavam trabalhando na demonstra¸ao de teoremas
espec´ıficos. Algumas conjecturas no entanto ao se renderam a demonstra¸oes, como por
exemplo, a conjectura de Goldbach que afirma que qualquer umero par pode ser escrito
como soma de dois n ´umeros primos. Por exemplo 16 = 5 + 11. Nunca foi encontrado um
contra-exemplo para essa afirma¸ao, nem no in´ıcio do eculo XX, nem usando computa-
dores de grande porte atuais. David Hilbert resolveu perguntar ao mais sobre provas de
teoremas espec´ıficos. Ele formulou duas perguntas importantes (1) Qualquer afirma¸ao
matem´atica, dentro do seu contexto, pode ser provada verdadeira ou falsa? (2) Existe
um algoritmo universal que leve `a constru¸ao de uma prova da veracidade ou falsidade
de qualquer afirma¸ao?
A primeira pergunta foi respondida por Kurt odel, que mostrou que seja qual for
o contexto matem´atico (desde que suficientemente complexo) sempre existem afirma¸oes
indecid´ıveis, i.e., ao podem ser provadas verdadeiras nem falsas. A segunda pergunta
foi respondida por Alan Turing numa ´epoca em que ainda ao havia computadores (nem
cl´assicos e muito menos quˆanticos). Para tal, ele definiu formalmente as no¸oes de “al-
goritmo” e “computa¸ao” criando um modelo te´orico chamado aquina de Turing, que
como vocˆes sabem, tem um cabe¸cote que imprime 0 ou 1 numa fita infinita de acordo com
um programa finito que controla os poss´ıveis estados da aquina. A aquina de Turing
´e a descri¸ao mais sucinta que podemos fazer do que chamamos hoje de computadores
cl´assicos. ao precisamos dizer se o monitor tem 15 ou 17 polegadas ou se o processador
´e Intel ou Athlon. Com sua aquina, Turing mostrou o primeiro exemplo de afirma¸ao
que ao ´e poss´ıvel computar. Turing demostrou que ao existe um algoritmo que diga
de maneira geral se algoritmos chegam a um resultado ou se rodam para sempre.
A generaliza¸ao quˆantica da aquina de Turing foi feita em 1985 por David Deutsch
[1]. Para desˆanimo dos mais afoitos, Deutsch mostrou que a aquina de Turing quˆantica
e a aquina de Turing cl´assica calculam exatamente as mesmas fun¸oes. O que ao ´e
comput´avel classicamente continua ao comput´avel quanticamente. Por´em, no in´ıcio da
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Computa7Compress~aodeDados e outras Notas de estudo em PDF para Informática, somente na Docsity!

Computa¸c˜ao Quˆantica

Jean Faber e Renato Portugal Laborat´orio Nacional de Computa¸c˜ao Cient´ıfica - LNCC Av. Get´ulio Vargas 333, Petr´opolis, RJ, 25651-075, Brazil e-mail: {faber,portugal}@lncc.br

Resumo Descrevemos a Computa¸c˜ao Quˆantica de forma acess´ıvel usando conceitos b´asicos de Algebra Linear.´ Adotamos um tom informal minimizando o uso de f´ormulas matem´aticas. Revisamos alguns conceitos de Algebra Linear e´ Mecˆanica Quˆantica como superposi¸c˜ao e emaranhamento. Descrevemos os pontos mais importantes dos algoritmos de Grover e Shor ressaltando o uso do paralelismo quˆantico. Apresentamos de forma breve conceitos da teoria da informa¸c˜ao, da criptografia quˆantica e da implementa¸c˜ao pr´atica de com- putadores quˆanticos.

1 Introdu¸c˜ao

A Computa¸c˜ao Quˆantica estabeleceu um novo paradigma nascido da fus˜ao de duas impor- tantes ´areas: Ciˆencia da Computa¸c˜ao e F´ısica Quˆantica. Todo novo paradigma nos leva a uma releitura do paradigma anterior. A Computa¸c˜ao Cl´assica, anteriormente conhecida apenas por Computa¸c˜ao, surgiu em um contexto matem´atico. No come¸co do s´eculo XX, os matem´aticos, como de costume, estavam trabalhando na demonstra¸c˜ao de teoremas espec´ıficos. Algumas conjecturas no entanto n˜ao se renderam a demonstra¸c˜oes, como por exemplo, a conjectura de Goldbach que afirma que qualquer n´umero par pode ser escrito como soma de dois n´umeros primos. Por exemplo 16 = 5 + 11. Nunca foi encontrado um contra-exemplo para essa afirma¸c˜ao, nem no in´ıcio do s´eculo XX, nem usando computa- dores de grande porte atuais. David Hilbert resolveu perguntar n˜ao mais sobre provas de teoremas espec´ıficos. Ele formulou duas perguntas importantes (1) Qualquer afirma¸c˜ao matem´atica, dentro do seu contexto, pode ser provada verdadeira ou falsa? (2) Existe um algoritmo universal que leve `a constru¸c˜ao de uma prova da veracidade ou falsidade de qualquer afirma¸c˜ao? A primeira pergunta foi respondida por Kurt G¨odel, que mostrou que seja qual for o contexto matem´atico (desde que suficientemente complexo) sempre existem afirma¸c˜oes indecid´ıveis, i.e., n˜ao podem ser provadas verdadeiras nem falsas. A segunda pergunta foi respondida por Alan Turing numa ´epoca em que ainda n˜ao havia computadores (nem cl´assicos e muito menos quˆanticos). Para tal, ele definiu formalmente as no¸c˜oes de “al- goritmo” e “computa¸c˜ao” criando um modelo te´orico chamado m´aquina de Turing, que como vocˆes sabem, tem um cabe¸cote que imprime 0 ou 1 numa fita infinita de acordo com um programa finito que controla os poss´ıveis estados da m´aquina. A m´aquina de Turing ´e a descri¸c˜ao mais sucinta que podemos fazer do que chamamos hoje de computadores cl´assicos. N˜ao precisamos dizer se o monitor tem 15 ou 17 polegadas ou se o processador ´e Intel ou Athlon. Com sua m´aquina, Turing mostrou o primeiro exemplo de afirma¸c˜ao que n˜ao ´e poss´ıvel computar. Turing demostrou que n˜ao existe um algoritmo que diga de maneira geral se algoritmos chegam a um resultado ou se rodam para sempre. A generaliza¸c˜ao quˆantica da m´aquina de Turing foi feita em 1985 por David Deutsch [1]. Para desˆanimo dos mais afoitos, Deutsch mostrou que a m´aquina de Turing quˆantica e a m´aquina de Turing cl´assica calculam exatamente as mesmas fun¸c˜oes. O que n˜ao ´e comput´avel classicamente continua n˜ao comput´avel quanticamente. Por´em, no in´ıcio da

d´ecada de 90, surgiram os primeiros exemplos de algoritmos quˆanticos exponencialmente mais r´apidos do que seus equivalentes cl´assicos. Esses algoritmos fazem uso do que ´e chamado de paralelismo quˆantico. O computador quˆantico com um ´unico processador funciona como se tivesse um n´umero exponencial de processadores paralelos. Outro resultado marcante foi a prova de que o computador quˆantico s´o tem ganho exponencial em compara¸c˜ao ao computador cl´assico se ele fizer uso do emaranhamento quˆantico. O emaranhamento ´e a caracter´ıstica que mais difere a F´ısica Quˆantica da Cl´assica.

2 Mecˆanica Quˆantica

J´a houve uma ´epoca em que se imaginava que a descri¸c˜ao f´ısica dos fenˆomenos que ocor- rem na Terra fosse diferente da descri¸c˜ao dos fenˆomenos celestes. Isaac Newton mostrou que as leis gravitacionais s˜ao as mesmas seja para uma ma¸c˜a madura que cai ao ch˜ao ou para o movimento dos planetas ao redor do sol. Indo na dire¸c˜ao oposta, a Mecˆanica Quˆantica pegou muita gente de surpresa, pois se imaginava no come¸co do s´eculo XX que o movimento dos el´etrons em torno do n´ucleo atˆomico fosse similar ao movimento dos planetas ao redor do sol. Engano! A natureza das leis f´ısicas do n´ıvel microsc´opico ´e radi- calmente diferente das leis do mundo macrosc´opico. L´a reina a Mecˆanica Quˆantica, onde tudo est´a em superposi¸c˜ao e emaranhado. Aqui reina a F´ısica Cl´assica, cujos princ´ıpios l´ogicos foram usados nos computadores e microcomputadores que nos s˜ao familiares. Os vetores descrevem muitas grandezas da F´ısica Cl´assica. Imagine uma bola de bilhar girando em torno de um eixo que passa pelo seu centro (veja Fig. 1). Podemos quantificar esse estado de rota¸c˜ao por um vetor J~, cuja dire¸c˜ao ´e a mesma do eixo, cujo sentido indica se a rota¸c˜ao ´e hor´aria ou anti-hor´aria e cujo m´odulo (norma) mede o qu˜ao r´apido ´e o giro. Ningu´em duvida que a dire¸c˜ao de J~ pode variar continuamente, pois de alguma forma podemos ir inclinando suavemente o eixo de rota¸c˜ao. Isso n˜ao ´e poss´ıvel quando observamos o mundo microsc´opico. L´a todas as grandezas f´ısicas s˜ao quantizadas e o quantum m´ınimo ´e dado pela constante universal de Planck h ≈ 6. 62 × 10 −^27 erg sec. Note que usando as medidas macrosc´opicas de energia (erg) e de tempo (sec), h ´e uma grandeza bem pequena. O el´etron ´e considerado uma part´ıcula elementar. N˜ao podemos imagin´a-lo girando como uma bola de bilhar. No entanto ele tem uma grandeza vetorial associada chamada

PSfrag replacements

J^ ~

Eixo de rota¸c˜ao

Figura 1: Bola de bilhar girando.

PSfrag replacements

i NOT(i)

ou

Figura 3: A porta l´ogica cl´assica NOT.

A observa¸c˜ao (medi¸c˜ao f´ısica) do estado de um sistema tem um papel bem diferente na teoria quˆantica quando comparada com a cl´assica. Na F´ısica Quˆantica, uma medida f´ısica perturba o estado e destr´oi a superposi¸c˜ao num processo estoc´astico. O estado antes da medi¸c˜ao n˜ao pode ser conhecido nem experimentalmente nem teoricamente. Na F´ısica Cl´assica uma medida tamb´em perturba, por´em o efeito pode ser minimizado e o estado original antes da medida pode ser deduzido teoricamente, pois ele existe objetivamente. Imagine uma m˜ae (desesperada) medindo a temperatura do filho com febre. O resultado que ela lˆe no termˆometro n˜ao ´e a temperatura original do filho, pois o termˆometro esfria um pouco o menino. Todo mundo vai falar que o erro ´e desprez´ıvel. S´o que na F´ısica Quˆantica, a perturba¸c˜ao n˜ao ´e desprez´ıvel, e pior, o estado original n˜ao pode ser determinado. Essa constata¸c˜ao fez com que toda a estrutura da F´ısica Cl´assica tivesse que ser reformulada para descrever essa nova situa¸c˜ao.

3 Computa¸c˜ao Quˆantica

Podemos fazer pouca coisa em um computador cl´assico de apenas 1 bit. Usando o modelo de circuitos de Shannon, podemos claramente ver que s´o h´a duas possibilidades. A primeira ´e descrita pela porta l´ogica NOT. A Fig. 3 mostra que se a entrada do computador for o bit i, a sa´ıda ser´a NOT(i). Se i = 0 ent˜ao a sa´ıda ´e 1, se i = 1 ent˜ao a sa´ıda ´e 0. A segunda possibilidade ´e ter como sa´ıda a pr´opria entrada. A representa¸c˜ao ´e simplesmente um fio que liga a entrada i na sa´ıda i. Num computador quˆantico de apenas 1 qubit, ´e poss´ıvel fazer mais coisa, apesar de n˜ao ser muito pr´atico. A Fig. 4 mostra um circuito quˆantico. A entrada ´e o estado de um qubit. O que o computador pode ou n˜ao pode fazer ´e determinado pelas leis da Mecˆanica Quˆantica. Ela diz que se o computador estiver isolado, a dire¸c˜ao de |ψ〉 pode mudar mas n˜ao a sua norma. Na Algebra Linear isso ´´ e expresso pela a¸c˜ao de um operador unit´ario U , que ´e uma matriz 2 × 2 com elementos complexos satisfazendo

U U †^ = I, (3)

onde U †^ ´e encontrada tomando o complexo conjugado da matriz transposta de U. U ´e uma matriz 2 × 2 enquanto que |ψ〉 ´e um vetor coluna de 2 elementos, de forma que a sa´ıda mostrada na Fig. 4 est´a com a dimens˜ao compat´ıvel. Usualmente a entrada ´e |ψ〉 = | 0 〉 ou |ψ〉 = | 1 〉, pois alimentamos o computador quˆantico com dados cl´assicos. A sa´ıda U |ψ〉 pode estar em superposi¸c˜ao, por´em precisa- mos observ´a-la para poder extrair informa¸c˜oes ´uteis. Essa medida faz U |ψ〉 ser projetado em | 0 〉 ou | 1 〉 de acordo com suas respectivas probabilidades. Isso d´a a impress˜ao que o computador quˆPSfrag replacementsantico n˜ao faz nada mais que o computador cl´assico com um acr´escimo de

|ψ〉 (^) U U |ψ〉

Figura 4: Um circuito quˆantico de 1 qubit.

algum processo randˆomico. Note por´em que o circuito da Fig. 4 pode estar imerso em um circuito maior, nesse caso tanto a entrada como a sa´ıda podem estar em superposi¸c˜ao e emaranhadas com o estado de outros qubits. As novidades s´o come¸cam realmente a aparecer quando consideramos computadores com mais de 1 qubit. Vamos pensar num computador quˆantico com 2 qubits. Fisicamente temos um sistema composto de 2 sub-sistemas. Cada sub-sistema tem um qubit. Isoladamente sabemos como trat´a-los. Para trabalhar com sistemas compostos, temos que introduzir a no¸c˜ao de produto de vetores, que n˜ao ´e igual aos familiares produtos interno e externo. Suponha que o qubit 1 esteja no estado a | 0 〉 + b | 1 〉 e o qubit 2 esteja no estado c | 0 〉 + d | 1 〉. A Mecˆanica Quˆantica diz que o estado do sistema composto ´e

|ψ〉 = (a | 0 〉 + b | 1 〉)(c | 0 〉 + d | 1 〉) = ac | 0 〉 | 0 〉 + ad | 0 〉 | 1 〉 + bc | 1 〉 | 0 〉 + bd | 1 〉 | 1 〉. (4)

O produto | 0 〉 | 1 〉 tamb´em ´e representado por | 01 〉. Note que a ordem dos fatores deve ser preservada, pois esse produto ´e n˜ao comutativo. Em termos de vetores temos que

 ,^ |^01 〉^ =

 ,^ |^10 〉^ =

 ,^ |^11 〉^ =

.^ (5)

Portanto |ψ〉 da Eq. (4) pertence a um espa¸co de Hilbert de dimens˜ao 4. As poss´ıveis modifica¸c˜oes de |ψ〉 devido a intera¸c˜oes f´ısicas s˜ao descritas por uma matriz unit´aria 4×4. Uma vez introduzido esse produto, podemos descrever o que ´e emaranhamento, pelo menos de forma matem´atica. Vamos tamb´em tentar descrever fisicamente, mas n˜ao vamos prometer nada. O estado |ψ〉 da Eq. (4) ´e produto de dois estados de 1 qubit. Sabemos qual ´e o estado de cada qubit isoladamente. Essa n˜ao ´e a situa¸c˜ao mais geral. Qualquer vetor de norma unit´aria no espa¸co de Hilbert de dimens˜ao 4 pode representar o estado de 2 qubits. Por exemplo, o estado

|ψ〉 =

´e perfeitamente v´alido. Note que n˜ao podemos fatorar |ψ〉. N˜ao h´a como escrevˆe-lo como produto de estados de 1 qubit. Sempre que isso ocorrer, o estado ´e dito emaranhado. O estado do conjunto est´a perfeitamente determinado, por´em as partes n˜ao tˆem estados definidos. A Mecˆanica Quˆantica concorda que o todo n˜ao ´e a soma das partes (melhor dizendo: produto das partes). Os esot´ericos adoram esse ponto. Esoterismo de lado, podemos dizer que os estados emaranhados s˜ao os n´umeros primos desse novo produto que introduzimos que ´e conhecido como produto tensorial. Para dar um exemplo mais concreto, considere o circuito de 2 qubits da Fig. 5, onde H ´e o operador de Hadamard dado por

H =

[

]

H

H

PSfrag replacements

| 0 〉

| 0 〉

| 0 〉 √+| 1 〉 2

| 0 〉 √+| 1 〉 2

Figura 5: Um exemplo de um circuito quˆantico de 2 qubits n˜ao emaranhados.

caso do algoritmo de Grover, tudo se passa em um sub-espa¸co real do espa¸co de Hilbert, portanto nesse caso podemos visualizar o algoritmo geometricamente. Vamos supor que N = 2n^ e que os elementos do banco de dados s˜ao n´umeros n˜ao negativos menores que N , podendo ter repeti¸c˜oes. O n´umero procurado i 0 pode pertencer ou n˜ao. Estamos supondo que 0 ≤ i 0 ≤ N − 1. Todos os elementos do banco de dados podem ser codificados como vetores |i〉 de um espa¸co Euclideano de dimens˜ao N , pois |i〉 usa n qubits (converta i para a base bin´aria). O primeiro passo do algoritmo ´e colocar o computador quˆantico no estado

|ψ〉 =

N

N∑ − 1

i=

|i〉 , (9)

que ´e feito aplicando H dado pela Eq. (7) a cada qubit inicialmente no estado | 0 〉 e expandindo da mesma forma como foi feito na Eq. (8). O estado procurado ´e |i 0 〉, que ´e um dos termos de |ψ〉. A Fig. 6 mostra |i 0 〉 e |ψ〉. Todo o algoritmo se passa no plano bidimensional gerado por esses vetores. A linha pontilhada ´e ortogonal a |i 0 〉. O ˆangulo entre |i 0 〉 e |ψ〉 ´e dado por (lembre que |i 0 〉 e |ψ〉 tem norma 1 e que o conjunto {|i〉 , i = 0, · · · , N − 1 } forma uma base ortonormal)

sin

θ 2

= cos

π 2

θ 2

= 〈i 0 |ψ〉 =

N

N∑ − 1

i=

〈i 0 |i〉 =

N

Se o tamanho do banco de dados for grande, |i 0 〉 e |ψ〉 s˜ao quase ortogonais e portanto o ˆangulo θ ´e pequeno. Podemos usar a aproxima¸c˜ao sin

( (^) θ 2

≈ θ 2 e obter

θ ≈

N

O pr´oximo passo do algoritmo ´e aplicar um operador que reflete |ψ〉 em rela¸c˜ao `a linha pontilhada. N˜ao sabemos se i 0 pertence ou n˜ao ao banco de dados. Essa reflex˜ao s´o ocorrer´a se i 0 pertencer. Seja f definida da seguinte forma

f (i) =

1 se i = i 0 0 caso contr´ario.

Essa fun¸c˜ao ´e usada no algoritmo cl´assico para comparar i 0 com cada elemento do banco de dados sequencialmente. A partir de f , podemos definir um operador unit´ario Uf , que ap´os uma consulta ao banco de dados quˆantico produz o seguinte resultado

Uf |i〉 = (−1)f^ (i)^ |i〉. (13)

PSfrag replacements (^) |ψ〉

|i 0 〉

θ 2

Figura 6: Representa¸c˜ao geom´etrica dos vetores |i 0 〉 e |ψ〉.

Estamos omitindo alguns detalhes que podem ser encontrados em [5]. O operador Uf troca o sinal apenas do vetor |i 0 〉, caso i 0 perten¸ca ao banco de dados, e deixa inalterado todos os outros |i〉. Isso vai provocar exatamente a reflex˜ao de |ψ〉 em torno da linha pontilhada. Vamos chamar de |ψ 1 〉 o novo estado, assim

|ψ 1 〉 = Uf |ψ〉

=

N

N∑ − 1

i=

Uf |i〉

N

N∑ − 1

i=

(−1)f^ (i)^ |i〉. (14)

|ψ 1 〉 tem os mesmos termos que |ψ〉 por´em o sinal de |i 0 〉 est´a trocado. Isso quer dizer que a proje¸c˜ao de |ψ 1 〉 na dire¸c˜ao de |i 0 〉 ´e o negativo da proje¸c˜ao de |ψ〉. Assim podemos posicionar |ψ 1 〉 na Fig. 7 como o reflexo de |ψ〉. A atua¸c˜ao de Uf em |ψ〉 faz uso de um importante recurso da Computa¸c˜ao Quˆantica chamado paralelismo quˆantico. Note que na Eq. (14), a fun¸c˜ao f foi aplicada simul- taneamente a N elementos. Isso decorre da linearidade de Uf. No algoritmo cl´assico, f tem que ser aplicada sequencialmente. O paralelismo quˆantico ´e favor´avel, pois se o computador quˆantico tiver n qubits, ser´a poss´ıvel usar 2n^ canais paralelos, j´a que |ψ〉 dado pela Eq. (9) tem 2n^ termos. No n´ıvel quˆantico, pode-se “ver” atrav´es do paralelismo quˆantico todo o banco de dados com uma ´unica consulta. Isso permite “marcar” (com sinal menos) o termo |i 0 〉 com uma ´unica consulta. Por´em para trazer uma informa¸c˜ao quˆantica para o n´ıvel cl´assico, temos que fazer uma medida f´ısica. No caso de |ψ 1 〉 dado pela Eq. (14), a medida n˜ao ir´a revelar i 0 , j´a que a probabilidade de |ψ 1 〉 ser projetado em |i 0 〉 ´e exponencialmente menor do que ser projetado no espa¸co ortogonal a |i 0 〉. Veremos que o algoritmo de Grover usa o paralelismo quˆantico repetidamente para aumentar o m´odulo do coeficiente de |i 0 〉 para pr´oximo de 1 e automaticamente reduzir o m´odulo dos outros coeficientes. Nesse caso a medida vai dar |i 0 〉 com grande probabilidade. O pr´oximo passo do algoritmo ´e usar um operador unit´ario R que reflete |ψ 1 〉 em torno de |ψ〉. Esse operador ´e dado por

R = 2 |ψ〉 〈ψ| − I, (15)

onde 〈ψ| = (|ψ〉)†. Lembre que † ´e o transposto conjugado, ent˜ao 〈ψ| ´e um vetor linha obtido transpondo |ψ〉. Assim |ψ〉 〈ψ| ´e o produto de uma matriz coluna N × 1 por uma

PSfrag replacements |ψ〉

|ψ 1 〉 = Uf |ψ〉

|i 0 〉

θ

Figura 7: Representa¸c˜ao geom´etrica do vetor |ψ 1 〉 ap´os uma consulta ao banco de dados.

um computador cl´assico, a saber, a redu¸c˜ao do problema de fatora¸c˜ao ao problema de achar a ordem de um n´umero inteiro x m´odulo N. A ordem ´e o menor inteiro r tal que

xr^ ≡ 1 mod N. (18)

Essa nota¸c˜ao quer dizer: xr^ dividido por N tem resto 1. Por exemplo, para N = 21 e x = 2 temos que 26 ≡ 1 mod 21. (19)

Assim a ordem de 2 m´odulo 21 ´e r = 6. H´a um teorema que diz que se r for par, ent˜ao (xr/^2 ± 1) cont´em fatores comuns com N. Fatores comuns s˜ao calculados eficientemente usando o algoritmo de Euclides de m´aximo divisor comum (MDC). Asim 2^3 ± 1 devem ter fatores comum com N = 21. De fato, 2^3 + 1 = 9 tem o fator 3 e 2^3 − 1 = 7 tem o fator 7. O algoritmo de Shor primeiramente escolhe randomicamente um n´umero inteiro po- sitivo x menor que N. O objetivo ´e achar a ordem de x m´odulo N. Se a ordem n˜ao for par, o processo recome¸ca com a escolha randˆomica de um outro x. O fato ´e que a quantidade de n´umeros menores que N que tem ordem par ´e suficientemente grande. Como se calcula classicamente a ordem de x? Temos que calcular em sequˆencia x^1 , x^2 , x^3 , · · · e ir verificando se a divis˜ao por N tem resto 1. No primeiro r tal que xr^ ≡ 1 mod N , a sequˆencia deve parar. Esse algoritmo tem complexidade O(N ). No computador quˆantico, podemos usar o paralelismo quˆantico e calcular xr^ para r de 0 a N − 1 simultaneamente. Isso ´e feito da seguinte maneira. Prepare o computador quˆantico no estado

|ψ〉 =

2 n

(^2) ∑n− 1

j=

|j〉 , (20)

onde n ´e o menor inteiro tal que N ≤ 2 n. Considere o seguinte operador unit´ario com a soma calculada m´odulo N Vx(|j〉 |k〉) = |j〉

k + xj^

Vx vai precisar de 2 registradores (conjuntos de qubits) com n qubits cada. Estamos omitindo detalhes que podem ser obtidos em [7]. Assim temos que

Vx(|ψ〉 | 0 〉) =

2 n

(^2) ∑n− 1

j=

Vx(|j〉 | 0 〉)

2 n

(^2) ∑n− 1

j=

|j〉

xj^

2 n

x^0

x^1

x^2

No resultado acima temos todas as potˆencias de x. Sabemos que quando o estado do primeiro registrador for |r〉, o segundo ser´a | 1 〉. Por´em, esse n˜ao ´e o ´unico caso em que a potˆencia de x d´a resto 1, de fato podemos selecionar os seguintes termos da Eq. (22) com esta caracter´ıstica

| 0 〉 | 1 〉 , |r〉 | 1 〉 , | 2 r〉 | 1 〉 , · · · , (23)

pois, por exemplo x^2 r^ = (xr^ )^2 , assim x^2 r^ ≡ 1 mod N. O mesmo vale para os outros termos.

O fato do computador quˆantico ter calculado todas as potˆencias de x ao mesmo tempo n˜ao ´e suficiente para sabermos qual ´e a ordem de r, pois a informa¸c˜ao de que os estados | 0 〉 , |r〉 , | 2 r〉 , · · · retornam resto 1 est´a no n´ıvel quˆantico. Para trazer essa informa¸c˜ao para o n´ıvel cl´assico, e ter r nas nossas m˜aos, precisamos fazer uma medida f´ısica. Uma medida direta do estado (22) n˜ao resultar´a na informa¸c˜ao desejada, pois todos os termos tˆem coeficientes iguais e a probabilidade de se obter um valor diferente de 1 no segundo registrador ´e muito maior do que obter 1. O que permite obter o valor de r ´e o fato de que os termos que tˆem valores iguais no segundo registrador s˜ao peri´odicos de per´ıodo r. Por exemplo, note que os valores do primeiro registrador da sequˆencia (23) tem per´ıodo r. Sem entrar em detalhes (veja [7]) a chave para resolver o problema ´e a transformada de Fourier. Sabemos que a transformada de Fourier de uma fun¸c˜ao de per´ıodo r ´e uma nova fun¸c˜ao de per´ıodo 1/r. Isso faz toda a diferen¸ca nesse contexto, pois a transformada de Fourier do estado da Eq. (22) gera a seguinte sequˆencia correspondentes aos termos de (23) ∣∣ ∣∣^0 r

N

∣∣^1

r

N

∣∣^2

r

N

∣∣^ r^ −^1 r

N

O mesmo ocorre com os termos que n˜ao tˆem 1 no segundo registrador. Agora o objetivo n˜ao ´e mais medir o segundo registrador e procurar pelo resultado 1, mas sim medir o primeiro registrador e ignorar o segundo. Pegamos o resultado e dividimos por N para obter j/r onde j pode ser qualquer n´umero tal que 0 ≤ j ≤ r − 1. Se j e r n˜ao tiverem fatores comuns e j 6 = 0, teremos r na primeira tentativa, pois basta tomar o denominador. Caso contr´ario, temos que rodar a parte quˆantica do algoritmo novamente. Com poucas repeti¸c˜oes se chega ao resultado. A transformada de Fourier ´e calculada ineficientemente em um computador cl´assico, pois se a fun¸c˜ao atua em N pontos, ´e necess´ario calcular a transformada em cada ponto sequencialmente o que d´a no m´ınimo complexidade O(N ). No caso quˆantico, usa-se o paralelismo quˆantico para calcular a transformada nos N pontos simultaneamente. Shor mostrou que o c´alculo quˆantico da transformada de Fourier tem complexidade O(n^2 ) e posteriormente se mostrou que o c´alculo da transformada aproximada tem complexidade O(n log n), isto ´e, exponencialmente mais r´apido do que o cl´assico (lembre que n ' log 2 N ). O computador quˆantico calcula a transformada de Fourier praticamente na mesma velocidade que o computador cl´assico soma n´umeros. Infelizmente, o computador quˆantico n˜ao pode executar apenas a transformada de Fourier e deixar o resto da tarefa para o cl´assico. A entrada do circuito da transformada de Fourier deve ser um estado em superposi¸c˜ao. Esse estado n˜ao pode ser fornecido por um circuito cl´assico.

6 Teoria da Informa¸c˜ao Cl´assica

Os engenheiros el´etricos sabem que a Teoria da Informa¸c˜ao ´e importante na Ciˆencia da Computa¸c˜ao. Shannon era engenheiro el´etrico e criou as bases dessa teoria na d´ecada de 40. O primeiro passo ´e quantificar a informa¸c˜ao. Para isso, vamos supor que a informa¸c˜ao est´a sendo enviada de Alice para Beto atrav´es de um canal (internet, por exemplo). Vamos nos concentrar na primeira letra da frase que Alice vai enviar. Se ela est´a usando portuguˆes, ela vai enviar uma letra entre 23 possibilidades de “a” at´e “z”. A primeira letra que Beto recebe j´a cont´em um pouco de informa¸c˜ao. Por´em, se ele receber a letra “a” ou “s”, estar´a recebendo menos informa¸c˜ao do que se ele recebesse as letras “u” ou “z”, pois nos textos em portuguˆes existe muito mais “a” e “s” do que “u” e “z”. Pense no jogo da forca. Se vocˆe acertar um “u” ou um “z”, vocˆe estar´a mais perto de

7 Compress˜ao de Dados

Se a distribui¸c˜ao da probabilidade de ocorrˆencia das letras de um alfabeto n˜ao for uni- forme ent˜ao ´e poss´ıvel comprimir os dados, quer dizer, ´e poss´ıvel fazer uma nova codi- fica¸c˜ao que use menos espa¸co de mem´oria. Por exemplo, vamos supor que nosso alfabeto consista de quatro letras α, β, γ e δ tal que p(α) = 1/ 2 , p(β) = 1/4 e p(γ) = p(δ) = 1/8, isto ´e, α ´e usado o dobro de vezes que β, que ´e usado o dobro de γ ou δ. Ingenuamente Alice pode decidir codificar essas letras em um alfabeto bin´ario da seguinte forma α = 00, β = 01, γ = 10 e δ = 11. Nessa codifica¸c˜ao ela deve usar 2 bits para enviar uma letra. Se o texto tiver 100 letras, Alice deve enviar 200 bits. Por outro lado, a f´ormula da entropia de Shannon diz que

〈S〉 = −

log

log

log

log

Isto ´e, para cada letra, precisamos em m´edia 7/4 bits de informa¸c˜ao e n˜ao de 2 bits. Isso quer dizer que podemos enviar o texto de 100 letras usando 175 bits? Sim. Sem querer dar a receita geral, podemos usar a seguinte nova codifica¸c˜ao: α = 1, β = 10, γ = 110 e δ = 111. Note que agora a letra α, que aparece mais, usa apenas 1 bit. γ e δ usam 3 bits, por´em eles aparecem t˜ao pouco que isso n˜ao ´e problema. O n´umero de bits m´edio 〈N 〉 usado por letra nesse caso ´e

〈N 〉 = p(α) N (α) + p(β) N (β) + p(γ) N (γ) + p(δ) N (δ)

Bingo!

8 Teoria da Informa¸c˜ao Quˆantica

Infelizmente os conceitos e a matem´atica da teoria da informa¸c˜ao quˆantica requerem um espa¸co maior do que nos est´a dispon´ıvel no momento. Veja [8] para mais detalhes. Vamos ent˜ao delinear apenas alguns pontos importantes. Diferentemente da informa¸c˜ao cl´assica, a informa¸c˜ao codificada em estados quˆanticos n˜ao pode ser clonada (copiada) a menos que ela j´a seja conhecida de antem˜ao. Uma c´opia de estados quˆanticos gen´ericos s´o pode ser feita por processos n˜ao unit´arios, que n˜ao s˜ao permitidos na Mecˆanica Quˆantica em sistemas isolados. Se o sistema n˜ao estiver isolado, ele passa a se comportar classicamente, perdendo as vantagens que estamos discutindo. Existe a possibilidade de isolamento parcial, que ´e o que mais ocorre na pr´atica. Nesse caso, parte da informa¸c˜ao quˆantica vaza para o n´ıvel cl´assico sem perder totalmente a superposi¸c˜ao e o emaranhamento no sistema original. Nesse trabalho estamos supondo uma situa¸c˜ao idealizada de sistemas isolados at´e o momento em que uma observa¸c˜ao ´e feita. Estados emaranhados permitem dois importantes fenˆomenos ligados `a manipula¸c˜ao da informa¸c˜ao quˆantica: (1) codifica¸c˜ao densa e (2) teletransporte. Codifica¸c˜ao densa significa enviar muita informa¸c˜ao cl´assica enviando pouca informa¸c˜ao quˆantica. Tele- transporte significa transmitir um estado quˆantico fazendo ele desaparecer em um ponto de modo a aparecer em outro ponto arbitrariamente distante. O emaranhamento ´e a pe¸ca chave pela seginte raz˜ao. Suponha que o estado quˆantico de dois f´otons estejam

emaranhados como na Eq. (6):

|ψ〉 =

O primeiro ket de cada termo se refere ao f´oton 1 e o segundo ao f´oton 2. Eles foram gerados em um laborat´orio aqui no Brasil. O f´oton 1 foi enviado para Alice no Canad´a e o f´oton 2 para Beto na Africa.´ Eles recebem esses f´otons no mesmo instante. N˜ao estamos dizendo que isso ´e uma tarefa f´acil, mas podemos especular um pouco. Apesar da distˆancia, o emaranhamento continua a existir. Se Alice medir o estado do f´oton que ela recebeu, e se ela verificar que o resultado indica que o f´oton est´a no estado | 0 〉, ent˜ao ela sabe pela Eq. (27) que o f´oton de Beto tamb´em est´a no estado | 0 〉, pois |ψ〉 foi necessariamente projetado no estado | 0 〉 | 0 〉. O primeiro a verificar essa caracter´ıstica da Mecˆanica Quˆantica foi Einstein, por´em isso o incomodava profundamente pois tudo indicava a possibilidade de transmiss˜ao de informa¸c˜ao cl´assica acima da velocidade da luz (instantˆanea, de fato) violando a preciosa causalidade (efeito vem depois da causa). O que se verificou foi que o princ´ıpio da causalidade n˜ao era violado, mas que condifica¸c˜ao densa e teletransporte s˜ao poss´ıveis. Infelizmente n˜ao foi poss´ıvel a Einstein conhecer esses resultados uma vez que eles foram obtidos na d´ecada de 90. Vimos na se¸c˜ao anterior que ´e poss´ıvel compactar a informa¸c˜ao cl´assica. O mesmo ocorre com a informa¸c˜ao quˆantica. Para continuar a discuss˜ao ter´ıamos que quantific´a-la, o que estamos evitando em fun¸c˜ao da falta de espa¸co. A f´ormula quˆantica equivalente a f´ormula de Shannon (26) ´e chamada de entropia de Von Neumann. Se a informa¸c˜ao for enviada em canais quˆanticos isolados, a teoria est´a bem estabelecida, no entanto se o canal tiver ru´ıdos, a teoria ainda est´a sendo elaborada.

9 Criptografia Quˆantica

Criptografia ´e o estudo de m´etodos para enviar mensagens codificadas de modo que um bisbilhoteiro que tenha acesso (provavelmente il´ıcito) as mensagens n˜ao consiga entender o conte´udo delas. Se Alice quer enviar uma mensagem de forma realmente segura para Beto, eles devem de antem˜ao gerar um n´umero aleat´orio (chave) do mesmo tamanho da mensagem. Alice deve converter a mensagem de letras para n´umeros da maneira mais simples que puder, por exemplo, a=1, b=2, etc. Ela deve ent˜ao somar a mensagem ao n´umero aleat´orio e enviar para Beto. Shannon mostrou que esse criptograma ´e inviol´avel sem o acessoa chave. Beto por sua vez resgata a mensagem subtraindo o n´umero aleat´orio do criptograma. Esse m´etodo tem pelo menos dois problemas s´erios: (1) a chave s´o pode ser usada uma vez, pois o bisbilhoteiro pode deduzir a chave se tiver acesso a v´arios criptogramas criptografados com a mesma chave (2) Alice e Beto tˆem que estar juntos para gerar o n´umero aleat´orio, e guard´a-lo de forma segura. Se a chave fosse enviada, o bisbilhoteiro estaria a espreita. A criptografia quˆantica resolve os problemas mencionados acima. A id´eia ´e enviar dados em superposi¸c˜ao, como ´e permitido pelos princ´ıpios da Mecˆanica Quˆantica. O contexto f´ısico mais adequado ´e usar os estados de polariza¸c˜ao de f´otons como qubits, e envi´a-los em fibras ´oticas. Se os dados s˜ao enviados em superposi¸c˜ao, o bisbilhoteiro precisa executar uma medida f´ısica para saber qual ´e o conte´udo da mensagem. Portanto ele destr´oi a superposi¸c˜ao irrecuperavelmente. N˜ao h´a como gerar novamente o estado original e re-envi´a-lo para Beto. Isso significa que o bisbilhoteiro ser´a inevitavelmente de- tectado. N˜ao convˆem enviar a mensagem original mesmo que em estado de superposi¸c˜ao. Em vez disso, Alice deve enviar a chave. Se o bisbilhoteiro interceptar, ele n˜ao ter´a acesso

momento s´o existem pouqu´ıssimos exemplos de algoritmos quˆanticos mais eficientes do que os equivalentes cl´assicos a maioria dos quais discutimos nesse trabalho. Paralelamente ao desenvolvimento da computa¸c˜ao quˆantica, a criptografia quˆantica vem apresentando excelentes resultados. J´a existem firmas vendendo equipamento para transmiss˜ao segura de chaves usando princ´ıpios quˆanticos em fibras ´oticas. A crescente demanda por manipula¸c˜ao e transmiss˜ao de informa¸c˜ao somada a famosa lei de Moore, que prevˆe a eminente satura¸c˜ao do n´umero de trans´ıstores dentro dos chips dos computadores cl´assicos, apontam para a tecnologia quˆantica. O que poder´a ser feito de fato e o que vai ficar a desejar ainda n˜ao est´a claro. Como revis˜ao geral da ´area, sugerimos as referˆencias [8] (para quem tem conhecimento na ´area de F´ısica) e [12].

Referˆencias

[1] D. Deutsch, Quantum theory, the Church-Turing principle and the universal quantum computer, Proc. R. Soc. London A400 (1985) 97-117.

[2] L.K. Grover, A fast quantum mechanical algorithm for database search, Proc. 28th Annual ACM Symposium on the Theory of Computing (STOC), May (1996) 212-219.

[3] L.K. Grover, Quantum Mechanics helps in searching for a needle in a haystack, Phys. Rev. Lett. 79 (1997) 325.

[4] D. Aharonov, Quantum Computation, Annual Reviews of Computational Phy- sics, ed. Dietrich Stauffer, World Scientific, vol. VI (1998).

[5] C. Lavor, L.R.U. Manssur, and R. Portugal, Grover’s Algorithm: Searching in Quantum Databases, quant-ph/0301079, 2003 (veja http://arxiv.org).

[6] P. Shor, Algorithms for Quantum Computation: Discrete Logarithm and Facto- ring, Proc. 35th Annual Symposium on Foundations of Computer Science (1994) 124-134 and SIAM J. Comput. 26 (1997) 1484-1509.

[7] C. Lavor, L.R.U. Manssur, R. Portugal, Shor’s Algorithm for Factoring Large Integers, quant-ph/0303175, 2003 (veja http://arxiv.org).

[8] A. Steane, Quantum Computing, Rep. Prog. Phys. 61 (1998) 117-173.

[9] L.M.K. Vandersypen, M. Steffen, G. Breyta, C.S. Yannoni, M.H. Sherwood, and I.L. Chuang, Experimental realization of Shor’s quantum factoring algorithm using nuclear magnetic resonance, Nature, 414 (2001) 883-887.

[10] M.A. Nielsen and I.L. Chuang, Quantum Computation and Quantum Informa- tion, Cambridge University Press, Cambridge (2000).

[11] N. Gisin, G. Ribordy, W. Tittel, and H. Zbinden, Quantum Cryptography, Re- views of Modern Physics 74 (2002) 145-195.

[12] E.G. Rieffel and W. Polak, An Introduction to Quantum Computing for Non- Physicists, ACM Computing Surveys, 32 (2000) 300-335.