Ads 468x60px

quarta-feira, 26 de outubro de 2011

Computação quântica - tudo o que você precisa saber

Representação de um qubit pela esfera de Bloch
By Cf nmr (Own work) [CC-BY-SA-3.0-2.5-2.0-1.0], via Wikimedia Commons

Ok, admito que o título é completamente sensacionalista, não chega nem próximo de tudo, mas o suficiente para poder acompanhar as notícias. Atualmente há dois tópicos bem pop na computação: computação em nuvem e computação quântica. Você pode até não perceber a computação em nuvem, mas muito provavelmente usa. Falo de serviços como Dropbox, que o permite acessar seus arquivos de qualquer PC, e o Google Docs.

Já a computação quântica ainda está engatinhando, sendo objeto de intensas pesquisas. Muito se fala em processamento ultra-rápido, desencriptação de sistemas, uma revolução na computação... mas o que isso significa, afinal?


Algumas noções de mecânica quântica


Em primeiro lugar, por que falamos em mecânica "quântica"? Por que esses caras desocupados ficam inventando teorias e complicando nossa vida, quando as teorias antigas funcionam muito bem? Aí é que está: funcionam muito bem... até nos aventurarmos no mundo atômico. Sabe, acontece que a natureza e interação entre pequenas partículas (e mesmo grandes corpos celestes) não são lá muito intuitivas.

Aí entra a física moderna, em contraste à física clássica elaborada até então. As principais teorias da física moderna são a teoria da relatividade de Einstein e a mecânica quântica, que revolucionaram nossa maneira de ver o mundo. Um fato fundamental descoberto é que muitas grandezas se comportam de maneira discreta, e não contínua. Podemos observar isso com algo aparentemente simples, já dominado: a luz.

Aprendemos que a luz é uma onda eletromagnética, mas ela também exibe comportamento corpuscular, composto por diversos pacotes de energia chamados fótons. Einstein formulou esse modelo para explicar o efeito fotoelétrico, e até agora mostra bastante sucesso. E agora, a física deu bug? Nada disso, pois a mecânica quântica nos mostra que toda matéria possui essa dualidade onda-partícula: ora se comporta como ondas, ora como partículas. Se achou esquisito, fica tranquilo que só piora.

Considerando essa natureza discreta das coisas, podemos definir um sistema quântico qualquer por um conjunto de estados quânticos. Aí entra o fenômeno da superposição: dado um sistema quântico, é possível que ele seja representado por dois estados distintos... Ao mesmo tempo. Dê uma olhada no gato de Schrödinger, descrito neste post sobre experimentos mentais, se já não conhece esta famosa situação.

Rastros de partículas
Por: Ethan Hein (CC BY 2.0).

A computação clássica e seus limites


Se há uma física clássica, podemos também identificar uma computação clássica. Falo da arquitetura de Von Neumann, a qual determina um fluxo sequencial de processamento — o program counter. Já falei sobre isso nesta introdução à programação, mas a ideia principal é que um algoritmo seja como uma receita de bolo. O computador precisa seguir as instruções passo a passo, sequencialmente, utilizando quando necessário alguma área da memória.

Qual é o problema com a computação clássica? Bem, excetuando situações complexas em inteligência artificial, simulações e criptoanálise, nenhum. Mas considere o ritmo acelerado do desenvolvimento da tecnologia, que apenas cresce a cada dia: você junta uma grana para comprar um smartphone e, quando enfim consegue, um mês depois é lançado um novo aparelho super-fino que cabe no polegar.

Essa evolução já foi notada e atualmente denomina-se Lei de Moore. Segundo ela, a velocidade do computador é dobrada a cada 18 meses, e portanto também diminui o tamanho dos processadores. Nesse ritmo, daqui a pouco estaremos lidando com processadores em escala atômica!

... Opa, escala atômica? Problemas à vista. Já vimos que as coisas em escala atômica se comportam de maneira beeem diferente do que estamos acostumados, então os computadores precisarão passar por uma revolução. Aí entra a mecânica quântica aplicada à computação: a computação quântica.

Mecânica quântica na computação: entrem os qubits


Sabemos que a unidade básica da informação é o bit: 1 ou 0. Cada bit armazena um desses estados e podemos realizar diversas operações com bits através das portas lógicas: AND, OR, NOT, XOR, entre outros. O grande "AHA!" aqui é notar que um bit pode ser representado por dois estados quânticos, e portanto está sujeito à superposição, podendo armazenar os 2 estados ao mesmo tempo. Esse é o qubit, o bit quântico.

O que isso significa em termos de processamento? Bem, como dissemos, qualquer cálculo do ponto de vista mais baixo da arquitetura de hardware é realizado através de bits e portas lógicas. Em um circuito lógico, suponha que haja 3 bits A, B e C, como ilustrado a seguir:


Podemos montar uma tabela para representar as possibilidades após cada operação:

A B C A AND B B OR C (A AND B) AND (B OR C)
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1

Claro, um bit só pode assumir um estado 0 ou 1 por vez, então o circuito só processa uma linha da tabela a cada execução. Entretanto, se A, B e C forem qubits, é possível realizar todos os 2³ = 8 cálculos possíveis de uma vez só! Eis o paralelismo inerente à computação quântica. E mais: se fossem n qubits, teríamos um total de 2^n cálculos, já que cada qubit pode ter um valor de 0 ou 1.

Não vou entrar em detalhes de como representar um qubit ou um circuito quântico, mas vocês podem conferir mais informações nos links ao final do post. A dúvida que fica é por que então, se a computação quântica é tão maravilhosa, não temos nenhum computador quântico ou muitas esperanças de ter um modelo funcional logo logo.

O desenvolvimento atual da computação quântica


Lembra da historinha do gato de Schrödinger? O gato está descrito por dois estados quânticos ao mesmo tempo enquanto não abrirmos a caixa... E aí está o "pulo do gato", com o perdão do trocadilho. A partir do momento em que abrimos a caixa para medir o estado do sistema, realizamos uma interferência que faz com que o sistema decaia para apenas um dos estados. Afinal, ou vemos um gato vivo ou morto (ou quase morrendo por asfixia).

Carta do gato de Schrödinger
Por: sklar (CC BY-NC-ND 2.0).

Esse fenômeno é conhecido como decoerência quântica e é uma das principais pedras no sapato para o desenvolvimento da computação quântica. Primeiro, isso força os cientistas a utilizarem formas indiretas de medição para preservar a integridade do sistema. A segunda e mais problemática consequência é que os qubits precisariam ser de alguma forma isolados, evitando sua interação com objetos ao redor (o entrelaçamento).

Mas não tema, pois nossos heróis pesquisadores já estão trabalhando para salvar todos nós. Em julho deste ano, físicos conseguiram prever e controlar a decoerência quântica. Mas e na prática, como estamos? Bem, nossos sistemas ainda são bem primitivos, com a D-Wave Systems tendo anunciado um chip comercial de 128 qubit neste ano, mas os avanços são empolgantes. Uma pequena amostra:

  • 1994 - Peter Shor publica o algoritmo de Shor, que utiliza os poderes da computação quântica para fatorar um número inteiro em tempo polinomial. Em teoria, um computador quântico propriamente construído poderia quebrar vários sistemas de criptografia com esse algoritmo, o que desperta o interesse de muitos pela computação quântica.
  • 1998 - Primeira demonstração experimental de um algoritmo quântico em um computador de 2 qubits.
  • 2004 - Lançado na internet um simulador de computador quântico com 31 qubits.
  • 2008 - Pesquisadores descobrem que os átomos de carbono que formam o diamante podem servir como "qubits naturais".
  • 2009 - A Google se junta à D-Wave Systems para coordenar pesquisas na computação quântica, voltadas à busca de imagens. Também é lançado o primeiro processador quântico programável.
  • 2011 - Pesquisadores conseguem transferir um conjunto complexo de informações utilizando teletransporte quântico. Não, você não leu errado, teletransporte — sem perda de informações. No mesmo ano, físicos brasileiros medem a chamada discórdia quântica, ligada ao entrelaçamento, que pode ser útil na troca de informações em um computador quântico (leia mais aqui).

Fontes e links interessantes


Como funcionam os computadores quânticos (Boa introdução para leigos)
Computação quântica
Físicos domam a decoerência e abrem caminho para computação quântica
History of quantum computing
Quantum computer
Quantum Computing (Stanford Encyclopedia of Philosophy)
What is Quantum Computation? (Outra ótima introdução)

0 comentários:

Postar um comentário