20.04.2013 Views

Computaç˜ao Quântica para leigos - USP

Computaç˜ao Quântica para leigos - USP

Computaç˜ao Quântica para leigos - USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Instituto de Matemática e Estatística - <strong>USP</strong><br />

MAC0412 - Organização de Computadores<br />

Monografia<br />

Computação <strong>Quântica</strong> <strong>para</strong> <strong>leigos</strong><br />

Ana Luiza Domingues Fernandez Basalo - 6431109<br />

William Alexandre Miura Gnann - 6431176<br />

30 de janeiro de 2011


Sumário<br />

1 Introdução 3<br />

2 Histórico 4<br />

2.1 Física <strong>Quântica</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

2.2 Computação <strong>Quântica</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

3 O básico 5<br />

3.1 Espaços de Hilbert e algumas notações . . . . . . . . . . . . . . . . . . . . . . . 5<br />

3.2 Quantum Bits ou qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

3.3 Por que quântica? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

3.3.1 Sobreposição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

3.3.2 Observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

3.3.3 Emaranhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

3.3.4 Reversibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

3.3.5 Interferência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

3.3.6 Decoerência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

3.3.7 Não-Clonagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

4 Computadores Quânticos na prática 12<br />

4.1 Critério de DiVincenzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.1.1 Escalabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.1.2 Inicialização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.1.3 Tempo de Coerência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.1.4 Portas Lógicas <strong>Quântica</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.1.5 Observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.2 Algumas implementações por alto . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

4.2.1 Armadilhas de íon: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

4.2.2 Óptica: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

4.2.3 Supercondutores: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

4.2.4 “Adiabático”: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

4.2.5 Outros: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

5 Algoritmos Quânticos 14<br />

5.1 Algoritmo de Deutsch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

5.2 Algoritmo de Shor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

5.3 Outros algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

6 Aplicações e possibilidades da Computação <strong>Quântica</strong> 17<br />

6.1 Criptografia <strong>Quântica</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

6.1.1 Implicações <strong>para</strong> a Criptografia Clássica . . . . . . . . . . . . . . . . . . 17<br />

6.1.2 Sistemas Criptográficos Quânticos . . . . . . . . . . . . . . . . . . . . . . 17<br />

6.1.3 Distribuição <strong>Quântica</strong> de Chaves . . . . . . . . . . . . . . . . . . . . . . 17<br />

6.1.4 One-time pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

6.2 Speedup de algoritmos clássicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

6.3 Simulação de sistemas quânticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

6.4 Outras aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

1


7 Informação <strong>Quântica</strong> e Correção de Erros 20<br />

7.1 Informação <strong>Quântica</strong> - Uma visão geral . . . . . . . . . . . . . . . . . . . . . . . 20<br />

7.2 Teoria <strong>Quântica</strong> da Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

7.3 Correção de erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

7.3.1 Correção de erros clássica . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

7.3.2 Correção de erros quântica . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

8 Onde se faz Computação <strong>Quântica</strong>? 22<br />

8.1 Computação <strong>Quântica</strong> na Academia . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

8.2 Empresas e companhias que atuam com Computação <strong>Quântica</strong> . . . . . . . . . . 22<br />

8.3 Computação <strong>Quântica</strong> no Brasil . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

9 Conclusão 24<br />

2


1 Introdução<br />

Com uma certa frequência vemos, na mídia, diversas notícias, reportagens ou matérias<br />

acerca da Física <strong>Quântica</strong>. Já, com menos frequência, vemos alguma reportagem sobre Computação<br />

<strong>Quântica</strong>. Em geral, essas matérias costumam citar o conhecidíssimo problema da<br />

quebra das chaves de criptografia baseadas em números primos e do caos causado às transações<br />

bancárias e aos departamentos de segurança.<br />

Também costumam dizer coisas mágicas sobre as possibilidades da Computação <strong>Quântica</strong>,<br />

mas, quase sempre, se esquecendo de diversos detalhes importantíssimos como o problema da<br />

observação e a enorme dificuldade de tornar o computador quântico algo real.<br />

Tentaremos, adiante, dar um parecer menos esotérico 1 acerca dessa nova e intrigante área<br />

que une três grandes vilões do curso de engenharia: Física, Matemática e Computação.<br />

1 Um bom exemplo do esoterismo associado à Física <strong>Quântica</strong> é o filme Quem somos nós?.<br />

3


2 Histórico<br />

Para falarmos de Computação <strong>Quântica</strong> é necessário, antes, ver o contexto no qual surgiu<br />

a Física <strong>Quântica</strong> e, depois, como surgiu seu estudo propriamente dito.<br />

2.1 Física <strong>Quântica</strong><br />

No final do século XIX houve um momento bastante crítico <strong>para</strong> o desenvolvimento da<br />

Física: a teoria parou de bater com alguns experimentos!<br />

Os experimentos em questão envolviam objetos de dimensões bem modestas ou mesmo radiação.<br />

Pela modelagem imperfeita das teorias vigentes, surgiram, na época, conceitos absurdos<br />

como a ‘Catástrofe Ultravioleta’ na qual a energia de uma onda poderia ser infinita.<br />

Diante de uma situação tão crítica, a Física obteve sua salvação com a teoria de Max Planck,<br />

na qual a radiação eletromagnética é emitida através de quanta 2 cuja energia é proporcional à<br />

frequência da onda. Surgiu o que chamamos atualmente de Física <strong>Quântica</strong>.<br />

Mais tarde, teríamos, também, a explicação de Einstein <strong>para</strong> o efeito fotoelétrico baseado<br />

na ideia do quantum. Daí surgiu o conceito de fóton: a partícula da qual a luz - uma onda<br />

eletromagnética - é composta.<br />

Com a consolidação da Teoria <strong>Quântica</strong>, muita coisa foi pesquisada na área e, com Richard<br />

Feynman, conhecido mundialmente por sua habilidade com o bongô 3 , surgiu a Eletrodinâmica<br />

<strong>Quântica</strong>, cujo objeto de estudo, grosso modo, é o efeito da radiação nos elétrons.<br />

2.2 Computação <strong>Quântica</strong><br />

No começo da década de 1980, Richard Feynman escreveu, num artigo, que um sistema<br />

quântico grande não pode ser simulado num computador comum devido ao fato de um sistema<br />

com n estados quânticos necessitar de 2 n variáveis. Em particular, um sistema quântico com<br />

300 estados quânticos demandaria 2 300 variáveis, ou seja, uma quantidade maior de variáveis<br />

do que temos de átomos no universo observável 4 !<br />

No artigo de Feynman também havia uma hipótese interessante: um computador construído<br />

a partir das leis da Física <strong>Quântica</strong> poderia ser capaz de simular eficientemente um sistema<br />

quântico, ou seja, um computador quântico poderia trabalhar exponencialmente mais rápido<br />

que um computador comum.<br />

A Computação <strong>Quântica</strong> engatinhava até que, em 1994, Peter W. Shor escreveu um algoritmo<br />

<strong>para</strong> computadores quânticos capaz de fatorar números inteiros em tempo polinomial. O<br />

pilar da criptografia baseada em números (e.g. RSA) foi abalado.<br />

Atualmente, há muita teoria como códigos corretores de erros <strong>para</strong> informação quântica,<br />

diversos algoritmos que se aproveitam das propriedades quase mágicas de um computador<br />

quântico, dúzias de modelos de computadores quânticos e, infelizmente, nenhum computador<br />

quântico de uso geral.<br />

2 quanta é o plural de quantum, palavra do Latim que significa quantidade.<br />

3 Na realidade, ele é mais conhecido por seu prêmio Nobel.<br />

4 Estudos estimam cerca de 10 80 átomos no universo observável.<br />

4


3 O básico<br />

Para estudar Computação <strong>Quântica</strong>, é imprescindível entender coisas sobre como os fenômenos<br />

quânticos são modelados, quais são os que têm influência direta e as diferenças entre o computador<br />

quântico e o computador clássico.<br />

3.1 Espaços de Hilbert e algumas notações<br />

Definição 1. Um espaço vetorial H é completo se, <strong>para</strong> cada sequência de vetores x tais que<br />

existe um vetor x ∈ H tal que<br />

lim<br />

m,n→∞ ||xm − xn|| = 0,<br />

lim<br />

n→∞ ||xn − x|| = 0<br />

Definição 2. O produto interno de um espaço vetorial H associado ao corpo é uma função<br />

de H × H → com x, y, z ∈ H e α ∈ com as seguintes propriedades:<br />

1. 〈x | y〉 = 〈y | x〉 ∗<br />

2. 〈x | x〉 ≥ 0 e 〈x | x〉 = 0 ⇐⇒ x = 0<br />

3. 〈x | y + z〉 = 〈x | y〉 + 〈x | z〉<br />

4. 〈αx | y〉 = α 〈x | y〉<br />

Definição 3. Entende-se por espaço de Hilbert, H, um espaço vetorial completo sobre munido<br />

de produto interno como definido acima. Hn, n ∈ , é o espaço de Hilbert de dimensão n.<br />

Observação 1. Os vetores poderão ser notados da seguinte forma: |ψ〉. Essa notação tem o<br />

nome de ket.<br />

Definição 4. Um operador linear é um mapeamento T : H → H, dados x, y ∈ H e α ∈ ,<br />

com a propriedade:<br />

T (αx + y) = αT (x) + T (y)<br />

Em particular, se T (x) = λx, com x ∈ H e λ ∈ , x é dito um autovetor de T e λ um<br />

autovalor.<br />

Definição 5. Seja T um operador linear, se T T ∗ = I dizemos que T é unitário. Definimos T ∗<br />

como o T transposta com todos seus elementos conjugados.<br />

Definição 6. O produto tensorial é denotado por Hn ⊗ Hm. Ele associa elementos xi da base<br />

de Hn com yj da base de Hm da seguinte forma: xi ⊗ yj. Ele é definido da seguinte forma:<br />

Notações alternativas:<br />

n<br />

m<br />

( αixi) ⊗ ( βjyj) =<br />

i=1<br />

j=i<br />

n<br />

i=1<br />

m<br />

j=i<br />

|x〉 ⊗ |y〉 = |x〉 |y〉 = |x, y〉<br />

5<br />

αiβjxi ⊗ yj


3.2 Quantum Bits ou qubits<br />

Definição 7. Um sistema quântico com n estados pode ser denotado como um elemento de Hn<br />

com a forma:<br />

|ψ〉 = α1 |x1〉 + α2 |x2〉 + ... + αn |xn〉<br />

Onde |xi〉 é um elemento da base de Hn e αi ∈ .<br />

No entanto αi não é qualquer, ele é escolhido tal que:<br />

n<br />

|αi| 2 = 1<br />

i=1<br />

Ou seja, |αi| 2 forma uma distribuição de probabilidade em cima da base de Hn.<br />

Definição 8. Um qubit é um sistema quântico com dois estados.<br />

|ψ〉 = α1 |0〉 + α2 |1〉<br />

É importante salientar que |0〉 é ortogonal a |1〉. Caso contrário, as associações entre qubits<br />

não poderiam ser bem definidas.<br />

Para fazermos tais associações entre qubits podemos usar o produto tensorial. Logo um<br />

sistema com dois qubits é isomorfo a H2 ⊗ H2 e uma representação possível pode ser:<br />

|ψ〉 = α1,1 |00〉 + α1,2 |01〉 + α2,1 |10〉 + α2,2 |11〉<br />

Um modo interessante de vermos o qubit é compará-lo com seu semelhante do mundo<br />

clássico, o bit. A tabela abaixo ilustra as principais diferenças entre as duas unidades básicas.<br />

Propriedade bit qubit<br />

Tipo número vetor<br />

Gasto n 2 n<br />

Natureza determinística probabilística<br />

Representação elétrica diversa<br />

Quântico não sim<br />

Depois de tantas diferenças, é interessante saber como estão relacionados. Tomemos, a<br />

título de ilustração, uma associação de 2 bits e uma associação de 2 qubits. Teremos os bits 00,<br />

01, 10 e 11 e a associação de qubits:<br />

|ψ〉 = α1,1 |00〉 + α1,2 |01〉 + α2,1 |10〉 + α2,2 |11〉<br />

Imediatamente, percebe-se a clara relação entre os bits e a base da associação de qubits. No<br />

entanto, o grande diferencial dos qubits é que todos os estados são representados simultaneamente,<br />

já o bit pode representar apenas um estado por vez - por isso o n × 2 n acima.<br />

Essa representação simultânea é a essência do conceito de sobreposição, que será descrito<br />

adiante.<br />

Uma dúvida que pode ter aparecido, apesar de a relação ser clara entre um bit e um qubit,<br />

é como relacioná-los exatamente, uma vez que há uma infinidade 5 de combinações lineares<br />

possíveis <strong>para</strong> um qubit.<br />

Apesar da representação simultânea, apenas um estado da base do qubit pode ser observado<br />

6 por isso, teremos n estados observáveis <strong>para</strong> n qubits.<br />

Observação 2. Pesquisas recentes transcenderam o conceito de qubit em números de estados.<br />

Temos hoje o qudit que é representado por H5 - que nada mais é que um sistema quântico<br />

com cinco estados em vez de dois - e variáveis contínuas quânticas que fogem ao escopo desta<br />

monografia introdutória.<br />

5 Lembre-se que a única restrição <strong>para</strong> os coeficientes é n<br />

i=0 |αi| 2 = 1.<br />

6 Observação, aqui, é no sentido da Física <strong>Quântica</strong>.<br />

6


3.3 Por que quântica?<br />

É um fato que existem propriedades que são exclusivas dos computadores quânticos. Caso<br />

contrário, seria trivial fazer a simulação de um deles por uma Máquina de Turing.<br />

Quais propriedades seriam essas?<br />

3.3.1 Sobreposição<br />

Um dos grandes trunfos da quântica é, certamente, a sobreposição. No estado de sobreposição,<br />

o sistema quântico assume todos os estados, mesmo que cada um tenha probabilidade<br />

|αi| 2 de ser observado.<br />

Isso significa que a sobreposição é um dos responsáveis pelo <strong>para</strong>lelismo sem precedentes.<br />

Em contrapartida, é justamente pela sobreposição que os sistemas quânticos são de tão difícil<br />

simulação.<br />

Em termos de qubits, gastaríamos, <strong>para</strong> n qubits, 2 n números.<br />

Será ‘ilustrada’, a seguir, a aplicação de uma porta de Hadamard num sistema com n qubits.<br />

Situação inicial:<br />

|ψ〉 = α1 |x1〉 + ... + α2n |x2n〉 Aplicando Hadamard, H(|ψ〉), que será descrita com detalhes mais adiante:<br />

βi = αi + α2n−1 +1<br />

√<br />

2<br />

Obteremos, por fim, uma nova configuração:<br />

|H(ψ)〉 = β1 |x1〉 + ... + β2n |x2n〉 Conclusão: mexendo com um qubit é possível ‘bagunçar’ todos os outros estados.<br />

3.3.2 Observação<br />

Certamente um dos problemas-chave <strong>para</strong> a quântica. Ao observarmos um sistema quântico,<br />

ocorre o que é chamado de colapso.<br />

O colapso consiste em ‘devolver’ |xi〉 com probabilidade |αi| 2 . Isso significa, primeiramente,<br />

que podemos obter resultados distintos a partir da observação de um mesmo sistema quântico.<br />

O computador quântico deve ser perfeitamente isolado justamente <strong>para</strong> evitar ruídos que colapsem<br />

o estado de sobreposição.<br />

Ademais, todo nosso cuidado usando a maravilha da sobreposição pode ser inútil se obtivermos<br />

um resultado errado ao observar.<br />

Portanto, o problema da observação consiste basicamente em saber como tratar os dados<br />

dos qubits <strong>para</strong> obter o resultado correto com probabilidade alta na hora de observarmos.<br />

Observamos acima como as portas lógicas quânticas podem influenciar no sistema com a<br />

atuação da porta Hadamard numa associação de qubits. Uma enorme parcela desse ‘tratamento’<br />

é oriunda do emprego dessas portas lógicas quânticas.<br />

Observação 3. A observação pode ser vista como um operador linear O : H2n → B, com<br />

B ⊂ H2n sendo o conjunto formado pela base da associação de qubits.<br />

7


3.3.3 Emaranhamento<br />

Primeiramente, podemos ver o emaranhamento com os olhos de um matemático a partir<br />

dos espaços de Hilbert e do produto tensorial - lembrando que só teremos emaranhamento com<br />

mais de um qubit.<br />

Se um vetor |ψ〉 pode ser decomposto como o produto tensorial de dois outros vetores, não<br />

há emaranhamento.<br />

Exemplo: Considere o sistema quântico<br />

Ele pode ser decomposto em:<br />

1<br />

(|00〉 + |01〉 + |10〉 + |11〉)<br />

2<br />

1<br />

√ 2 (|0〉 + |1〉) 1<br />

√ 2 (|0〉 + |1〉)<br />

Por outro lado, se ele não puder ser decomposto como o produto tensorial de dois vetores,<br />

há emaranhamento.<br />

Exemplo: Considere o sistema quântico<br />

Vamos tentar decompô-lo:<br />

1<br />

√ 2 (|00〉 + |11〉)<br />

1<br />

√ 2 (|00〉 + |11〉) = (α1 |0〉 + α2 |1〉)(β1 |0〉 + β2 |1〉)<br />

Mas ⎧⎪ ⎨<br />

= α1β1 |00〉 + α1β2 |01〉 + α2β1 |10〉 + α2β2 |11〉<br />

⎪⎩<br />

O que configura um absurdo, pois temos:<br />

α1β1 = 1<br />

√ 2<br />

α1β2 = 0<br />

α2β1 = 0<br />

α2β2 = 1<br />

√ 2<br />

1<br />

2 = α1β1α2β2 = α1β2α2β1 = 0<br />

O sistema quântico emaranhado do exemplo, na realidade, é um sistema muito peculiar,<br />

conhecido por par EPR (Einstein, Podolsky, Rosen).<br />

Uma propriedade muito importante de emaranhamentos é que, observando um qubit do par,<br />

sabemos exatamente em qual estado o outro está.<br />

É algo tão contra-intuitivo que essa ligação<br />

entre os qubits se mantém mesmo a quilômetros de distância 7 .<br />

Os emaranhamentos terão aplicações muito importantes no futuro, tais como:<br />

1. Teletransporte quântico: é possível aproveitar a propriedade do sistema emaranhado <strong>para</strong><br />

transportar dados.<br />

2. Codificação superdensa: a partir de um qubit podemos colocar informação na sobreposição<br />

de forma que mais dados sejam enviados de uma vez.<br />

3. Criptografia: pode-se fazer um mecanismo de autenticação a partir do par emaranhado.<br />

7 Consta em [CA2] a marca de 100km!<br />

8


3.3.4 Reversibilidade<br />

Antes de vermos exatamente o que é a reversibilidade, é interessante vermos as portas lógicas<br />

quânticas.<br />

Assim como na Computação Clássica, a Computação <strong>Quântica</strong> também depende de portas<br />

lógicas. Tais mecanismos são usados no controle dos qubits.<br />

Em termos de espaços de Hilbert, uma porta lógica quântica nada mais é que uma transformação<br />

linear unitária, ou seja, a norma do vetor é mantida (o que é extremamente conveniente<br />

lembrando que |αi| 2 = 1).<br />

Entretanto, a propriedade mais interessante de uma transformação linear unitária é que ela<br />

é inversível e a inversa é sua transposta conjugada. Isso significa que teoricamente toda<br />

porta lógica quântica unitária é reversível, coisa que não acontece com suas ‘avós’, as portas<br />

lógicas elétricas.<br />

Reversibilidade é a capacidade de recuperar algum estado anterior por meio de alguma<br />

transformação inversa. Como a porta lógica quântica é reversível, podemos voltar a alguma<br />

configuração anterior no meio de um processamento.<br />

Exemplos de portas:<br />

• Hadamard ou Walsh 1<br />

√2<br />

1<br />

√ 2<br />

√1 −<br />

2 1 √<br />

2<br />

• Pauli-X ou NOT 0 1<br />

1 0<br />

• Pauli-Y 0 −i<br />

i 0<br />

• Pauli-Z 1 0<br />

0 −1<br />

• Phase 1 0<br />

0 i<br />

• π/8 1 0<br />

0 e iπ/4<br />

• √ NOT 1<br />

√2 − 1<br />

√ 2<br />

3.3.5 Interferência<br />

1<br />

√ 2<br />

A interferência como conhecemos é aquela na qual a adição de duas ondas é capaz de criar<br />

um novo padrão de onda. No mundo da quântica, até as partículas são dotadas dessa estranha<br />

propriedade.<br />

Em termos matemáticos, podemos explicar a interferência como uma consequência da utilização<br />

de números complexos <strong>para</strong> representar sistemas quânticos. Pelo fato de os números<br />

9<br />

<br />

<br />

1<br />

√ 2


serem complexos, ao aplicar uma transformação linear num sistema quântico, é possível que o<br />

número imaginário i seja multiplicado por outro i, gerando −1. Esse número negativo pode,<br />

eventualmente, ‘apagar’ algum escalar do vetor. As transformações unitárias também podem<br />

fazer algo parecido.<br />

Um exemplo envolve aplicar a transformação de Hadamard no estado: |ψ〉 = 1<br />

√ 2 (|0〉 + |1〉).<br />

Teremos então:<br />

H(|ψ〉) =<br />

1<br />

√2<br />

1<br />

√ 2<br />

√1 −<br />

2 1 √<br />

2<br />

1<br />

√ 2 − 1<br />

√ 2<br />

1<br />

√2<br />

1<br />

√ 2<br />

<br />

=<br />

1<br />

0<br />

Caso seja aplicada Hadamard mais uma vez, obteremos:<br />

<br />

H(H(|ψ〉)) =<br />

√2 1 √1 2<br />

<br />

1<br />

=<br />

0<br />

√2 1<br />

<br />

<br />

= 1 |0〉 + 0 |1〉 = |0〉<br />

1<br />

√ 2<br />

= 1<br />

√ 2 |0〉 + 1<br />

√ 2 |1〉<br />

Apagamos o |1〉 e o recuperamos com a mesma transformação. Ela interferiu tanto o apagando<br />

quanto o recuperando.<br />

Outro exemplo de interferência pode ser dado pelo experimento que usa um a<strong>para</strong>to chamado<br />

interferômetro.<br />

O interferômetro em questão consiste basicamente de um emissor de luz polarizada, dois<br />

divisores de luz (metade refrata, metade reflete), dois espelhos perfeitos e dois detectores de<br />

fótons.<br />

Por causa da interferência, um dos detectores não receberá fótons como ilustrado abaixo.<br />

Figura 1: Interferômetro.<br />

Quando a interferência aumenta algum escalar de tal forma que ele fique maior, em módulo,<br />

do que todos os outros, temos a interferência construtiva. Já quando a interferência causa a<br />

‘anulação’ de um determinado estado, ela é chamada interferência destrutiva.<br />

10


3.3.6 Decoerência<br />

Um dos grandes problemas da Computação <strong>Quântica</strong>, na prática, é que os diferentes tipos de<br />

material do qual os qubits são compostos não conseguem armazenar por tempo indeterminado<br />

as informações. Passado um determinado tempo, os estados são ‘embaralhados’ e a informação<br />

se perde.<br />

A decoerência é justamente a perda de informação.<br />

Atualmente, algumas implementações de computador quântico como a por armadilhas de<br />

íon chegam a alguns minutos [CA2], porém grande parte delas não passa de menos de um<br />

milissegundo.<br />

O grande desafio é justamente garantir um tempo razoável <strong>para</strong> que o processamento seja<br />

feito antes de a informação se perder.<br />

3.3.7 Não-Clonagem<br />

Teorema 1 (Teorema da Não-Clonagem[MH]). Para um sistema com n > 1 estados quânticos,<br />

não há uma copiadora quântica.<br />

Demonstração. Definamos a transformação linear copiadora C : Hn → Hn ⊗ Hn tal que, dado<br />

x ∈ Hn, façamos:<br />

C(|x〉 |α〉) = |x〉 |x〉<br />

|α〉 é o estado <strong>para</strong> o qual queremos copiar |x〉.<br />

É fácil ver que C(|α〉 |α〉) = |α〉 |α〉 e C(|β〉 |α〉) = |β〉 |β〉.<br />

Pela definição da função temos:<br />

C( 1<br />

√ (|α〉 + |β〉) |α〉) =<br />

2 1<br />

1 1 1 1<br />

(|α〉 + |β〉)(|α〉 + |β〉) = |α〉 |α〉 + |α〉 |β〉 + |β〉 |α〉 + |β〉 |β〉<br />

2 2 2 2 2<br />

Por outro lado, pelo fato de C ser linear:<br />

C( 1<br />

√ 2 (|α〉 + |β〉) |α〉) = 1<br />

√ 2 C(|α〉 |α〉) + 1<br />

√ 2 C(|β〉 |α〉 = 1<br />

√ 2 |α〉 |α〉 + 1<br />

√ 2 |β〉 |β〉<br />

Entretanto, 1<br />

√ 2 |α〉 |α〉+ 1<br />

√ 2 |β〉 |β〉 não pode ser decomposto na forma 1<br />

2 (|α〉+|β〉)(|α〉+|β〉).<br />

Isso significa que, por um lado, C( 1<br />

√ 2 (|α〉 + |β〉) |α〉) tem dimensão 4 e, por outro, dimensão<br />

2. Um absurdo!<br />

Uma consequência desse teorema é que não é possível copiar estados de sobreposição usando<br />

um circuito quântico, ou seja, é impossível, no meio de um processamento, copiar um estado<br />

de sobreposição.<br />

Uma outra abordagem é pensarmos que é impossível observar um estado de sobreposição,<br />

pois, na observação, o estado colapsa <strong>para</strong> algum estado observável. Logo há perda de informação<br />

e não conseguiremos copiá-lo.<br />

11


4 Computadores Quânticos na prática<br />

Apesar de não haver um computador quântico plenamente funcional, há diversos tipos de<br />

arquiteturas e projetos de construção que exploram as mais variadas formas de compor o qubit<br />

e controlá-lo.<br />

Mesmo havendo dúzias de possibilidades, há um certo padrão que é desejável ser respeitado.<br />

4.1 Critério de DiVincenzo<br />

DiVincenzo é um pesquisador da IBM que postulou cinco requisitos que devem ser obedecidos<br />

<strong>para</strong> um computador quântico funcionar <strong>para</strong> um uso mais geral como vistos em<br />

[PQC][MAL].<br />

4.1.1 Escalabilidade<br />

O qubit deve ser representado adequadamente tendo seu estado de sobreposição coerente.<br />

Também é necessário que seja possível compor um sistema com uma quantidade de qubits<br />

grande o suficiente <strong>para</strong> o processamento ser realizado.<br />

4.1.2 Inicialização<br />

Deve ser possível fixar o valor inicial de um qubit em algum valor desejado.<br />

Fazendo um <strong>para</strong>lelo com a Computação Clássica, a inicialização é a mesma que um programador<br />

C faz ao declarar variáveis <strong>para</strong> garantir a integridade dos dados.<br />

4.1.3 Tempo de Coerência<br />

O sistema deve ter um tempo alto de coerência nos dados de tal forma que toda computação<br />

necessária seja feita e que a taxa de erros seja a menor possível - o que pode ser feito com recursos<br />

como correção de erros quântica, mas isso demanda, de qualquer forma, mais tempo antes da<br />

decoerência.<br />

O tempo de coerência é considerado alto dependendo do tempo necessário 8 <strong>para</strong> realizar<br />

as operações nos qubits.<br />

4.1.4 Portas Lógicas <strong>Quântica</strong>s<br />

Esse requisito é o responsável pela computação propriamente dita. Um computador quântico<br />

deve ser capaz de realizar todas as operações lógicas necessárias. O funcionamento delas deve<br />

ser eficiente.<br />

A implementação de portas é, provavelmente, o requisito mais difícil de ser contemplado<br />

porque mexer num sistema quântico sem causar colapso é bastante complicado.<br />

4.1.5 Observação<br />

Depois de toda computação ser realizada, é necessário ‘extrair’ os dados dos qubits. Para<br />

tanto, precisamos de meios eficientes <strong>para</strong> fazer a observação (senão não adiantaria de nada ter<br />

feito toda a computação e não poder ver o resultado).<br />

4.2 Algumas implementações por alto<br />

Toda essa seção foi escrita com base em [CA2].<br />

8 Atualmente, um tempo de coerência razoável é de mais de 8000 vezes o tempo <strong>para</strong> realizar as operações.<br />

12


4.2.1 Armadilhas de íon:<br />

São usados campos magnéticos e/ou elétricos e resfriamento a laser <strong>para</strong> criar um registrador<br />

quântico com um espaçamento micrométrico entre os íons.<br />

O movimento do íon funciona como um barramento de dados. As portas são implementadas<br />

modulando os íons vizinhos usando laser.<br />

O tempo de decoerência 9 é de cerca de 10min! No entanto, as portas são bastante lentas e<br />

chegam a demorar alguns microssegundos <strong>para</strong> modificar dois qubits.<br />

Outra possibilidade é integrar chips CMOS com armadilhas de íon permitindo comunicação<br />

quântica. Na mesma linha, há pesquisas envolvendo a combinação de armadilhas de íon com<br />

supercondutores - procurando obter o melhor de ambas. Acredita-se que os supercondutores<br />

ajudem na comunicação.<br />

4.2.2 Óptica:<br />

Os qubits oriundos desse processo são fótons que têm seus estados codificados por polarizações<br />

(verticais, horizontais ou alguma combinação).<br />

A vantagem é o tempo longo de decoerência e, ainda por cima, há a fibra óptica que é,<br />

naturalmente, um candidato a meio de comunicação quântica.<br />

Entretanto, a criação de fótons, bem como sua detecção, é lenta.<br />

Um grupo da Universidade de Queensland conseguiu rodar o algoritmo de Shor (decompondo<br />

15) num circuito óptico de quatro qubits. Logo depois, Prem Kumar da Northwestern University<br />

anunciou uma porta lógica quântica de fibra óptica.<br />

Também veio da óptica o ótimo resultado sobre o emaranhamento de 100km usando fibra<br />

óptica.<br />

4.2.3 Supercondutores:<br />

Os qubits podem vir de três vias: carga, fluxo e fase. Costumam usar estados de excitação<br />

de junções Josephson: dois supercondutores se<strong>para</strong>dos por um insulador fino o suficiente <strong>para</strong><br />

pares de elétrons do cobre passarem.<br />

Essa abordagem é escalável porque a supercondutividade habilita um controle rápido ao<br />

custo da temperatura necessária ser extremamente baixa (menos de 1K). Materiais supercondutores<br />

em temperatura mais elevada são possibilidades futuras.<br />

Outro ponto ruim do uso de supercondutores é o tempo de decoerência baixo.<br />

4.2.4 “Adiabático”:<br />

De forma superficial, podemos descrever como todas as combinações de energia cinética e<br />

potencial de uma única entidade o Hamiltoniano.<br />

Nesse sentido, podemos dizer que as partículas ocupam uma posição no Hamiltoniano. O<br />

modelo adiabático, como o próprio nome já diz, não manipula diretamente as partículas, mas<br />

manipula o Hamiltoniano.<br />

Em palavras simples, muda-se o Hamiltoniano <strong>para</strong> resolver o problema e, depois, tenta-se<br />

voltar ao Hamiltoniano antigo.<br />

As chances de obter uma resposta correta estão na casa dos 90%.<br />

4.2.5 Outros:<br />

Existem muitas outras formas de se construir computadores quânticos, apesar de nenhuma<br />

ter sido bem sucedida no objetivo do computador quântico plenamente funcional.<br />

9 A leitura correta seria tempo até a decoerência, não obstante a terminologia usada ser essa.<br />

13


5 Algoritmos Quânticos<br />

Um algoritmo clássico é uma sequência finita de instruções bem definidas <strong>para</strong> resolver<br />

um problema, onde cada passo ou instrução pode ser executado por um computador clássico.<br />

Analogamente, um algoritmo quântico é também um conjunto finito de instruções ordenadas<br />

e não ambíguas, onde cada uma pode ser executada num computador quântico. De fato, o<br />

termo algoritmo quântico é reservado <strong>para</strong> algoritmos que usam alguma propriedade essencial<br />

da <strong>Quântica</strong> (a rigor, algoritmos quânticos são maneiras de combinar operações num sistema<br />

quântico <strong>para</strong> resolver um problema).<br />

É necessário ressaltar que qualquer problema que pode<br />

ser resolvido por um computador quântico pode ser resolvido por um clássico e vice-versa. Em<br />

particular, problemas que são indecidíveis no contexto da Computação Clássica também o são<br />

no âmbito da Computação <strong>Quântica</strong>. Assim sendo, a Computação <strong>Quântica</strong> não fere a Tese de<br />

Church-Turing, que afirma, em termos simples, que<br />

Toda função que seria naturalmente computável pode ser computada por uma<br />

Máquina de Turing.<br />

O grande interesse nos algoritmos quânticos vem, portanto, do fato de que eles podem<br />

resolver alguns problemas mais rapidamente que os algoritmos clássicos.<br />

Seja no contexto da Computação Clássica ou da Computação <strong>Quântica</strong>, projetar algoritmos<br />

é uma tarefa complexa. Porém, quando se trata de <strong>Quântica</strong>, tal tarefa torna-se ainda mais<br />

complicada devido ao novo <strong>para</strong>digma que a Computação <strong>Quântica</strong> introduz e às tentativas<br />

de utilizar as propriedades da Mecânica <strong>Quântica</strong> <strong>para</strong> reduzir a complexidade de algoritmos<br />

e tornar possível solucionar - em tempo viável - problemas intratáveis do ponto de vista da<br />

Computação Clássica.<br />

Dada a inviabilidade de abordar com detalhes todos os algoritmos quânticos existentes,<br />

foram selecionados apenas dois deles - o primeiro pela simplicidade e importância histórica e<br />

o segundo pelo avanço que representou por apresentar uma complexidade muito menor que os<br />

algoritmos clássicos <strong>para</strong> o mesmo problema.<br />

5.1 Algoritmo de Deutsch<br />

O primeiro algoritmo quântico foi descrito por David Deutsch em 1989.<br />

Suponha que nos é dado um circuito reversível (i.e. um circuito tal que dada a saída, é<br />

possível recuperar a entrada) que calcula uma função f : {0, 1} → {0, 1}. Considere tal circuito<br />

uma caixa preta. O problema que o algoritmo de Deutsch resolve consiste em determinar o<br />

valor de f(0) ⊕ f(1) (i.e. a soma dos valores da função f módulo 2). Se determinarmos que<br />

f(0)⊕f(1) = 0, então saberemos que f(0) = f(1) (embora o valor da função seja desconhecido),<br />

e a função f é dita ‘constante’. Se, por outro lado, determinarmos que f(0) ⊕ f(1) = 1, então<br />

saberemos que f(0) = f(1) e diremos que a função é ‘balanceada’. Portanto, determinar<br />

f(0) ⊕ f(1) é equivalente a determinar se a função f é constante ou balanceada.<br />

O problema de Deutsch consiste em, dada uma função f : {0, 1} → {0, 1},<br />

determinar se ela é balanceada ou constante.<br />

Se estivéssemos considerando o problema do ponto de vista clássico, teríamos que fazer duas<br />

consultas à caixa preta: consultaríamos primeiro, por exemplo, o valor de f(0). Mas apenas<br />

essa informação não seria suficiente <strong>para</strong> determinarmos f(0) ⊕ f(1): seria necessário consultar<br />

novamente a caixa preta <strong>para</strong> obter o valor de f(1).<br />

14


Quanticamente, podemos solucionar o problema com apenas uma consulta à caixa preta.<br />

A razão <strong>para</strong> isso está no princípio da sobreposição. Vamos mostrar então como funciona o<br />

algoritmo de Deutsch <strong>para</strong> esse problema a partir de um circuito quântico.<br />

O circuito reversível que calcula f pode ser transformado num circuito quântico se toda<br />

porta reversível do circuito inicial for substituída pela sua porta quântica análoga. Tal circuito<br />

quântico pode ser representado por<br />

Uf : |x〉|y〉 ↦→ |x〉|y ⊕ f(x)〉<br />

Se mantivermos o segundo qubit no estado |y〉 = |0〉 e o primeiro qubit em |x〉 = |0〉, obteremos<br />

|0 ⊕ f(0)〉 = |f(0)〉. Analogamente, se repetirmos o estado do segundo qubit e fizermos<br />

|x〉 = |1〉 como estado do primeiro qubit, teremos |f(1)〉 como saída. Portanto, com essas entradas<br />

descritas, conseguimos exatamente o mesmo comportamento do circuito reversível clássico<br />

com entradas 0 e 1, respectivamente.<br />

Poderíamos, no entanto, fornecer entradas tais que os qubits fossem uma sobreposição de<br />

|0〉 e |1〉: ainda mantendo o segundo qubit da entrada no estado |y〉 = |0〉, colocamos o primeiro<br />

qubit no estado<br />

1<br />

√ |0〉 +<br />

2 1<br />

√ |1〉 (1)<br />

2<br />

A entrada <strong>para</strong> Uf seria então<br />

Na saída de Uf, teríamos o estado<br />

( 1<br />

√ 2 |0〉 + 1<br />

√ 2 |1〉)|0〉 (2)<br />

= 1<br />

√ 2 |0〉|0〉 + 1<br />

√ 2 |1〉|0〉. (3)<br />

Uf( 1<br />

√ 2 |0〉|0〉 + 1<br />

√ 2 |1〉|0〉) (4)<br />

= 1<br />

√ 2 Uf|0〉|0〉 + 1<br />

√ 2 Uf|1〉|0〉 (5)<br />

= 1<br />

√ 2 |0〉|0 ⊕ f(0)〉 + 1<br />

√ 2 |1〉|0 ⊕ f(1)〉 (6)<br />

= 1<br />

√ 2 |0〉|f(0)〉 + 1<br />

√ 2 |1〉|f(1)〉. (7)<br />

Observe que, de certa forma, calculamos, simultaneamente, o valor de f <strong>para</strong> ambas as<br />

entradas possíveis. Embora ainda existam mais alguns passos <strong>para</strong> chegar ao resultado final, é<br />

possível concluir que o algoritmo de Deutsch resolve o problema com apenas uma consulta ao<br />

algoritmo (sem ter que achar se<strong>para</strong>damente os valores de f <strong>para</strong> cada entrada possível).<br />

5.2 Algoritmo de Shor<br />

O algoritmo de Deutsch descrito anteriormente, embora demonstre a superioridade dos<br />

computadores quânticos sobre os clássicos, lida com um problema aparentemente simples e<br />

pouco relevante dentre os problemas computacionais. Provavelmente a Computação <strong>Quântica</strong><br />

não teria atraído tanta atenção e não teria evoluído tanto se seu mérito pudesse ser demonstrado<br />

apenas por problemas simples. Mas, em 1994, foram mostradas as promissoras possibilidades<br />

15


da Computação <strong>Quântica</strong>, quando Peter Shor publicou um algoritmo quântico que resolvia um<br />

problema intratável em tempo polinomial.<br />

O algoritmo de Shor resolve o seguinte problema: dado um inteiro positivo N, achar os<br />

fatores primos de N. Sob o ponto de vista da Computação Clássica, não existe algoritmo que<br />

resolva tal problema em tempo polinomial.<br />

O algoritmo explora o argumento de que dois fatores fatores primos p, q de um número positivo<br />

n = pq podem ser encontrados determinando-se o período de uma função f(a) = x a mod N,<br />

<strong>para</strong> qualquer x < n que não tenha fatores comuns com n (a menos de 1):<br />

Algoritmo Shor(n)<br />

1. escolha um inteiro 1 < x < n aleatoriamente<br />

2. se mdc(x, n) > 1<br />

3. então devolva mdc(x, n)<br />

4. seja r o período da função f(a) := x a mod n<br />

5. se r for ímpar ou x r<br />

2 ≡ −1 (mod n)<br />

6. então o procedimento falhou (deve-se escolher outro x e recomeçar o procedimento)<br />

7. devolva mdc(x r<br />

2 + 1, n)<br />

A linha 4 do pseudo-código foi destacada porque representa o único passo quântico do<br />

algoritmo: todos os outros passos podem ser executados de forma eficiente num computador<br />

clássico (assim como num computador quântico).<br />

Vamos então fazer uma simulação do algoritmo: imagine que queremos encontrar os fatores<br />

primos de n = 15. Tomamos um número aleatório x menor que n: suponha que tenhamos<br />

sorteado x = 7 (note que x e n não tem fatores comuns - a não ser 1), e definimos a função<br />

f(a) = 7 a mod 15. O período de f é r = 4 (f(a) assume os valores 1, 7, 4, 13, 1, 7, 4, . . . quando<br />

a = 0, 1, 2, 3, 4, 5, 6, . . . respectivamente). Com essa informação, computar os fatores de n requer<br />

apenas que seja avaliado o máximo divisor comum entre n e x r<br />

2 + 1. Em nosso exemplo, o<br />

cálculo do máximo divisor entre 15 e 50 = 7 4<br />

2 + 1 devolve, de fato, o valor 5, que é um dos<br />

fatores primos de 15.<br />

O algoritmo de Shor utiliza a propriedade da sobreposição quântica <strong>para</strong> conseguir reduzir,<br />

através de funções quânticas específicas, a complexidade do tempo de solução do problema<br />

de fatoração de exponencial <strong>para</strong> polinomial. Tal algoritmo é o melhor exemplo do quanto a<br />

Computação <strong>Quântica</strong> pode reduzir a complexidade de problemas intratáveis: a fatoração de<br />

um número em primos está em NP 10 e todos os algoritmos clássicos conhecidos <strong>para</strong> resolver<br />

este problema são exponenciais.<br />

5.3 Outros algoritmos<br />

Além dos dois algoritmos apresentados, é interessante citar o algoritmo de Deutsch-Josza,<br />

que é uma generalização do algoritmo de Deustch. Outro algoritmo quântico bastante conhecido<br />

é o de Grover - utilizado <strong>para</strong> buscas em bancos de dados não estruturados e em listas não<br />

ordenadas. O algoritmo de Grover é quadraticamente mais rápido que os algoritmos clássicos<br />

que resolvem o mesmo problema.<br />

10 Classe de problemas de decisão <strong>para</strong> os quais não existem soluções polinomiais.<br />

16


6 Aplicações e possibilidades da Computação <strong>Quântica</strong><br />

6.1 Criptografia <strong>Quântica</strong><br />

Criptografia <strong>Quântica</strong> refere-se tanto ao uso de Criptografia Clássica como proteção a “ataques<br />

quânticos”, como ao uso de fenômenos da Mecânica <strong>Quântica</strong> <strong>para</strong> quebrar ou implementar<br />

sistemas criptográficos.<br />

6.1.1 Implicações <strong>para</strong> a Criptografia Clássica<br />

Atualmente vários mecanismos de segurança digital fazem uso de sistemas de criptografia<br />

clássicos (e.g. RSA), os quais são baseados no fato de que é difícil achar os fatores primos de<br />

um número num tempo viável (em computadores clássicos). A descoberta de que computadores<br />

quânticos podem resolver o problema da fatoração em primos em tempo polinomial teve um<br />

efeito dramático. A implementação de tal algoritmo numa máquina física teria consequências<br />

tanto científicas como econômicas.<br />

6.1.2 Sistemas Criptográficos Quânticos<br />

Fenômenos quânticos podem ser usados <strong>para</strong> construir e implementar sistemas criptográficos<br />

seguros. Isso porque a quântica torna possível a geração de chaves realmente aleatórias e, principalmente,<br />

porque permite comunicação segura entre as partes - garantida pelas propriedades<br />

da observação, da não-clonagem e do emaranhamento. Em outras palavras, um intruso que<br />

tentasse interceptar um canal de comunicação quântico precisaria observar o estado do sistema.<br />

Primeiramente, tal intruso precisaria saber como observar o sistema. Mas ainda que tivesse essa<br />

informação, ao efetuar a observação, o estado do sistema quântico seria perturbado de forma<br />

irreversível, e, portanto, a interceptação do canal não passaria despercebida. Ademais, pela<br />

não-clonagem, não seria possível <strong>para</strong> um intruso copiar o estado (desconhecido) do sistema<br />

quântico interceptado. Finalmente, com relação ao emaranhamento, é possível gerar pares de<br />

sistemas quânticos com estados emaranhados <strong>para</strong> comunicação de modo que a detecção de um<br />

sistema destruiria a correlação com o outro sistema - tornando perceptível uma espionagem por<br />

parte de um adversário criptográfico.<br />

Na prática, atualmente, a Criptografia <strong>Quântica</strong> é usada <strong>para</strong> gerar e distribuir chaves.<br />

6.1.3 Distribuição <strong>Quântica</strong> de Chaves<br />

Em criptografia simétrica (também conhecida por criptografia de chave secreta), as partes<br />

interessadas em se comunicar conhecem uma mesma chave K: <strong>para</strong> enviar uma mensagem, a<br />

parte emissora criptografa um texto legível x usando K, obtendo um texto ilegível fK(x) = y.<br />

A parte receptora então, <strong>para</strong> obter a mensagem legível original, decriptografa o conteúdo<br />

recebido usando o algoritmo inverso f −1<br />

K (y), obtendo x se e só se tal receptor conhece K. É<br />

claro que, nesse caso, somente as partes interessadas devem poder ter conhecimento da chave<br />

K. Para isso, é necessário que, quando do acordo sobre qual será a chave secreta K pelas partes<br />

interessadas (i.e. a distribuição da chave K), nenhum invasor tenha acesso a K. O uso de<br />

comunicação quântica no acordo sobre a chave secreta (i.e. distribuição quântica da chave)<br />

garante a segurança da transação.<br />

6.1.4 One-time pad<br />

O algoritmo mais comumente associado com a Criptografia <strong>Quântica</strong> é o one-time pad: a<br />

mensagem a ser criptografada é combinada com uma chave aleatória (pad) cujo comprimento<br />

17


é maior ou igual ao da mensagem. É possível provar que o one-time pad é totalmente seguro<br />

quando segue dois critérios:<br />

•<br />

É usado com uma chave realmente aleatória;<br />

• A chave usada é mantida em segredo.<br />

Com o uso de Criptografia <strong>Quântica</strong>, as propriedades supracitadas podem ser asseguradas<br />

(no caso da segunda, apenas parcialmente, uma vez que pode-se garantir apenas a distribuição<br />

segura da chave e não a manuntenção da mesma em segredo).<br />

6.2 Speedup de algoritmos clássicos<br />

Como dito anteriormente, algoritmos quânticos podem resolver problemas intratáveis do<br />

ponto de vista clássico num tempo viável: o termo speedup refere-se ao quanto um algoritmo<br />

quântico é mais rápido que um algoritmo clássico <strong>para</strong> o mesmo problema.<br />

Adotaremos a seguinte terminologia (conforme a usada em [QAZ]): se existe uma constante<br />

positiva α tal que o tempo de execução C(n) do melhor algoritmo clássico conhecido e o tempo<br />

do algoritmo quântico Q(n) do algoritmo quântico satisfazem C = 2 Ω(Qα ) , então diremos que o<br />

algoritmo quântico provê um speedup superpolinomial. Do contrário, o speedup é dito polinomial<br />

apenas.<br />

Para o problema da fatoração em primos, temos o seguinte cenário: seja N o inteiro positivo<br />

a ser fatorado e seja m = ⌊log N⌋+1 (i.e. m é o número de bits necessários <strong>para</strong> representar N).<br />

Então o algoritmo de Shor está em O((log N) 3 ), ou, equivalentemente, em O(m 3 ), enquanto<br />

os algoritmos clássicos estão em O(e (log N) 1 3 (log log N) 2 3 ) - ou em O(e m ) - com relação ao tempo.<br />

O speedup fornecido pelo algoritmo de Shor, é, portanto, superpolinomial. Se considerarmos<br />

agora o algoritmo de Grover, temos um speedup polinomial: <strong>para</strong> busca de um item numa lista<br />

não ordenada de N elementos, temos O( √ N) <strong>para</strong> o algoritmo quântico e O(N) (tempo linear)<br />

<strong>para</strong> os algoritmos clássicos.<br />

A seguir, são citados, com caráter ilustrativo, alguns algoritmos quânticos e os respectivos<br />

speedups:<br />

Algoritmo/Problema: Busca de triângulos em grafos<br />

Speedup: Polinomial<br />

Descrição: Suponha que temos uma caixa preta que acessa um grafo com N vértices: dado<br />

um par de vértices, a caixa preta devolve se existe uma aresta entre eles. O problema consiste<br />

em achar um triângulo (i.e. um grafo completo de tamanho três) no grafo (se existir). Um<br />

algoritmo quântico <strong>para</strong> o problema tem tempo de execução O(N 3<br />

2 ), enquanto os algoritmos<br />

clássicos estão em O(N 2 ).<br />

Algoritmo/Problema: Equação de Pell<br />

Speedup: Superpolinomial<br />

Descrição: Dado um inteiro positivo d que não possui raiz inteira, a equação de Pell é<br />

x 2 − dy 2 = 1. Para todo d (que satisfaz a hipótese anterior) há infinitos pares (x, y) que são<br />

solução da equação. Seja (x1, y1) o par que minimiza x + y √ d. O problema consiste em achar<br />

tal par. Algoritmos clássicos o fazem em tempo exponencial, enquanto o algoritmo quântico<br />

consegue a solução em tempo polinomial (considerando o número de bits necessários <strong>para</strong><br />

representar d).<br />

18


6.3 Simulação de sistemas quânticos<br />

Sempre que uma tecnologia nova e complexa é criada, é necessário que ela seja simulada:<br />

tanto teoricamente - através de equações matemáticas, como através de computadores - executando<br />

um programa. Quando se trata de um sistema quântico de n estados, sua simulação<br />

requer 2 n estados. Tal proporção exponencial torna inviável a simulação de tais sistemas<br />

em computadores clássicos. Assim, uma das mais fundamentais aplicações dos computadores<br />

quânticos é a simulação de sistemas quânticos.<br />

6.4 Outras aplicações<br />

Outra aplicação dos fenômenos quânticos é a geração de números verdadeiramente aleatórios:<br />

usando fenômenos quânticos imprevisíveis é possível construir dispositivos <strong>para</strong> esse fim (de fato,<br />

já existem implementações comerciais de “hardware quântico” <strong>para</strong> gerar números aleatórios).<br />

Além dessa, outras possíveis aplicações da Computação <strong>Quântica</strong> seriam em aprendizagem<br />

computacional e em áreas que necessitam de computação intensa.<br />

Até o momento são essas as possibilidades da Computação <strong>Quântica</strong>. Não está claro, ainda,<br />

por exemplo, o potencial total da Computação <strong>Quântica</strong> <strong>para</strong> aplicações comerciais. O que<br />

é fato é que a realização da Computação <strong>Quântica</strong> proveria um imenso poder computacional.<br />

Provavelmente outras aplicações surgirão com o desenvolvimento da área.<br />

19


7 Informação <strong>Quântica</strong> e Correção de Erros<br />

7.1 Informação <strong>Quântica</strong> - Uma visão geral<br />

Informação quântica é a informação física contida num estado de um sistema quântico. Em<br />

Computação <strong>Quântica</strong>, a unidade lógica básica de informação é o qubit. Os qubits diferem dos<br />

bits clássicos nos seguintes aspectos:<br />

• Os bits podem assumir apenas um estado - 0 ou 1 - de cada vez. Pela propriedade da<br />

sobreposição, qubits podem estar em mais de um estado num dado momento;<br />

• O estado de um qubit não pode ser medido sem que haja um colapso <strong>para</strong> o estado<br />

observado;<br />

• Um estado desconhecido de um qubit não pode ser clonado.<br />

Em termos simples, a maior diferença entre a informação clássica e a quântica está no<br />

processamento, não no que pode ser representado.<br />

7.2 Teoria <strong>Quântica</strong> da Informação<br />

A Teoria da Informação examina formas de representar e transmitir informação de maneira<br />

eficiente. A Teoria <strong>Quântica</strong> da Informação, por sua vez, é o resultado de esforços <strong>para</strong> generalizar<br />

a Teoria Clássica da Informação <strong>para</strong> o contexto quântico: como armazenar, transmitir<br />

e, sobretudo, processar informação usando sistemas quânticos?<br />

Muitos resultados - relacionados a observação e entropia, por exemplo - fazem parte da<br />

Teoria <strong>Quântica</strong> da Informação. No entanto, será abordada aqui apenas a teoria relativa aos<br />

mecanismos de correção de erros e tolerância a falhas, pois tais resultados representaram um<br />

avanço significativo <strong>para</strong> a Computação <strong>Quântica</strong>: era preciso provar que era possível efetuar<br />

correção de erros em computadores quânticos sem que isso prejudicasse o desempenho de forma<br />

drástica.<br />

7.3 Correção de erros<br />

Qualquer dispositivo físico que implementa um modelo computacional é imperfeito e limitado,<br />

devido à suscetibilidade de seus componentes à ação do ambiente: ruídos geram erros<br />

e resultados inválidos. Portanto, seja na Computação Clássica ou na <strong>Quântica</strong>, é necessário<br />

implementar algum mecanismo de detecção e correção de erros.<br />

7.3.1 Correção de erros clássica<br />

Para diminuir a probabilidade de ocorrência de erros, a técnica mais utilizada é a redundância.<br />

No caso de um canal de comunicação binário clássico, usar um bit de paridade é um dos<br />

mecanismos mais simples de redundância: além dos bits usados <strong>para</strong> representar a informação<br />

propriamente dita, um bit a mais é transmitido <strong>para</strong> informar se o número de bits ‘1’ da<br />

informação é par ou ímpar.<br />

Outra forma de garantir redundância é a repetição de dados. Por exemplo, poderíamos usar<br />

três bits ‘1’ <strong>para</strong> representar um único ‘1’, dessa forma, dois bits precisariam ser perturbados<br />

<strong>para</strong> que ocorresse um erro.<br />

20


Exemplo de repetição:<br />

Um único bit é representado por três bits:<br />

• Codificação:<br />

• Decodificação:<br />

1 → 111<br />

0 → 000<br />

000 → 0, 001 → 0, 010 → 0, 100 → 0<br />

111 → 1, 110 → 1, 101 → 1, 011 → 1<br />

Outro método ainda seria fazer uso de checksums: calcular uma certa função sobre os bits<br />

da informação. Se houver divergência entre o valor do checksum calculado e o transmitido, é<br />

certo que ocorreram erros.<br />

7.3.2 Correção de erros quântica<br />

Computadores quânticos são mais suscetíveis a erros que os clássicos, porque sistemas<br />

quânticos são mais delicados e difíceis de controlar, devido aos fatores mencionados no início<br />

desta seção.<br />

Contudo, é possível generalizar os mecanismos de redundância descritos <strong>para</strong> a correção<br />

clássica <strong>para</strong> produzir correção de erro quântica. Considere, por exemplo, a repetição clássica:<br />

a repetição quântica é, de certa forma, análoga. A diferença fundamental está na cópia dos<br />

qubits: qubits com estados sobrepostos, devido à não-clonagem, não podem ser copiados diretamente.<br />

Assim sendo, <strong>para</strong> prover repetição, usam-se os estados emaranhados. Além disso,<br />

as observações de qubits <strong>para</strong> detecção de erro devem ser feitas de forma que não se perca<br />

informação: isso é possível de modo que só se saiba se ocorreu um erro ou não - a informação<br />

armazenada propriamente dita não é observada.<br />

De qualquer forma, embora seja possível estabelecer um <strong>para</strong>lelo entre a correção clássica e<br />

quântica, esta última é de fato mais complexa e delicada - talvez tão complicada que suspeitouse<br />

que fosse ineficiente a ponto de prejudicar a utilidade dos computadores quânticas. No<br />

entanto, prova-se que é possível realizar correção de erros em computadores quânticos com<br />

um overhead polinomial (o chamado Teorema Quântico de Tolerância a Falhas - ou Threshold<br />

Theorem - garante tal resultado).<br />

21


8 Onde se faz Computação <strong>Quântica</strong>?<br />

A maioria dos resultados em Computação <strong>Quântica</strong> - alguns dos quais foram mostrados aqui<br />

- são oriundos de pesquisas acadêmicas. No entanto, é fato que muitas organizações comerciais<br />

contribuíram - e vêm contribuindo cada vez mais - <strong>para</strong> o desenvolvimento da área: não só desenvolvendo<br />

protótipos de computadores quânticos e produtos viáveis que utilizam propriedades<br />

da <strong>Quântica</strong>, mas também publicando pesquisas que concernem a aspectos teóricos.<br />

8.1 Computação <strong>Quântica</strong> na Academia<br />

Muitas universidades - sobretudo na Europa e América do Norte - possuem institutos ou<br />

centros dedicados à pesquisa e ao ensino de Computação <strong>Quântica</strong>: é o caso, por exemplo, da<br />

Universidade de Waterloo, no Canadá, e do MIT - Massachusetts Institute of Technology, nos<br />

Estados Unidos (em 1981, na First Conference on the Physics of Computation no MIT, Richard<br />

Feynmann apresentou a ideia de computadores quânticos).<br />

Foi na Universidade de Oxford, Inglaterra, que David Deutsch publicou muitos de seus<br />

famosos trabalhos na área: como a descrição da Máquina de Turing <strong>Quântica</strong> em 1985. Ainda<br />

em Oxford, foi realizada a primeira demonstração experimental de um algoritmo quântico: em<br />

1998 foi executado o algoritmo de Deutsch num computador quântico de 2 qubits.<br />

Atualmente, há pesquisa em diversas áreas como algoritmos, implementações de computadores<br />

quânticos a partir das mais variadas tecnologias, experimentos com propriedades quânticas<br />

(e.g. transmissão de dados a partir do par EPR) entre outros.<br />

Com o advento da Internet, é bem mais fácil acompanhar todo esse desenvolvimento através<br />

de bibliotecas online como a arXiv da Cornell University.<br />

8.2 Empresas e companhias que atuam com Computação <strong>Quântica</strong><br />

Shor e Grover publicaram os algoritmos que levam seus nomes, respectivamente, em 1994<br />

e 1996, quando trabalhavam nos laboratórios da AT&T (empresa americana de telefonia e<br />

comunicação).<br />

Outra empresa que vem pesquisando Computação <strong>Quântica</strong> há algum tempo é a IBM:<br />

David DiVincenzo - cujos famosos critérios foram apresentados anteriormente - é pesquisador<br />

na empresa desde 1985. A IBM ainda teve participação - juntamente com a Universidade de<br />

Stanford - na primeira execução do algoritmo de Shor, em 2001, fatorando o número 15 usando<br />

um computador quântico.<br />

Recentemente, a gigante Google anunciou uma parceria com uma empresa canadense de<br />

computação quântica - a D-Wave. Tal aliança teria o propósito de desenvolver computadores<br />

quânticos <strong>para</strong> busca de imagens e aprendizagem computacional.<br />

Vale citar também que há empresas, como a suíça IDQ, que fornecem produtos que não<br />

são computadores quânticos completos, mas que usam propriedades da <strong>Quântica</strong>: entre eles<br />

figuram geradores de números realmente aleatórios e hardware <strong>para</strong> Criptografia <strong>Quântica</strong>.<br />

Com o aumento da popularidade da Computação <strong>Quântica</strong>, a tendência é que mais empresas<br />

se aventurem nessa área.<br />

8.3 Computação <strong>Quântica</strong> no Brasil<br />

Apesar de o cenário não ser tão favorável a esse tipo de pesquisa quanto é na Europa ou na<br />

América do Norte, o Brasil também tem seus centros de pesquisa como o Grupo de Computação<br />

<strong>Quântica</strong> do Laboratório Nacional de Computação Científica (LNCC) que atua nas seguintes<br />

linhas:<br />

22


• Problema do Subgrupo Escondido;<br />

• Estrutura Matemática de Algoritmos Quânticos;<br />

• Estrutura Matemática de Computação Reversível;<br />

• Jogos Quânticos;<br />

• Informação <strong>Quântica</strong>;<br />

• Passeio Aleatório Quântico;<br />

• Simulação de Algoritmos Quânticos em Computadores Clássicos.<br />

Recentemente 11 , no Instituto de Física da <strong>USP</strong>, pesquisadores conseguiram manipular feixes<br />

de luz de forma a deixá-los emaranhados [FS]. Do ponto de vista da Informação <strong>Quântica</strong>, esse<br />

experimento foi muito importante, pois trouxe uma forma razoável de transmissão de dados<br />

por luz.<br />

É provável que haja um crescimento nas linhas de pesquisa em Computação <strong>Quântica</strong> no<br />

Brasil, uma vez que a área está se tornando cada vez mais popular dentre os pesquisadores do<br />

mundo todo.<br />

11 Outubro de 2009.<br />

23


9 Conclusão<br />

I’m not sure what you mean by a mainstream field. To me, quantum computing<br />

already looks pretty mainstream. − Michael Nielsen, Ph.D<br />

Em alguns anos, se a Lei de Moore for preservada, os transístores chegarão à dimensão<br />

atômica e uma forma diferente de computação seguirá a partir de tal ponto. Apesar de ainda<br />

não termos uma previsão de computador quântico a médio prazo, a Computação <strong>Quântica</strong> tem<br />

tudo <strong>para</strong> ser a sucessora do <strong>para</strong>digma atual de computação.<br />

Ademais, o computador quântico não possui uma forma específica <strong>para</strong> ser construído 12<br />

isso significa que muitos projetos nascerão e muitos cairão até termos, de fato, um computador<br />

quântico plenamente funcional. Além disso, com apenas 10000 qubits, o speedup garante que o<br />

poder de processamento atingirá um nível que nenhum computador clássico conseguirá alcançar!<br />

Estudar Computação <strong>Quântica</strong>, hoje, talvez seja bem parecido com o estudo de Computação<br />

no passado - já que o que temos em funcionamento é apenas um modelo teórico. Entretanto,<br />

sua complexidade é muito maior dada a natureza não intuitiva dos fenômenos quânticos.<br />

Mesmo com toda a dificuldade que envolve o estudo de <strong>Quântica</strong>, o mar de possibilidades<br />

dentro do que ainda está <strong>para</strong> vir faz com que seu estudo, ainda sim, seja algo fascinante!<br />

12 Há diversas implementações usando desde luz até íons. Veja em [MAL].<br />

24


Referências<br />

[QCQ] NIELSEN M., CHUANG I., Quantum Computation and Quantum Information,<br />

Cambridge Press, 2000.<br />

[MH] HIRSVENSALO, M., Quantum Computing,<br />

Springer, 2 a edição, 2003.<br />

[IQC] KAYE P., LAFLAMME R., MOSCA M., An Introduction to Quantum Computing,<br />

Oxford, 2007<br />

[MAL] CHEN G. et al, Quantum Computing Devices - Principles, Design and Analysis,<br />

Taylor & Francis Group, 2007.<br />

[CSF] CARDONHA C., SILVA M., FERNANDES C., Computação <strong>Quântica</strong>: Complexidade<br />

e Algoritmos,<br />

IME-<strong>USP</strong>, 2004.<br />

[CQ] ALLEGRETTI, Francisco J. P., Computação <strong>Quântica</strong>,<br />

UFRGS, 2004.<br />

[TQC] PERRY, RILEY T., The Temple of Quantum Computing,<br />

http://www.toqc.com/TOQCv1 1.pdf<br />

[CA2] ROSS M., OSKIN M., Quantum Computing - Researchers are optimistic, but a pratical<br />

device is years away,<br />

Communications of the ACM, Vol. 51, no. 7, 2008.<br />

[ARS] ARS Technica, Adiabatic Quantum Computing,<br />

http://arstechnica.com/science/news/2007/02/7008.ars<br />

[CA1] BACON, D., VAN DAM, W., Recent Progress in Quantum Algorithms,<br />

Communications of the ACM, Vol. 53, no. 2, 2010.<br />

http://goo.gl/RjR5Z<br />

[PQC] DIVINCENZO, DAVID P., Prospects for Quantum Computing,<br />

http://www.research.ibm.com/ss computing/iedm01.doc<br />

[GE] GECCO-2008, Quantum Computing,<br />

http://www.cs.bham.ac.uk/ wbl/biblio/gecco2008/docs/p2865.pdf<br />

[IS] Science and Technology resources on the Internet, Quantum Computing,<br />

http://www.istl.org/09-spring/internet.html<br />

[N1] LADD, T.D. et al, Quantum Computers,<br />

Nature, vol. 464, 03/2010<br />

http://www.nature.com/nature/journal/v464/n7285/full/nature08812.html<br />

[N2] KNILL E., Quantum Computing Q&A,<br />

Nature, vol. 463, 01/2010<br />

[FS] Entangled colors,<br />

Pesquisa FAPESP, October 2009, Edição 164 http://goo.gl/yolWf<br />

[MN] Michael Nielsen, Quantum Computing for everyone,<br />

http://michaelnielsen.org/blog/quantum-computing-for-everyone/<br />

25


[QAZ] Caltech, Quantum Algorithm Zoo,<br />

http://www.its.caltech.edu/~sjordan/zoo.html<br />

[aX1] MOSCA, M. Quantum Algorithms,<br />

http://arxiv.org/abs/0808.0369<br />

arXiv:0808.0369v1 [quant-ph]<br />

[IB1] MURCH, R., Quantum Computing: The Hype and Reality,<br />

IBM Press, 2005,<br />

http://www.ibmpressbooks.com/articles/article.asp?p=374693<br />

[CH] CHUANG I., Quantum Information - Joining the Foundations of Physics and Computer<br />

Science<br />

MIT Physics Anual 2004, 2004.<br />

[TC] HARRISON, David M., Quantum Teleportation, Information and Cryptography,<br />

http://www.upscale.utoronto.ca/PVB/Harrison/QuantTeleport/QuantTeleport.html<br />

[ST1] Stanford Encyclopedia of Philosofy, Quantum Computing,<br />

http://plato.stanford.edu/entries/qt-quantcomp/<br />

[ST2] Stanford Encyclopedia of Philosofy, Quantum Entanglement and Information,<br />

http://plato.stanford.edu/entries/qt-entangle/<br />

[WB1] Wikibooks, Breve introdução à Computação <strong>Quântica</strong>,<br />

[WK1] Wikipedia, Laser Cooling,<br />

http://goo.gl/LNltZ<br />

http://en.wikipedia.org/wiki/Laser cooling<br />

[WK2] Wikipedia, Quantum Algorithm,<br />

http://en.wikipedia.org/wiki/Quantum algorithm<br />

[WK3] Wikipedia, Shor’s Algorithm,<br />

http://en.wikipedia.org/wiki/Shor’s algorithm<br />

[WK4] Wikipedia, Grover’s Algorithm,<br />

http://en.wikipedia.org/wiki/Grover’s algorithm<br />

[WK5] Wikipedia, Quantum Cryptography,<br />

http://en.wikipedia.org/wiki/Quantum cryptography<br />

[WK6] Wikipedia, Quantum Key Distribution,<br />

http://en.wikipedia.org/wiki/Quantum key distribution<br />

[WK7] Wikipedia, Quantum Error Correction,<br />

http://en.wikipedia.org/wiki/Quantum error correction<br />

[WK8] Wikipedia, Timeline of quantum computing,<br />

http://en.wikipedia.org/wiki/Timeline of quantum computing<br />

[WP1] Wikipedia, Criptografia <strong>Quântica</strong>,<br />

http://pt.wikipedia.org/wiki/Criptografia qu^antica<br />

[WP2] Wikipedia, One-time Pad,<br />

http://pt.wikipedia.org/wiki/One-time pad<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!