• Nenhum resultado encontrado

3.2 MODELO NEURO-EVOLUTIVO DE COORDENAÇÃO ADAPTATIVA EM

3.2.2 Experimentos e resultados

Côrtes(2005) realizou dois conjunto de experimentos para avaliar o modelo proposto. O primeiro faz uma comparação com modelos de outros autores e o segundo buscou encontrar

35

valores satisfatórios para os diversos parâmetros de sua aplicação. Aqui serão apresentados apenas os experimentos realizados para o modelo neuro-evolutivo criado pela autora.

Na realização de experimentos com o seu modelo, Côrtes (2005) buscou variar os diversos parâmetros da aplicação a fim de encontrar boas soluções. Primeiramente foram definidos valores padrões para cada parâmetro. Dentre os principais podemos destacar que:

 O plano é toroidal de tamanho (30,30);

 A presa sempre inicia na posição central (15,15), fugindo do predador mais próximo;

 Os agentes podem ocupar uma mesma posição no mundo;

 A presa é considerada capturada quando um predador consegue tocá-la;  Existem três predadores no plano.

Após a definição de valores padrões, em cada experimento era realizado a alteração no valor de somente um parâmetro e extraídos os resultados.

Os resultados apresentaram-se mais satisfatórios quando os agentes passavam por um treinamento inicial, onde a presa fica parada para depois começar a se mover, fugindo dos predadores. Quando treinados diretamente para captura da presa, os predadores não obtiveram sucesso.

Em um ambiente não toroidal a captura se mostrou mais difícil, embora tecnicamente mais fácil pela possibilidade de utilizar o próprio cenário como auxiliar na captura (CÔRTES, 2005).

Em relação à função fitness, os resultados que obtiveram algum sucesso foram aqueles em que a aptidão é inversamente proporcional à distância final dos predadores para a presa. A média de estabilização dos agentes era na 300ª geração, ocorrendo também quando foram utilizados quatro predadores ao invés de três.

A situação mais crítica encontrada é que a presa só era capturada quando um predador a tocasse. Nos casos onde para ser considera capturada a presa tem de ser cercada, não se obteve sucesso em nenhum experimento.

36

3.3 USANDO PROGRAMAÇÃO GENÉTICA PARA EVOLUIR AGENTES JOGADORES DE FUTEBOL DE ROBÔS

No trabalho de Maia Jr. (2001), é descrita a evolução de agentes robóticos, capazes de seguir uma bola em um campo de futebol simulado. Tal evolução ocorre através da Programação Genética e passa por três estágios: primeiramente os robôs tem o objetivo de seguir paredes (extremidades do campo), sendo posteriormente evoluídos ao objetivo de seguir a bola utilizando-se de um sistema de visão global. Por fim, os robôs tem de seguir a bola, porém com um sistema de visão local.

Uma característica importante a ser considerada no ambiente de futebol de robôs, é que a PG deve criar agentes capazes de atuar nele (o qual é incerto e variável), escolhendo ações de forma rápida e efetivas.

3.3.1. Implementação

No primeiro estágio, os robôs tem de percorrer todo o campo seguindo suas extremidades e iniciando em posições e direções aleatórias no ambiente. Cada indivíduo da população é testado duas vezes. O cálculo do fitness dá-se basicamente pela diferença entre os movimentos ideais realizados e os movimentos em que o robô desviou-se do caminho. Sendo assim, quanto maior o valor, melhor será a avaliação do indivíduo. Além disso, cada população possui 500 indivíduos, sendo que 30% da população avaliada é passada através do elitismo para a próxima população, e o restante sofre o processo de crossover. O autor não informa a taxa de mutação utilizada para essa evolução.

No segundo estágio, onde a PG deve programar os robôs para seguirem a bola através de uma visão global (câmera superior ao campo e que possibilita a visualização de todo o ambiente). Foi definido que os robôs devem tocar a bola o maior número de vezes em um determinado número de passos. Além disso, o robô tem de buscar pela bola em um prazo máximo de 2000 passos (movimentos). Para calcular o fitness nesse ambiente, foi utilizada uma função a qual o número de vezes que a bola foi tocada é multiplicado por uma constante k e subtraída da razão do número de passos do agente pela distância inicial medida antes do agente se movimentar. Os demais parâmetros da PG seguem mesmos valores do estágio anterior.

O terceiro e último estágio tem o mesmo objetivo que o segundo. Contudo o sensor dos robôs passa a ser uma visão local (simulando uma câmera embarcada em cada um dos robôs). Como diferencial, foi adicionada uma função booleana para verificar se a bola está no campo

37

de visão do robô. Os demais parâmetros, tanto do ambiente como da PG são os mesmos do segundo estágio.

3.3.2. Resultados

Os resultados obtidos pelo autor foram apresentados de três formas. A primeira representou em gráficos a variação do valor do fitness no decorrer das gerações nos três estágios de evolução. Foram realizadas várias evoluções e apresentadas as variações do fitness da média das evoluções e da melhor evolução. Uma abordagem proposta pelo autor foi a tentativa de uma renovação durante a evolução dos indivíduos que deveriam percorrer o campo. Nela somente 10% de uma nova população seria composta de indivíduos da geração anterior (sejam eles advindos do processo de elitismo, crossover ou mutação). Os 90% restantes seriam criados aleatoriamente. O resultado disso foi que a média no valor do fitness caiu drasticamente.

Nos resultados apresentados em gráficos, o autor observa que os valores médios das evoluções eram muito baixos se comparados ao valor da melhor evolução. Isso deve-se ao fato de se tratar de um problema com grande grau de dificuldade.

A segunda forma de apresentação de resultados foi através do caminho percorrido pelo robô no campo. Na ilustração do caminho percorrido, sempre é utilizado o melhor indivíduo das evoluções executadas. Dessa forma era possível acompanhar o desenvolvimento do indivíduo no decorrer das gerações de forma mais fácil. A figura a seguir demonstra o caminho percorrido pelo robô no primeiro estágio de evolução.

Figura 3.5 - Caminhos para agentes seguidores de paredes.

38

De maneira geral, pode-se observar que o desempenho do robô nos três estágios de evolução é considerável muito bom, pois ele consegue cumprir de maneira eficiente os objetivos de cada estágio.

A última representação dos resultados trata-se da apresentação do código (programa) gerado pela PG para guiar o robô nos ambientes. O principal ponto observado é que a complexidade e tamanho do programa aumenta significativamente quando ocorre o avanço para um novo estágio da evolução.

O trabalho apresentado por Maia Jr. demonstrou que a PG é uma ferramenta capaz de atuar na evolução de um mecanismo para controle de robôs jogadores de futebol. Contudo, vale salientar que a PG controlava apenas um robô no ambiente simulado, sendo que a aplicação deverá ser aprimorada para poder criar times de robôs, o quais cooperariam entre si para alcançar um objetivo em comum.

4 MODELAGEM E IMPLEMENTAÇÃO

Esta seção do trabalho buscará descrever os passos utilizados na criação de toda implementação, incluindo o ambiente de simulação presa-predador, bem como a parte chave deste trabalho: um modelo de programação genética que servirá de inteligência para os predadores capturarem a presa.

A linguagem de programação utilizada foi JAVA (versão 1.7), associada ao ambiente de desenvolvimento IDE NetBeans 7.3. A aplicação criada constitui-se de classes, fora as auxiliares, que estão divididas em três subgrupos: Ambiente, Simulação e Evolução, sendo que os dois primeiros referem-se exclusivamente ao problema presa-predador, e o terceiro representa a programação genética, a qual irá interagir com os demais subgrupos.

Documentos relacionados