Notícia

Inovação Tecnológica

Computação evolutiva gera melhores árvores de decisão

Publicado em 16 agosto 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.

Com informações da Agência Fapesp