Escolar Documentos
Profissional Documentos
Cultura Documentos
Instituto de Matema
MAC0412 - Organizacao de Computadores
Monografia
Computa
c
ao Qu
antica para leigos
30 de janeiro de 2011
Sum
ario
1 Introduc
ao
2 Hist
orico
2.1 Fsica Quantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Computacao Quantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
4
3 O b
asico
3.1 Espacos de Hilbert e algumas notacoes
3.2 Quantum Bits ou qubits . . . . . . . .
3.3 Por que quantica? . . . . . . . . . . . .
3.3.1 Sobreposicao . . . . . . . . . .
3.3.2 Observacao . . . . . . . . . . .
3.3.3 Emaranhamento . . . . . . . .
3.3.4 Reversibilidade . . . . . . . . .
3.3.5 Interferencia . . . . . . . . . . .
3.3.6 Decoerencia . . . . . . . . . . .
3.3.7 Nao-Clonagem . . . . . . . . .
4 Computadores Qu
anticos na pr
atica
4.1 Criterio de DiVincenzo . . . . . . .
4.1.1 Escalabilidade . . . . . . . .
4.1.2 Inicializacao . . . . . . . . .
4.1.3 Tempo de Coerencia . . . .
4.1.4 Portas Logicas Quanticas . .
4.1.5 Observacao . . . . . . . . .
4.2 Algumas implementacoes por alto .
4.2.1 Armadilhas de on: . . . . .
4.2.2 Optica:
. . . . . . . . . . . .
4.2.3 Supercondutores: . . . . . .
4.2.4 Adiabatico: . . . . . . . .
4.2.5 Outros: . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
. 5
. 6
. 7
. 7
. 7
. 8
. 9
. 9
. 11
. 11
.
.
.
.
.
.
.
.
.
.
.
.
12
12
12
12
12
12
12
12
13
13
13
13
13
.
.
.
.
.
.
.
.
.
.
.
.
5 Algoritmos Qu
anticos
14
5.1 Algoritmo de Deutsch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Algoritmo de Shor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3 Outros algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6 Aplicac
oes e possibilidades da Computac
ao Qu
antica
6.1 Criptografia Quantica . . . . . . . . . . . . . . . . . . .
6.1.1 Implicacoes para a Criptografia Classica . . . .
6.1.2 Sistemas Criptograficos Quanticos . . . . . . . .
6.1.3 Distribuicao Quantica de Chaves . . . . . . . .
6.1.4 One-time pad . . . . . . . . . . . . . . . . . . .
6.2 Speedup de algoritmos classicos . . . . . . . . . . . . .
6.3 Simulacao de sistemas quanticos . . . . . . . . . . . . .
6.4 Outras aplicacoes . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
17
17
17
17
18
19
19
7 Informac
ao Qu
antica e Correc
ao de Erros
7.1 Informacao Quantica - Uma visao geral . .
7.2 Teoria Quantica da Informacao . . . . . .
7.3 Correcao de erros . . . . . . . . . . . . . .
7.3.1 Correcao de erros classica . . . . .
7.3.2 Correcao de erros quantica . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
20
20
20
21
24
Introduc
ao
Com uma certa frequencia vemos, na mdia, diversas notcias, reportagens ou materias
acerca da Fsica Quantica. Ja, com menos frequencia, vemos alguma reportagem sobre Computacao Quantica. Em geral, essas materias costumam citar o conhecidssimo problema da
quebra das chaves de criptografia baseadas em n
umeros primos e do caos causado `as transacoes
bancarias e aos departamentos de seguranca.
Tambem costumam dizer coisas magicas sobre as possibilidades da Computacao Quantica,
mas, quase sempre, se esquecendo de diversos detalhes importantssimos como o problema da
observacao e a enorme dificuldade de tornar o computador quantico algo real.
Tentaremos, adiante, dar um parecer menos esoterico1 acerca dessa nova e intrigante area
que une tres grandes viloes do curso de engenharia: Fsica, Matematica e Computacao.
Hist
orico
Para falarmos de Computacao Quantica e necessario, antes, ver o contexto no qual surgiu
a Fsica Quantica e, depois, como surgiu seu estudo propriamente dito.
2.1
Fsica Qu
antica
2.2
Computa
c
ao Qu
antica
No comeco da decada de 1980, Richard Feynman escreveu, num artigo, que um sistema
quantico grande nao pode ser simulado num computador comum devido ao fato de um sistema
com n estados quanticos necessitar de 2n variaveis. Em particular, um sistema quantico com
300 estados quanticos demandaria 2300 variaveis, ou seja, uma quantidade maior de variaveis
do que temos de atomos no universo observavel 4 !
No artigo de Feynman tambem havia uma hipotese interessante: um computador construdo
a partir das leis da Fsica Quantica poderia ser capaz de simular eficientemente um sistema
quantico, ou seja, um computador quantico poderia trabalhar exponencialmente mais rapido
que um computador comum.
A Computacao Quantica engatinhava ate que, em 1994, Peter W. Shor escreveu um algoritmo para computadores quanticos capaz de fatorar n
umeros inteiros em tempo polinomial. O
pilar da criptografia baseada em n
umeros (e.g. RSA) foi abalado.
Atualmente, ha muita teoria como codigos corretores de erros para informacao quantica,
diversos algoritmos que se aproveitam das propriedades quase magicas de um computador
quantico, d
uzias de modelos de computadores quanticos e, infelizmente, nenhum computador
quantico de uso geral.
O b
asico
Para estudar Computacao Quantica, e imprescindvel entender coisas sobre como os fenomenos
quanticos sao modelados, quais sao os que tem influencia direta e as diferencas entre o computador quantico e o computador classico.
3.1
Espa
cos de Hilbert e algumas notac
oes
Definic
ao 1. Um espaco vetorial H e completo se, para cada sequencia de vetores x tais que
lim ||xm xn || = 0,
m,n
Definic
ao 2. O produto interno de um espaco vetorial H associado ao corpo
de H H com x, y, z H e com as seguintes propriedades:
C e uma funcao
1. hx | yi = hy | xi
2. hx | xi 0 e hx | xi = 0 x = 0
3. hx | y + zi = hx | yi + hx | zi
4. hx | yi = hx | yi
Definic
ao 3. Entende-se por espaco de Hilbert, H, um espaco vetorial completo sobre munido
de produto interno como definido acima. Hn , n , e o espaco de Hilbert de dimensao n.
Observac
ao 1. Os vetores poderao ser notados da seguinte forma: |i. Essa notacao tem o
nome de ket.
Definic
ao 4. Um operador linear e um mapeamento T : H H, dados x, y H e
com a propriedade:
T (x + y) = T (x) + T (y)
Em particular, se T (x) = x, com x H e
autovalor.
C,
C,
x e dito um autovetor de T e um
Definic
ao 5. Seja T um operador linear, se T T = I dizemos que T e unitario. Definimos T
como o T transposta com todos seus elementos conjugados.
Definic
ao 6. O produto tensorial e denotado por Hn Hm . Ele associa elementos xi da base
de Hn com yj da base de Hm da seguinte forma: xi yj . Ele e definido da seguinte forma:
(
n
X
i=1
m
n X
m
X
X
i xi ) (
j yj ) =
i j xi yj
j=i
i=1 j=i
Notacoes alternativas:
|xi |yi = |xi |yi = |x, yi
3.2
Definic
ao 7. Um sistema quantico com n estados pode ser denotado como um elemento de Hn
com a forma:
|i = 1 |x1 i + 2 |x2 i + ... + n |xn i
Onde |xi i e um elemento da base de Hn e i
C.
qubit
vetor
2n
probabilstica
diversa
sim
Lembre-se que a u
nica restric
ao para os coeficientes e
6
Observac
ao, aqui, e no sentido da Fsica Quantica.
Pn
i=0
|i |2 = 1.
3.3
Por que qu
antica?
um fato que existem propriedades que sao exclusivas dos computadores quanticos. Caso
E
contrario, seria trivial fazer a simulacao de um deles por uma Maquina de Turing.
Quais propriedades seriam essas?
3.3.1
Sobreposic
ao
Um dos grandes trunfos da quantica e, certamente, a sobreposicao. No estado de sobreposicao, o sistema quantico assume todos os estados, mesmo que cada um tenha probabilidade
|i |2 de ser observado.
Isso significa que a sobreposicao e um dos responsaveis pelo paralelismo sem precedentes.
Em contrapartida, e justamente pela sobreposicao que os sistemas quanticos sao de tao difcil
simulacao.
Em termos de qubits, gastaramos, para n qubits, 2n n
umeros.
Sera ilustrada, a seguir, a aplicacao de uma porta de Hadamard num sistema com n qubits.
Situacao inicial:
|i = 1 |x1 i + ... + 2n |x2n i
Aplicando Hadamard, H(|i), que sera descrita com detalhes mais adiante:
i =
i + 2n1 +1
Observac
ao
3.3.3
Emaranhamento
1 1
1 2
2 1
2 2
= 12
=0
=0
= 12
3.3.4
Reversibilidade
"
1
2
1
2
Pauli-X ou NOT
Pauli-Y
Pauli-Z
1
2
12
0 1
1 0
0 i
i 0
1 0
0 1
Phase
1 0
0 i
/8
N OT
"
3.3.5
1
0
0 ei/4
1
2
1
2
12
1
2
Interfer
encia
A interferencia como conhecemos e aquela na qual a adicao de duas ondas e capaz de criar
um novo padrao de onda. No mundo da quantica, ate as partculas sao dotadas dessa estranha
propriedade.
Em termos matematicos, podemos explicar a interferencia como uma consequencia da utilizacao de n
umeros complexos para representar sistemas quanticos. Pelo fato de os n
umeros
9
serem complexos, ao aplicar uma transformacao linear num sistema quantico, e possvel que o
n
umero imaginario i seja multiplicado por outro i, gerando 1. Esse n
umero negativo pode,
eventualmente, apagar algum escalar do vetor. As transformacoes unitarias tambem podem
fazer algo parecido.
Um exemplo envolve aplicar a transformacao de Hadamard no estado: |i = 12 (|0i + |1i).
Teremos entao:
#"
#
"
1
1
1
1
2
2
=
= 1 |0i + 0 |1i = |0i
H(|i) = 12
1
1
2
0
2
2
Caso seja aplicada Hadamard mais uma vez, obteremos:
"
# "
#
1
1
1
1
1
1
2
2
H(H(|i)) = 12
=
=
|0i
+
|1i
1
1
2
0
2
2
2
2
Apagamos o |1i e o recuperamos com a mesma transformacao. Ela interferiu tanto o apagando quanto o recuperando.
Outro exemplo de interferencia pode ser dado pelo experimento que usa um aparato chamado
interferometro.
O interferometro em questao consiste basicamente de um emissor de luz polarizada, dois
divisores de luz (metade refrata, metade reflete), dois espelhos perfeitos e dois detectores de
fotons.
Por causa da interferencia, um dos detectores nao recebera fotons como ilustrado abaixo.
Figura 1: Interferometro.
Quando a interferencia aumenta algum escalar de tal forma que ele fique maior, em modulo,
do que todos os outros, temos a interferencia construtiva. Ja quando a interferencia causa a
anulacao de um determinado estado, ela e chamada interferencia destrutiva.
10
3.3.6
Decoer
encia
N
ao-Clonagem
1
2
Isso significa que, por um lado, C( 12 (|i + |i) |i) tem dimensao 4 e, por outro, dimensao
2. Um absurdo!
Uma consequencia desse teorema e que nao e possvel copiar estados de sobreposicao usando
um circuito quantico, ou seja, e impossvel, no meio de um processamento, copiar um estado
de sobreposicao.
Uma outra abordagem e pensarmos que e impossvel observar um estado de sobreposicao,
pois, na observacao, o estado colapsa para algum estado observavel. Logo ha perda de informacao e nao conseguiremos copia-lo.
11
Computadores Qu
anticos na pr
atica
4.1
Crit
erio de DiVincenzo
DiVincenzo e um pesquisador da IBM que postulou cinco requisitos que devem ser obedecidos para um computador quantico funcionar para um uso mais geral como vistos em
[PQC][MAL].
4.1.1
Escalabilidade
O qubit deve ser representado adequadamente tendo seu estado de sobreposicao coerente.
Tambem e necessario que seja possvel compor um sistema com uma quantidade de qubits
grande o suficiente para o processamento ser realizado.
4.1.2
Inicializac
ao
Deve ser possvel fixar o valor inicial de um qubit em algum valor desejado.
Fazendo um paralelo com a Computacao Classica, a inicializacao e a mesma que um programador C faz ao declarar variaveis para garantir a integridade dos dados.
4.1.3
Tempo de Coer
encia
O sistema deve ter um tempo alto de coerencia nos dados de tal forma que toda computacao
necessaria seja feita e que a taxa de erros seja a menor possvel - o que pode ser feito com recursos
como correcao de erros quantica, mas isso demanda, de qualquer forma, mais tempo antes da
decoerencia.
O tempo de coerencia e considerado alto dependendo do tempo necessario 8 para realizar
as operacoes nos qubits.
4.1.4
Portas L
ogicas Qu
anticas
Observac
ao
Depois de toda computacao ser realizada, e necessario extrair os dados dos qubits. Para
tanto, precisamos de meios eficientes para fazer a observacao (senao nao adiantaria de nada ter
feito toda a computacao e nao poder ver o resultado).
4.2
Algumas implementa
co
es por alto
12
4.2.1
Armadilhas de on:
Sao usados campos magneticos e/ou eletricos e resfriamento a laser para criar um registrador
quantico com um espacamento micrometrico entre os ons.
O movimento do on funciona como um barramento de dados. As portas sao implementadas
modulando os ons vizinhos usando laser.
O tempo de decoerencia 9 e de cerca de 10min! No entanto, as portas sao bastante lentas e
chegam a demorar alguns microssegundos para modificar dois qubits.
Outra possibilidade e integrar chips CMOS com armadilhas de on permitindo comunicacao
quantica. Na mesma linha, ha pesquisas envolvendo a combinacao de armadilhas de on com
supercondutores - procurando obter o melhor de ambas. Acredita-se que os supercondutores
ajudem na comunicacao.
4.2.2
Optica:
Os qubits oriundos desse processo sao fotons que tem seus estados codificados por polarizacoes (verticais, horizontais ou alguma combinacao).
A vantagem e o tempo longo de decoerencia e, ainda por cima, ha a fibra optica que e,
naturalmente, um candidato a meio de comunicacao quantica.
Entretanto, a criacao de fotons, bem como sua deteccao, e lenta.
Um grupo da Universidade de Queensland conseguiu rodar o algoritmo de Shor (decompondo
15) num circuito optico de quatro qubits. Logo depois, Prem Kumar da Northwestern University
anunciou uma porta logica quantica de fibra optica.
Tambem veio da optica o otimo resultado sobre o emaranhamento de 100km usando fibra
optica.
4.2.3
Supercondutores:
Os qubits podem vir de tres vias: carga, fluxo e fase. Costumam usar estados de excitacao
de juncoes Josephson: dois supercondutores separados por um insulador fino o suficiente para
pares de eletrons do cobre passarem.
Essa abordagem e escalavel porque a supercondutividade habilita um controle rapido ao
custo da temperatura necessaria ser extremamente baixa (menos de 1K). Materiais supercondutores em temperatura mais elevada sao possibilidades futuras.
Outro ponto ruim do uso de supercondutores e o tempo de decoerencia baixo.
4.2.4
Adiab
atico:
Outros:
A leitura correta seria tempo ate a decoerencia, nao obstante a terminologia usada ser essa.
13
Algoritmos Qu
anticos
Um algoritmo classico e uma sequencia finita de instrucoes bem definidas para resolver
um problema, onde cada passo ou instrucao pode ser executado por um computador classico.
Analogamente, um algoritmo quantico e tambem um conjunto finito de instrucoes ordenadas
e nao ambguas, onde cada uma pode ser executada num computador quantico. De fato, o
termo algoritmo quantico e reservado para algoritmos que usam alguma propriedade essencial
da Quantica (a rigor, algoritmos quanticos sao maneiras de combinar operacoes num sistema
necessario ressaltar que qualquer problema que pode
quantico para resolver um problema). E
ser resolvido por um computador quantico pode ser resolvido por um classico e vice-versa. Em
particular, problemas que sao indecidveis no contexto da Computacao Classica tambem o sao
no ambito da Computacao Quantica. Assim sendo, a Computacao Quantica nao fere a Tese de
Church-Turing, que afirma, em termos simples, que
Toda funcao que seria naturalmente computavel pode ser computada por uma
Maquina de Turing.
O grande interesse nos algoritmos quanticos vem, portanto, do fato de que eles podem
resolver alguns problemas mais rapidamente que os algoritmos classicos.
Seja no contexto da Computacao Classica ou da Computacao Quantica, projetar algoritmos
e uma tarefa complexa. Porem, quando se trata de Quantica, tal tarefa torna-se ainda mais
complicada devido ao novo paradigma que a Computacao Quantica introduz e a`s tentativas
de utilizar as propriedades da Mecanica Quantica para reduzir a complexidade de algoritmos
e tornar possvel solucionar - em tempo viavel - problemas intrataveis do ponto de vista da
Computacao Classica.
Dada a inviabilidade de abordar com detalhes todos os algoritmos quanticos existentes,
foram selecionados apenas dois deles - o primeiro pela simplicidade e importancia historica e
o segundo pelo avanco que representou por apresentar uma complexidade muito menor que os
algoritmos classicos para o mesmo problema.
5.1
Algoritmo de Deutsch
14
Quanticamente, podemos solucionar o problema com apenas uma consulta `a caixa preta.
A razao para isso esta no princpio da sobreposicao. Vamos mostrar entao como funciona o
algoritmo de Deutsch para esse problema a partir de um circuito quantico.
O circuito reversvel que calcula f pode ser transformado num circuito quantico se toda
porta reversvel do circuito inicial for substituda pela sua porta quantica analoga. Tal circuito
quantico pode ser representado por
Uf : |xi|yi 7 |xi|y f (x)i
Se mantivermos o segundo qubit no estado |yi = |0i e o primeiro qubit em |xi = |0i, obteremos |0 f (0)i = |f (0)i. Analogamente, se repetirmos o estado do segundo qubit e fizermos
|xi = |1i como estado do primeiro qubit, teremos |f (1)i como sada. Portanto, com essas entradas descritas, conseguimos exatamente o mesmo comportamento do circuito reversvel classico
com entradas 0 e 1, respectivamente.
Poderamos, no entanto, fornecer entradas tais que os qubits fossem uma sobreposicao de
|0i e |1i: ainda mantendo o segundo qubit da entrada no estado |yi = |0i, colocamos o primeiro
qubit no estado
1
1
|0i + |1i
(1)
2
2
A entrada para Uf seria entao
1
1
( |0i + |1i)|0i
2
2
1
1
= |0i|0i + |1i|0i.
2
2
Na sada de Uf , teramos o estado
(2)
(3)
1
1
Uf ( |0i|0i + |1i|0i)
2
2
(4)
1
1
= Uf |0i|0i + Uf |1i|0i
2
2
(5)
1
1
= |0i|0 f (0)i + |1i|0 f (1)i
2
2
(6)
1
1
= |0i|f (0)i + |1i|f (1)i.
(7)
2
2
Observe que, de certa forma, calculamos, simultaneamente, o valor de f para ambas as
entradas possveis. Embora ainda existam mais alguns passos para chegar ao resultado final, e
possvel concluir que o algoritmo de Deutsch resolve o problema com apenas uma consulta ao
algoritmo (sem ter que achar separadamente os valores de f para cada entrada possvel).
5.2
Algoritmo de Shor
da Computacao Quantica, quando Peter Shor publicou um algoritmo quantico que resolvia um
problema intratavel em tempo polinomial.
O algoritmo de Shor resolve o seguinte problema: dado um inteiro positivo N, achar os
fatores primos de N. Sob o ponto de vista da Computacao Classica, nao existe algoritmo que
resolva tal problema em tempo polinomial.
O algoritmo explora o argumento de que dois fatores fatores primos p, q de um n
umero positivo n = pq podem ser encontrados determinando-se o perodo de uma funcao f (a) = xa mod N ,
para qualquer x < n que nao tenha fatores comuns com n (a menos de 1):
Algoritmo Shor(n)
1. escolha um inteiro 1 < x < n aleatoriamente
2. se mdc(x, n) > 1
3.
7. devolva mdc(x 2 + 1, n)
A linha 4 do pseudo-codigo foi destacada porque representa o u
nico passo quantico do
algoritmo: todos os outros passos podem ser executados de forma eficiente num computador
classico (assim como num computador quantico).
Vamos entao fazer uma simulacao do algoritmo: imagine que queremos encontrar os fatores
primos de n = 15. Tomamos um n
umero aleatorio x menor que n: suponha que tenhamos
sorteado x = 7 (note que x e n nao tem fatores comuns - a nao ser 1), e definimos a funcao
f (a) = 7a mod 15. O perodo de f e r = 4 (f (a) assume os valores 1, 7, 4, 13, 1, 7, 4, . . . quando
a = 0, 1, 2, 3, 4, 5, 6, . . . respectivamente). Com essa informacao, computar os fatores de n requer
r
apenas que seja avaliado o maximo divisor comum entre n e x 2 + 1. Em nosso exemplo, o
4
calculo do maximo divisor entre 15 e 50 = 7 2 + 1 devolve, de fato, o valor 5, que e um dos
fatores primos de 15.
O algoritmo de Shor utiliza a propriedade da sobreposicao quantica para conseguir reduzir,
atraves de funcoes quanticas especficas, a complexidade do tempo de solucao do problema
de fatoracao de exponencial para polinomial. Tal algoritmo e o melhor exemplo do quanto a
Computacao Quantica pode reduzir a complexidade de problemas intrataveis: a fatoracao de
um n
umero em primos esta em NP 10 e todos os algoritmos classicos conhecidos para resolver
este problema sao exponenciais.
5.3
Outros algoritmos
10
16
6
6.1
Aplicac
oes e possibilidades da Computa
c
ao Qu
antica
Criptografia Qu
antica
Criptografia Quantica refere-se tanto ao uso de Criptografia Classica como protecao a ataques quanticos, como ao uso de fenomenos da Mecanica Quantica para quebrar ou implementar
sistemas criptograficos.
6.1.1
Implicaco
es para a Criptografia Cl
assica
Sistemas Criptogr
aficos Qu
anticos
Fenomenos quanticos podem ser usados para construir e implementar sistemas criptograficos
seguros. Isso porque a quantica torna possvel a geracao de chaves realmente aleatorias e, principalmente, porque permite comunicacao segura entre as partes - garantida pelas propriedades
da observacao, da nao-clonagem e do emaranhamento. Em outras palavras, um intruso que
tentasse interceptar um canal de comunicacao quantico precisaria observar o estado do sistema.
Primeiramente, tal intruso precisaria saber como observar o sistema. Mas ainda que tivesse essa
informacao, ao efetuar a observacao, o estado do sistema quantico seria perturbado de forma
irreversvel, e, portanto, a interceptacao do canal nao passaria despercebida. Ademais, pela
nao-clonagem, nao seria possvel para um intruso copiar o estado (desconhecido) do sistema
quantico interceptado. Finalmente, com relacao ao emaranhamento, e possvel gerar pares de
sistemas quanticos com estados emaranhados para comunicacao de modo que a deteccao de um
sistema destruiria a correlacao com o outro sistema - tornando perceptvel uma espionagem por
parte de um adversario criptografico.
Na pratica, atualmente, a Criptografia Quantica e usada para gerar e distribuir chaves.
6.1.3
Distribuic
ao Qu
antica de Chaves
recebido usando o algoritmo inverso fK1 (y), obtendo x se e so se tal receptor conhece K. E
claro que, nesse caso, somente as partes interessadas devem poder ter conhecimento da chave
K. Para isso, e necessario que, quando do acordo sobre qual sera a chave secreta K pelas partes
interessadas (i.e. a distribuicao da chave K), nenhum invasor tenha acesso a K. O uso de
comunicacao quantica no acordo sobre a chave secreta (i.e. distribuicao quantica da chave)
garante a seguranca da transacao.
6.1.4
One-time pad
17
6.2
Speedup de algoritmos cl
assicos
do algoritmo quantico Q(n) do algoritmo quantico satisfazem C = 2(Q ) , entao diremos que o
algoritmo quantico prove um speedup superpolinomial. Do contrario, o speedup e dito polinomial
apenas.
Para o problema da fatoracao em primos, temos o seguinte cenario: seja N o inteiro positivo
a ser fatorado e seja m = blog N c+1 (i.e. m e o n
umero de bits necessarios para representar N ).
Entao o algoritmo de Shor esta em O((log N )3 ), ou, equivalentemente, em O(m3 ), enquanto
2
os algoritmos classicos estao em O(e(log N ) 3 (log log N ) 3 ) - ou em O(em ) - com relacao ao tempo.
O speedup fornecido pelo algoritmo de Shor, e, portanto, superpolinomial. Se considerarmos
agora o algoritmo de Grover, temos um
speedup polinomial: para busca de um item numa lista
nao ordenada de N elementos, temos O( N ) para o algoritmo quantico e O(N ) (tempo linear)
para os algoritmos classicos.
A seguir, sao citados, com carater ilustrativo, alguns algoritmos quanticos e os respectivos
speedups:
Algoritmo/Problema: Busca de triangulos em grafos
Speedup: Polinomial
Descric
ao: Suponha que temos uma caixa preta que acessa um grafo com N vertices: dado
um par de vertices, a caixa preta devolve se existe uma aresta entre eles. O problema consiste
em achar um triangulo (i.e. um grafo completo de tamanho tres) no grafo (se existir). Um
3
algoritmo quantico para o problema tem tempo de execucao O(N 2 ), enquanto os algoritmos
classicos estao em O(N 2 ).
Algoritmo/Problema: Equacao de Pell
Speedup: Superpolinomial
Descric
ao: Dado um inteiro positivo d que nao possui raiz inteira, a equacao de Pell e
2
2
x dy = 1. Para todo d (que satisfaz a hipotese anterior)
ha infinitos pares (x, y) que sao
solucao da equacao. Seja (x1 , y1 ) o par que minimiza x + y d. O problema consiste em achar
tal par. Algoritmos classicos o fazem em tempo exponencial, enquanto o algoritmo quantico
consegue a solucao em tempo polinomial (considerando o n
umero de bits necessarios para
representar d).
18
6.3
Simula
c
ao de sistemas qu
anticos
Sempre que uma tecnologia nova e complexa e criada, e necessario que ela seja simulada:
tanto teoricamente - atraves de equacoes matematicas, como atraves de computadores - executando um programa. Quando se trata de um sistema quantico de n estados, sua simulacao
requer 2n estados. Tal proporcao exponencial torna inviavel a simulacao de tais sistemas
em computadores classicos. Assim, uma das mais fundamentais aplicacoes dos computadores quanticos e a simulacao de sistemas quanticos.
6.4
Outras aplica
co
es
19
Informac
ao Qu
antica e Corre
c
ao de Erros
7.1
Informa
c
ao Qu
antica - Uma vis
ao geral
7.2
Teoria Qu
antica da Informac
ao
7.3
Corre
c
ao de erros
Qualquer dispositivo fsico que implementa um modelo computacional e imperfeito e limitado, devido a` suscetibilidade de seus componentes `a acao do ambiente: rudos geram erros
e resultados invalidos. Portanto, seja na Computacao Classica ou na Quantica, e necessario
implementar algum mecanismo de deteccao e correcao de erros.
7.3.1
Correc
ao de erros cl
assica
20
Exemplo de repetic
ao:
Um u
nico bit e representado por tres bits:
Codificacao:
1 111
0 000
Decodificacao:
000 0, 001 0, 010 0, 100 0
111 1, 110 1, 101 1, 011 1
Outro metodo ainda seria fazer uso de checksums: calcular uma certa funcao sobre os bits
da informacao. Se houver divergencia entre o valor do checksum calculado e o transmitido, e
certo que ocorreram erros.
7.3.2
Correc
ao de erros qu
antica
Computadores quanticos sao mais suscetveis a erros que os classicos, porque sistemas
quanticos sao mais delicados e difceis de controlar, devido aos fatores mencionados no incio
desta secao.
Contudo, e possvel generalizar os mecanismos de redundancia descritos para a correcao
classica para produzir correcao de erro quantica. Considere, por exemplo, a repeticao classica:
a repeticao quantica e, de certa forma, analoga. A diferenca fundamental esta na copia dos
qubits: qubits com estados sobrepostos, devido a` nao-clonagem, nao podem ser copiados diretamente. Assim sendo, para prover repeticao, usam-se os estados emaranhados. Alem disso,
as observacoes de qubits para deteccao de erro devem ser feitas de forma que nao se perca
informacao: isso e possvel de modo que so se saiba se ocorreu um erro ou nao - a informacao
armazenada propriamente dita nao e observada.
De qualquer forma, embora seja possvel estabelecer um paralelo entre a correcao classica e
quantica, esta u
ltima e de fato mais complexa e delicada - talvez tao complicada que suspeitouse que fosse ineficiente a ponto de prejudicar a utilidade dos computadores quanticas. No
entanto, prova-se que e possvel realizar correcao de erros em computadores quanticos com
um overhead polinomial (o chamado Teorema Quantico de Tolerancia a Falhas - ou Threshold
Theorem - garante tal resultado).
21
A maioria dos resultados em Computacao Quantica - alguns dos quais foram mostrados aqui
- sao oriundos de pesquisas academicas. No entanto, e fato que muitas organizacoes comerciais
contriburam - e vem contribuindo cada vez mais - para o desenvolvimento da area: nao so desenvolvendo prototipos de computadores quanticos e produtos viaveis que utilizam propriedades
da Quantica, mas tambem publicando pesquisas que concernem a aspectos teoricos.
8.1
Computa
c
ao Qu
antica na Academia
8.2
Shor e Grover publicaram os algoritmos que levam seus nomes, respectivamente, em 1994
e 1996, quando trabalhavam nos laboratorios da AT&T (empresa americana de telefonia e
comunicacao).
Outra empresa que vem pesquisando Computacao Quantica ha algum tempo e a IBM:
David DiVincenzo - cujos famosos criterios foram apresentados anteriormente - e pesquisador
na empresa desde 1985. A IBM ainda teve participacao - juntamente com a Universidade de
Stanford - na primeira execucao do algoritmo de Shor, em 2001, fatorando o n
umero 15 usando
um computador quantico.
Recentemente, a gigante Google anunciou uma parceria com uma empresa canadense de
computacao quantica - a D-Wave. Tal alianca teria o proposito de desenvolver computadores
quanticos para busca de imagens e aprendizagem computacional.
Vale citar tambem que ha empresas, como a suca IDQ, que fornecem produtos que nao
sao computadores quanticos completos, mas que usam propriedades da Quantica: entre eles
figuram geradores de n
umeros realmente aleatorios e hardware para Criptografia Quantica.
Com o aumento da popularidade da Computacao Quantica, a tendencia e que mais empresas
se aventurem nessa area.
8.3
Computa
c
ao Qu
antica no Brasil
Apesar de o cenario nao ser tao favoravel a esse tipo de pesquisa quanto e na Europa ou na
America do Norte, o Brasil tambem tem seus centros de pesquisa como o Grupo de Computacao
Quantica do Laboratorio Nacional de Computacao Cientfica (LNCC) que atua nas seguintes
linhas:
22
11
Outubro de 2009.
23
Conclus
ao
Im not sure what you mean by a mainstream field. To me, quantum computing
already looks pretty mainstream. Michael Nielsen, Ph.D
12
H
a diversas implementac
oes usando desde luz ate ons. Veja em [MAL].
24
Refer
encias
[QCQ] NIELSEN M., CHUANG I., Quantum Computation and Quantum Information,
Cambridge Press, 2000.
[MH] HIRSVENSALO, M., Quantum Computing,
Springer, 2a edicao, 2003.
[IQC] KAYE P., LAFLAMME R., MOSCA M., An Introduction to Quantum Computing,
Oxford, 2007
[MAL] CHEN G. et al, Quantum Computing Devices - Principles, Design and Analysis,
Taylor & Francis Group, 2007.
[CSF] CARDONHA C., SILVA M., FERNANDES C., Computacao Quantica: Complexidade
e Algoritmos,
IME-USP, 2004.
[CQ] ALLEGRETTI, Francisco J. P., Computacao Quantica,
UFRGS, 2004.
[TQC] PERRY, RILEY T., The Temple of Quantum Computing,
http://www.toqc.com/TOQCv1 1.pdf
[CA2] ROSS M., OSKIN M., Quantum Computing - Researchers are optimistic, but a pratical
device is years away,
Communications of the ACM, Vol. 51, no. 7, 2008.
[ARS] ARS Technica, Adiabatic Quantum Computing,
http://arstechnica.com/science/news/2007/02/7008.ars
[CA1] BACON, D., VAN DAM, W., Recent Progress in Quantum Algorithms,
Communications of the ACM, Vol. 53, no. 2, 2010.
http://goo.gl/RjR5Z
[PQC] DIVINCENZO, DAVID P., Prospects for Quantum Computing,
http://www.research.ibm.com/ss computing/iedm01.doc
[GE]
[IS]
[N1]
[N2]
[FS]
Entangled colors,
Pesquisa FAPESP, October 2009, Edicao 164
http://goo.gl/yolWf
CHUANG I., Quantum Information - Joining the Foundations of Physics and Computer
Science
MIT Physics Anual 2004, 2004.
[TC]
26