Cavalcanti, M.J. (1998). Algoritmos Genéticos e Redes Neurais: Novas Ferramentas Computacionais para a Pesquisa SETI. Comunidade SETI 1: 4-5. ------------------------------------------------------------------------
ALGORITMOS GENÉTICOS E REDES NEURAIS: NOVAS FERRAMENTAS COMPUTACIONAIS PARA A PESQUISA SETI.
Mauro J. Cavalcanti*
Um dos maiores problemas práticos com que se defronta a pesquisa SETI é a vasta quantidade de dados obtidos pelos programas de busca, especialmente os de longa-duração. Mesmo os programas mais modestos efetuam rotineiramente o exame de bilhões de canais de alta resolução (tipicamente 1 Hz ou menos) para cada estrela (no caso de buscas direcionadas) ou região do céu (no caso de levantamentos sistemáticos), a partir da captação e registro de sinais de banda estreita em modulação lenta (eg. /1/). Usualmente, algum algoritmo ad hoc é empregado no processamento automático de tais dados, à procura de regularidades que possam indicar uma origem artificial.
Contudo, novas e poderosas técnicas computacionais biologicamente inspiradas em particular os algoritmos genéticos /2, 3, 4/ e as redes neurais /5/ criadas no decorrer da última década com a finalidade específica de resolver problemas complexos de otimização e reconhecimento de padrões, oferecem um grande e ainda inexplorado potencial de aplicação na pesquisa SETI. O objetivo desta nota é apresentar brevemente os conceitos básicos da programação genética e da computação neural, buscando despertar a atenção da comunidade SETI para o valor potencial destas técnicas no processamento de sinais captados pelos atuais programas de busca.
Algoritmos genéticos /2, 3, 4/ são métodos computacionais que utilizam princípios oriundos da Biologia Evolutiva reprodução diferencial, recombinação genética e mutação na solução de problemas de otimização de difícil abordagem por métodos algorítmicos convencionais. Enquanto os algoritmos convencionais (inclusive os baseados em métodos heurísticos) partem de uma solução inicial e procuram obter uma solução final por refinamentos sucessivos, um algoritmo genético procede na busca da solução para um dado problema gerando inicialmente uma grande população de possíveis soluções (codificadas em uma estrutura de dados simples convencionalmente denominada de "cromossomo"), cada uma das quais mais ou menos "apta" em sua habilidade de resolver o problema. A cada geração de processamento, as soluções mais bem-sucedidas (segundo algum critério externo de avaliação da aptidão) são mantidas e "acasalam-se" entre si, sofrem mutações aleatórias e reproduzem-se para produzir a próxima geração; as demais são eliminadas. O processo é repetido até que, após um grande número de gerações, a população "evolui" em direção a uma solução ótima para o problema. Uma possível aplicação dos algoritmos genéticos na pesquisa SETI seria na busca sistemática eficiente de características presumivelmente artificiais entre os dados coletados pelos dispositivos de varredura automática acoplados à antena.
Redes neurais artificiais /5/ são sistemas computacionais que processam informações de maneira análoga ao cérebro humano. Uma rede neural consiste de um grande número de elementos interconectados, que procuram simular as células nervosas vivas (neurônios) e suas interações. Estes elementos são dispostos em uma camada de entrada, que recebe os dados a serem processados e uma camada de saída, que produz os resultados do processamento; entre estas pode haver uma ou mais camadas intermediárias ou "ocultas", que efetivamente definem a topologia da rede e realizam o processamento propriamente dito. Durante o processamento da informação, cada neurônio artificial recebe um sinal de entrada e produz um sinal de saída, que é enviado aos neurônios da camada seguinte. Aos dados de entrada tipicamente são atribuídos "pesos", ou valores que indicam o grau de importância de cada entrada em relação ao neurônio receptor. Os valores dos pesos são somados e, quando excedem um limiar pré-estipulado, são passados para a próxima camada da rede. Uma vez que as redes neurais não seguem sequências de instruções como um programa de computador convencional, precisam ser "treinadas" para reconhecer os padrões procurados antes de sua utilização na resolução de problemas práticos. O treinamento ou "aprendizado" de uma rede neural geralmente é efetuado apresentando-se à rede um conjunto conhecido de dados de entrada e saída e ajustando-se os pesos dos neurônios da camada de entrada para produzir a saída desejada. Na aplicação de redes neurais à pesquisa SETI, a fase de treinamento envolveria a apresentação dos possíveis parâmetros indicadores em um sinal artificial de origem extraterrestre, os quais a rede se encarregaria de localizar em meio à massa de dados coletados pelos dispositivos de varredura automática.
A programação genética e a computação neural têm-se mostrado muito promissoras para o reconhecimento de padrões e a solução de problemas de otimização em diversas áreas de aplicação, incluindo a simulação de sistemas biológicos /4/, o reconhecimento de voz e de texto impresso ou manuscrito /5/, a modelagem de moléculas orgânicas /6/, o controle de processos industriais e a identificação taxonômica de organismos /7/. Na pesquisa SETI, tais técnicas podem contribuir para o desenvolvimento de dispositivos de coleta e análise de dados de extrema velocidade e eficiência, possibilitando a varredura automática de um espectro de frequências ainda mais amplo, vindo à somar-se proveitosamente aos métodos de processamento de sinais atualmente em uso pelos programas de busca de inteligência extraterrestre.
Referências
/1/ - Horowitz, Paul & Sagan, Carl. "Five years of Project META: an all-sky narrow-band radio search for extraterrestrial signals". Ap. J., 1993, Vol. 415, pp. 218-233.
/2/ - Denning, Peter J. "Genetic algorithms". Amer. Sci., 1992, Vol. 80, pp. 12-14.
/3/ - Holland, John H. "Genetic algorithms". Sci. Amer., 1992, Vol. 267, No. 1, pp. 44-50.
/4/ - Forrest, Stephanie. "Genetic algorithms: principles of natural selection applied to computation". Science, 1993, Vol. 261, pp. 872-878.
/5/ - Tafner, Malcon A., Xerez, Marcos de & Rodrigues Filho, Ilson W. Redes Neurais Artificiais: Introdução e Princípios de Neurocomputação. Editora EKO/Editora da Fundação Universidade Regional de Blumenau, Blumenau, 1996.
/6/ - Willett, Peter. "Genetic algorithms in molecular recognition and design". Trends Biotechnol., 1995, Vol. 13, pp. 516-521.
/7/ - Montague, Gary & Morris, Julian. "Neural-network contributions in biotechnology". Trends Biotechnol., 1994, Vol. 12, pp. 312-324.