Pesquisadores dão passos em direção a ferramentas de depuração para computadores quânticos


Na computação clássica, os programas de depuração são uma das tarefas mais demoradas no desenvolvimento de software. A depuração bem-sucedida depende de ferramentas de desenvolvimento de software e também da experiência do programador. Na computação quântica, os pesquisadores prevêem que a depuração será um desafio ainda maior. Em um artigo que aparecerá em breve no 46º Simpósio Internacional Anual de Arquitetura de Computadores da ACM / IEEE, pesquisadores da Universidade de Princeton apresentam ferramentas de depuração baseadas em testes estatísticos, com o objetivo de ajudar os programadores na construção. programas quânticos corretos para computadores quânticos de curto prazo.

A computação quântica promete mudar o mundo da computação, oferecendo recursos além de qualquer computador clássico. Essas capacidades vêm de algoritmos quânticos – sequências de instruções que dizem ao computador quântico o que fazer para calcular algum resultado, muito parecido com o software dos computadores clássicos de hoje. Esses algoritmos cobrem uma ampla gama de aplicativos. Por exemplo, algoritmos de química quântica permitiriam aos cientistas calcular propriedades de compostos químicos diretamente das equações governantes da mecânica quântica, uma tarefa formidável além do alcance dos computadores modernos para todas as moléculas, exceto as mais simples. Outros algoritmos prometem agilizar a busca dentro de bancos de dados e permitir comunicações seguras resistentes à escuta clandestina.

Por cerca de duas décadas, esses algoritmos quânticos existiam apenas como equações e especificações abstratas, e nunca foram realmente executados em computadores quânticos reais. Esse panorama de pesquisa mudou rapidamente. Nos últimos dois anos, os pesquisadores construíram o primeiro protótipo de computadores quânticos capazes de executar programas quânticos. Notavelmente, a IBM disponibilizou computadores quânticos de pequena escala para o público executar código e ver os resultados. Com esse crescente interesse na experimentação da computação quântica, um desafio novo e urgente está em ajudar os programadores a converter esses algoritmos abstratos em código de programa quântico funcionando corretamente.

“Estávamos descobrindo que até mesmo pesquisadores especializados em computação quântica estão cometendo erros sutis no código do programa quântico, impedindo que os programas forneçam resultados corretos”, disse Yipeng Huang, pós-doc da Universidade de Princeton e autor do artigo. “Se é tão complicado para programadores quânticos experientes, como os estudantes iniciantes em computação quântica podem escrever programas corretos, sem o auxílio de ferramentas como depuradores?”

No artigo intitulado “Asserções estatísticas para validar padrões e encontrar bugs em programas quânticos”, Huang e Margaret Martonosi, professora de Ciência da Computação em Princeton, identificam três dificuldades principais na depuração de programas quânticos e avaliam suas soluções para lidar com essas dificuldades.

A primeira dificuldade é que os programadores não podem examinar facilmente os valores das variáveis ??de um programa quântico, enquanto o programa está sendo executado. Essa limitação dificulta a depuração, considerando que um dos movimentos de ir para os programas de depuração é inspecionar os valores das variáveis ??passo a passo no decorrer de um programa. Os programadores quânticos não podem fazer esse tipo de depuração porque a leitura de variáveis ??quânticas envolveria a medição e o “colapso” dos delicados estados quânticos em computadores quânticos. Uma vez que um estado quântico é colapsado, qualquer observação não seria uma descrição completa do estado do programa.

Em seu artigo, Huang e Martonosi abordam esse desafio descobrindo maneiras de depurar programas quânticos usando apenas as informações sobre os estados quânticos recolhidos. Eles consideram os programas de depuração em dois tipos diferentes de configurações; em uma configuração, os programas quânticos são executados em simulação em um computador clássico e, na outra configuração, os programas são executados em computadores quânticos de protótipos reais. Em ambas as configurações, eles usam várias execuções do programa quântico para encontrar a distribuição dos estados dentro do programa quântico.

A segunda dificuldade é que, mesmo quando observações ou simulações estão disponíveis, os estados quânticos são em geral de alta dimensão e difíceis de interpretar, limitando sua utilidade para os programadores para depurar programas quânticos mal comportados.

A solução de Huang e Martonosi para este desafio é usar testes estatísticos em resultados de medição, para ajudar os programadores a decidir se os resultados são consistentes com três tipos de estados. Eles usam o teste estatístico qui-quadrado para decidir se os estados observados pertencem a um dos estados clássicos, superposição ou emaranhados. “Nós concentramos nossa atenção nesses três tipos de estados porque eles ocorrem ao longo de um programa quântico e são mais fáceis para os programadores identificarem”, disse Huang. “Se os estados não corresponderem ao que o programador espera, os testes estatísticos ajudam o programador a aumentar o zoom e a encontrar erros no código do programa.”

A terceira dificuldade é que os programadores ainda não têm nenhuma diretriz para onde e o que verificar ao depurar programas quânticos. Até recentemente, os algoritmos quânticos existiam principalmente como equações; ocasionalmente, os algoritmos seriam mais detalhados na forma de diagramas de circuitos quânticos. A tarefa de codificar programas quânticos implica traduzir esses diagramas de circuitos quânticos em código de programa. “O estado da arte em programação quântica é semelhante à programação de computadores clássicos há 50 anos”, disse Huang. “Por enquanto, os pesquisadores estão escrevendo programas quânticos, operação por operação, em bits de informação de muito baixo nível. Uma contribuição de nosso artigo é discutir como os padrões e estruturas dentro dos algoritmos quânticos orientam os programadores a saber o que verificar. “

Em seu artigo, Huang e Martonosi usam suas ferramentas de depuração para testar vários programas quânticos de referência, incluindo um para números inteiros de fatoração, um para pesquisa de dados e um na área de química quântica. Os padrões de programa comuns nesses algoritmos, como operações de looping, operações de aninhamento e operações de espelhamento, servem como guias para os programadores quânticos saberem onde usar as ferramentas de depuração.

Apoiado pela National Science Foundation através do projeto EPiQC Expedition, o trabalho de Huang e Martonosi em ferramentas de depuração é uma abordagem pragmática para o problema de escrever programas quânticos corretos. Ele se junta a um campo crescente de abordagens relacionadas, muitas delas baseadas em provas formais. “Estamos descobrindo que escrever programas quânticos corretos depende de uma mistura de técnicas”, disse Huang. “Assim como no caso da programação clássica, os programadores quânticos contam com uma mistura de técnicas pragmáticas e formais.”


Tem um artigo em PDF com mais detalhes aqui: https://arxiv.org/pdf/1905.09721.pdf


Publicado em 22/06/2019

Artigo original: https://phys.org/news/2019-06-debugging-tools-quantum.html


Gostou? Compartilhe!



Assine nossa newsletter e fique informado sobre Astrofísica, Biofísica, Geofísica e outras áreas. Preencha seu e-mail no espaço abaixo e clique em “OK”: