Com informações da Agência Fapesp - 16/08/2012
Árvores de Decisão
Árvores de Decisão são programas que dão aos computadores a capacidade de fazer previsões a partir da análise de dados históricos.
A técnica pode, por exemplo, auxiliar o diagnóstico médico ou a análise de risco de aplicações financeiras.
Mas, para ter a melhor previsão, é necessário o melhor programa gerador de Árvores de Decisão.
Para alcançar esse objetivo, pesquisadores do Instituto de Ciências Matemáticas e de Computação (ICMC) da Universidade de São Paulo (USP), em São Carlos, se inspiraram na teoria evolucionista de Charles Darwin.
"Desenvolvemos um algoritmo evolutivo, ou seja, que [imita] o processo de evolução humana para gerar soluções", disse Rodrigo Coelho Barros, doutorando do Laboratório de Computação Bioinspirada (BioCom) do ICMC.
Computação evolutiva
A computação evolutiva, explicou Rodrigo, é uma das várias técnicas bioinspiradas, ou seja, que buscam na natureza soluções para problemas computacionais.
"É notável como a natureza encontra soluções para problemas extremamente complicados. Não há dúvidas de que precisamos aprender com ela", disse Rodrigo.
Segundo Rodrigo, o software desenvolvido em seu doutorado é capaz de criar automaticamente programas geradores de Árvores de Decisão. Para isso, faz cruzamentos aleatórios entre os códigos de programas já existentes, gerando "filhos".
"Esses 'filhos' podem eventualmente sofrer mutações e evoluir. Após um tempo, é esperado que os programas de geração de Árvores de Decisão evoluídos sejam cada vez melhores e nosso algoritmo seleciona o melhor de todos", afirmou Rodrigo.
Mas, enquanto o processo de seleção natural na espécie humana leva centenas ou até milhares de anos, na computação dura apenas algumas horas, dependendo do problema a ser resolvido. "Estabelecemos cem gerações como limite do processo evolutivo", contou Rodrigo.
Heurística
Em Ciência da Computação, é denominada heurística a capacidade de um sistema fazer inovações e desenvolver técnicas para alcançar um determinado fim.
O software desenvolvido por Rodrigo se insere na área de hiper-heurísticas, tópico recente na área de computação evolutiva, que tem como objetivo a geração automática de heurísticas personalizadas para uma determinada aplicação ou conjunto de aplicações.
"É um passo preliminar em direção ao grande objetivo da inteligência artificial: o de criar máquinas capazes de desenvolver soluções para problemas sem que sejam explicitamente programadas para tal", detalhou Rodrigo.