BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Artigos Gatos, Qubits e Teletransporte: O estranho mundo dos algoritmos quânticos (Parte 3)

Gatos, Qubits e Teletransporte: O estranho mundo dos algoritmos quânticos (Parte 3)

Pontos Principais

  • Os mesmos fatores que tornam a teoria quântica tão surpreendente também tornam os computadores quânticos algo muito difícil para ser implementado na prática: os fenômenos quânticos não se manifestam na vida cotidiana.
  • Ao pensar em quão poderoso é um computador quântico, é importante considerar as taxas de erro, bem como o número de qubits. Aumentar o número de qubits não melhora um computador quântico se a taxa de erro também aumentar.
  • Dado o custo, o tamanho e a delicadeza física dos computadores quânticos, eles são perfeitos para o modelo pay per use (pagamento por uso) de consumo em nuvem.
  • Ferramentas como o SDK quântico QISkit permitem que programas quânticos sejam escritos e depois compilados para execução em hardware. O QISkit inclui uma DSL quântica baseada em python e qasm, uma linguagem de montagem quântica.
  • A vantagem quântica terá sido alcançada quando os computadores quânticos forem suficientemente grandes e robustos para serem úteis. Ainda não estamos lá e sequer sabemos exatamente onde está este limite.

Domínios de problema

Os artigos anteriores desta série introduziram a teoria quântica e explicaram como estes comportamentos quânticos contra-intuitivos possibilitam um conjunto extraordinário de algoritmos computacionais. Em particular, Peter Show descobriu como computadores quânticos poderiam fazer uma fatoração eficiente de inteiros, e Lov Grover mostrou como eles deram um aumento significativo na velocidade ao buscar dados não-estruturados. Não houve nenhum avanço em algoritmos para rivalizar com os de Shor ou de Grover nos últimos quinze anos, mas à medida que os computadores quânticos começam a parecer mais viáveis, muito se tem pensado nos casos de uso aos quais esses algoritmos poderiam ser aplicados.

Até agora, ninguém pensou em uma aplicação muito útil para o teletransporte quântico. O envio de informações mais rápido que a luz é incrivelmente legal, mas a exigência de enviar meio par entrelaçado para o destinatário primeiro e, depois, também fazer a comunicação clássica, é onerosa. A luz também é bastante rápida, portanto, para quase toda a comunicação na Terra, o tempo de viagem dos fótons é menor que o tempo de processamento do computador que envia a mensagem e assim, menor ainda do que o tempo de reação da pessoa que recebe a mensagem.

Fatorar, por outro lado, tem uma aplicação muito óbvia. Paradoxalmente, a fatoração é, ao mesmo tempo, o algoritmo quântico mais útil e o menos útil. Quebrar a criptografia de chave pública seria uma conquista extraordinária, com implicações devastadoras para vendedores, setor financeiro e organizações de inteligência. No entanto, uma vez que são conhecidos por serem inseguros, a criptografia de chave pública baseada em fatoração será obsoleta e a indústria passará para protocolos de criptografia "à prova quântica". Uma vez que a criptografia baseada em fatores não está sendo usada, há pouco valor em poder ler as transmissões criptografadas dessa maneira.

Diferentemente da fatoração, cuja única finalidade é desfazer algo que outra pessoa fez, uma solução quântica para o problema do caixeiro-viajante poderia desenvolver as capacidades humanas. Este problema tem suas variações no transporte (obviamente!), logística, fabricação de microchips e sequenciamento de DNA. Um cuidado é que, enquanto soluções precisas para o caixeiro-viajante são intratáveis quando o problema se torna grande, existem algumas aproximações muito boas e muito baratas. Soluções precisas para o problema do caixeiro podem levar muitos anos (ou até milhões de anos) para computar, mesmo para poucas dezenas de cidades. Isso é claramente impraticável para todos, especialmente para os problemas mais triviais. No entanto, se o requisito de perfeição for desconsiderado, um problema de um milhão de cidades pode ser resolvido dentro de 2 ou 3% da solução ideal. E isso é bom o suficiente para a maioria dos propósitos.

À primeira vista, a pesquisa não estruturada parece ter poucas aplicações. Grover descreveu seu caso de uso como a pesquisa em uma enorme lista telefônica para encontrar o nome de uma pessoa com um determinado número, o que é difícil de imaginar sendo feito com frequência. No contexto da pesquisa de dados, o algoritmo de Grover pode ser útil para situações em que não é possível criar uma tabela de pesquisa inversa ou casos em que uma grande massa de dados não pode ser indexado. Porém, na verdade o algoritmo de Grover é muito mais genérico. O que está sendo pesquisado, matematicamente, é algo que satisfaz uma dada função (uma "função inversa"). Isso significa que podemos procurar a solução para qualquer problema, desde que a resposta possa ser facilmente verificada. Isso significa que o algoritmo de Grover é o primo mais lento, porém mais genérico, do algoritmo de Shor; e pode ser usado para ataques de força bruta em esquemas de criptografia de chave simétrica ou pós-quântica (contanto que a chave não seja muito longa).

Há também possibilidades intrigantes para outras coisas além de decifrar códigos. Por exemplo, o algoritmo de Grover poderia ser usado para alguns problemas de machine learning. Embora não possa ser usado para encontrar a solução ideal para problemas como o do caixeiro-viajante, ainda pode encontrar soluções que atendam a alguns critérios mínimos ("tempo de viagem inferior a três dias", por exemplo). Em muitos casos, isso é bom o suficiente.

Por fim, uma vez que os computadores quânticos podem considerar uma importante gama de possibilidades, eles têm uma aplicação natural para problemas complexos de modelagem. Uma aplicação potencial é na modelagem de dados ou riscos financeiros, outra é na logística de companhias aéreas.

Ciências naturais

Os computadores quânticos foram propostos pela primeira vez quando os físicos perceberam que seus computadores mais poderosos não conseguiam simular nem mesmo pequenos sistemas quânticos. (No momento, a simulação mais conhecida, por uma equipe da IBM, pode modelar 56 partículas, mas isso exigiu uma matemática muito inteligente, vários dias de computação e 3 terabytes de memória.)

Como sistemas mais complexos de partículas não podem ser simulados, pode ser muito difícil compreendê-los ou fazer previsões sobre seu comportamento. Por exemplo, algumas moléculas têm uma propriedade conhecida como "forte correlação", o que significa que as técnicas convencionais de química simplesmente não funcionam. Embora saibamos as equações corretas, fazer um cálculo preciso levaria muito tempo, e fazer um cálculo aproximado daria uma resposta "muito errada". Isso dificulta o progresso em vários domínios, como a física de baixa temperatura, a ciência de materiais e a criação de medicamentos.

De modo geral, há dois papéis principais para o quantum: a redução de custos para cálculos existentes que são muito caros atualmente, e fazer cálculos que atualmente são tão caros, ou lentos a ponto de serem efetivamente "impossíveis".

Barreiras para a implementação prática

Os mesmos fatores que tornam a teoria quântica tão surpreendente também a tornam muito difícil de ser implementada na prática; o fenômeno quântico não se manifesta na vida diária. Embora o fenômeno quântico possa ser observado em laboratório, geralmente necessita de condições extremas como o isolamento individual de fótons ou partículas, vácuo, e temperaturas de pouquíssimos milésimos acima do zero absoluto. Isso é mais gelado do que o espaço entre as estrelas.

Essas condições são desafiadoras para serem conseguidas, mas com recursos suficientes e o benefício da ciência moderna, são tecnicamente possíveis. Contudo, há ainda um desafio mais filosófico. A razão pela qual as coisas do dia-a-dia não parecerem ser quânticas é por serem macroscópicas; os efeitos quânticos apenas se manifestam a uma escala minúscula. Quando partículas interagem com outras partículas, elas passam a se tornar parte do sistema macroscópico - ou seja, parte do sistema clássico. (Por que os sistemas macroscópicos parecem clássicos ainda é uma questão de debate, mas é amplamente aceito que a "decoerência" dos estados quânticos pelo contato com influências externas é responsável por isso.)

Portanto, para um computador quântico permanecer "quântico", tem que estar totalmente isolado de qualquer interação com o mundo exterior. Isso é um pouco paradoxal, porque qualquer "parede" ou "barreira" é em si parte do mundo exterior, e "estar contido na parede" é em si uma interação. E fica ainda pior! Mesmo que o isolamento perfeito fosse tecnicamente possível, não seria o que queríamos: precisamos interagir com o sistema no início de um cálculo para definir o estado inicial dos bits (gravar na memória quântica) e em seguida, interagir novamente no final do cálculo para medir seu estado e obter a resposta (ler a memória quântica). E essas operações precisam ser clássicas (não podemos "talvez definir a memória como 0" ou "definir a memória como 0 em um universo"). Em outras palavras, precisamos ser capazes de ligar e desligar a conexão com o mundo externo, e ligar e desligar a própria natureza quântica do computador.

Como funcionam as implementações atuais

As implementações atuais de computadores quânticos parecem estar superando essas barreiras. Todavia, só conseguem fazê-lo por um período muito curto de tempo. No ano passado, um computador quântico conseguia fazer cálculos por cerca de 0,0001 segundos antes da 'decoerência'; isto é, antes que as interações indesejadas com o mundo externo destruíssem o estado quântico.

Todos os computadores quânticos propostos funcionam isolando fótons individuais ou isolando partículas atômicas individuais. Efeitos quânticos (como interferência de dupla fenda) podem ser observados em moléculas tão grandes quanto as buckyballs, mas é muito mais difícil. As implementações de qubit tendem a ser tão pequenas quanto possível para minimizar a decoerência.

Projeções para o futuro

Criptografia pós-quântica

Uma vez que temos um computador quântico universal tolerante a falhas com milhares de qubits (que está a anos de distância), os algoritmos de criptografia baseados em fatoração de chave pública, como o RSA, não estarão mais seguros. Outros algoritmos, como aqueles baseados no problema do logaritmo discreto ou no problema do logaritmo discreto de curva elíptica, são igualmente vulneráveis, uma vez que também podem ser quebrados pelo algoritmo de Shor.

No entanto, isso não significa o fim da criptografia de chave pública. (Isso também é bom, dada a importância da criptografia de chave pública para a maior parte da internet, particularmente para o comércio on-line.) Existem vários esquemas possíveis, incluindo protocolos de criptografia "baseados em treliças".

Avanços de hardware

A obtenção da vantagem quântica exigirá mais avanços na ciência dos materiais. Empresas, instituições acadêmicas e governos continuam a aumentar a quantidade de qubits e a qualidade.

Conforme os computadores quânticos se tornam maiores, a arquitetura preferida provavelmente mudará de uma forma homogênea para uma modular. Em vez de cada qubit ser conectado a todos os outros, a escalabilidade será obtida agrupando qubits em sub-unidades isoladas. É quase como os microsserviços, exceto pelos qubits em vez de software. E assim como com microsserviços, a comunicação entre os módulos será necessária e provavelmente exigirá centros de comunicação especiais na arquitetura. Os qubits físicos precisarão ser movidos pela rede, ou os fótons misturados com os qubits físicos para atuar como gateways de comunicação quânticos.

Todos os computadores quânticos atuais precisam ser manuseados em temperaturas operacionais, cerca de -270 graus Celsius, para proteger os delicados estados quânticos de qualquer ruído. Além de ser caro, esse tipo de refrigeração extrema é difícil e volumosa. Encontrar uma maneira de fazer cálculos quânticos à temperatura ambiente é uma área de pesquisa em andamento. Em 2013, um time canadense de pesquisa mostrou que os estados quânticos poderiam sobreviver à temperatura ambiente por 39 minutos, o que seria suficiente para muitos cálculos. Infelizmente, esse sistema em particular ainda precisava ser resfriado a 4 Kelvin (-269,15 graus Celsius), a fim de definir o estado inicial ou ler o estado, por isso ainda precisava de uma enorme geladeira, sendo a temperatura ambiente usada apenas durante parte do tempo.

Tolerância ao erro

Mesmo ao rodar em temperatura mais fria do que a do próprio espaço profundo, os sistemas quânticos atuais sofrem com níveis significativos de ruídos e erros. Como fazer computadores quânticos tolerantes a falhas é uma área de pesquisa ativa. Computadores clássicos também estão sujeitos a erros físicos, mas corrigir esses erros é comparativamente bastante simples. O único tipo de erro que um único bit pode ter é um bit-flip. Para proteger-se contra saltos de bits, basta ter várias cópias do mesmo bit (digamos, 3) e, em seguida, obter uma votação majoritária ao medir.

Esse algoritmo não se traduz diretamente em computadores quânticos, porque a medição dos qubits para obter o voto majoritário destrói o estado quântico do estado. Porém, é possível fazer uma "verificação de paridade" para ver se dois qubits estão no mesmo estado. Isso pode ser usado para capturar casos em que um qubit está no estado errado e corrigi-lo invertendo-o de cima para baixo ou ajustando a fase. Os protocolos de correção de erros substituem os qubits físicos pelos lógicos, onde cada qubit lógico é composto de vários qubits físicos. Mesmo que os qubits físicos sejam frágeis, o qubit lógico pode permanecer robusto.

A desvantagem é que implementar esse tipo de tolerância a falhas envolve muita redundância de informações e isso significa muita sobrecarga. Um protocolo de tolerância a erro quântico precisa de pelo menos cinco qubits físicos por qubit lógico. O melhor protocolo atual pode tolerar uma maior imprecisão de operação (1%), mas requer nove qubits físicos. Algumas operações quânticas não podem ser corrigidas apenas pelo espalhamento do estado pelos qubits físicos. A tolerância a falhas para essas operações é possível, mas é necessária uma injeção constante de qubits extras (conhecidos como "estados mágicos") para manter o sistema livre de erros. Os computadores quânticos atuais simplesmente não têm qubits suficientes para esse tipo de tolerância a falhas. Parece provável que a tolerância prática a falhas esteja a pelo menos uma década de distância. Uma das questões interessantes no momento é como fazer cálculos quânticos úteis sem tolerância a falhas. Para alguns cálculos, uma resposta aproximada é boa o suficiente, portanto, a computação quântica provavelmente será útil para essa categoria de problemas, no curto prazo. Por exemplo, alguns problemas de química quântica são tão difíceis que um computador quântico aproximado pode melhorar significativamente a precisão dos cálculos.

Ao pensar sobre quão poderoso um computador quântico é, é importante considerar as taxas de erros, assim como o número de qubits. Aumentar o número de qubits não melhora um computador quântico se a taxa de erro também é aumentada.

Nuvem quântica

Dado o custo, o tamanho e a delicadeza física dos computadores quânticos, eles são perfeitos para o modelo pay per use (pagamento por uso) de consumo em nuvem. Uma vez que esses computadores precisam ser mantidos a temperaturas abaixo de 1 Kelvin (-272,15 graus Celsius), a nuvem quântica é definitivamente a nuvem mais fria e faz com que os requisitos de refrigeração da maioria dos data centers pareçam triviais. É provável que mais provedores de nuvem começarão a oferecer recursos quânticos incorporados em suas nuvens atuais.

Compactação conceitual

A compactação conceitual é uma contração na sobrecarga conceitual de algumas tarefas de programação, de modo que os desenvolvedores precisam entender muito menos conceitos para aproveitar uma tecnologia. Outra maneira de pensar nisso é como uma mudança de abstrações de baixo nível para abstrações de nível superior - e, criticamente, tornando essas abstrações não-permeáveis. Não é um emburrecimento, é liberar a inteligência do desenvolvedor para se concentrar em coisas mais interessantes. A compactação conceitual tem sido uma tendência constante em nossa indústria desde seus primeiros dias. Vimos uma mudança das linguagens assembly para linguagens de nível superior, a introdução de garbage collectors para reduzir o custo de desenvolvimento (e impacto funcional) do gerenciamento de memória, a substituição de chamadas SQL brutas pelo ORM, a introdução de bibliotecas de machine learning altamente acessíveis, a substituição de hardware por IaaS e a substituição de sistemas individuais por PaaS. O movimento de computadores quânticos para a nuvem é outro exemplo de compactação conceitual; significa que as pessoas que querem usá-las não precisam se preocupar em gerenciar seus próprios qubits supercondutores transformados ou sobre a saúde de sua "geladeira".

Há uma tendência similar na programação quântica. Quinze anos atrás, qualquer um que quisesse implementar um algoritmo quântico teria que implementar as sequências de porta diretamente no hardware. Hoje, ferramentas como o SDK quântico QISkit permite que programas quânticos sejam escritos, e então os compila para execução no hardware. O QISkit inclui uma DSL quântica baseada em python e qasm, uma linguagem de montagem quântica. No entanto, mesmo com a versão em Python, alguém que queira aproveitar os recursos quânticos precisa entender os fundamentos da computação quântica. Os programas QISkit são escritos em termos de portas e registros quânticos. Para estender a analogia de compactação, a compactação reduz o tamanho do arquivo, mas não faz com que os arquivos desapareçam. No momento, o tamanho mental do arquivo necessário para escrever um algoritmo quântico eficaz ainda é muito grande. Parece claro que, com o tempo, os desenvolvedores quânticos poderão tirar proveito de mais abstrações de alto nível.

No futuro, quase certamente veremos o desenvolvimento de bibliotecas quânticas. Podemos até ver a eliminação de bibliotecas quânticas; isto é, se o hardware quântico se tornar onipresente o bastante, as bibliotecas quânticas podem ser substituídas por bibliotecas de otimização de propósito geral que escolhem automaticamente quais partes de um dado cálculo devem ser feitas de forma quântica, e quais de uma maneira clássica. (Isso é semelhante ao modo como as bibliotecas modernas de machine learning investigam o hardware do sistema e executam versões de cálculos otimizadas por GPU, nas quais as GPUs estão disponíveis, para que os desenvolvedores de machine learning não precisem pensar no nível da GPU.)

Vantagem e prontidão quântica

A vantagem quântica é definida como a capacidade dos computadores quânticos de resolver problemas que os computadores clássicos não podem, para uma finalidade prática. A vantagem quântica terá sido alcançada quando os computadores quânticos forem suficientemente grandes e robustos para serem úteis. Ainda não estamos lá e nem sabemos exatamente onde fica este limite. Contudo, estamos em um período de "prontidão quântica", onde o momentum está se acumulando e as peças estão se encaixando.

Embora ninguém possa prever exatamente quando veremos a vantagem quântica, o progresso recente foi tão impressionante que parece provável que o marco seja inevitável. No momento, os computadores quânticos são terrivelmente caros, disponíveis apenas para alguns poucos, limitados em capacidade e, verdade seja dita, relativamente pouco confiáveis. Isso parece deprimente, mas na verdade é bem parecido com os computadores clássicos há setenta ou oitenta anos atrás. Em 1943, Thomas J. Watson, da IBM, disse aos seus investidores "acho que existe um mercado mundial para, talvez, cinco computadores". Em 1949, a Popular Mechanics previu que "os computadores no futuro podem pesar não mais do que 1,5 tonelada". É tentador rir como essas previsões eram pouco ambiciosas, com o benefício de uma retrospectiva de setenta anos. Pode ser que em outros setenta anos nossos descendentes também estejam rindo sobre como ficamos excitados com mais de 50 qubits e tivemos que usar enormes cilindros refrigerados para alcançar 0,0001 segundos de tempo de coerência.

Esta é a terceira parte de uma série sobre computação quântica. A parte um, que fornece uma introdução ao tópico e enfoca a computação quântica, pode ser encontrada em "Gatos, Qubits e Teletransporte: O estranho mundo da computação quântica (Parte 1)". A parte dois, que se concentra nos algoritmos quânticos, pode ser encontrada em "Gatos, Qubits e Teletransporte: O estranho mundo dos algoritmos quânticos (Parte 2)".

Sobre a Autora

Holly Cummins é uma desenvolvedora full-stack e líder técnica em computação em nuvem. Também é palestrante frequente, Java Champion e autora do Enterprise OSGi in Action. É PhD em computação quântica pela Universidade de Oxford.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT