Uma introdução à computação quântica com a estrutura Cirq de código aberto

4 de março de 2019

Como o título sugere o que vamos começar a discutir, este artigo é um esforço para entender o quão longe chegamos na Computação Quântica e para onde caminhamos no campo para acelerar a pesquisa científica e tecnológica, através de uma perspectiva de código aberto com Cirq.

Primeiro, iremos apresentá-lo ao mundo da Computação Quântica. Tentaremos o nosso melhor para explicar a ideia básica por trás do mesmo antes de olharmos como o Cirq estaria desempenhando um papel significativo no futuro da Computação Quântica. O Cirq, como você deve ter ouvido falar recentemente, tem trazido notícias de última hora na área e, neste artigo da Open Science, tentaremos descobrir o porquê.

Antes de começarmos com o que é Computação Quântica, é fundamental conhecer o termo Quantum, ou seja, uma partícula subatômica que se refere à menor entidade conhecida. A palavra Quantum é baseada na palavra latina Quantus, que significa, quão pouco, conforme descrito neste breve vídeo:

Será mais fácil para nós entender a Computação Quântica comparando-a primeiro com a Computação Clássica. A Computação Clássica se refere a como os computadores convencionais de hoje são projetados para funcionar. O dispositivo com o qual você está lendo este artigo agora também pode ser referido como um dispositivo de computação clássico.

Computação Clássica

A computação clássica é apenas outra maneira de descrever como um computador convencional funciona. Eles funcionam por meio de um sistema binário, ou seja, as informações são armazenadas usando 1 ou 0. Nossos computadores clássicos não podem entender qualquer outra forma.

Em termos literais, dentro do computador, um transistor pode estar ligado (1) ou desligado (0). Todas as informações que fornecemos são traduzidas em 0s e 1s, para que o computador possa entender e armazenar essas informações. Tudo é representado apenas com a ajuda de uma combinação de 0s e 1s.

Computação quântica

A Computação Quântica, por outro lado, não segue um modelo ligado ou desligado como a Computação Clássica. Em vez disso, ele pode lidar simultaneamente com vários estados de informação com a ajuda de dois fenômenos chamados sobreposição e entrelaçamento, acelerando assim a computação em um ritmo muito mais rápido e também facilitando uma maior produtividade no armazenamento de informações.

Observe que a sobreposição e o emaranhamento não são o mesmo fenômeno.

Portanto, se temos bits na Computação Clássica, então, no caso da Computação Quântica, teríamos qubits (ou bits Quânticos). Para saber mais sobre a grande diferença entre os dois, verifique esta página de onde a foto acima foi obtida para explicação.

Os computadores quânticos não substituirão nossos computadores clássicos. Mas, existem certas tarefas gigantescas que nossos computadores clássicos nunca serão capazes de realizar e é quando os computadores quânticos se provariam extremamente engenhosos. O vídeo a seguir descreve o mesmo em detalhes, ao mesmo tempo que descreve como funcionam os computadores quânticos:

Um vídeo abrangente sobre o progresso da Computação Quântica até agora:

Quantum de escala intermediária ruidosa

De acordo com o artigo de pesquisa atualizado muito recentemente (31 de julho de 2018), o termo Noisy refere-se à imprecisão devido à produção de um valor incorreto causado por controle imperfeito sobre qubits. Essa imprecisão é o motivo pelo qual haverá sérias limitações no que os dispositivos Quantum podem alcançar a curto prazo.

A escala intermediária se refere ao tamanho dos computadores quânticos que estarão disponíveis nos próximos anos, onde o número de qubits pode variar de 50 a algumas centenas. 50 qubits é um marco significativo porque está além do que pode ser simulado por força bruta usando os mais poderosos [supercomputadores] digitais existentes (https://www.explainthatstuff.com/how-supercomputers-work.html). Leia mais no artigo aqui.

Com o advento do Cirq, muita coisa está para mudar.

O que é Cirq?

Cirq é uma estrutura python para criar, editar e invocar circuitos NISQ (Noisy Intermediate Scale Quantum) sobre os quais acabamos de falar. Em outras palavras, o Cirq pode enfrentar desafios para melhorar a precisão e reduzir o ruído na Computação Quântica.

Cirq não requer necessariamente um computador quântico real para execução. Cirq também pode usar uma interface semelhante a um simulador para realizar simulações de circuitos quânticos.

O Cirq está gradualmente ganhando ritmo, com um de seus primeiros usuários sendo Zapata, formado no ano passado por um grupo de cientistas da Universidade de Harvard com foco em Computação Quântica.

Introdução ao Cirq no Linux

Os desenvolvedores da Open Source Cirq library recomendam a instalação em um virtual python environment como virtualenv. O guia de instalação dos desenvolvedores para Linux pode ser encontrado aqui.

No entanto, instalamos e testamos o Cirq diretamente para Python3 em um sistema Ubuntu 16.04 por meio das seguintes etapas:

Instalando Cirq no Ubuntu

Cirq Framework para Quantum Computing no Linux Cirq Framework para Quantum Computing no Linux Primeiro, exigiríamos pip ou pip3 para instalar o Cirq. Pip é uma ferramenta recomendada para instalar e gerenciar pacotes Python.

Para as versões Python 3.x, o Pip pode ser instalado com:

Comandos para usar no terminal

sudo apt-get install python3-pip

Os pacotes Python3 podem ser instalados por meio de:

Comandos para usar no terminal

pip3 install

Prosseguimos e instalamos a biblioteca Cirq com Pip3 para Python3:

Comandos para usar no terminal

pip3 install cirq

Habilitando a geração de plotagem e PDF (opcional)

Dependências opcionais do sistema não instaláveis com pip podem ser instaladas com:

Comandos para usar no terminal

sudo apt-get install python3-tk texlive-latex-base latexmk

    • python3-tk * é a própria biblioteca gráfica do Python que permite a funcionalidade de plotagem.
    • texlive-latex-base e latexmk * permitem a funcionalidade de escrita de PDF.

Mais tarde, testamos o Cirq com sucesso com o seguinte comando e código:

Comandos para usar no terminal

python3 -c 'import cirq; print(cirq.google.Foxtail)'

Obtivemos a saída resultante como:

Configurando Pycharm IDE para Cirq

Também configuramos um IDE Python PyCharm no Ubuntu para testar os mesmos resultados:

Desde que instalamos Cirq para Python3 em nosso sistema Linux, definimos o caminho para o interpretador do projeto nas configurações do IDE como:

Comandos para usar no terminal

/usr/bin/python3

Na saída acima, você pode observar que o caminho para o interpretador do projeto que acabamos de definir é mostrado junto com o caminho para o arquivo do programa de teste (test.py). Um código de saída 0 mostra que a execução do programa foi concluída com êxito e sem erros.

Portanto, esse é um ambiente IDE pronto para usar, onde você pode importar a biblioteca Cirq para iniciar a programação com Python e simular circuitos quânticos.

Comece com o Cirq

Um bom lugar para começar são os exemplos que foram disponibilizados na página do Cirq no Github.

Os desenvolvedores incluíram este tutorial no GitHub para começar a aprender Cirq. Se você realmente quer aprender a computação quântica, eles recomendam um livro excelente chamado Quantum Computation and Quantum Information, de Nielsen e Chuang.

OpenFermion-Cirq

OpenFermion é uma biblioteca de código aberto para obter e manipular representações de sistemas fermiônicos (incluindo Química Quântica) para simulação em Computadores Quânticos. Os sistemas fermiônicos estão relacionados à geração de férmions, que de acordo com a física de partículas, seguem estatísticas de Fermi-Dirac.

OpenFermion foi aclamado como uma grande ferramenta prática para químicos e pesquisadores envolvidos com Química Quântica. O foco principal da Química Quântica é a aplicação da Mecânica Quântica em modelos físicos e experimentos de sistemas químicos. A Química Quântica também é conhecida como Mecânica Quântica Molecular.

O advento do Cirq agora possibilitou ao OpenFermion estender sua funcionalidade, fornecendo rotinas e ferramentas para usar o Cirq para compilar e compor circuitos para algoritmos de simulação quântica.

Google Bristlecone

Em 5 de março de 2018, o Google apresentou Bristlecone, seu novo processador Quantum, no encontro anual da American Physical Society em Los Angeles. O sistema supercondutor baseado em porta fornece uma plataforma de teste para pesquisa em taxas de erro do sistema e escalabilidade da tecnologia qubit do Google, junto com aplicativos em Quantum simulação, otimização e aprendizado de máquina.

Em um futuro próximo, o Google quer tornar seu processador Bristlecone Quantum de 72 qubit acessível à nuvem. Bristlecone gradualmente se tornará capaz de realizar uma tarefa que um Supercomputador Clássico não seria capaz de completar em um período de tempo razoável.

O Cirq tornaria mais fácil para os pesquisadores escreverem programas diretamente para o Bristlecone na nuvem, servindo como uma interface muito conveniente para programação e teste do Quantum em tempo real.

O Cirq nos permitirá:

  • Controle de sintonia fina sobre os circuitos quânticos,
  • Especifique o comportamento do portão usando portas nativas,
  • Coloque os portões de forma adequada no dispositivo e
  • Programe o tempo dessas portas.

A perspectiva da ciência aberta no Cirq

Como todos sabemos, Cirq é Open Source no GitHub, sua adição às Comunidades Científicas de Código Aberto, especialmente aquelas que são focadas em Pesquisa Quântica, agora podem colaborar de forma eficiente para resolver os desafios atuais da Computação Quântica hoje, desenvolvendo novas maneiras de reduzir as taxas de erro e melhorar a precisão nos modelos Quantum existentes.

Se o Cirq não tivesse seguido um modelo de código aberto, as coisas definitivamente teriam sido muito mais desafiadoras. Uma grande iniciativa teria sido perdida e não estaríamos um passo mais perto no campo da Computação Quântica.

Resumo

Para resumir no final, primeiro apresentamos o conceito de Computação Quântica, comparando-o às técnicas de Computação Clássica existentes, seguido por um vídeo muito importante sobre atualizações recentes de desenvolvimento em Computação Quântica desde o ano passado. Em seguida, discutimos brevemente o Quantum em escala intermediária com ruído, para o qual o Cirq foi criado especificamente.

Vimos como podemos instalar e testar o Cirq em um sistema Ubuntu. Também testamos a usabilidade da instalação em um ambiente IDE com alguns recursos para começar a aprender o conceito.

Por fim, vimos também dois exemplos de como o Cirq seria uma vantagem essencial no desenvolvimento da investigação em Computação Quântica, nomeadamente o OpenFermion e o Bristlecone. Concluímos a discussão destacando algumas reflexões sobre o Cirq com uma perspectiva de ciência aberta.

Esperamos ter sido capazes de apresentar a você a Computação Quântica com Cirq de uma maneira fácil de entender. Se você tiver algum feedback relacionado ao mesmo, por favor, nos informe na seção de comentários. Obrigado por ler e esperamos vê-lo em nosso próximo artigo Open Science.

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Avimanyu Bandyopadhyay e publicado no site itsfoss.com. Tradução sujeita a revisão.

An Introduction to Quantum Computing with Open Source Cirq Framework

Propaganda
Blog Comments powered by Disqus.
Propaganda