Social Icons

^^

sábado, 9 de abril de 2011

Quem vai programar os computadores quânticos?

Computação revolucionária

Os promissores computadores quânticos estão se mostrando mais difíceis de serem conquistados do que se imaginava a princípio.

Por outro lado, uma vez construídos, parece que sua utilização será muito mais revolucionária do que se previa.

É comum referir-se aos computadores quânticos como uma nova geração, por assim dizer, de "super supercomputadores", capazes de fazer tudo o que os computadores clássicos atuais fazem, só que mais rapidamente.

Mas não é só isso. Os computadores quânticos estão para a computação clássicos assim como a mecânica quântica está para a mecânica clássica.

E coisas muito estranhas - mas extremamente úteis sob todos os aspectos - ocorrem no mundo quântico.

Programação quântica

Em um computador clássico, o programador se preocupa em ver se cada bit tem valor 0 ou 1. Em um computador quântico um bit quântico, ou qubit, pode representar 0 e 1 ao mesmo tempo - dois qubits podem representar quatro valores simultaneamente, três qubits oito, e assim por diante.

Se, de um lado, inúmeras equipes ao redor do mundo estão tentando entender os princípios fundamentais que permitirão a construção dos processadores quânticos, algumas equipes já começam a se preocupar em como fazer programas para eles.

Só em 2009 foi construído o primeiro processador quântico programável - mas rodar algumas rotinas lógicas é uma coisa, e construir um algoritmo quântico completo é outra muito diferente.

Não é que a tarefa seja apenas difícil: ela parece desafiar a maneira comum de pensar.

Por exemplo, usando o fenômeno da superposição, cientistas demonstraram que um programa quântico pode encontrar uma informação em uma base de dados sem nem mesmo precisar rodar o programa:

Simulações quânticas

E os computadores quânticos estão se tornando uma necessidade, conforme a ciência cresce em compreensão e usa cada vez mais intensamente os fenômenos em escala quântica.

A simulação de fenômenos quânticos - por meio da solução das equações de muitos corpos de Schrodinger - tem aplicações no desenvolvimento de novos medicamentos e no entendimento dos supercondutores, por exemplo.

Mas, usando os computadores atuais, as equações de muitos corpos de Schrodinger só podem ser resolvidas para não muitos corpos.

E os resultados são apenas aproximações, e os cientistas querem chegar mais perto nessas aproximações, e avançar para problemas mais complexos, por exemplo, tentando compreender a fotossíntese, de forma a criar mecanismos de fotossíntese artificial que poderão resolver o problema energético do mundo.

Um problema maravilhoso

E computação quântica também não é computação paralela acelerada.

Há um problema fundamental quando se tenta simular a mecânica quântica em um computador clássico: o chamado "problema do sinal".

Nos cálculos da mecânica quântica, deve-se levar em conta não apenas as probabilidades, mas a amplitude das probabilidades - e essas amplitudes podem se tornar negativas.

Richard Feynman chamava tudo isso de "um problema maravilhoso":

"Eu não estou feliz com todas as análises que usam apenas a teoria clássica, porque a natureza não é clássica, caramba. E se você quiser fazer uma simulação da natureza, é melhor fazê-lo com a mecânica quântica, e, uau, isso é um problema maravilhoso, porque ele não parece nada fácil."

Quem vai programar os computadores quânticos?
Quem enfrentará o problema maravilhoso de programar os computadores quânticos? Ou de escrever um Assembly Quântico? Ou um C Quântico? [Imagem: VCQ/Vienna University]

Metropolis quântico

Agora, trinta anos depois dessa afirmação de Feynman, um grupo de físicos teóricos da Áustria, Canadá e Alemanha, demonstrou que, de fato, as alterações de um sistema quântico podem ser reproduzidas em um computador quântico universal.

Para isso, eles criaram uma versão quântica do clássico algoritmo clássico Metrópolis.

Esse algoritmo foi desenvolvido por Nicholas Metropolis em 1953 e permaneceu como uma curiosidade até o advento dos computadores.

A versão clássica do algoritmo de Metropolis utiliza mapas estocásticos que, ao longo de inúmeras iterações, convergem para um estado de equilíbrio. Incluído no chamado Método Monte Carlo, este é um dos algoritmos mais utilizados hoje na Física para obter os valores esperados de um sistema que se está simulando.

Para criar a versão quântica do algoritmo de Metropolis, a equipe usou apenas mapas completamente positivos, em vez de amplitudes de probabilidade. Isso traz problemas, como erros nos cálculos quando se introduzem transições de fase quânticas.

Ainda assim, a implementação do algoritmo quântico poderá ter aplicações importantes nos campos da química, da física da matéria condensada, da física de altas energias e também para resolver as equações de Schrodinger para sistemas mais complexos, nos quais interagem muitas partículas.

"Ainda que uma implementação desse algoritmo para problemas quânticos de muitos corpos em larga escala esteja fora do alcance com os meios tecnológicos de hoje, o algoritmo é escalável para tamanhos de sistema que são interessantes para simulações físicas reais," afirmam os pesquisadores.

Programadores quânticos

O que se deve destacar, contudo, é que o grupo demonstrou que o esforço para a construção do hardware dos computadores quânticos será bem pago: um computador quântico, usando esse algoritmo, poderá ser usado para resolver os "problemas maravilhosos" de Feynman exponencialmente mais rápido do que os computadores atuais.

E soluções completas para as equações de Schrodinger finalmente estarão ao alcance, caramba.

No futuro, o artigo que descreve a criação do Metropolis Quântico talvez seja lembrado como um marco na programação dos computadores quânticos.

O que nos faz perguntar: quem enfrentará o problema maravilhoso de programar os computadores quânticos? Ou de escrever um Assembly Quântico? Ou um C Quântico?

O fato é que Feynman parece continuar com a razão: não parece fácil.

Nenhum comentário:

Postar um comentário

Popular Posts

- Arquivo -

 

Seguidores

Hora exata:

Total de visualizações de página