[Imagem: ETH Zurich]
Linguagem de programação quântica
Embora os primeiros computadores quânticos já estejam disponíveis para experimentos até pela internet, não é fácil usá-los, o que tem restringido seu público a equipes de especialistas da academia e de algumas poucas empresas de tecnologia.
Isso porque, até agora, ninguém sabia dizer realmente como programar os computadores quânticos.
Mas isso agora está prestes a mudar.
Uma equipe do Instituto Federal de Tecnologia (ETH) de Zurique, na Suíça, lançou a primeira linguagem de programação quântica de alto nível, que funciona de forma similar às linguagens C, Java, Python e tantas outras usadas nos computadores eletrônicos.
Silq
"Nossa linguagem de programação quântica Silq permite que os programadores utilizem o potencial dos computadores quânticos melhor do que com as linguagens existentes, porque o código é mais compacto, mais rápido, mais intuitivo e mais fácil de entender para os programadores," disse o professor Martin Vechev.
Embora o estabelecimento da supremacia quântica na computação venha sendo objeto de um debate acalorado, otimizar os programas para rodar em um processador quântico até agora era quase tão difícil quanto construir o próprio processador.
Além disso, embora já se saiba que alguns algoritmos quânticos - as estratégias computacionais para resolver um determinado problema - são mais rápidos que os algoritmos clássicos, não era ainda possível implementar esses algoritmos no hardware quântico existente porque os computadores quânticos ainda são propensos a erros. E isso sem contar que cada programa deve ser elaborado para cada processador específico.
"Silq é a primeira linguagem de programação quântica que não é projetada primariamente em torno da construção e funcionalidade do hardware, mas focada no raciocínio dos programadores quando eles querem resolver um problema - sem exigir que eles entendam todos os detalhes da arquitetura e implementação do computador," acrescentou o pesquisador Benjamin Bichsel.
Descomputação
Outra grande vantagem é que a nova linguagem tem ferramentas para lidar com os erros típicos dos processadores quânticos atuais.
Um computador eletrônico comum resolve um problema em várias etapas - os passos do algoritmo -, o que cria resultados intermediários ou valores temporários. Para aliviar a memória, os próprios processadores apagam automaticamente esses valores. Os cientistas da computação chamam isso de "coleta de lixo", uma vez que os valores temporários supérfluos são descartados.
No caso dos computadores quânticos, jogar fora esses dados que não são mais necessários é mais complicada devido ao entrelaçamento quântico, o fenômeno que está na base do funcionamento dos qubits. Ocorre que os valores calculados anteriormente podem interagir com os atuais, interferindo no cálculo correto. Portanto, limpar esses valores temporários nos computadores quânticos requer uma técnica mais avançada, chamada descomputação.
"Silq é a primeira linguagem de programação [quântica] que identifica e apaga automaticamente valores que não são mais necessários," explica Bichsel. A equipe conseguiu isso criando um método de descomputação automática que usa apenas comandos de programação que não dependem de operações envolvendo os fenômenos quânticos, como entrelaçamento e superposição.
Colaboração
É apenas a versão 1.0 da linguagem de programação quântica, mas a equipe tem motivos para entusiasmo:
"Nossa equipe de quatro pessoas fez um avanço após dois anos de trabalho, graças à combinação de diferentes conhecimentos em projeto de linguagem, física quântica e implementação. Se outras equipes de pesquisa e desenvolvimento abraçarem nossas inovações, isso será um grande sucesso," finalizou Bichsel.
Mais informações sobre a linguagem Silq podem ser obtidas no endereço https://silq.ethz.ch.