XIII JORNADA DE ENSINO, PESQUISA E EXTENSÃO – JEPEX 2013 – UFRPE: Recife, 09 a 13 de dezembro. REDES NEURAIS QUÂNTICAS SEM PESO: AUTÔMATOS, SIMULAÇÕES E APLICAÇÕES EM BIOINFORMÁTICA Vítor de Albuquerque Torreão1, Wilson Rosa de Oliveira2 Introdução Proposta por Richard Feynman (Feynman, 1982), na década de 1980, a Computação Quântica (Nielsen & Chuang, 2000) é uma área recente. O computador quântico é um modelo de computação não convencional. A área é interdisciplinar, pois envolve conceitos e princípios da Mecânica Quântica (Física), Álgebra Linear e Espaços de Hilbert (Matemática), Probabilidade e Processos Estocásticos (Estatística), e de Algoritmos e Teoria da Informação (Computação). Isso tudo contribui para o fato dessa área não estar presente em cursos regulares de Ciência da Computação, nem de qualquer outro curso de graduação que conhecemos. A área tomou um grande impulso nos últimos anos devido a resultados importantes como, por exemplo, o algoritmo de fatoração de números primos em tempo polinomial proposto por Shor e o algoritmo de busca proposto por Grover (Grover, 1996), que operam mais rápido do que qualquer correspondente clássico conhecido. Tem-se amplamente demonstrado desde então na literatura que computação quântica pode, em princípio, superar computação clássica em certas classes de problemas. O projeto de novos algoritmos quânticos é uma área vibrante e em franca atividade, como pode ser testemunhada pelo “zoo” de algoritmos quânticos mantido por S. Jordan (Jordan, 2011) com referências a 50 de algoritmos e 202 artigos, 27 artigos dos quais escritos em 2012-2013. A quantização³ de algoritmos clássicos veio como uma consequência natural. Em particular, diversos estudos estão sendo realizados para a quantização de métodos de aprendizado de máquina, desde redes neurais, algoritmos genéticos, cadeia de Markov a redes Bayesianas. Mais recentemente, tem se desenvolvido algoritmos quânticos em problemas relacionados à Bioinformática (Accardi et al., 2011). É importante ter algoritmos de clustering eficientes em domínios de estudo onde o número de dados é gigantesco, como por exemplo, a bioinformática. Dessa forma, pesquisas, como a presente em (Aïmeur et al., 2007), são desenvolvidas na esperança de acelerar algoritmos de clustering clássicos através de técnicas do Processamento de Informação Quântica (Quantum Information Processing, QIP. Feynman, 1982). O principal fator de aceleração é o uso de uma variação do algoritmo de busca de Grover (Grover, 1996). Trocando o componente de inversão de fase do circuito original pelo presente na Figura 1. Onde os subcircuitos P e O estão descritos nas Figuras 2 e 3. Essa variação do algoritmo de busca de Grover encontra novos índices i e j tais que Dist(i, j) > dmax , assim ele é usado para encontrar os dois indivíduos xi e x j com a maior distância. Material e métodos Para o desenvolvimento de um software que simule o circuito quântico apresentado por Aïmeur et al. (2007), foi o utilizado um sistema já existente, o Quantum SymPy (Physics/Quantum Module, 2012), um módulo de simulação de algoritmos quânticos seguindo o modelo de circuitos disponível no Computer Algebra System (CAS) SymPy (SymPy, 2012) desde sua versão 0.7.1. O Quantum SymPy foi desenvolvido seguindo o paradigma de programação orientado a objetos, dessa forma, ele provê uma hierarquia de classes que podem ser importadas e instanciadas em um script Python (Python Software Foundation, 2013) e, então, utilizadas para simular o comportamento de um computador quântico executando um determinado circuito. O módulo, em sua versão 0.7.1, possui uma classe para simular o algoritmo de Grover convencional. É preciso então expandir sua funcionalidade para que uma simulação da adaptação proposta por Aïmeur et al. seja possível. Com o circuito adaptado pronto, é possível implementar uma simulação dos algoritmos quânticos de clustering propostos em (Aïmuer et al., 2007) e os resultados dessas simulações podem ser utilizados em trabalhos futuros. 1 Primeiro Autor é Aluno do Departamento de Estatística e Informática, Universidade Federal Rural de Pernambuco. Rua Dom Manoel de Medeiros, S/N, Recife, PE, CEP 52171-900. E-mail: [email protected] 2 Segundo Autor é Professor Adjunto do Departamento de Estatística e Informática, Universidade Federal Rural de Pernambuco. Rua Dom Manoel de Medeiros, S/N, Recife, PE, CEP 52171-900. E-mail: [email protected] ³ O processo de obter uma versão quântica de um procedimento clássico, através da codificação dos dados clássicos em dados (estados) quânticos e da simulação dos procedimentos clássicos com operadores quânticos. XIII JORNADA DE ENSINO, PESQUISA E EXTENSÃO – JEPEX 2013 – UFRPE: Recife, 09 a 13 de dezembro. Resultados e Discussão Expandido a funcionalidade do Quantum SymPy, foi implementado um software capaz de simular o circuito quântico apresentado por Aïmeur et al. como uma adaptação do Grover necessária para a implementação de algoritmos de cluster. Com essa nova funcionalidade, é possível implementar algoritmos de clustering tais como Divisive Clustering e k-medians (Aïmeur et al., 2007). É possível então, em trabalhos futuros, realizar estudos sobre esses algoritmos quânticos de clustering utilizando simulações realizadas nesse software recém-desenvolvido. Um estudo comparativo entre os algoritmos de clustering clássicos e os quânticos, seria um bom exemplo do que pode ser feito no futuro com os resultados desse trabalho. Agradecimentos Este trabalho obteve suporte financeiro do CNPq através do programa de bolsas para iniciação científica, PIBIC, da Pró-Reitoria de Pesquisa e Pós-Graduação (PRPPG) da Universidade Federal Rural de Pernambuco. Os seminários e discussões no grupo de Computação Quântica da Universidade Federal Rural de Pernambuco (CQUFRPE) se mostraram imprescindíveis e contribuíram bastante no andamento do projeto. Fica o agradecimento a todos os membros, professores e alunos, do grupo. Referências Feynman, R. Simulating physics with computers. International Journal of Theoretical Physics, 1982. Nielsen, M. A.; Chuang, I. L. Quantum Computation and Quantum Information. Cambridge University Press, 2000. Grover, L. K. A fast mechanical algorithm for database search.1996. Jordan, S. Quantum Algorithm Zoo. http://math.nist.gov/quantum/zoo/ 22 Abril 2011. Accardi, L.; Freudenberg, W.; Ohya. M. Quantum Bioinformatics IV: From Quantum Information to Bio-informatics : Tokyo University of Science, Japan, 10-13 March 2010. Qp-Pq: Quantum Probability and White Noise Analysis. WORLD SCIENTIFIC PUB, 2011. Aïmeur, E.; Brassard, G.; Gambs, S. Quantum Cluster Algorithms. In Proceedings of the 24th International Conference on Machine Learning, Corvallis, OR, 2007. Physics/Quantum Module. SymPy 0.7.1 git documentation. sympy.org/dev/modules/physics/quantum/index.html>. Acesso em: 26 fev. 2012. Disponivel em: <http://docs. SymPy - Python library for symbolic mathematics. Disponivel em: <http://sympy.org/en/index.html>. Acesso em: 26 fev. 2012. Python Software Foundation. Python Programming Language – Official Website. Disponível em: <http://python.org/>. Acesso em: 26 out. 2013. Figura 1. Componente usado por Aïmeur et al. (2007) como substituto do componente de inversão de fase do algoritmo de Grover. Figura 2. Subcircuito P apresentado na Figura 1. Onde o operador [x] funciona da seguinte maneira: [x] = 0 se x for falso, e [x] = 1, caso contrário. O símbolo denota a operação de ou-exclusivo (xor). XIII JORNADA DE ENSINO, PESQUISA E EXTENSÃO – JEPEX 2013 – UFRPE: Recife, 09 a 13 de dezembro. Figura 3. Subcircuito O apresentado na Figura 1.