- Artigo
- 6 minutos para o fim da leitura
Uma série de novas tecnologias computacionais surgiu nos últimos anos, sendo a computação quântica possivelmente a tecnologia que exige a maior mudança de paradigma por parte dos desenvolvedores. Os computadores quânticos foram propostos na década de 1980 por Richard Feynman e Yuri Manin. A intuição por trás da computação quântica originou-se do que costumava ser visto como um dos maiores constrangimentos da física: o notável progresso científico enfrentava uma incapacidade de modelar até mesmo sistemas simples. A mecânica quântica foi desenvolvida entre 1900 e 1925 e ela continua sendo a base na qual a química, a física de matéria condensada e as tecnologias que vão de chips de computador à iluminação LED, em última análise, se apoiam. Ainda assim, apesar desses sucessos, até mesmo alguns dos sistemas mais simples pareciam estar além da capacidade humana de modelagem com a mecânica quântica. Isso ocorre porque a simulação de sistemas de, até mesmo, algumas dezenas de partículas interativas exige mais potência computacional do que qualquer computador convencional possa fornecer em milhares de anos!
Por que usar computadores de quantum
Há várias maneiras de entender por que a mecânica quântica é difícil de ser simulada. Talvez a mais simples delas seja ver que a teoria quântica pode ser interpretada como indicando que a matéria, em um nível quântico, está em uma série de configurações possíveis (conhecidas como estados). Ao contrário da teoria de probabilidade clássica, essas muitas configurações do estado quântico, potencialmente observadas, podem interferir umas com as outras como as ondas em uma poça de maré. Essa interferência impede o uso da amostragem estatística para obter as configurações de estado quântico. Em vez disso, precisamos acompanhar cada configuração possível na qual um sistema quântico poderá estar se desejamos entender a evolução quântica.
Considere um sistema de elétrons em que os elétrons podem estar em qualquer uma das $40$ posições, digamos. Os elétrons, portanto, podem estar em qualquer uma das $2^{40}$ configurações (já que cada posição pode ter ou não um elétron). Para armazenar o estado quântico dos elétrons em uma memória de computador convencional, será necessário mais de $130$ GB de memória! Isso é substancial, mas dentro do alcance de alguns computadores. Se permitíssemos que as partículas estivessem em qualquer uma das $41$ posições, haveria o dobro de configurações em $2^{41}$, que, por sua vez, exigiria mais de $260$ GB de memória para armazenar o estado quântico. Esse jogo de aumento do número de posições não poderá ser reproduzido indefinidamente se desejarmos armazenar o estado de forma convencional, pois excederemos rapidamente as capacidades de memória dos computadores mais eficientes do mundo. Com algumas centenas de elétrons, a memória necessária para armazenar o sistema excede o número de partículas no universo; portanto, não há esperança de nossos computadores convencionais simularem a dinâmica quântica delas. Apesar disso, por natureza, esses sistemas evoluem imediatamente no tempo de acordo com as leis mecânicas quânticas, sem conhecimento algum da incapacidade de projetar e simular a evolução deles com a potência da computação convencional.
Essa observação faz com que aqueles que têm uma visão pioneira da computação quântica façam uma pergunta simples, mas significativa: podemos transformar essa dificuldade em uma oportunidade? Especificamente, se a dinâmica quântica teria a dificuldade de simular o que aconteceria se tivéssemos criado um hardware com efeitos quânticos como operações fundamentais? Poderíamos simular sistemas de partículas interativas usando um sistema que explora exatamente as mesmas leis que os regem naturalmente? Poderíamos investigar tarefas que estão totalmente ausentes de natureza, mas ainda seguir as leis mecânicas quânticas ou se beneficiar delas? Essas perguntas levaram à gênese da computação quântica.
A base da computação quântica é armazenar informações em estados quânticos de matéria e usar operações de portões quânticos para calcular essas informações, aproveitando a interferência quântica e aprendendo a "programá-la".
Um exemplo antecipado da interferência de programação para resolver um problema considerado difícil em nossos computadores convencionais foi feito por Peter Shor em 1994 para um problema conhecido como fatoração. A solução da fatoração traz consigo a capacidade de dividir muitos de nossos sistemas de criptografia de chave pública subjacentes à segurança do comércio eletrônico atualmente, incluindo RSA e criptografia de curva elíptica. Desde essa época, foram desenvolvidos algoritmos de computador quântico rápidos e eficientes para muitas de nossas tarefas clássicas difíceis: simulação de sistemas físicos em química, física e ciência da matéria, pesquisa de um banco de dados não ordenado, solução de sistemas de equações lineares e aprendizado de máquina.
Um computador quântico não é um supercomputador que pode fazer tudo mais rápido ou que pode resolver qualquer problema. Os problemas que um computador quântico pode resolver com mais eficiência do que um computador clássico são chamados de BQP (polinômios quânticos de erro limitado), o que significa que eles são solucionáveis por um computador quântico em tempo polinomial. Exemplos de problemas de BQP incluem o problema de fatoração e o problema de pesquisa.
Usar o Azure Quantum e o Kit de desenvolvimento do Quantum para fazer a computação quântica
A computação quântica está evoluindo rapidamente. O Azure Quantum é um ecossistema de nuvem preparado para o futuro, aberto e flexível para computação quântica que permite que você cause impacto com seus aplicativos quânticos, de exploração e pesquisa. O Azure Quantum fornece um conjunto diversificado de soluções e tecnologias de computação quântica.
- Créditos do Azure Quantum gratuitos para impulsionar seu desenvolvimento.
- Notebooks Jupyter hospedados gratuitamente para começar em minutos.
- Suporte para as linguagens quânticas e SDKs mais populares: Q#, Qiskit e Cirq.
- Escreva uma vez e execute em várias arquiteturas de hardware.
Dica
Se você não tiver uma conta do Azure, registre-se gratuitamente e inscreva-se em uma assinatura paga conforme o uso. Com os Créditos do Azure Quantum, você terá US$ 500 (USD) para usar em cada provedor de hardware quântico. Se você for um aluno, poderá aproveitar uma conta gratuita do Azure para alunos.
A criação de um programa quântico para utilização da interferência pode parecer um desafio assustador e, embora ele seja, muitas técnicas e ferramentas, incluindo o Quantum Development Kit (QDK), foram introduzidas para tornar o desenvolvimento de programação e algoritmo quânticos mais acessível. Há algumas estratégias básicas que podem ser usadas para manipular a interferência quântica de uma maneira útil para a computação, embora, ao mesmo tempo, não façam com que a solução se perca em um emaranhado de possibilidades quânticas. A programação quântica é uma arte distinta da programação clássica, exigindo ferramentas muito diferentes para entender e expressar o raciocínio de algoritmo quântico. De fato, sem ferramentas gerais para ajudar um desenvolvedor quântico a lidar com a arte da programação quântica, o desenvolvimento de algoritmos quânticos não é tão fácil.
O Kit de desenvolvimento do Quantum capacita uma comunidade cada vez maior com ferramentas para possibilitar a revolução quântica. A linguagem de programação quântica de alto nível, Q#, foi desenvolvida para resolver os desafios do processamento de informações quânticas. É integrada a uma pilha de software que permite que um algoritmo quântico seja compilado até as operações primitivas de um computador quântico.
Antes de abordar a linguagem de programação, é útil examinar os princípios fundamentais nos quais a computação quântica se baseia. Confira alguns conceitos importantes de computação quântica, como as medidasqubit, Pauli ou álgebra linear para computação quântica. Caso você deseje obter um estudo mais profundo da história e dos princípios da computação quântica, indicamos a seção de referência que contém mais informações.
Próximas etapas
- Álgebra linear para computação quântica
- Vetores e matrizes
- Conceitos avançados sobre matriz
- O qubit
- Vários qubits
- Notação Dirac
- Medições Pauli
- Circuitos do Quantum
- Oracles Quantum
- Sistemas Quantum abertos
- Algoritmo de Grover