Upload
dongoc
View
218
Download
1
Embed Size (px)
Citation preview
Circuitos Quânticos:uma introdução
Aércio Ferreira de LimaDF/CCT/UFCG
Bernardo Lula JúniorDSC/CCT/UFCG
WECIQ2006
Roteiro
• Mecânica quântica (30min)– dualidade onda x partícula
– superposição e interferência
– Interferômetro de Mach-Zehnder
• Representação da informação (30min)– bit, qubit, vetor de estado
– estado produto direto e emaranhado
– registrador quântico
Roteiro: continuação
• Processamento da informação (40min)
– computador clássico: portas e circuitos lógicos
– operações quânticas: transformação unitária e medição
– portas e circuitos quânticos
– algoritmos aritméticos
– paralelismo quântico
• Algoritmo de Deutsch (20min)– problema de Deutsch
– funções e circuitos
– Interpretação no interferômetro de Mach-Zehnder
Ferramental de apoio
• Texto (pdf)– http://www.dsc.ufcg.edu.br/~lula
• Apresentação (pdf)– http://www.dsc.ufcg.edu.br/~lula
• Simulador Zeno (java)– http://www.dsc.ufcg.edu.br/~aab/zeno/zeno-user.zip
Abordagem Quântica
• “... a tecnologia quântica pode oferecer muito mais que a possibilidade de abarrotar o silício de bits aumentando assim a velocidade de processamento. Ela pode dar origem a uma forma de computação completamente nova com algoritmos baseados nos princípios quânticos.”
• Artur Ekert• University of Oxford
• Centre for Quantum Computation
Computação Quântica (CQ): Pioneiros
• Em 1980 Benioff apresenta um modelo de computador quântico que simula a operação de uma máquina de Turing.
• Em 1982 Feynman afirma que :– apenas um sistema quântico pode modelar eficientemente outros sistemas
quânticos.
– computadores baseados nas leis da mecânica quântica poderiam ser usados para modelar sistemas mecânicos quânticos.
• e propõe (em 1985) um modelo de computador quântico mais realístico que o de Benioff.
• Em 1985 Deutsch estende a teoria da computação clássica, desenvolvendo uma teoria da CQ através da formulação de um modelo de circuitos quânticos (1985-1989).
• Até início dos anos 90 a CQ era apenas uma curiosidade acadêmica.
Mudança
• Em 1994, Shor publicou o seu algoritmo quântico que resolve o problema de fatoração de números grandes em tempo polinomial.
• Algoritmo de Shor põe em cheque a segurança baseada em chave pública e abre novas perspectivas para a CQ.
Física Clássica Física Quântica
• Situação no final do século XIX:
– Os físicos achavam que já tinham uma imagem sólida e abrangente sobre o mundo objetivo (físico).
– O mundo (universo) consistia basicamente de duas coisas, matéria (partículas) e campos (ondas), regidas pelas leis de:
Newton (leis do movimento) e deMaxwell (leis dos campos)
– A tarefa dos sucessores de Newton e Maxwell seria preencher os detalhes, estender as medições até a casa decimal seguinte.
Opinião dominante
• “A física acabou, meu jovem. É uma rua sem saída.”
• (professor de Max Planck, aconselhando-o, então, a optar pela carreira de pianista.)
“Pequenas manchas”
• Enigma do corpo-negro
– Pelas leis da física os corpos-negros deveriam ter um fulgor azul brilhante em todas as temperaturas a que fossem submetidos.
– Nas fundições se sabia, desde gerações, que o ferro se torna vermelho-cereja por volta dos 1.300°C.
• Efeito fotoelétrico
– uma placa metálica onde é depositada carga elétrica perde essa carga se iluminada por luz ultravioleta, mas, se a luz for amarela, vermelha ou azul, nada ocorre.
– Pelas leis de Maxwell, a luz é uma onda. Como uma onda poderia causar o efeito observado?
O início da revolução quântica
• Em 1900, Planck propõe que átomos recebem e emitem energia em pequenos “pacotes” múltiplos da freqüência de vibração das partículas.
• A proposta inovadora de Planck explicava porque o ferro adquire um fulgor vermelho-cereja por volta dos 1.300°C.
• Em 1905, Einstein publicou artigo intitulado Um ponto de vista heurístico sobre a produção e a transformação da luz, que utilizando a mesma restrição sobre a energia sugerida por Planck, sugeria que a luz era feita de partículas (fóton ou quantum de luz).
• A teoria de Einstein explicava os dados perfeitamente. Porém, criou outro problema:
• Afinal, a luz é onda ou partícula?
Dualidade Onda x Partícula
• Por volta de 1920, a opinião dominante era a de que a luz se comporta em determinadas situações como uma onda e em outras como partícula.
Bragg:
“Os fótons se comportam como partículas às segundas, quartas e sextas, e como ondas às terças, quintas e sábados. Aos domingos, os físicos descansariam do esforço de tentar compatibilizar os dois comportamentos.”
Onda x Partícula
• Como algo pode ser partícula e onda ao mesmo tempo?
• Partículas e ondas parecem ter propriedades diferentes e irreconciliáveis:
– uma partícula é uma objeto pequeno, bem localizado no espaço, enquanto uma onda é algo que se dispersa pelo espaço.
– duas ondas podem se interpenetrar e emergir inalteradas, enquanto duas partículas entrariam em colisão.
Onda x Partícula
• Mais “lenha na fogueira” :
• Em 1924, de Broglie propôs em sua tese de doutorado que não apenas os fótons mas também os elétrons ou quaisquer outras partículas atômicas também têm um comportamento ondulatório.
• Ou seja, não só a luz mas também a matéria teria comportamento de uma onda!!!.
Teorias quânticas
• Em 1925, surgem teorias quânticas (Heisenberg, Schrödinger), desfazendo a distinção entre partícula e onda:– o mundo é feito de uma só substância, a “substância quântica”
que combina de um modo peculiar os aspectos “partícula” e “onda” ;
– a cada entidade quântica é associada uma função de ondasimbolizada por ψ ;
– ψ possui amplitude e fase, satisfaz o princípio da superposição e é sujeito à interferência construtiva ou destrutiva, dependente da fase.
Fenômeno quântico: interferência
• Beamsplitter
– ES: espelho semi-prateado • metade dos fótons é refletida e metade transmitida
H
fóton ES
V
Experimento
H
fóton ES
V
B
A
Emitir fótons horizontalmente em direção à ES (um por vez) e observar efeito nos detectores A e B.
• Efeito observado:
– Detectores A e B registram a chegada de fótons emitidos, e como esperado, metade por A e a outra metade por B.
– Os fótons parecem deixar ES em uma das duas direções possíveis, V ou H, aleatoriamente
– Comportamento de partícula.
interferência
H
fóton ES
V
B
A
espelho normal (reflete todos os fótons)
N
N
ES2
H
fóton ES1
V
B
A
Interferômetro de Mach-Zehnder
• Esperado:
– metade dos fótons no detector A e outra metade no detector B.
• Observado:
– Todos os fótons registrados pelo detector B, nenhum pelo detector A.
interferência
N
N
ES2
H
fóton ES1
V
B
A
espelho normal (reflete todos os fótons)
N
N
ES2
H
fóton ES1
V
B
A
• Observado:
– Metade dos fótons em A e a outra metade em B.
• Conclusão:
– Um caminho interfere (de alguma forma) no outro.
– O fóton segue nas duas direções possíveis ao mesmo tempo.
Superposição
N
N
ES2
H
fóton ES1
V
B
A
• Assim, podemos ter um sistema que pode não apenas estar em 2 estados distintos ( |0> ou |1> ), mas também em uma superposição desses estados:
• |ψ> = a |0> + b |1>
• onde |a|2 indica a probabilidade do fóton ser encontrado (se medido, observado) no caminho H (|0>), e |b|2 indica a probabilidade de ser encontrado no caminho V (|1>).
espelho normal (reflete todos os fótons)
N
N
ES2
H
fóton ES1
V
B
A
Superposição e
Interferência
• Um fóton inicialmente no estado |0> ao incidir sobre ES1 tem seu estado alterado para:
|ψ> = (1/√2)( |0> + |1> )
• O estado do fóton após ES2 é |0>.
• Ou seja, os caminhos interferem um com o outro resultando:
• numa interferência construtiva no caminho |0> (amplitude aumenta para 1), e
• numa interferência destrutiva no caminho |1> (amplitude vai a 0).
Onda e Partícula
• O fóton se comporta como uma onda, seguindo nas duas direções possíveis ao mesmo tempo:
|ψ> = a |0> + b |1>
• As possibilidades se somam, mas podem desaparecer (quando suas ondas representativas se encontram fora de fase).
• Se observado (medido, detectado), o fóton se comporta como uma partícula (colapso da função de onda):
|0> ou |1>
Representação da informação
• A unidade básica de informação dos computadores clássicos é o bit(binary digit) que pode ser (ou tem valor) 0 ou 1.
• A unidade básica de informação de um computador quântico é o qubit que, além dos estados |0> e |1>, correspondentes aos estados clássicos 0 e 1, pode estar numa mistura desses dois estados simultaneamente, ou seja, em uma superposição coerente desses estados.
• Em termos matemáticos, o estado geral de um qubit, denotado por |ψ>, é descrito por um vetor unitário (módulo igual a 1) em um espaço de Hilbert bidimensional (C2) :
|ψ> = a |0> + b |1> ,
satisfazendo | a | 2 + | b | 2 = 1. (condição de normalização)
Notação de Dirac
• Os kets |0> e |1> são representações dos vetores-coluna:
1
0|0> ≡
0
1|1> ≡
• e formam uma base para o espaço chamada de base computacional {|0>, |1>}
• Então, |ψ> = a |0> + b |1> representa o vetor:
1
0|ψ> ≡ a +
0
1b =
a
b
Visualização de um qubit na esfera de Bloch
x
y
z|0>
x
y
z|1>
x
y
z
x
y
z|0> + i|1> |0> - |1>
Registrador de memória quântico
• Registrador de memória em um computador clássico: sequência de n bits cujo estado pode ser qualquer um de {0, ..., 2n-1}.
• Registrador de memória quântico: sequência de n qubits cujo estado geral |ψ> é uma superposição normalizada dos 2n estados da base computacional {|0>, ..., |2n-1>} do espaço C2n:
1|α|onde12
0x
2n
x =∑−
=,x|α|
12
0x
n
x >=>ψ ∑−
=
• Obs.: o estado geral de n qubits é descrito por 2n amplitudes (números complexos).
Estado geral de 2 qubits
• O estado geral |ψ> de um registrador de 2 qubits é uma superposição dos estados da base computacional {|0>, |1>, |2>, |3>} :
|ψ> = α0|0> + α1|1> + α2!2> + α3!3>
• Ou, na notação binária:
|ψ> = α00|00> + α01|01> + α10!10> + α11!11>
Estado produto-direto
• Um tipo especial de estado é o estado produto-direto que é definido como o produto tensorial dos estados de seus componentes.
• Por exemplo, se:
• |ψ> = ψ0 |0> + ψ1 |1> estado do qubit A
• |φ> = φ0 |0> + φ1 |1> estado do qubit B
• então, o estado produto-direto do sistema composto é dado por:
• |ψ> ⊗ |φ> = (ψ0 |0> + ψ1 |1>) ⊗ (φ0 |0> + φ1 |1>)
• = ψ0φ0|0> ⊗ |0>+ψ0φ1|0>| ⊗ 1>+ψ1φ0|1> ⊗ |0>+ψ1φ1|1> ⊗ |1>
∑=
>>φ=1
0j,iji j|i|ψ
Estado emaranhado
• Note que o estado geral de 2 qubits só é um estado produto-direto dos estados dos 2 qubits se, e somente se:
α00 = ψ0φ0, α00 = ψ0φ0, α00 = ψ0φ0, α00 = ψ0φ0,
• ou seja, α00α11 = α01α10.
• Essa relação não é geral, visto que as amplitudes são regidas apenas pela condição de normalização.
• Assim, o estado de um sistema composto nem sempre é um estado produto-direto dos estados dos seus componentes.
• Por exemplo, o estado |ψ> = (|0>|0> + |1>|1>)/√2 de 2 qubits não pode ser descrito como um produto tensorial. Esse estado é dito ser um estado emaranhado (ou entrelaçado).
Processamento da informação
• Um computador clássico pode ser visto como um sistema físico queprocessa a informação codificada em bits, convertendo univocamente uma sequência de n bits (entrada) em outra sequência de m bits (saída):
calcula uma função f : {0, ..., 2n-1} → {0, ..., 2m-1}
• O processamento é realizado por dispositivos chamados circuitos lógicos.
• Um circuito lógico é uma coleção de portas lógicas (gates) conectadas umas às outras por fios.
• As portas lógicas realizam operações lógicas (AND, OR, NOT, por exemplo) sobre as informações (bits).
• Os fios transmitem as informações (bits).
Porta lógica NOT
a NOT(a)
• Essa porta tem como entrada um simples bit a e sua saída é o bitinvertido, ou seja, a porta realiza a operação lógica NOT sobre o bit:
NOT(0) = 1 e NOT(1) = 0
• Os fios antes e depois da porta servem para “transportar” a informação (bit) para a porta e da porta, respectivamente.
Circuitos e funções computáveis
• Uma porta lógica realiza (implementa) uma função f:{0,1}n → [0,1}m, para algum no. n de bits de entrada e algum no. m de bits de saída.
• Um circuito lógico pode envolver vários bits de entrada e de saída, muitos fios e muitas portas lógicas encadeadas, sem loops.
• Qualquer função computável pode ser realizada através de um circuito composto apenas das seguintes portas :
Portas lógicas básicas
• NOT: {0,1} → {0,1}
• AND:{0,1}2 → {0,1}
• OR:{0,1}2 → {0,1}
• XOR:{0,1}2 → {0,1}
• NAND:{0,1}2 → {0,1}
a NOT(a)
a
ba AND b
a
ba XOR b
a OR ba
b
a
ba NAND b
Circuito somador
Podemos construir circuitos com múltiplas saídas que computam funções do tipo f : {0,1}n → {0,1}m.
Por exemplo, o circuito Half-Adder (HA) que computa x + y mod 2 (XOR de x e y) com o “vai um” (carry):
x y c x ⊕ y0 0 0 0
0 1 0 11 0 0 1
1 1 1 0
x
y
c
x ⊕ y
Transformação unitária
• A mecânica quântica diz que a evolução no tempo de qualquer sistema quântico isolado é descrita matematicamente por uma transformação linear.
• Como os vetores de estados quânticos são unitários (módulo igual a 1), as transformações devem preservar o módulo dos vetores.
• Uma transformação linear U que preserva o módulo é uma transformação unitária:
Ut.U = U.Ut = I
Transformação reversível
• Uma consequência imediata da evolução do processo evolutivo de um sistema quântico isolado como um processo unitário é que ele reversível:
Ut.U = U.Ut = I
ou seja, U tem inversa U-1 = Ut .
• As operações quânticas são reversíveis.
• As operações lógicas (booleanas) em geral não são reversíveis.
Portas quânticas simples
• Em um computador quântico o processamento da informação é realizado por dispositivos chamados circuitos quânticos que são agrupamentos de dispositivos mais simples chamados portas quânticas.
• Uma porta quântica simples (1-qubit) implementa uma operação unitária U que pode ser aplicada a um qubit no estado |ψ> fazendo-o evoluir para o estado U(|ψ>):
• |ψ> → U|ψ>
Portas quânticas básicas
X|a> X|a> ⎟⎟⎠
⎞⎜⎜⎝
⎛0110
|a> Y Y|a> ⎟⎟⎠
⎞⎜⎜⎝
⎛ −0
0i
i
|a> Z Z|a> ⎟⎟⎠
⎞⎜⎜⎝
⎛−1001
H|a> H|a> ⎟⎟⎠
⎞⎜⎜⎝
⎛−1111
21
|a> φ eiaφ |a> ⎟⎟⎠
⎞⎜⎜⎝
⎛φil0
01
H (Hadamard) como uma rotação
• A porta H provoca uma rotação de π/2 do vetor de estado em torno do eixo y seguida de uma reflexão sobre o plano xy:
x y
z
|0>+|1>2
z
x y
|1>
z
x y
|0>
Estados produto-direto x estados emaranhados
• Em geral, podemos usar as portas quânticas de 1-qubitpara transformar o estado |0>|0>...|0> de n qubits em qualquer estado do tipo |ψ1>|ψ2>... |ψn> onde cada |ψi> é uma superposição arbitrária a|0>+b|1>.
• Porém, apenas estados produto-direto (ou separáveis) podem ser obtidos dessa forma.
• Para se obter estados emaranhados, precisamos de portas aplicáveis a múltiplos qubits.
Porta NOT-Controlado (CNOT)
A porta CNOT pode ser aplicada ao estado de 2 qubits (controle e alvo) e sua ação pode ser definida pelas transformações operadas nos estados da base computacional:
|00> → |00>
|01> → |01>
|10> → |11>
|11> → |10>|b>
|a> |a>
|b⊕a>
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
0100100000100001
UCNOT
Porta U-controlada
• Podemos generalizar a porta NOT-controlada para a porta U-controlada, onde U é uma transformação unitária qualquer sobre 1-qubit :
|x>
|y> U|x>Ux|y>
• Obs.: o conjunto das portas quânticas sobre 1-qubit mais a porta CNOT formam um conjunto universal, ou seja, qualquer transformação unitária pode ser representada por um circuito composto apenas por portas desse conjunto.
Portas quânticas de n qubits
Uma porta quântica de n qubits é representada por uma transformação unitária U aplicada a um vetor de dimensão 2n:
U|ψ> U|ψ>
∑∑−
=
−
=>=>ψ>=>ψ
12
0xnx
12
0xnx
nn
x|c|x|c| U U então , Se
Circuitos quânticos
|0> H (1/√2) (|0> + |1>)
Aplicando Hadamard ao estado |0>:
H|0>
|0> H (1/√2)(|0> + |1>)
(1/√2) (|0> + |1>)
Com 2 qubits e 2 Hadamard:
(H ⊗ H)(|0> ⊗ |0>) = H|0> ⊗ H|0>
= (1/√2).(|0>+ |1>) ⊗ 1/√2 (|0>+ |1>)
= (1/2).(|0>⊗|0>+ |0>⊗|1>+ |1>⊗|0>+ |1>⊗|1>)
= (1/2).(|00>+ |01>+ |10>+ |11>)
Circuitos quânticos
A aplicação de n portas Hadamard a um registrador de n qubits:
H|0> (1/√2) (|0> + |1>)
H
|0>
|0>
H (1/√2) (|0> + |1>)
(1/√2) (|0> + |1>).
.
.
produz o estado:
( )∑−
=
⊗ >=>0|12
0xnn/22
1n
n
x|nΗ
Computação reversível
Se existe um circuito lógico irreversível que computa uma dada função f : {0,1}n→{0,1}m , então existe uma simulação (eficiente) desse circuito por um outro circuito reversível com ação descrita por:
(x, y) → (x, y ⊕ f(x))
Computação Quântica: protocolo
• Protocolo padrão para a Computação Quântica:
Uf(|x>n|y>m) = |x>n|y ⊕ f(x)>m
• onde Uf é uma transformação linear que implementa a função f agindo sobre estados |x>n|y>m dos n+m qubits dos registradores de entrada e de saida.
Uf
|x>
|y>
|x>|y⊕f(x)>
Computação Quântica
• Se o registrador de saída é inicializado com o estado |0>, então temos:
Uf (|x>n|0>m) = |x>n |f(x)>m
• e o seu estado após aplicação de Uf será |f(x)>:
Uf
|x>
|0>
|x>|f(x)>
Paralelismo Quântico
• Se o estado inicial do registrador de entrada é |0>n e aplicarmos n transformações H aos qubits do registrador, o estado do registrador de entrada se torna uma superposição igualmente distribuída de todos os 2n estados da base:
H|0> (1/√2).(|0> + |1>)
|0>|0>
H (1/√2).(|0> + |1>)
(1/√2).(|0> + |1>)H
|0>m
|0>n
|0>m
( ) ∑−=
⊗⊗ >>=>⊗>⊗12
0xν/2
nnn
x mnm n 0|| 21 )0|0).(|I H(
n
Paralelismo Quântico
Se aplicarmos agora Uf aos dois registradores segundo o protocolo:
∑<≤
>>1-20
mnn/2n
)f(||21
x
xxH|0>
|0>|0>
H
H
|0>m
|0>n Uf
A aplicação de Uf leva o sistema de n+m qubits a um estado de superposição de todos os pares |x>|f(x)> para todos os x entre 0 e 2n-1.
Ou seja, computamos todos os 2n valores f(0), f(1), ..., f(2n-1) ao mesmo tempo com uma única aplicação de Uf.
Extrair Informação de Qubits
• Seja |ψ> = a|0> + b|1> o estado de um qubit.
• Não existe maneira de se obter o valor de a ou de b.
• Existe apenas uma maneira de se extrair informação dos qubits: fazendo uma medição.
• Fazer uma medição consiste na realização de um determinado teste sobre o qubit cujo resultado é 0 ou 1.
• O valor 0 ou 1 obtido pelo teste não é determinado pelo estado |ψ> do qubit.
• O estado |ψ> determina apenas a probabilidade dos possíveis resultados, de acordo com a regra enunciada por Max Born, conhecida como a regra de Born.
Regra de Born
• Seja |ψ> = a|0> + b|1> o estado de um qubit.
• Então, a probabilidade que o resultado de uma medição do qubit seja 0 :
p(0) = |a|2
• e a probabilidade que o resultado seja 1
p(1) = |b|2
• ou seja, a probabilidade de se obter um resultado particular é dada pelo quadrado do módulo da amplitude associada ao resultado.
• Obs.: O estado do qubit após a medição será |0> ou |1>, de acordo com que o resultado seja 0 ou 1, respectivamente.
Regra de Born
• A regra de Born estabelece a relação entre as amplitudes e as probabilidades dos resultados da medição.
• A condição de normalização |a|2 + |b|2 = 1 é justamente o requisito que a soma das probabilidades de todos os resultados possíveis seja igual a 1.
Regra de Born generalizada
• Se o estado |ψ> de n qubits é:
• então, a probabilidade que a sequência de 0’s e 1’s resultante da medição de todos os n qubits seja a expansão binária do inteiro x é dada por:
• p(x) = |αx|2
• ou seja, a probabilidade de se obter um resultado particular é dada pelo quadrado do módulo da amplitude associada ao resultado na expansão do estado |ψ> nos 2n estados da base computacional.
1||||20
2
20
=>=> ∑∑<≤<≤ nn x
x
x
nx x onde , ααψ
Extração de resultado
• Com o circuito abaixo podemos computar todos os 2n valores f(0), f(1), ..., f(2n-1) ao mesmo tempo com uma única aplicação de Uf.
• Como tirar partido disso se a medição do registrador de entrada nos dá um valor aleatório k e uma medição subseqüente do registrador de saída nos dará apenas o valor associado f(k), e nada mais?
• Obs.: o estado do sistema após as medições mencionadas seria |k>|f(k)>.
∑<≤
>>1-20
mnn/2n
)f(||21
x
xxH|0>
|0>|0>
H
H
|0>m
|0>n Uf
Informação global x Informação local
• Questão: • Como tirar partido do paralelismo quântico (superposição)?
• Resposta:
• Aplicando algumas transformações ao estado do sistema antes de efetuarmos a medição.
• Podemos extrair informação útil acerca das relações entre os valores de f para diversos valores de x que só obteríamos no caso clássico com a execução diversas vezes de f.
• Para obtermos esse tipo de informação, temos de abdicar da possibilidade de obtermos informação sobre o valor de f(x) para um dado x (aleatório).
Problema de Deutsch
• David Deutsch foi o primeiro a mostrar que era possível extrair informação interessante de uma computação quântica.
• Problema:
• “Como saber se uma dada função f : {0,1} → {0,1} é constante ou balanceada executando o algoritmo que computa a função o mínimo
possível?”
• Existem 4 dessas funções:
x = 0 x = 1f0 0 0f1 0 1f2 1 0f3 1 1
Solução clássica
• Classicamente, para responder com 100% de certeza, precisaríamosexecutar 2 vezes o algoritmo que computa f para calcular os valores f(0) e f(1) e comparar então os resultados usando, por exemplo, o fato que:
⎩⎨⎧
=⊕balanceada é f se 1constante é f se 0
)1(f)0(f
x = 0 x = 1f0 0 0f1 0 1f2 1 0f3 1 1
Solução quântica
Suponhamos que temos uma caixa-preta (oráculo) que implementa uma dessas funções (desconhecida) executando uma transformação unitária Uf :
Uf( | x >| y > ) = | x >| y ⊕ f(x) >
Uf
|x>
|y>
|x>
|y ⊕ f(x)>
Circuitos para Uf
Uf00 0 f0
f(0) f(1)
Uf1 X0 1 f1
Uf2 X
X X1 0 f2
Uf3 X 1 1 f3
Oráculo quântico ≡ Oráculo clássico
• Determinar se a função computada pelo oráculo é constante ou balanceada:
Uf
|x>
|0>
|x>|f(x)>
• Se medirmos o estado do sistema na base computacional vamos obter como resultado |0> |f(0)> ou |1> |f(1)> .
• Não vamos obter mais informação sobre o estado do sistema do que poderíamos obter utilizando um oráculo clássico.
Algoritmo de Deutsch
• Adicionando algumas transformações e medindo o 1o. registrador ao final:
Uf
|0>
|1>
H
H
H M
Uf
|0>
|1>
H
H
H M
|ψ0> |ψ1> |ψ2>
• |ψ0> = |0>|1>
• |ψ1> = (½). (|0> + |1>). (|0> - |1>)
• |ψ2> = (½).(-1)f(0 (|0> + (-1)f(0)⊕f(1) |1>). (|0> - |1>)
• Comparando |ψ2> com |ψ1> e lembrando que |ψ2> = Uf |ψ1> , podemos observar que:
• Uf deixa inalterado o estado do segundo qubit
• Uf introduz um fator de fase global (que podemos desprezar)
• Uf introduz no estado do primeiro qubit um fator de fase relativo (-1)f(0)⊕f(1) que contém a informação desejada (f(0)⊕f(1)).
Uf
|0>
|1>
H
H
H M
|ψ2>
• |ψ2> = (½). (|0> + (-1)f(0)⊕f(1) |1>)
• Se a função f é constante, f(0) ⊕ f(1) = 0 e o estado do primeiro qubit é (1/√2)(|0> + |1>), que após uma aplicação de H resulta no estado |0>. Uma medição posterior indicaria esse fato.
• Se a função é balanceada, f(0) ⊕ f(1) = 1 e o estado do primeiro qubit é (1/√2)(|0> - |1>), que após uma aplicação de H resulta no estado |1>. Uma medição posterior indicaria esse fato.
Uf
|0>
|1>
H
H
H M
• Se a função implementada pelo oráculo (Uf) for constante, a medição no primeiro qubit dará o valor 0. Se a função for balanceada, a medição dará o valor 1.
• O papel de Uf no circuito é gerar o fator de fase relativa no primeiro qubit de acordo com o tipo de f implementada pelo oráculo.
• O segundo qubit tem a função de auxiliar a geração da fase relativa.
• Com uma única aplicação (ou consulta) de Uf podemos determinar com certeza o tipo de função (constante ou balanceada) que o oráculo implementa.
Interferômetro x Algoritmo de Deutsch
Uf
|0>
|1>
H
H
H M
⎩⎨⎧
≠π=
=φ−φ=φf(1) f(0) caso o para f(1) f(0) caso o para 0
)( 10
1
2
3
passos
Ingredientes chaves
• O acesso à informação desejada que relaciona os possíveis valores da função f implementada só é possivel graças:
• Superposição: possibilita cálculo simultâneo de todos os valores de f .
• Interferência: permite ação construtiva ou destrutiva através de manipulação de fase.
• Emaranhamento: permite o estabelecimento de correlações entre estados.
Quântico x Clássico
• Ganho não-exponencial: alguns algoritmos quânticos são comprovadamente mais rápidos que os melhores algoritmos clássicos para determinadas tarefas.– Ex.: o algoritmo de Grover para pesquisa em banco de dados não-
estruturado - de O(n) para O(√n).• Ganho relativamente exponencial: oráculos quânticos podem ser
exponencialmente mais rápidos que oráculos clássicos.– Ex.: o algoritmo de Simon para encontrar o período de um função
periódica.• Ganho exponencial: alguns problemas aparentemente intratáveis
podem ser resolvidos em tempo polinomial.– Ex.: o algoritmo para transformada discreta de Fourier (QFT) e o
algoritmo de Shor para fatoração de números compostos.
Perspectivas
• Hardware quântico:
– de 3 a 7 qubits
– algumas portas básicas e porta CNOT
– simuladores
• Teoria, algoritmos e linguagens:
– Lambda-calculo quântico
– Lógica quântica
– Teoria dos grupos
– Linguagem de programação