A Computação Quântica se baseia nos princípios da Mecânica Quântica. Ao contrário dos computadores clássicos, os quânticos possuem capacidade de paralelismo como padrão, o que torna sua velocidade de processamento para resolução de problemas muito maior. Para esse desempenho, o uso de determinados algoritmos faz-se necessário. Neste texto, apresenta-se alguns estudos sobre o algoritmo de Grover, com o objetivo de conhecer e aprender a implementá-lo nos simuladores quânticos, além de analisar e interpretar os resultados obtidos.
A Computação Quântica se baseia nos princípios da Mecânica Quântica. Ao contrário dos computadores clássicos, os quânticos possuem capacidade de paralelismo como padrão, o que torna sua velocidade de processamento para resolução de problemas muito maior. Para esse desempenho, o uso de determinados algoritmos faz-se necessário. Neste texto, apresenta-se alguns estudos sobre o algoritmo de Grover, com o objetivo de conhecer e aprender a implementá-lo nos simuladores quânticos, além de analisar e interpretar os resultados obtidos.
Um estudo passo a passo dos algoritmos de Grover e Shor A step-by-step study of Grover and Shor algorithmsResumo Os algoritmos de Grover e de Shor são duas das principais descobertas da computação quântica no início das pesquisas nessa área.O primeiro é um algoritmo de busca com um ganho de velocidade significativo em relação aos algoritmos clássicos e com grande aplicação na resolução de diversos outros problemas.O segundo é capaz de resolver o problema da fatoração de um número C em tempo polinomial, o que foi responsável por um grande impulso na pesquisa em computação e criptografia quântica.Neste trabalho de Iniciação Científica apresentamos os algoritmos quânticos de Grover e Shor, amplamente utilizados na computação quântica, com uma proposta original focada nos estados quânticos obtidos após cada passo na evolução do circuito.Dessa forma, exercita-se a aplicação das portas quânticas e a percepção das propriedades quânticas, bem como o funcionamento desses dois algoritmos.No circuito de Grover destacamos a fundamental propriedade de emaranhamento quântico que permite executar tarefas de processamento de informação.
O objetivo do trabalho é estudar algoritmos quânticos de busca, usados em computadores quânticos. Até então, algoritmos de busca utilizados em computadores clássicos dependem da estrutura na qual os dados estão organizados para serem ou não eficientes. Para conjuntos de dados não estruturados, o único jeito é verificar cada elemento do conjunto procurando o elemento passado na entrada do algoritmo, e dependendo da quantidade de elementos nesse conjunto, pode-se levar muito tempo, mesmo para computadores muito rápidos. Portanto, algoritmos que realizem busca de maneira eficiente são um atrativo e tanto para cientistas da computação, que podem pensar em inúmeras aplicações dos mesmos e tornar vários softwares cada vez mais eficientes. Tendo isso em vista, a computação quântica traz artifícios inexistentes na computação clássica que podem acelerar esse processo, como, por exemplo, o paralelismo quântico. Basicamente, consiste na capacidade de sobrepor todos os dados do conjunto em um único registrador, ou a grosso modo, analisar todos ao mesmo tempo, apesar de não ser tão simples quanto isso. É baseado nisso que temos o Algoritmo de Grover, que utilizando o paralelismo quântico, e reflexões no conjunto de dados, através do uso de transformações unitárias feitas por portas quânticas, temos uma probabilidade alta de que quando medirmos este registrador quântico, termos como resultado o dado procurado.
A Computacao Quântica surgiu como uma promissora tecnologia alternativa capaz de contornar os problemas previstos para acontecerem em breve com a saturacao da tecnologia atual (Computacao Classica). Estes problemas acontecem quando se trabalha com componentes muito pequenos, da ordem de poucos nanometros, quando os efeitos da Mecânica Quântica comecam a tornar-se mais fortes, gerando resultados aleatorios. A Computacao Quântica toma proveito desses efeitos, resultando numa Computacao nao somente mais rapida, como um novo tipo de Computacao, capaz de realizar tipos novos de computacao impossiveis, em principio, de serem realizadas classicamente. Embora a teoria da Computacao Quântica venha se desenvolvendo com rapidez, a parte experimental ainda enfrenta grandes dificuldades. Embora implementacoes de algoritmos simples e com poucos qubits ja tenham sido realizadas, ainda ha problemas serios de escalabilidade, descoerencia e controlabilidade a serem resolvidos. Devido a esses problemas, torna-se imperativo o uso de simuladores tanto para o desenvolvimento de novos algoritmos quanto para o estudo dos algoritmos existentes. A simulacao, porem, apresenta um problema, no que um sistema quântico so pode ser simulado eficientemente por outro sistema quântico. Um sistema quântico de n qubits levara um tempo O(2n ) para ser simulado por um computador classico. A simulacao, entretanto, mostra-se a alternativa mais viavel em vista da falta de um hardware quântico. Este trabalho apresenta o processo de concepcao e implementacao de um simulador universal de circuitos quânticos, denominado Zeno. O modelo de circuitos quânticos foi escolhido por ser amplamente difundido e de facil assimilacao. O trabalho apresenta uma introducao aos conceitos de Computacao Quântica usados na implementacao do simulador, os requisitos gerais desejaveis para um novo simulador de circuitos quânticos, tanto do ponto de vista funcional quanto do nao-funcional, o processo de desenvolvimento utilizado e uma analise dos resultados obtidos com a implementacao do simulador.
O artigo explora o impacto da computação quântica na teoria da complexidade computacional, com destaque para as classes P e BQP, abordando como os paradigmas quânticos desafiam as categorizações clássicas de problemas. Ao examinar os algoritmos de Shor e Grover, o estudo discute a maneira como esses algoritmos ampliam o escopo de problemas considerados resolvíveis, o que anteriormente era inviável em termos de tempo polinomial em sistemas clássicos. A análise apresenta uma revisão histórica das classes de complexidade, abordando o surgimento e a importância das classes P e NP e a relevância de algoritmos quânticos em problemas intratáveis. Além disso, o artigo aborda a introdução de teorias híbridas que integram métodos clássicos e quânticos, como o Variational Quantum Eigensolver (VQE) e o Quantum Annealing, destacando a eficiência dessas abordagens para resolver problemas de otimização complexos. As discussões sobre as classes probabilísticas BPP e PP também são centrais para compreender o papel da probabilidade em algoritmos quânticos, uma característica intrínseca ao modelo de computação quântica. O estudo justifica-se pela necessidade de uma reavaliação contínua das bases da teoria da complexidade frente aos avanços quânticos, que redefinem limites teóricos e práticos. Embora a computação quântica ainda enfrente desafios, como a estabilidade dos qubits, as propostas de paradigmas híbridos oferecem caminhos promissores para resolver problemas de alta complexidade, sinalizando uma transição para uma era computacional mista, com potencial para revolucionar a resolução de problemas no século XXI.
Computação quântica é uma área de grande desenvolvimento hoje em dia e isso traz uma necessidade para desenvolver hardware e software. Uma vez que o hardware disponível é muito pouco e o software precisa de ser testado, existe uma necessidade de uma boa plataforma para testar as soluções de software. Simular um computador quântico num computador clássico não é ideal, contudo é uma resposta viável a esta necessidade, para um pequeno número de qubits. Além disso, os computadores quânticos necessitam dos computadores clássicos de forma a criar um sistema real prático, isto apresenta-se como uma excelente oportunidade para testar técnicas de programação clássica para melhorar a programação quântica. Esta tese propõe o uso de programação clássica para melhorar a implementação de um algoritmo de adição modular usando transformadas de Fourier quânticas. Os principais objectivos deste trabalho são: simular um circuito quântico; testar um algoritmo quântico e compará-lo com o seu equivalente clássico; implementar o algoritmo de adição modular, usando as capacidades de aceleração de computação das transformadas de Fourier quânticas e optimizá-lo; Testar e implementar códigos quânticos de correcção de erros; fazer um teste num computador quântico real.De forma a testar a linguagem e comparar um algoritmo quântico com um clássico, fez-se um teste ao algoritmo de Shor que está disponível de raiz na plataforma liquid. Apesar do algoritmo de Shor ter, teoricamente, uma dependência de tipo polinomial com a dimensão do problema, os testes realizados mostraram que o tempo de computação tem um comportamento exponencial. Simular um algoritmo quântico num computador clássico requer tempo de computação que cresce de forma exponencial, pois é necessário armazenar e processar todos os estados do sistema, que é um espaço de Hilbert de dimensão 2^n.O algoritmo de adição modular usando transformadas de Fourier quânticas foi implementado na plataforma liquid. Seguidamente fizeram-se melhorias e optimizações. O número de operações teórico é O(n^2). Contudo, depois de fazer melhorias ao circuito, removendo gates desnecessárias para casos específicos, o número de operações passa a ter um valor mínimo de Omega(n). Com este tipo de alterações o sistema pode apresentar melhorias no que respeito ao tempo de simulação até um factor de ordem 10. Isto mostra que programar um algoritmo quântico tendo em conta casos específicos pode melhorar imenso o desempenho da simulação.Os códigos de correção de erros quânticos foram implementados num circuito simples, com as ferramentas disponíveis na plataforma liquid, e obteve-se um sistema que consegue lidar com erros com probabilidade inferior ou igual a 2%, com uma taxa de sucesso na sua correção de 95%. Contudo são necessários circuitos muito grandes, pouco exequíveis.A plataforma disponibilizada pela IBM para fazer testes num computador quântico real, foi utilizada para testar o algoritmo de adição modular e adição normal (com carry bit). Uma vez que esta plataforma tem um número limitado de gates, reforça a ideia de que se deve otimizar os algoritmos tendo em conta casos particulares. Os resultados destes testes mostram também que é importante utilizar correcção de erros quânticos, mas para que isso seja viável é necessário que haja mais qubits disponíveis ou outro tipo de códigos.
A computação quântica é uma das mais promissoras tecnologias atuais, ela se baseia nos princípios da mecânica quântica para fornecer um paradigma computacional que promete um ganho expressivo de processamento. Com isso, problemas considerados intratáveis classicamente poderão ter soluções quânticas eficientes. Como até então nenhuma máquina quântica efetiva foi criada, a simulação se tornou a alternativa mais viável para o estudo e o desenvolvimento da área. Em vista disso, é necessário disponibilizar um sistema computacional que permita uma descrição em nível apropriado de um algoritmo quântico e uma “máquina” para simular esta descrição. Na literatura relacionada o estudo da computação quântica é, em geral, realizado através da linguagem de circuitos quânticos. Nesta linguagem, um algoritmo é apresentado através de sua representação visual (sintaxe) aliada à descrição e manipulação simbólica do estado do sistema (semântica). No presente trabalho é apresentado o processo de desenvolvimento de um Computer Algebra System (CAS) específico para o contexto de circuitos quânticos. O CAS foi implementado como uma extensão para o Zeno, tornando o simulador a única ferramenta do gênero a fornecer uma descrição completa da linguagem de circuitos A simulação simbólica incorporada ao Zeno permite que as descrições matemáticas do estado do sistema sejam criadas e manipuladas facilmente. Com isso, é possível simplificar ou exibir formas de representação alternativas para facilitar a compreensão e resolução do sistema investigado. O uso conjunto da abordagem numérica e gráfica com a abordagem simbólica, facilita sobremaneira o entendimento de um algoritmo e a compreensão de sua descrição matemática. As funcionalidades atualmente fornecidas pelo Zeno agilizam o desenvolvimento de algoritmos, pois permitem que os usuários trabalhem de uma forma mais rápida e eficiente do que se executarem os cálculos à mão. Além disso, o CAS possibilita a apresentação de descrições fieis àquelas exibidas na literatura.