A linguagem de programação quântica da Microsoft, Q#, pode ajudá-lo a aprender física quântica

Krysta Svore Microsoft Q# Codificação de computação quântica
Microsoft

Os computadores estão prestes a ficar estranhos.

Conteúdo

  • Tornando o mistério acessível
  • Uma comunidade quântica
  • Preparando-se para amanhã

Depois de décadas como teoria, os primeiros computadores quânticos agora estão em alguns laboratórios selecionados em todo o mundo. Eles são rudimentares e possivelmente menos práticos do que os primeiros computadores eletrônicos, como o ENIAC de 50 toneladas. Mesmo assim, os pesquisadores estão progredindo. IBM, Google e Intel estão progredindo em hardware quântico, e um computador quântico prático finalmente parece uma realidade de um futuro próximo, em vez de um assunto para ficção científica.

Essa é uma oportunidade. Também é um problema. A física quântica é um reino estranho de teletransporte e probabilidade que não segue as regras com as quais estamos familiarizados. A maioria das pessoas não entende de mecânica quântica, e isso inclui os programadores, as pessoas que precisarão colocar os computadores quânticos em uso prático.

Relacionado

  • Peças de reparo de superfície agora estão disponíveis na Microsoft Store
  • O Microsoft Teams está recebendo novas ferramentas de IA – e elas são gratuitas
  • Microsoft provoca revisão de design do principal aplicativo do Windows 11

A Microsoft tem um plano para educá-los.

Tornando o mistério acessível

Qualquer desenvolvedor que queira aprender uma nova linguagem de programação, como C# ou Javascript, deseja aproveitar imediatamente suas lições. No entanto, a infância da computação quântica pode tornar isso difícil. Criar um programa para muitos dispositivos quânticos é muito parecido com tentar escrever em código de máquina binário – só que ainda mais difícil, por causa da mecânica quântica. Este não é apenas um campo bem compreendido, mas difícil de traduzir. É uma área de estudo onde alguns fundamentos permanecem desconhecidos.

Microsoft Quantum Q#, codificação em um computador
Matt Smith/Tendências Digitais

Isso inclui o motivo por que computadores quânticos funcionam. “O que temos na computação quântica são provas de que os computadores quânticos podem superar os computadores clássicos”, disse Krysta Svore, gerente de pesquisa principal no grupo de Arquiteturas e Computação Quântica da Microsoft. “O Santo Graal em nossa área seria uma prova matemática real disso.”

A computação quântica é tão nova e tão diferente de tudo o que foi feito antes, que mesmo os principais pesquisadores permanecem no escuro sobre elementos importantes e fundamentais.

Computação Quântica 101

Ensinar programadores a codificar quantum em hardware real está fora de questão por enquanto. A linguagem de programação quântica da Microsoft, Q#, contorna esse problema, oferecendo acesso simples às ferramentas necessárias para iniciar a programação. Isso significa tornar o Q# o mais familiar e acessível possível, mesmo enquanto os cientistas continuam a fazer avanços nos fundamentos de como os computadores quânticos funcionam.

O Q# não está escondido atrás de uma parede de documentação terrível e instaladores mal explicados. Os programadores podem acessá-lo através do Visual Studio, o ambiente de desenvolvimento mais popular do mundo. E os programadores não precisam de acesso a um computador quântico para usá-lo.

Em vez disso, eles podem programar como se seu código fosse executado em um dispositivo quântico real, mas depois executá-lo em uma simulação virtual. Isso é possível porque o computador quântico não é tratado como seu próprio sistema completo e independente, mas, em vez disso, como um acelerador acionado por um computador clássico executando um computador clássico código.

“Imaginamos que o computador quântico seja outro recurso no Azure, ao lado da GPU, do FPGA, do ASIC, para usar. O Azure se torna toda essa estrutura que inclui em sua computação um computador quântico”, disse Svore à Digital Trends.

codificação q quantum microsoft interoperabilidade python jpg 3605
amostras de codificação quantum microsoft q github jpg 3604
codificação quântica microsoft q 3603
simulação python de codificação q quantum microsoft jpg 3602

A maioria dos programadores está familiarizada com o uso de hardware específico para tarefas específicas, e a maioria está familiarizada com a utilização de recursos na nuvem. Iniciar o Q# não é diferente dessas tarefas conhecidas. O hardware quântico pode ser exótico e raro, mas o ambiente de programação que a Microsoft oferece para Q# é exatamente o que você veria hoje se olhasse por cima do ombro de um programador na Fortune 500 empresas. Isso o torna muito menos intimidante.

“A visão final é que o usuário não diga ‘Ok, agora preciso pegar este aplicativo e executá-lo nesta parte da CPU, esta parte aqui, esta parte ali’”, disse Svore. “É o mesmo com a computação quântica. Queremos que o acelerador seja perfeito.”

Uma comunidade quântica

Os programadores podem se apresentar ao Q# por meio de um conjunto de tutoriais gratuitos que a Microsoft chama de Quantum Katas. Cada lição envolve “uma sequência de tarefas sobre um determinado tópico de computação quântica” que os programadores são desafiados a resolver. Encontrar a solução correta é o objetivo, mas a jornada é igualmente importante. Os katas não foram feitos para serem resolvidos de uma só vez. Eles ensinam por tentativa e erro, apresentando aos programadores os fundamentos da programação quântica ao longo do caminho.

Q# e os Quantum Katas trazem um nível transformador de feedback para a programação quântica

Chris Granade, engenheiro de desenvolvimento de software de pesquisa da Microsoft, viu-os pessoalmente enquanto participava de uma sessão tutorial organizada pela Universidade de Tecnologia de Sydney. “Foi realmente incrível ver que as pessoas puderam passar do conhecimento zero em quântica para escrevê-lo”, disse ele ao Digital Trends. “O que foi transformador foi que quando as pessoas tiveram um mal-entendido, elas não sofreram com isso. Eles podiam executar os katas, podiam ver a resposta errada e esse feedback realmente fazia com que as pessoas entendessem de maneira prática.”

Essa experiência prática transforma imediatamente a computação quântica de um conceito teórico em uma realidade prática, o que faz toda a diferença na forma como as pessoas a abordam. Os programadores podem não criar objetos físicos, mas estão acostumados a receber feedback como qualquer outro artesão. Eles criam uma coisa e ela funciona – ou não. Q# e os Quantum Katas trazem esse nível de feedback para a programação quântica, dando a qualquer pessoa interessada a chance de se aprofundar e entender o que a computação quântica torna possível.

Computação quântica

A mudança que Granade viu pessoalmente não está acontecendo apenas nas salas de aula. O Quantum Development Kit, do qual o Q# faz parte, pode ser baixado por qualquer pessoa sob uma licença de código aberto. Os desenvolvedores interessados ​​podem não apenas começar a usá-lo, mas também contribuir ativamente com a comunidade. Svore disse à Digital Trends que os downloads do QDK chegam a “dezenas de milhares” e os participantes já adicionaram “um punhado de contribuições substanciais”, incluindo novos algoritmos e documentação.

Embora ainda seja um nicho, este Kit de Desenvolvimento Quântico coloca a barra de entrada baixa o suficiente para que até mesmo um novato programador pode começar a experimentar Q# e, ao fazê-lo, começar a entender o que torna a computação quântica marcação. Isso é útil não apenas para programadores, mas para todo o campo da física quântica. Explicar as teorias quânticas é uma grande dor de cabeça, não apenas porque o mundo quântico é estranho comparado ao “clássico”. física que a maioria dos programadores conhece, mas também porque as implicações práticas da física quântica podem ser difíceis de entender. demonstrar.

“Você não precisa saber física. Você não precisa conhecer a mecânica quântica.”

Os computadores clássicos lidam com absolutos binários. 1s e 0s. Ligado ou desligado. Quantum lida com probabilidades, e programar para quântica significa criar algoritmos que manipulam probabilidades para produzir a solução correta. “Você sabe que esta onda inclui minha solução. Estas outras ondas não incluem uma solução. Então, quero que essas ondas, quando interferirem, desapareçam”, explicou Svore. “E quero que a onda que inclui minha solução fique realmente grande. No final, medimos os estados quânticos. A probabilidade de obter a onda alta é maior quanto maior for a onda. É assim que projetamos algoritmos quânticos.”

Você entende o que Svore significa?

Se não, não se sinta mal. Não é fácil de entender e não é fácil de demonstrar. Até mesmo experimentos mentais destinados a simplificar a mecânica quântica, como o famoso gato de Schrodinger, podem deixar você coçando a cabeça.

Engenheiros do Microsoft Quantum Q#
Microsoft

A Microsoft espera que o Q# e os Quantum Katas ofereçam uma alternativa prática para abordar o assunto. “Você não precisa saber física. Você não precisa conhecer a mecânica quântica. Na verdade, admito que não estudei mecânica quântica até a pós-graduação”, disse Svore. “Entrei em computação quântica sem nunca ter feito física na faculdade. Sou um cientista da computação por formação.”

A programação quântica pode tornar-se uma janela de visão, dando aos programadores a oportunidade de fazer uso prático das teorias quânticas sem abandonar as ferramentas nas quais passaram a confiar. Não há necessidade de passar anos aprendendo física. Basta entrar, criar um aplicativo que use Q# e ver o que acontece.

Preparando-se para amanhã

O uso prático atual do Q# é limitado porque não há hardware para recorrer. A Microsoft ainda não construiu um computador quântico, e mesmo que tivesse, seria muito primitivo para realizar cálculos úteis. Mas um programador pode verificar seu trabalho executando o Q# em um computador quântico simulado. Isso torna possível codificar um programa para quantum com uma expectativa razoável de que, assim que o hardware estiver disponível, ele funcionará.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, gerente principal de pesquisa do grupo de arquiteturas e computação quântica da Microsoft (à esquerda) e Chris Granade, engenheiro de desenvolvimento de software de pesquisa da Microsoft.Matt Smith/Tendências Digitais

Isso é crucial. Os computadores quânticos não são apenas melhores PCs modernos. Eles são fundamentalmente diferentes. Eles exigem hardware diferente, algoritmos diferentes e uma abordagem diferente para resolver problemas complexos. Mesmo que um viajante do tempo aparecesse com um computador quântico funcional, estável e com um milhão de qubits, teríamos dificuldade em colocá-lo em uso, assim como os estudiosos romanos ficariam perplexos se recebessem um laptop. 99,9% dos desenvolvedores, programadores e cientistas da computação modernos não têm experiência em codificação quântica e nenhuma ideia de como funciona a física quântica. Os princípios básicos devem ser introduzidos antes que descobertas mais impressionantes possam ser feitas.

Ensinar isso levará tempo – mas o Q# da Microsoft é um importante passo em frente.

Recomendações dos Editores

  • ChatGPT agora pode gerar chaves funcionais do Windows 11 gratuitamente
  • A Microsoft pode ter ignorado os avisos sobre as respostas desequilibradas do Bing Chat
  • Hackers chineses visando infraestrutura crítica dos EUA, alerta Microsoft
  • Agora você pode experimentar avatares e espaços virtuais no Microsoft Teams
  • Microsoft Build 2023: os maiores anúncios em IA, Windows e muito mais