• Nenhum resultado encontrado

Modelo Neuro-Evolutivo de Coordenação Adaptativa em Ambientes Dinâmico

5.2 COMPARAÇÃO COM TRABALHOS RELACIONADOS

5.2.2 Modelo Neuro-Evolutivo de Coordenação Adaptativa em Ambientes Dinâmico

Em relação a aplicação de Côrtes (2005), verifica-se a existência de diferenças consideráveis com a aplicação aqui apresentada, tanto em configurações quanto em desempenho e eficácia.

A Tabela 5.7 demonstra as diferenças entre as aplicações, no que diz respeito ao ambiente de simulação, demonstrando em quais casos a presa era ou não capturada.

Tabela 5.7 - Comparação de características das aplicações de modelo Neuro-Evolutivo e de Programação Genética

Características Captura no Modelo

Neuro-Evolutivo

Captura com Programação Genética

Mundo limitado Não Sim

Posição inicial dos personagens: Fixa Sim Sim Posição inicial dos personagens: Aleatória Não Sim

Captura: tocar a presa Sim Sim

Captura: cercar a presa Não Sim

As características “Posição inicial dos personagens: Fixa” foi implementada na presente aplicação para poder obter os resultado comparativos. A presa definida era dotada de inteligência e o ambiente era toroidal. Como esperado, a presa era capturada da mesma forma como quando os personagens eram definidos inicialmente em posições aleatórias.

Definir na presente aplicação a característica de captura por toque da presa não foi relevante para a comparação, visto que se era possível cercar a presa, com certeza era possível tocá-la.

A partir dos resultados demonstrados, observa-se uma grande vantagem da aplicação de programação genética em relação ao modelo neuro-evolutivo proposto por Côrtes, pois há maior generalidade e eficiência na resolução do problema presa-predador.

Fonte: Próprio autor.

59

6 CONCLUSÃO

O presente trabalho apresentou o estudo e implementação de uma técnica de inteligência artificial denominada Programação Genética. Ela foi testada utilizando um problema da classe NP, chamado de Presa-Predador, onde os predadores guiados por programas criados pela PG, deveriam capturar a presa, cercando-a de modo que não pudesse se mexer.

Durante a pesquisa realizada, não foi encontrado nenhum trabalho que utilizou a PG para a resolução do problema citado a fim de obter comparativos. Percebeu-se porém, que a utilização da PG proporcionou a obtenção de resultados satisfatórios em relação aos dois trabalhos apresentados na busca de soluções próximas ao ótimo em relação ao problema presa- predador.

A implementação da PG, embora possa ser considerável simples, conseguiu gerar programas que obtiveram sucesso na captura da presa em todos os ambientes descritos no decorrer do trabalho. Contudo, as soluções apresentadas variavam em questão de desempenho, nem sempre garantindo uma boa taxa de captura. Isso pode ter ocorrido devido à não implementação do operador genético de crossover, fazendo que a convergência para a solução ideal seja menos eficiente, embora não descartando a eficácia da PG.

Ao utilizar a programação genética como ferramenta na resolução de problemas complexos, percebe-se que a sua eficácia é de grande qualidade. Visto que é possível a criação de agentes inteligentes, capazes de interagir com um ambiente, e além disso, ela é adaptável, podendo ser aplicada a diversos problemas da classe NP, inclusive na criação automática de

software.

Para futuros trabalhos, é proposta a implementação do operador de crossover a fim de comprovar a convergência mais eficiente para soluções próximas à solução ótima para o problema Presa-Predador. Além disso, pretende-se utilizar a PG combinada à outras técnicas de busca e estruturas de dados para construir agentes inteligentes que possuam a capacidade de memorizar estados, possibilitando assim a resolução de outros problemas em sistemas dinâmicos, onde tal característica é imprescindível.

60

REFERÊNCIAS

BECCENERI, José Carlos. Meta-heurísticas e Otimização Combinatória: Aplicações em Problemas Ambientais. Escola de Verão do Laboratório Associado de Computação e

Matemática Aplicada. São José dos Campos: [s. n.], 2013. Disponível em:

<http://www.lac.inpe.br/ELAC13/arquivos/MiniCurso_02ELAC2012.pdf>. Acesso em: 19 set. 2013.

CHAVES, A.A.; LORENA, L.A.N. Clustering search algorithm for the capacitated

centeredclustering problem. [s.l.]: [s.n.], 2010, p. 552-558.

CÔRTES, Deise da Silva. Modelo Neuro-Evolutivo de Coordenação Adaptativa em

Ambientes dinâmicos. 2005. 72 p. Dissertação (Mestrado em Ciência da Computação) –

Universidade Federal do Rio Grande do Sul, Porto Alegre.

GRONER, Loiane. NP – Completude. 2006. 42 p. Trabalho apresentado à disciplina de Teoria da Computação (Graduação em Ciência da Computação) – Faculdades Integradas Espírito-santenses, Vitória, 2006.

KOZA, John R. et al. Genetic Programming IV: Rountime Human-Competitive Machine Intelligence. 2ª Edição. [s. l.]: Springer, 2003. 624 p.

LINDEN, Ricardo. Algoritmos Genéticos. 2ª Edição. São Paulo: Brasport, 2008. 428 p.

LINDEN, Ricardo. Algoritmos Genéticos. 3ª Edição. Rio de Janeiro: Ciência Moderna Ltda, 2012. 484p.

LUGER, George F. Inteligência Artificial: Estruturas e Estratégias para a Solução de Problemas Complexos. 4ª Edição. Porto Alegre: Bookman, 2004. 774 p.

MAIA JR., Luiz Carlos; BIANCHI, Reinaldo A. C. Usando Programação Genética para

Evoluir Agentes Jogadores de Futebol de Robôs. São Bernardo do Campo: [s.n.], 2001.

Disponível em <http://fei.edu.br/~rbianchi/publications/revistafei2001.pdf>. Acesso em 21 out. 2013.

MARTINEZ, José Mário; SANTOS, Sandra Augusta. Métodos Computacionais de

Otimização. [São Paulo]: [s.n.], 1998. Disponível em

61

MARTINS, André. Definição: O que são Meta-Heurísticas. [s.l.]: [s.n.], 2010. Disponível em <http://brainstormdeti.wordpress.com/2010/05/15/definicao-meta-heuristicas/>. Acesso em: 31 ago. 2013.

METAHEURISTICS NETWORK. [s.l.]: [s.n.], 2012. Disponível em <http://www.metaheuristics.net>. Acesso em 21 out. 2013.

MICHALEWICZ, Zbigniew.; FOGEL, David B. How to Solve it: Modern Heuristics. 2ª Edição.Berlim: Springer, 2004. 554 p.

MIYAZAWA, Flávio Keidi; Algorítmos de Aproximação. Campinas: [s. n.], [200?]. Disponível em < http://www.ic.unicamp.br/~fkm/problems/algaprox.html>. Acesso em: 20 out. 2013.

OBITKO, Marek. Introdução aos Algoritmos Genéticos. Tradução Hermelindo Pinheiro Manoel. Praga: [s.n.], 2004. Disponível em <http://obitko.com/tutorials/genetic-

algorithms/portuguese/index.php>. Acesso em: 10 abr. 2013.

POOLE, David; MACKWORTH, Alan; GOEBEL, Randy, Computational intelligence: A logical approach. Oxford: [s.n.], 1998. Oxford University Press, 1998. 576 p.

RUSSEL, Stuart; NORVIG, Peter. Inteligência Artificial. Tradução Vandenberg D. de Souza. Rio de Janeiro: Elsevier, 2004.

SOUZA, Luiza Vidal de. Programação Genética e Combinação de Preditores para

Previsão de Séries Temporais. 2006. 138 p. Tese (Doutorado em Ciências) – Universidade

Federal do Paraná, Curitiba, 30 out. 2006.

SCHÜLLER, João Paulo Schwarz. Inteligência Artificial Popperiana. 2002. 105 p.

Dissertação (Mestrado em Ciência da Computação) – Universidade Federal do Rio Grande do Sul, Porto Alegre.

VÉLEZ, Mario César; MONTOYA, José Alejandro. Metaheurísticos: Una Alternativa para la Solución de Problemas Combinatorios em Administración de Operaciones. Revista EIA, Envigado, 2007. Disponível em <http://www.scielo.org.co/scielo.php?pid=S1794-

62

ANEXO A – RESUMO EXPANDIDO APRESENTADO AO XXI SEMINÁRIO DE INICIAÇÃO CIENTÍFICA (2013), PREMIADO COMO TRABALHO DESTAQUE PROGRAMAÇÃO GENÉTICA APLICADA A RESOLUÇÃO DO PROBLEMA

PRESA-PREDADOR1

Marcelo Wuttig Friske2, Tales Ruan Scheffler Panke3, Mateus Reizes Coimbra da Silva4, Rogério Samuel de Moura Martins5, Juliano Gomes Weber 6, Sandro Sawicki 7

1 Parte integrante do Trabalho Conclusão de Curso;

2 Aluno do curso de Ciência da Computação da Unijuí, marcelo8118@gmail.com; 3 Aluno do curso de Ciência da Computação da Unijuí, talesruan@gmail.com;

4 Aluno do curso de Ciência da Computação da Unijuí, mateus_reizes@hotmail.com ;

5 Professor Orientador, Mestre em Computação Aplicada, Curso de Ciência da Computação, rogerio.martins@unijui.edu.br;

6 Professor Mestre do Departamento de Ciências Exatas e Engenharias, julianors@gmail.com; 7 Professor Doutor do Departamento de Ciências Exatas e Engenharias, sawicki@unijui.edu.br;

Introdução

No decorrer da evolução da computação, podemos observar sua requisição para resolução de problemas com complexidades cada vez maiores. Busca-se a partir disso, métodos que vão além de aumento do poder computacional para solucionar tais problemas. Conforme Russel (2004), existem algoritmos de buscas que não consideram o caminho percorrido para chegar ao resultado, pois não fará parte dele (como por exemplo, escalonamento de horários). Algoritmos assim são denominados de busca local. Além deles, encontramos outra área que busca soluções para problemas complexos: A inteligência artificial (AI – Artificial Inteligence), capaz de sistematizar e automatizar tarefas intelectuais através de agentes inteligentes. Ou seja, capazes de perceber e atuar sob o ambiente através de sensores - como os olhos, e de atuadores - como as mãos.

Existe um problema conhecido como presa-predador, proposto por Miroslav Benda (Korf, 1992), onde há um plano de coordenadas x e y finito, um agente chamado presa e quatro agentes denominados predadores. Os agentes podem mover-se vertical e horizontalmente, não podendo ocupar a mesma posição. O plano (ou “mundo”) é limitado ou toroidal, este último define que quando um agente atinge a última célula do plano, ele passa para a primeira célula de posição contrária. O objetivo é que os predadores cerquem a presa, de modo que ela não possa se mover. Será utilizado esse problema para testar a eficiência de agentes inteligentes que serão criados através da Programação Genética (PG). Ela é baseada na teoria da Evolução das Espécies, de Darwin, a qual explica que as espécies competem entre si por recursos, sendo que a mais adaptada ao habitat é a que terá maior probabilidade de sobreviver - pois conseguirá se reproduzir mais facilmente. A PG foi desenvolvida por John Koza em 1989, e é considerada uma das técnicas de Computação Evolucionária na qual os indivíduos são programas computacionais que utilizam árvores sintáticas, variando de forma e tamanho (Souza, 2006). Ainda existem conjuntos de estados denominados populações, que serão submetidos a operadores genéticos tais como seleção (fitness), crossover e mutação. Eles irão simular um processo de evolução natural da população, gerando novos estados (ou indivíduos) que serão uma boa solução para o problema. Além de buscar resolver o problema da presa-predador atuando sobre os predadores com PG e apresentar os resultados através de um conjunto de regras, esse trabalho propõe a comparação entre um estudo semelhante, que busca resolver o mesmo problema de forma semelhante.

63

Metodologia

A proposta do presente trabalho foi realizar testes em uma implementação própria, onde é simulado o ambiente presa-predador e evoluída a inteligência dos predadores através de PG. Para isso, foi utilizada a linguagem de programação Java.

Foram criadas classes para a implementação da árvore sintática. Elas representam os operadores de controle de fluxo, lógicos, de relação e aritméticos. Também foram criadas classes de operandos, que são representados por variáveis denotadas pelas coordenadas de cada predador (x1,y1...x4,y4) e da presa (xp e yp). Houve a criação de classes que implementam os personagens presa e predadores, a classe Mapa que define as características do ambiente e a classe Simulacao, a qual é executada em virtude da classe Evolucao.

A classe Evolucao é a responsável pela Programação Genética, e recebe os parâmetros para execução da simulação, tais como: máximo de gerações, tamanho da população, taxa de mutação, tamanho do mapa e se o mesmo é toroidal. No decorrer da simulação, a evolução avalia o desempenho de cada indivíduo na simulação e lhe atribui um fitness. Logo após realiza a mutação dos indivíduos conforme a probabilidade desta acontecer. Ao final da simulação, é retornada à tela de interface gráfica a expressão definida pelo indivíduo de melhor avaliação.

Resultados e discussão

Côrtes (Deise da Silva, 2005) expõe em sua dissertação de mestrado a utilização de redes neurais que sejam evoluídas através de algoritmos genéticos para resolver o problema presa- predador. Em sua implementação, os predadores passam primeiramente por um treino, onde o grau de dificuldade do problema aumenta conforme os predadores executam a tarefa de captura com sucesso. Para a função fitness foi utilizado um cálculo onde a qualidade do indivíduo é inversamente proporcional à distância final dos predadores em relação à presa.

Contudo, os resultados obtidos pela autora não foram de todo satisfatórios. Quando o mundo era definido como limitado, os predadores não conseguiam capturar a presa, embora fosse tecnicamente mais fácil. No ambiente de evolução aqui descrito essa tarefa foi muito fácil quando a presa era estacionária - tanto quando o objetivo era tocar quanto cercar a presa. Na implementação foram criados dois níveis iniciais para a evolução dos personagens, semelhante ao trabalho de Côrtes, os indivíduos são submetidos a níveis de avaliação, onde o primeiro objetivo é tocar a presa estacionária, posteriormente cerca-la. . Já as informações que o predador recebe para evoluir são as próprias coordenadas, dos demais predadores e da presa. O fitness é calculado diferentemente de acordo com o nível, sendo que para o primeiro nível é definido o número de passos necessários para tocar-se a presa, e o segundo utiliza uma média de distância entre os predadores e a presa. A simulação inicia com o primeiro nível, ao chegar à sexta geração de indivíduos, foi definido que os indivíduos teriam de enfrentar o segundo nível. Em ambos os casos os predadores conseguiram atingir o seu objetivo

Os parâmetros utilizados na classe Evolucao para testes com bons resultados foram: máximo de gerações: 250; tamanho da população: 50; taxa de mutação: 5%; largura e altura do mapa: 10 e mapa limitado. Todos esses parâmetros não podem ser definidos como ótimos, pois a cada execução novas expressões são geradas, podendo ser de melhor ou menor qualidade que a anterior. Contudo, esses parâmetros foram suficientes para que os indivíduos conseguissem tocar e capturar a presa. Realizaram-se testes de 10 simulações, onde a aptidão da população se estabilizou a partir da 163ª geração.

64

Como não foi implementada a função de crossover, somente ocorreu a seleção e mutação de indivíduos, esta última com uma probabilidade de 5% em cada nó da árvore sintática, a fim de haver diversidade de indivíduos e maior probabilidade de alcance do objetivo. O mapa foi definido como limitado, pois é parte do primeiro e segundo nível da evolução não podendo defini-lo como toroidal.

Conclusão

Nota-se que a proposta de Côrtes não foi tão satisfatória quanto o desejado. Seus agentes possuíam o mesmo conhecimento se comparado ao da implementação deste trabalho (coordenadas dos personagens), contudo para casos em que o mundo era limitado, seus predadores não conseguiram capturar a presa, enquanto isso foi uma tarefa muito simples nesse trabalho, quando a presa era estacionária.

O principio da navalha de Ockham, o qual define que se existem diversas soluções para um problema, a mais simples é a melhor (Patriquin, 2007), nota-se que dentro da PG, dependendo do problema a ser resolvido, nem todos os operadores genéticos precisam ser implementados. Não foi utilizado o crossover neste trabalho, pois ao cruzar duas soluções consideradas boas na função fitness, acabara-se por criar uma expressão mais complexa e não necessariamente melhor.

Como sugestão a trabalhos futuros, será buscado implementar mais níveis de complexidade para o problema presa-predador. O objetivo final do trabalho é adquirir conhecimento e experiência em programação genética, onde se possam implementar soluções para outros tipos de problemas utilizando a PG.

Palavras-Chave: Programação genética, inteligência artificial, agentes inteligentes. Referências Bibliográficas

CORTÊS, Deise da Silva. Modelo Neuro-Evolutivo de Coordenação Adaptativa em

Ambientes Dinâmicos. Universidade Federal do Rio Grande do Sul. Programa de Pós-

Graduação em Computação, 2005.

KORF, Richard E. A simple solution to pursuit games. International Workshop on Distributed Artificial Intelligence, 1992.

PATRIQUIN, Travis. O Princípio da Navalha de Occam para Vincular Fatos: O Partido

Ba’ath e a Insurgência em Tal Afar. Military review, 2007.

RUSSEL, Stuart J. Inteligência Artificial: tradução da segunda edição. Elsevier Editora Ltda, 2004.

SOUZA, Luiza Vidal de. Programação Genética e Combinação de Preditores para

Previsão de Séries Temporais. Universidade Federal do Paraná, 2004. Disponível em

Documentos relacionados