• Home
  • Química
  • Astronomia
  • Energia
  • Natureza
  • Biologia
  • Física
  • Eletrônicos
  •  science >> Ciência >  >> Física
    Pesquisadores tomam medidas em direção a ferramentas de depuração para computadores quânticos

    Crédito CC0:domínio público

    Na computação clássica, depurar programas é 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, pesquisadores prevêem que a depuração será um desafio ainda maior. Em um artigo que aparecerá em breve no ACM / IEEE 46º Simpósio Internacional Anual para Arquitetura de Computadores (como parte das Conferências Federadas de Pesquisa em Computação de 2019 da ACM), 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 de 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. Esses recursos vêm de algoritmos quânticos - sequências de instruções que dizem a um computador quântico o que fazer para calcular algum resultado, muito parecido com software para computadores clássicos hoje. Esses algoritmos abrangem uma ampla gama de aplicações. Por exemplo, algoritmos de química quântica permitiriam aos cientistas calcular propriedades de compostos químicos diretamente a partir das equações governantes da mecânica quântica, uma tarefa formidável, fora do alcance dos computadores modernos, para todas as moléculas, exceto as mais simples. Outros algoritmos prometem acelerar a pesquisa dentro dos bancos de dados e permitir comunicações seguras resistentes a espionagem.

    Por cerca de duas décadas, esses algoritmos quânticos existiam apenas como equações abstratas e especificações, e nunca foram realmente executados em computadores quânticos reais. Esse cenário de pesquisa mudou rapidamente. Nos últimos dois anos, pesquisadores construíram o primeiro protótipo de computador quântico capaz de executar programas quânticos. Notavelmente, A IBM disponibilizou computadores quânticos de pequena escala para que o público execute códigos e veja os resultados. Com este interesse crescente na experimentação de computação quântica, um novo e urgente desafio consiste em ajudar os programadores a traduzir esses algoritmos abstratos em código de programa quântico que funcione corretamente.

    "Descobrimos que mesmo os 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, "Yipeng Huang, pós-doutorado na Princeton University e autor do artigo, disse. "Se é tão complicado para programadores quânticos experientes, como os alunos novos na computação quântica podem escrever programas corretos, sem a ajuda de ferramentas como depuradores? "

    No artigo intitulado "Asserções estatísticas para validação de padrões e localização de bugs em programas quânticos, "Huang e Margaret Martonosi, um professor de Ciência da Computação em Princeton, identificar três principais dificuldades na depuração de programas quânticos, e avaliar 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á em execução. Essa limitação torna a depuração difícil, considerando que um dos movimentos essenciais em programas de depuração é inspecionar os valores das variáveis ​​passo a passo no curso 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 medir e "colapsar" os delicados estados quânticos dentro dos computadores quânticos. Uma vez que um estado quântico é colapsado, quaisquer observações não seriam uma descrição completa do estado do programa.

    Em seu jornal, Huang e Martonosi enfrentam esse desafio encontrando maneiras de depurar programas quânticos usando apenas as informações sobre os estados quânticos colapsados. Eles consideram a depuração de programas em dois tipos diferentes de configurações; em uma configuração, os programas quânticos rodam em simulação em um computador clássico, e na outra configuração os programas são executados em protótipos reais de computadores quânticos. 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, estados quânticos são em geral de alta dimensão e difíceis de interpretar, limitando sua utilidade para os programadores depurar programas quânticos com comportamento incorreto.

    A solução de Huang e Martonosi para este desafio é usar testes estatísticos nos resultados das medições, para ajudar os programadores a decidir se os resultados são consistentes com três tipos de estados. Eles usam o teste estatístico do qui-quadrado para decidir se os estados observados pertencem a um dos clássicos, sobreposição, ou estados emaranhados. "Concentramos nossa atenção nesses três tipos de estados porque eles ocorrem em 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 ampliar e encontrar erros no código do programa. "

    A terceira dificuldade é que os programadores ainda não têm nenhuma orientação sobre onde e o que verificar ao depurar programas quânticos. Até recentemente, algoritmos quânticos existiam principalmente como equações; ocasionalmente, os algoritmos seriam mais elaborados na forma de diagramas de circuitos quânticos. A tarefa de codificar programas quânticos envolve 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, "Huang disse." Por enquanto, pesquisadores estão escrevendo programas quânticos operação por operação, em bits de informação de nível muito baixo. Uma contribuição de nosso artigo é discutir como os padrões e estruturas dentro dos algoritmos quânticos guiam os programadores a saber o que verificar. "

    Em seu jornal, Huang e Martonosi usam suas ferramentas de depuração para testar vários programas quânticos de referência, incluindo um para fatorar inteiros, um para pesquisar dados, e um na área de química quântica. Padrões de programa comuns dentro desses algoritmos, como operações de loop, 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 por meio 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, muitos que são baseados em provas formais. "Estamos descobrindo que escrever programas quânticos corretos depende de uma mistura de técnicas, "Huang disse." Assim como no caso da programação clássica, os programadores quânticos contarão com uma mistura de técnicas pragmáticas e formais. "

    © Ciência https://pt.scienceaq.com