UNIVERSIDADE VEIGA DE ALMEIDA - UVA

BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

MONOGRAFIA

HEYDER PESTANA DIAS

INTELIGÊNCIA COMPUTACIONAL: APLICAÇÕES DO ALGORITMO GENÉTICO

AGRADECIMENTOS

Agradeço a minha família e a todos que me auxiliaram neste trabalho. Também a todos que participaram e auxiliaram em todos estes anos de estudo e trabalho, para atingir a minha formação. A aqueles que simplesmente me influenciaram com suas ideias, assim auxiliando a tomar as decisões até hoje.

RESUMO

O crescimento da necessidade de sistemas computacionais em diversas áreas do desenvolvimento humano aumenta a demanda por computadores e redes mais robustos e mais inteligentes. Entretanto, além do hardware também é necessária a evolução do software, como por exemplo, sistemas para reconhecimento de imagem, para distribuição de trafego de rede ou para pesquisa na internet. Uma das formas de aumentar a inteligência dos sistemas está na utilização de técnicas de inteligência computacional. Assim, se faz necessário um estudo mais aprofundado dessa área e do uso de algoritmos que se adaptam com o objetivo de resolver um problema específico. Esta monografia tem como objetivo analisar o uso do algoritmo de programação genética em diferentes casos de uso como uma das soluções viáveis para aplicações que necessitam adotar técnicas de inteligência computacional.

Palavras-chave: algoritmo genético, inteligência computacional, computação evolutiva.

OBJETIVO

Esse trabalho apresenta os fundamentos da aplicação do Algoritmo Genético e seus principais componentes, detalhando a funcionalidade do mesmo. Também apresenta alguns casos de especialização do uso desta técnica, onde será discutido como devem ser tratados os problemas mais comuns enfrentados no uso deste algoritmo.

Também serão apresentados dois casos reais de uso deste algoritmo e seus resultados, exemplificando assim a diversidade de problemas nos quais o AG consegue atuar. Por fim, será apresentado um estudo de caso de comparação do desempenho desta técnica com um algoritmo convencional.

TEXTO REFERÊNCIA

Alguém poderia dizer que os problemas intratáveis são raríssimos e de pouco interesse prático. Entretanto, isso infelizmente não é verdade. Os problemas de complexidade não polinomial (intratáveis) permeiam a nossa vida (LINDEN, 2008).

Quando um mesmo órgão se encontra em muitos indivíduos da mesma classe, sobretudo nos indivíduos tendo hábitos de vida muito diferentes, podemos ordinariamente atribuir este órgão a um antepassado comum que o transmitisse por hereditariedade aos descendentes; podemos, além disso, atribuir a sua falta, em alguns indivíduos da mesma classe, a um desaparecimento provindo do não uso ou da ação da seleção natural. (DARWIN, 1859)

Os organismos vivos são solucionadores de problemas consumados. Eles exibem uma versatilidade que fazem dos melhores programas de computador uma vergonha. Esta observação é especialmente irritante para cientistas da computação, que podem passar meses ou anos de esforço intelectual em um algoritmo, enquanto organismos vêm por suas habilidades através do mecanismo aparentemente sem direção de evolução e seleção natural. (HOLLAND, 1998)

Numerosos experimentos têm demonstrado que se duas plantas que diferem constantemente em um ou diversos caracteres são cruzadas, os caracteres comuns a ambas são transmitidos sem mudanças para os híbridos e sua descendência, mas cada par de caracteres diferentes se une no híbrido para formar um novo caráter, o qual é geralmente variável na descendência deste híbrido. (MENDEL, 1865)

CONCLUSÃO

Durante esse trabalho foi possível observar que existe uma grande variedade de opções para aplicação do AG, além de uma série de estudos e trabalhos a respeito dessa técnica, que procuram demonstrar sua versatilidade. Assim, o AG é uma técnica eficiente, que deve ser considerada na solução de problemas computacionais que busquem a otimização a partir de grandes volumes de dados. Entretanto, vale ressaltar que a aplicação dessa técnica depende de pessoal com conhecimento avançado sobre o problema a ser tratado, como no exemplo apresentado sobre a evolução da antena, onde era necessário não somente o conhecimento do AG, como um vasto conhecimento técnico dessa área específica. Como apresentado no estudo de caso o AG, se devidamente configurado, tem um desempenho muito eficiente mesmo para problemas de complexidade O(n), principalmente para entradas de dados muito volumosas, onde há um aumento natural do tempo de execução. Por este motivo, essa técnica pode ser aplicada para casos de complexidade como O(n²) ou O(n!), uma vez que suas complexidades são muito superiores a O(n), tornando o AG uma técnica viável de otimização de soluções no universo dos problemas intratáveis. Na comparação entre os algoritmos AG e ABL foi possível observar uma diferença significativa de desempenho entre eles. Entretanto, o AG necessita de uma análise detalhada para definir configurações que aumentem sua chance de êxito com alta precisão e baixa taxa de erro. Para contornar esse risco é necessário estudar detalhadamente os resultados no ambiente de testes até atingir as condições desejadas e, deste modo, definir uma solução que retorne resultados em tempo e precisão aceitáveis.