Física da Informação e da Computação Roberto S. Sarthour e Ivan S. Oliveira VI Escola do CBPF 2006 Computação e Computadores É possível resolver problemas matemáticos de forma puramente “mecânica”? (1928) Sim! Usando uma Máquina de Turing: 00101010111100.... (1936) Computação e Computadores Computador a Válvula ~ 5 cm Transistor 42 milhões de transistores!! A Criatividade Humana – A Lei de Moore Esta lei prevê que em 2020, 1 bit será representado por apenas 1 átomo! Computação e Física Computação Física Computador Sistema Físico Computação Experimento Input Estado Inicial Regras / Programa Leis da Física Output Estado Final Computador de Bolas de Sinuca 11011101110110100101110 01000001100110100100010 Computação Quântica - 1982 “Aparentemente as Leis da Física não se opõem à redução do tamanho dos computadores até que os bits cheguem a dimensões atômicas, região onde a Mecânica Quântica detém o controle” Richard Feynman, Opt. News, 1985 Computação Quântica - 1985 “Máquina de Turing Quântica – mostrando o poder da computação quântica sobre a clássica” David Deutsch, 1985 Jogo de cara ou coroa clássico 50 % 50 % Moedas são objetos clássicos, e os lados “cara” e “coroa” são mutuamente excludentes. Jogo de cara ou coroa quântico 50 % 50 % Bits quânticos podem coexistir em dois estados ao mesmo tempo, mas ao tentarmos medir, observaremos somente um dos estados. Em 1935... Mecânica Quântica: Cálculo com Magia Negra Emaranhamento M1 M2 50% M1 M2 50% A observação do estado de qualquer um dos componentes de um par emaranhado determina o estado físico do outro componente do par! Não existe um análogo clássico de estados emaranhados! O estado do gato 1 2 e,vivo f , morto Computação Quântica e Informação Quântica Qualquer objeto quântico com dois estados bem definidos pode representar uma unidade de Informação Quântica, o bit quântico – qbit. Qbits podem estar em uma superposição de estados, ao contrário do bit clássico, que é sempre 0 ou 1. A Computação Quântica utiliza as propriedades dos qbits, como a superposição e o emaranhamento, para resolver problemas complexos. Algoritmos quânticos são muito mais rápidos e eficientes que os clássicos, porque computam superposições de estados 0’s e 1’s. Resumindo, o poder da Computação Quântica está nas propriedades quânticas dos qbits. Bits quânticos! Fótons polarizados. 0 1 Bits quânticos! Elétrons em diferentes “orbitas” em um átomo. 0 1 Bits quânticos! Orientações de spin nuclear em um campo magnético (Ex: S = 1/2). B0 Bits Quânticos (qbits) Bit é um conceito fundamental de computação clássica e informação clássica. Computação quântica e informação quântica são construídas sobre o mesmo conceito: O bit quântico (qbit), que é o sistema físico mais simples que existe! 1 00 01 10 11 0 Apesar de serem sistemas físicos (bits e qbits), nesta curso trataremos estes como objetos matemáticos. Estaremos falando da teoria computacional quântica que não depende do sistema físico que a realiza. Notação de Dirac O estado de um sistema quântico pode ser descrito pelas sua função complexa, conhecida como função de onda. Na notação de Dirac, um sistema quântico é representado por um vetor de onda chamado de ket, que tem associado e ele um bra: Uma representação útil quando trabalhamos com um número grande de qbits, é a representação matricial, e neste caso o ket é um vetor coluna, enquanto que o bra é um vetor linha. braket Notação de Dirac Produto escalar entre dois vetores, é então definido como: Valor esperado de um observável do sistema: Produto tensorial: A a e b c d c ac a d ad c bc b d bd Notação de Dirac Nesta notação, os operadores são então descritos por matrizes quadradas: a b U c d Produto tensorial: 1 a 1 2 3 V U V 1 3 4 c 3 2 1 2 a b 3a 4 3 4 2 1 2 c d 4 3 4 3c 2a b 4a 3b 2c d 4c 3d 2b 4b 2d 4d bits × qbits O bit clássico pode-se apresentar em dois estados 0 e 1. O bit quântico pode estar em uma superposição de estados: 0 1 Onde e são números complexos. 1 2 2 0 0 1 1 1 1 01 0 1 0 0 Sempre podemos medir com certeza o estado de um único bit clássico. Computadores fazem isto o tempo todo. bits × qbits Não é possível medir, com certeza, o estado de um único qbit. Ao tentar medir o estado quântico de um único qbit, que se encontra em uma superposição de estados: Mediremos o estado com probabilidade e o estado com probabilidade 0 2 1 2 0 1 • Apesar de o qbit poder existir em uma infinidade de estados, o resultado de uma medida do estado deste qbit pode ser somente “0” ou “1”. Manipulando qbits No caso dos elétrons em diferentes “orbitas” num átomo, pode-se induzir uma transição do estado fundamental para o excitado iluminando o átomo por um determinado período de tempo, com uma luz de freqüência e amplitudes bem determinadas. 0 1 Iluminado o mesmo átomo com a mesma luz, mas apenas com metade do tempo pode-se produzir uma superposição de estados: 1 0 1 0 2 Informação em qbits Como um único número pode guardar uma infinidade de informação, seria possível guardar em q (orientação do qbit) todo o texto de um livro? q 1100011110001101110... A resposta é SIM! No entanto, ao medir o estado do qbit obteríamos somente “0” ou “1”, com uma determinada probabilidade. x% 0 y% 1 Medindo o estado de um qbit Suponha que um qbit esteja no estado: 0 1 Ao realizar uma única medida um observador poderá medir somente um dos estados “0” ou “1”, com a respectiva probabilidade. 0 1 0 0 ... medida medida Se várias medidas forem feitas no mesmo qbit, após a primeira, o resultado das medidas posteriores serão sempre iguais ao resultado da primeira medida. Portas lógicas de um qbit Portas lógicas são as ferramentas da computação quântica. Estas têm que preservar a norma: 2 Onde e são definidos pela equação: 2 1 0 1 Portanto, as portas lógicas realizam operações unitárias, e podem ser descritas por matrizes unitárias. U U † 1 U U * † T Algumas portas lógicas são descritas pelas matrizes de Pauli: 0 1 X 1 0 0 i Y i 0 1 0 Z 0 1 Portas lógicas de um qbit Outras portas lógicas importantes são a porta Hadamard, a porta de fase e a porta p / 8. A porta Hadamard (H): A porta de fase (S): A porta p / 8 T: 1 H 2 1 S 0 1 T 0 1 1 1 1 0 i 0 ip 4 e Algumas Relações Note que: H Z X S T 2 2 A porta (p / 8 T é chamada assim por razões históricas e pode-se notar que: ip 8 1 0 ip 8 e T e ip 4 0 e 0 0 ip 8 e As portas NOT e de fase A porta NOT é a porta X. 0 1 X X 1 0 0 1 A porta fase muda a fase relativa dos qbit de p/2. 1 0 S S 0 i i 0 i 1 A porta Hadamard 1 1 1 1 H 0 12 0 1 e H 1 1 H 2 H2 0 H 1 2 1 2 0 1 0 1 1 2 0 1 0 1 0 1 2 1 2 A porta Hadamard cria uma superposição de estados, e produz o mesmo estado inicial, quando aplicada duas vezes. A porta Hadamard H H 00 H H 0 0 ... 1 1 0 1 0 1 ... 2 2 1 00 01 10 11 2 A porta Hadamard cria uma superposição de estados, e produz o mesmo estado inicial, quando aplicada duas vezes. Operações lógicas de 1 qbit Resumo das operações lógicas de 1 qbit. 0 1 X 0 1 Y i 0 1 Z 0 1 • 180° S 0 i 1 • 90° T 0 1 2 1 i 1 • 45° Rotações e matrizes de Pauli Os operadores de rotação são construídos a partir das matrizes de Pauli. Rx q e iXq 2 1 cos q2 iXsen q2 1 0 0 1 q q cos i sen 2 2 0 1 1 0 cos q2 isen q2 q q isen cos 2 2 Rotações e matrizes de Pauli Rotações em torno dos eixos x, y, e z. Rx q e iXq 2 Ry q e iYq 2 Rz q e iZq 2 q q cos isen 2 2 q q 1 cos 2 iXsen 2 q q isen cos 2 2 q q cos sen 2 2 q q 1 cos 2 iYsen 2 q q sen cos 2 2 iq 2 e 1 cos q2 iZsen q2 0 Rn̂ q 1 cos q2 isen q2 nx X n yY nz Z 0 iq 2 e Operador unitário Qualquer operador unitário de um qbit pode ser escrito de muitas formas como combinações de rotações, mais algumas mudanças de fase globais. Decomposição Z-Y: U ei Rz Ry Rz i e U e i 0 2 0 cos i 2 e sen ei 2 2 cos 2 U i 2 2 sen 2 e 2 2 e 0 i 2 sen 2 cos 2 ei 2 2 sen 2 i 2 2 e cos 2 0 i 2 e Operador unitário As colunas são formadas por vetores ortogonais e temos 4 elementos para descobrir e 4 incógnitas. Portanto podemos escrever um operador unitário qualquer sob a forma de produtos de rotações. ei 2 2 cos 2 U i 2 2 e sen 2 e i 2 2 sen 2 i 2 2 e cos 2 U e i Rz R y Rz O primeiro passo para fazer uma operação quântica no sistema é determinar qual é a matriz que faz esta operação. Em seguida é expandir esta matriz na forma de operações conhecidas (achar os elementos , , e ). Múltiplos qbits Para um sistema com 2 qbits, podemos escrever o estado deste sistema como: 00 01 10 11 Podemos realizar uma medida somente no primeiro (a) qbit (|ab). Suponha que esta medida de “0”. A probabilidade de isto ocorrer é dada por: 2 2 O novo estado do sistema é então dado por: 00 01 2 2 Múltiplos qbits Para um sistema de dois qbits, a função de onda deste é descrita por: 00 01 10 11 Neste caso, operações quânticas podem atuar apenas em um dos qbits, ou em ambos. Uma representação útil quando trabalhamos com um número grande de qbits, é a representação matricial. Circuitos Quânticos Um circuito quântico é geralmente representado por linhas, pontos e caixas. a X c H d Uf b As linhas representam os qbits presentes no sistema. As caixas e outros elementos representam as operações realizadas, que podem ser efetuadas em um único qbit ou vários ao mesmo tempo. O tempo “corre” da esquerda para a direita. Portas de Múltiplos qbits H ab H Ha H 1 1 1 1 1 1 0 0 1 1 0 0 1 1 H 2 1 1 0 Ha 2 1 0 0 1 0 1 Hb 1 H 1 0 1 0 1 1 1 1 1 1 Hb 2 0 0 0 0 0 0 0 0 1 1 1 1 Álgebra Booleana Se x 1 então x = 0. Se x 0 então x = 1. Soma módulo 2. 00 0 0 1 1 1 0 1 11 0 A porta CNOT A porta quântica CNOT (Não controlado) atua em dois qbits. Um é o qbit de controle e o outro é o qbit alvo. Esta inverterá o estado do qbit alvo dependendo do estado quântico do qbit de controle. a a b a b 00 01 CNOTa 10 11 Este é o CNOTa, isto é o primeiro qbit controla a operação. 00 01 11 10 A porta CNOT O CNOTb, onde o segundo qbit é quem controla a operação pode ser descrito pelo circuito abaixo: a a b b b 00 01 CNOTb 10 11 00 11 10 01 A porta quântica CNOT pode ser descrita como uma espécie de XOR generalizado. A porta CNOT Pode-se representar a porta CNOT na forma matricial: 00 01 CNOTa 10 11 00 01 11 10 00 01 CNOTb 10 11 00 11 10 01 ab 1 0 CNOTa 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 CNOTb 0 0 0 0 0 1 0 0 1 0 0 1 0 0 Trocando estados dos qbits (Swap) Nesta operação, que não tem análoga clássica, queremos trocar os estados dos qbits. O estado do primeiro passa para o segundo e vice versa. a × b = b a × CNOTa a, b a, b a CNOTb a, b a a b a, b a b, b a 00 0 0 1 1 11 0 CNOTa b, b a b, b b a b, a Copiando qbits ? É possível copiar um qbit? x x 0 x0 x ? a 0 b 1 & 0 0 a 00 b 10 Com este circuito não é possível CNOT 0 a 00 b 11 copiar um qbit! a a 2 00 ab 01 ab 10 b 2 11 O Teorema da Não-clonagem U A A A U † U U A A U U † † † U A A 2 O Teorema da Não-clonagem 2 xx x 0 ou x 1 2 Portanto é ortogonal a ou igual . Conclusão: Podemos clonar somente estados que são ortogonais. Operações Lógicas Controladas Estas podem realizar operações em determinados qbits (alvos), dependendo dos estados de outros qbits (controle). controle alvos U C U x1 xn x1 xn U n x1xn Portas Controladas I Z = Z 0 1 0 0 0 10 00 01 10 11 1 0 1 0 0 1 1 1 00 01 10 11 Z a Zb 0 0 1 0 1 2 2 Z a Z a 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 1 00 01 10 11 1 0 0 0 1 1 0 1 0 0 1 1 1 1 Z a Z b Zb0 00 11 00 201 1 2 1 1 0 1 0 0 1 1 00 0010 010 111 1 1 Portas Controladas II X X = U U H H H H = Estas operações dependem da base em que estão operando. A porta Toffoli Esta é uma porta clássica que pode ser construída utilizando operações quânticas reversíveis. Abaixo o circuito quântico que realiza esta operação. a a b b c c ab 000 001 010 011 100 101 110 111 000 001 010 011 U To ffo li 100 101 111 110 Operações Utilizando a Porta Toffoli a a 1 1 b b a a 1 1 ab 0 a NAND FANOUT Com estas duas chaves clássicas é possível descrever todos os circuitos clássicos. Portanto é possível realizar computação clássica utilizando computadores quânticos. Portas Lógicas Toda porta lógica pode ser descrita como U = eiAXBXC, tal que ABC = 1. A Rz R y 2 B R y 2 Rz C Rz 2 2 XBX R y 2 Rz 2 ABC Rz R y 2 R y 2 Rz Rz 1 2 2 AXBXC Rz R y 2 R y 2 Rz Rz 2 2 2 X 1 X R y q X R y q X Rz q X Rz q Rz R y Rz U e i AXBXC XBX X R y 2 X X Rz X R y 2 Rz 2 2 Construindo Portas Controladas I 1 0 0 e i ei 0 0 i e = 0 1 0 1 F1 F1 0 0 1 1 0 1 0 0 1 1 ei 0 ei 1 00 01 ei 10 ei 11 F2 F2 0 1 0 0 1 1 0 ei 1 0 0 ei 1 1 00 01 ei 10 ei 11 Construindo Portas Controladas II 1 0 0 e i = U C B A O circuito acima implementa a operação: U ei AXBXC Se a 1 U ABC ( 1) Se a 0 Como de acordo com o corolário 4.2 podemos sempre escrever um operador com as chaves descritas acima, é possível construir qualquer operação controlada de vários qbits utilizando portas lógicas de 1 qbit e portas CNOT. Construindo Portas Controladas III c1 c2 controle c3 c4 c5 0 auxiliar 0 0 0 alvo a U C U n Portas Quânticas Universais Um pequeno conjunto de portas (NOT, AND, OR) clássicas pode ser usado para computar qualquer função clássica. Este conjunto é chamado de universal. Este tipo de conjunto também deve existir em computação quântica. Isto significa que qualquer transformação unitária pode ser implementada por portas deste conjunto, dentro de uma certa precisão. Pode ser demonstrado que as portas quânticas Hadamard, Fase, CNOT e p/8 formam um conjunto universal. Portas lógicas de 1 qbit mais a CNOT também formam um conjunto universal. H S CNOT T Fim... Física da Informação e da Computação Roberto S. Sarthour e Ivan S. Oliveira VI Escola do CBPF 2006 O estado do gato 1 2 e,vivo f , morto O estado do gato A curiosidade deste estado é que o resultado de uma medida no primeiro qbit é sempre igual ao resultado de uma medida no segundo qbit (|ab). 1 2 00 11 00 a 0 b 0 00 Os resultados estão correlacionados! Este é um fato importante e é utilizado no teleporte. John Bell provou que estas correlações são mais fortes do que em qualquer outra que possa existir em um sistema clássico. 1 2 00 11 Criando os estados de Bell Os estados de Bell podem ser criados com uma única operação unitária, U. 00 00 11 00 U 01 01 10 01 U 10 00 11 10 U 11 H a 01 10 11 00 0 0 0 1 0 00 10 U O circuito que realiza esta operação, U, pode ser descrito por: CNOT a 11 00 x 00 H xy y Teleporte No passado, Alice encontrou com Bob e juntos emaranharam um par de qbits, no estado do gato. 00 1 2 00 11 Eles se separaram, ficando cada um com um qbit. 00 00 Alice Bob No presente, Alice tem um terceiro qbit, e quer enviar este para o Bob. 0 1 Teleporte • Alice não pode medir o estado do qbit e mandar o resultado para o Bob, pois ela somente mediria “0” ou “1” como resultado, e o qbit pode estar em uma superposição. • A única coisa que ela pode fazer é teleportar este qbit para o Bob, utilizando o circuito abaixo: H 00 XM2 0 1 2 3 ZM1 Teleporte I H 00 XM2 0 1 2 0 1 & 0 00 1 2 0 00 00 ZM1 3 1 2 00 11 11 1 00 11 Teleporte II H 00 XM2 0 1 0 00 1 1 2 0 1 2 00 2 0 00 ZM1 3 11 1 11 1 10 00 01 11 Teleporte III H 00 XM2 1 1 2 0 1 0 00 2 ZM1 3 11 1 10 01 2 12 0 1 00 11 0 1 10 01 Teleporte IV 2 12 0 1 00 11 0 1 10 01 1 0 1 00 0 0 1 0 010 1 10 01 1 0 2 12 000 011 100 0111 ... 2 12 10 0 1 11 1 0 010 001 110 101 010 0 10 0 1 00 0 1 01 1 0 ... 2 12 010 01 0 10 0 1 11 1 0 Teleporte V H 00 XM2 0 3 1 2 00 0 1 01 1 0 10 0 1 11 1 0 3 X 0 1 Z X ZM1 Z Medidas na Base de Bell Não podemos medir emaranhados (nem superposições). Portanto, temos que projetar estes estados na base que podemos medir. O circuito quântico abaixo faz esta operação. xy H projetor 00 00 11 00 01 01 10 01 projetor projetor 10 00 11 10 projetor 11 01 10 11 Matriz Densidade A matriz densidade é um operador, definido como: e H eq Z Como conseqüência: a x iy a a xb iy b xc iy c xa iy a b xd iy d xe iy e xb iy b xd iy d c x f iy f xc iy c xe iy e x f iy f d Operador Densidade de cada qbit A matriz densidade de cada qbit do sistema pode ser obtida da matriz total, utilizando a operação de traço parcial. a kb ab kb kb Em um sistema de 2 qbits, teremos: a 0b ab 0b 1b ab 1b b 0 a ab 0 a 1a ab 1a Matriz Densidade A partir da matriz densidade, é possível obter várias informações sobres o o estado do sistema quântico, etc. A tr A A evolução deste operador é dada por: 0Ue t e U iH t / †iH t / t U t 0 U t † Matriz Densidade Utilizando técnicas de computação quântica, é possível medir a matriz densidade de um sistema quântico. De fato, cientistas têm tido sucesso, utilizando principalmente a técnica de RMN. e H 1 H eq n 1 H n Z 2 2 0 0 3 / 2 0 0 1/ 2 0 0 simulada 0 0 1/ 2 0 0 0 0 3 / 2 Entropia de Von Neumann A entropia de Shannon e’ uma medida da incerteza associada com uma distribuição clássica de probabilidades. S pk log pk k Estados quânticos são descritos de modo similar, com os operadores densidade tomando os lugares das probabilidades. S tr log S k log k k A entropia de Von Neumann pode ser também descrita em função dos autovalores k de . Entropia de Estados Puros Como vimos anteriormente: 1 1 0 0 0 0 0 Os autovalores do operador densidade podem ser facilmente encontrados, de modo que: 1 1 e 2 0 S k log k 1log 1 0 log 0 0 k Entropia de Estados Puros Para uma superposição uniforme: 1 1 1 0 1 2 2 1 1 1 e 2 0 1 1 1 2 1 1 S k log k 1log 1 0 log 0 0 k Entropia de Estados Puros Para uma outra superposição: 0.9 0.9 0 0.1 1 0.1 1 1 e 2 0 0.9 0.3 0 . 3 0 . 1 S k log k 1log 1 0 log 0 0 k Entropia de Estados Puros Para uma superposição uniforme: 1 00 2 1 1 1 4 1 1 01 10 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 2 0, 3 0 e 4 0 S ab 0 Entropia de Estados Puros Para uma superposição uniforme: 1 1 00 01 10 11 0 1 0 1 2 2 a trb ab b 0 ab 0 b b 1 ab 1 b 1 1 1 a b 2 1 1 S a Sb S ab 0 Entropia de Estados Emaranhados Para o estado emaranhado: 1 1 0 ab 2 0 11 0 0 0 0 0 0 0 0 1 0 0 1 1 00 11 2 1 1 2 0 3 0 14 0 S ab 0 S log 1 / 2 log 1 / 2 log 2 1 2 2 1 1 0 1 1 / 2 S a Sb 1 a b 2 0 1 2 1 / 2 1 Entropia de Estados ± Emaranhados Para o estado emaranhado: 0.9 00 0.1 11 0.9 00 0.1 11 0.9 0 0 0 ab 0 0 0.3 0 0 0.3 1 0.9 0.1 1 0.09 00.1 00 0 0.1 00 11 2 S ab 0 0 3 0 0 0.1 4 0 0 S 0.9 log 0.9 0.1log 0.1 0.47 0.9 0 1 0.9 a b 0 .1 0 0 . 1 2 S a Sb 0.47 Simulações de Sistemas Quânticos Simulações de sistemas físicos são ferramentas importantes no mundo Can physicscomo be simulated by a universal computer? moderno, por exemplo: Simulações dinâmica dos mechanical, fluidos em and tornotherefore de obstáculos são […]– The physical da world is quantum the proper utilizadas projetarofcarros, aviões, etc. […] the full description of problem is the para simulation quantum physics quantum mechanics for a large systems with R particles […] has too many – Simulações são também utilizadas para minimizar custos em variables, it cannot be simulated with a normal computer with a number of construções civis. elements proportional to R […] but it can be simulated with a quantum computer […] Candea quantum be probabilistically by a – Simulações circuitos system eletrônicos são utilizadassimulated para projetar classical computer universal computer? […] If you take the computer to be equipamentos. the classical kind I have described so far […] the answer is most certainly, No! Simulações serão eficientes se o sistema for eficientemente descrito (fisicamente). Richard P. Feynman (1982) Simulações de sistemas quânticos em computadores clássicos são possíveis, mas são geralmente ineficientes. Simulações de Sistemas Quânticos Simulações de sistemas clássicos implicam em resolver equações diferenciais, que descrevem a evolução dinâmica do sistema físico. – Lei de Newton d dx m F dt dt – Equação de difusão 2 1 a 2 t Simulações de sistemas quânticos implicam em resolver a equação de Schrödinger: H i d H dt T x x V energia cinética energia potencial 1 2 i x V x x 2 t 2m x Simulações de Sistemas Quânticos Onde está a dificuldade se a equação de Schrödinger também é uma equação diferencial? – Equação da difusão – Equação de Schrödinger 1 2 a t 2 1 2 i x V x x 2 t 2m x Simulações de Sistemas Quânticos A dificuldade de simular sistemas quânticos está no número de equações diferencias que cresce exponencialmente com o número de partículas. – 1 qbit → 2 equações – 2 qbits → 4 equações – n qbits → 2n equações Algumas vezes é possível fazer aproximações que reduzem o número de equações em um sistema. A evolução temporal de um estado quântico pode ser obtida, encontrado as soluções da equação de Schrödinger: d i H dt t e iH t 0 t t t e iH t 0e iH t Simulações de Sistemas Quânticos Um sistema quântico evolui livremente de acordo com o seu Hamiltoniano, mas também sofre mudanças devido à perturbações que podem ser introduzidas, como as chaves lógicas utilizadas para realizar computação. t U t 0 U t e iV t O truque é fazer com o Hamiltoniano do sistema mais as perturbações sejam idênticos ao Hamiltoniano que se quer simular, durante um determinado intervalo de tempo. H sistema Vint erações H simulado Simulação do Oscilador Harmônico Quântico H OHQ N 12 H RMN V RF 1 0 z1 2 0 z 2 pJ z1 z 2 2 X 1 x1 , 2 Y 1 y1 , 2 X 2 x 2 e Y 2 y 2 2 2 Simulação do Oscilador Harmônico Quântico n 0 n 1 n 2 n 3 Fim... Física da Informação e da Computação Roberto S. Sarthour e Ivan S. Oliveira VI Escola do CBPF 2006 Circuito de Espalhamento 0 0 H H A ' ' ' Circuito de Espalhamento Utilizando o circuito de espalhamento é possível obter informação sobre o estado de um sistema quântico () ou sobre o processo sob o qual este evoluiu D. 0 0 H H A Medindo somente o estado de um qbit! A tr A ' ' ' z Re TrA y ImTrA Circuito de Espalhamento 0 H1 0 H1 1 2 1 2 H H ' A 1 2 0 H 0 0 1 Actr 1 H 1 A ... 0 1 A 1 2 0 1 A Circuito de Espalhamento 0 H H 1 2 0 1 1 2 A ' 0 1 A 0 1 A 1 1 A ... Circuito de Espalhamento 1 z f f 2 120 0 11 AA 1 111 AA f 1 2 1 A † 0 1 A † 1 z f z f ... Calculando 1 4 1 A 1 A 1 A† 1 A ... 1 4 1 A A 1 † † 1 A † A 1 Circuito de Espalhamento z 14 1 A† A 1 1 A† A 1 ... 1 4 A A 1 2 † A † A ... Re A z Re Tr A A A† Re A i Im A Re A i Im A 2 Re A Circuito de Espalhamento z Re TrA y ImTrA 0 0 H H A ' ' ' Como pensa um físico... Arthur Ekert “Num certo sentido, sistemas criptográficos modernos já são inseguros. Qualquer mensagem criptografada, supostamente secreta, o deixará de ser no feliz momento em que o primeiro computador quântico for ligado. Confiança na morosidade do progresso tecnológico é a única segurança verdadeira dos sistemas atuais.” [A. Ekert et al., em “The Physics of Quantum Information”] Criptografia Quântica – BB84 Uma rede quântica é a prova de hacker! Utilizando o protocolo chamado de BB84 é possível distribuir chaves públicas e saber se o hacker invadiu a rede quântica. 10010111011001001 Primeiros criptógrafos “SCYTALE” Criptografia por substituição de letras: Ex. “GUERRA” = “JZHUUD” Gregos ~ 400 AC Segunda Guerra Enigma Colossus Idéia básica Mensagem original Q U A N T U M + + + + + + + Chave C R I P T O S 3 18 9 16 20 19 S N Mensagem codificada I E Como distribuir a chave com segurança ? O 15 P G Anos 1970: Criptografia de chave pública Qualquer um pode se comunicar enviando uma mensagem Somente quem possui a chave pode saber a mensagem Como gerar uma chave pública segura? O RSA 1. Selecione números primos grandes p e q; 2. Calcule o produto n = p q; 3. Selecione um inteiro pequeno, e, primo de f(n) = (p-1)(q-1); 4. Calcule d, o inverso multiplicativo de e, módulo f(n) d . e = 1 (mod f(n)); 5. A chave pública do RSA é o par P = (e,n) e a chave secreta o par S = (d,n); Para conhecer a mensagem é preciso saber fatorar números grandes - NÃO HÁ DEMONSTRAÇÃO DE TAL SEGURANÇA! Criptografia quântica O sistema de chave privada é provadamente seguro se a distribuição da chave for provadamente segura! A mecânica quântica oferece um método seguro para distribuição de chaves clássicas, que se baseia sobre dois Teoremas importantes: 1. “É impossível clonar estados quânticos não-ortogonais.” 2. “Ganho de informação implica em perturbação.” Criptografia quântica Se Eva (um hacker) invadir o sistema, ela terá que ler o qbit, ou seja fazer uma medida, destruindo assim o estado do qbit. Mas o objetivo do hacker é capturar a informação, sem deixar pistas. Portanto ele teria que clonar o estado do qbit, antes de fazer uma medida. A segurança do sistema está na impossibilidade de clonar estados quânticos. 0 ; 1 ( Base S Z ) 0 1 2 ( Base S X ) 0 0 1 2 NÃO CLONÁVEL! Ganho de informação implica em perturbação U s v U s v' Estados modificados do q-bit do “espião” Estado genérico de um q-bit (pertencente ao “espião”) Estados enviados através de um canal Ganho de Informação v v' Mas... U s v v s U † U s † U U 1 v' v' † s U s s v v' s s v v' v v' 1 É impossível obter informação de estados ortogonais se†m perturbar o sistema! não- Outra propriedade importante de estados nãoortogonais:ELES NÃO PODEM SER DISTINGUIDOS COM CERTEZA! 0 1 0 1 2 O Protocolo BB84 Objetivo: distribuir uma sequência de bits clássicos de forma segura. Os bits formarão uma chave privada. As duas partes que devem se comunicar secretamente: Alice e Bob. Espião: Eva Passo No. 1 - Alice seleciona duas sequências binárias (com N bits cada) aleatórias, a e b: a 11010101010111010001010 b 00110110111011101011110 Daqui sairá a chave secreta Codificação quântica Passo No. 2 - Alice prepara N q-bits e usa a seguinte regra: bi 0, ai 0 ai 0 Base Z 0, a a 0 a 10 bi 0, ai b1 i BaseZ i i i bi 0, ai 1 ai 1 bi 1, ai 0 ai BaseX i ai bi 1, ai 1 bi 1, ai 0 a Base X bi 1, ai 1 a 0 ... 1 1i a 11010101010111010001010 b 00110110111011101011110 1 1 0 Leitura de Bob Passo No 3 - Alice envia os q-bits para Bob. Ele gera uma seqüência aleatória b’ com N bits: b ' 1110101011101010001 e usa a seguinte regra: se b’i = 0, faz uma medida na base-Z; se for 1, mede na base-X. As medidas de Bob resultam em uma seqüência aleatória a’. Passo No. 4 - Alice e Bob comparam b e b’ (publicamente), e mantém os pares (ai, a’i) para os quais bi = b’i. Esta é a chave secreta! A natureza “oculta da informação quântica” E Eva? O BB84 é seguro, pois: 1. Eva não pode clonar ; 2. Eva não pode obter informação de sem perturbar o canal; 3. Mesmo que Eva clonasse imperfeitamente, e esperasse pela publicação de b e b’, ela apenas saberia as posições dos bits que foram mantidos na chave e o tamanho da chave. Mas não teria como saber o valor de cada bit da chave, pois a e a’ nunca são publicados! 4. Alice e Bob podem ainda estabelecer um limite aceitável para o ruído no canal, acima do qual o protocolo é abortado e o processo reiniciado. Algoritmos Quânticos Classe A – Baseados na Transformada de Fourier Quântica de Shor. Exponencialmente mais rápidos do que algoritmos clássicos. Classe B – Baseados no algoritmo de busca de Grover. Somente quadraticamente mais rápidos do que os algoritmos clássicos. Porque há tão poucos algoritmos quânticos? – Desenvolver um algoritmo, clássico ou quântico não é tarefa fácil. – A história ensina que é muito difícil criar bons (otimizados) algoritmos, mesmo para problemas simples. – Sempre se procura por um algoritmo quântico que seja melhor do que o seu análogo clássico. – Nós estamos mais acostumados com uma visão clássica do mundo. Algoritmo de Deutsch Este algoritmo não tem análogo clássico, e pode ser aplicado para descobrir se uma função binária é constante (f(0) = f(1)) ou equilibrada (f(0) ≠ f(1)), calculando a função somente uma vez. Seria o equivalente a descobrir se uma moeda é falsa (possui dois lados iguais) ou verdadeira (possui um lado diferente do outro), com apenas uma observação. Classicamente, temos que observar os dois lados de uma moeda para decidir se esta é falsa ou verdadeira. Falsa ou Verdadeira ? Algoritmo de Deutsch Classicamente, temos que observar os dois lados de uma moeda para decidir se esta é falsa ou verdadeira. Na mecânica quântica podemos preparar o qbit em uma superposição de estado e calcular f (0 e 1) ao mesmo tempo! Este é o procedimento do Algoritmo de Deutsch. Após esta operação, é possível decidir se a moeda é falsa ou verdadeira, como se tivéssemos observado apenas um dos lados da moeda! Falsa Verdadeira Algoritmo de Deutsch I 0 x x H H Uf 1 y H 0 1 y f (x) 2 3 0 0 1 01 1 1 2 0 1 0 1 1 2 00 H0 1 2 0 1 H1 1 2 0 1 01 10 11 Computando uma função x x x x Uf y y y f (x) y f (x) f(x) é uma função binária e só admite dois valores: “0” ou “1”. Uf x 0 1 x 0 f x 1 f x 1 1 2 f x 1 2 x 0 1 1 2 Algoritmo de Deutsch II 0 x x H H Uf 1 0 Uf x 1 1 2 2 0 1 1 1 2 1 f 0 0 f x x 3 0 1 1 2 0 1 0 1 0 1 1 1 0 1 2 U f 1 U f y f (x) y H 1 2 f 1 Algoritmo de Deutsch III f (0) f (1) 0 f (0) 0 2 2 1 2 1 f (1) 1 f 0 0 0 f (0) f (1) 1 ou f (0) 1 f (1) 0 1 1 1 0 12 0 1 0 1 1 2 0 1 0 1 f 1 Se Se 1 f 0 f 1 f 0 f 1 Algoritmo de Deutsch IV 0 x x H H Medindo apenas o primeiro qbit conhecemos se f (x) é constante ou equilibrada. Uf 1 y H 0 2 y f (x) 1 2 12 0 1 0 1 1 2 0 1 0 1 3 H a 2 1 2 1 2 3 Se Se 0 0 1 1 0 1 f 0 f 1 f 0 f 1 Se Se f 0 f 1 f 0 f 1 Algoritmo de Deutsch V 0 1 1 1 12 0 1 0 1 21 1 1 1 1 1 1 0 0 Ha H 1 1 1 0 1 1 2 0 0 1 0 1 0 1 0 1 0 1 0 1 Algoritmo Quântico de Busca (Grover) Em um espaço de N elementos. N Algoritmos clássicos de busca: O Algoritmo quântico de busca: O N Devemos buscar os índices dos elementos procurados. O algoritmo de Grover busca e reconhece uma solução para um determinado problema. Algoritmo de Grover Algoritmo de Grover 2 qbits = 22 estados. 10 qbits = 210 estados. Algoritmo de Grover Algoritmo de Grover Fatoração 231 = 3 x 7 x 11 3 x 5 = 15 = X O algoritmo de Shor (1993) No. Bits 512 1024 2048 4096 P. Shor t(comum) 4 dias 105 anos 1014 anos 1026 anos TECNOLOGIA DO ANO 2000 t(Shor) 34 seg. 4,5 min. 36 min. 4,8 horas COMPUTADOR QUÂNTICO DE 100 MHz Algoritmo de Fatoração de Shor Para fatorar um número de 1024 bits utilizando algoritmos clássicos seria necessário ~ 100 mil anos (em computadores atuais). Utilizando o algoritmo de Shor este tempo seria reduzido para ~ 4,5 minutos. Estes fatos ilustram o poder da computação quântica sobre a clássica. O algoritmo de Shor é rápido porque utiliza uma rotina quântica que por sua vez faz uso da transformada de Fourier quântica (QFT – Quantum Fourier Transform) . A Transformada de Fourier Quântica– QFT Utilizando a transformada de Fourier quântica (QFT) é possível estimar a fase de um estado quântico, encontrar a ordem de um número, fatorar, etc. 1 yj N N 1 x e k 0 1 j N N 1 k e k 0 QFT é uma transformação unitária. 2pijk N 2pijk N k 1997 – Deu na Nature! 1998 29Si: I = 1/2, 4,7% - (28,30)Si: I = 0, 95,33% 31P: I = 1/2, 100% 2002 • l = 300 mm; • w = 4 mm; • t = 0,25 mm; • s = 2,1 mm; • L = 400 mm; • W = 4 mm; • H = 10 mm. B0 ~ 7T ; Bz / z 1, 4T / m m; a 1,9 Ao ; f ~ 2kHz 2004 2005 QUANTUM KEY DISTRIBUTION (QKD) Resumindo Computadores quânticos já existem em pequena escala – até 7 qbits. Todas as chaves lógicas e algoritmos quânticos criados até hoje foram testados em laboratórios. Existem muitas dificuldades de natureza técnica para a implementação da Computação Quântica em larga escala, mas não há nenhum impedimento de natureza física! Algumas aplicações já estão sendo comercializadas! A criação de um chip quântico depende do desenvolvimento de outra área da ciência: A Nanotecnologia. É possível prever o futuro? “ Acredito que haja no mundo todo um mercado para talvez cinco computadores.” Thomas Watson, Presidente da IBM (1943). “Os computadores do futuro não deverão pesar mais do que uma tonelada e meia.” Popular Mechanics (1949) “Os computadores quânticos se parecerão mais com aquela xícara de café, que hoje esquecemos ao lado dos teclados.” Isaac Chuang (1998) Fim! Mais informações em: http://www.cbpf.br/~qbitrmn/