DESENVOLVIMENTO DE CONTROLADORES FUZZY PARA ROBÔS JOGADORES DE FUTEBOL SIMULADO DO TIPO ATACANTE



Documentos relacionados
RELATÓRIO FINAL DE ATIVIDADES PIBIC ou PIBITI

DESCRIÇÃO DE UMA ESTRATEGIA PARA COMPETIÇÃO DE FUTEBOL DE ROBOS

Desenvolvimento de Estratégia para Programação do Futebol de Robôs da Mauá

SISTEMA ESPECIALISTA FUZZY PARA POSICIONAMENTO DOS JOGADORES APLICADO AO FUTEBOL DE ROBÔS

Abordagens Matemáticas e Estatísticas para o Futebol

IMPLEMENTAÇÃO DE ALGORITMOS DE APRENDIZADO MULTI- AGENTE EM UM TIME DE FUTEBOL DE ROBÔS

COMO PROGRAMAR SEU TIME

Universidade do Estado da Bahia (UNEB) Rua Silveira Martins, 2555, Cabula. Salvador BA Brasil. Rua Theodomiro Batista, 422, Rio Vermelho BA Brasil

6 Conclusões e próximos passos

Agentes Inteligentes. Inteligência Artificial. Exemplos. Agentes Inteligentes. Prof. Ms. Luiz Alberto Contato:

O momento do gol. Parece muito fácil marcar um gol de pênalti, mas na verdade o espaço que a bola tem para entrar é pequeno. Observe na Figura 1:

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

Evolução Histórica e Tática do Futebol

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

A CIÊNCIA DOS PEQUENOS JOGOS Fedato Esportes Consultoria em Ciências do Esporte

2 Engenharia de Software

MecaTeam 2006: Um Sistema Multiagente Reativo para o futebol de robôs simulado

Processos de Gerenciamento de Projetos. Planejamento e Controle de Projetos 5 TADS FSR. Processos

TEORIA DOS JOGOS E APRENDIZADO

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Cartilha do ALUNO EMPREENDEDOR POLITÉCNICA

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Frederico Miguel Santos

1. Introdução. 1.1 Contextualização do problema e questão-problema

Guia de utilização da notação BPMN

Trabalho de Implementação Jogo Reversi

Implementadas por Computador

Resumo Descritivo dos Conteúdos das Disciplinas de Ementa Aberta para

INTRODUÇÃO A ROBÓTICA

Evolução da cooperação em populações modeladas por autômatos celulares com o uso de teoria de jogos

ESTUDO DE CASO: LeCS: Ensino a Distância

Processos de gerenciamento de projetos em um projeto

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Sistemas de Informação Gerencial

Roteiro SENAC. Análise de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos

XIX CONGRESSO DE PÓS-GRADUAÇÃO DA UFLA 27 de setembro a 01 de outubro de 2010

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

EDUCAÇÃO A DISTÂNCIA COMO UM INSTRUMENTO DAS POLÍTICAS DE EDUCAÇÃO PERMANENTE EM SAÚDE: UMA EXPERIÊNCIA DO HOSPITAL ALEMÃO OSWALDO CRUZ

O Trabalho em Equipe

2 Trabalhos relacionados

CURSO. Master in Business Economics 1. vire aqui

MS777: Projeto Supervisionado Estudos sobre aplicações da lógica Fuzzy em biomedicina

Uso da Telefonia Móvel: Uma Ferramenta de Interação para a Aprendizagem a Distância

Sistemas de Informação I

INTERPRETANDO A GEOMETRIA DE RODAS DE UM CARRO: UMA EXPERIÊNCIA COM MODELAGEM MATEMÁTICA

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Gerenciamento de Projetos Modulo III Grupo de Processos

Gerenciamento da Integração (PMBoK 5ª ed.)

OXENTE TEAM: IMPLEMENTAÇÃO DE HABILIDADES DE JOGO EM UM TIME DE FUTEBOL DE ROBÔS SIMULADO UTILIZANDO OTIMIZAÇÃO HEURÍSTICA

PRODUÇÃO DE CONHECIMENTO EM VOLEIBOL

Sistemas Inteligentes. Aula: Agentes Inteligentes Flávia Barros & Patricia Tedesco

1. Introdução. Avaliação de Usabilidade Página 1

agility made possible

Análise de Percolação em Barragem de Terra Utilizando o Programa SEEP/W

II Jogos Estudantis do Colégio Vital Brazil

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Invenções Implementadas por Computador (IIC) Patentes

Olimpíada Brasileira de Robótica 2009

2 Fundamentação Conceitual

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

CÓPIA MINISTÉRIO DA FAZENDA Conselho Administrativo de Recursos Fiscais

CONSTRUÇÃO DE QUADRINHOS ATRELADOS A EPISÓDIOS HISTÓRICOS PARA O ENSINO DA MATEMÁTICA RESUMO

APLICAÇÕES E ANÁLISE DE SISTEMAS SUPERVISÓRIOS "SCADA"

Avaliação de Desempenho

Jornal Oficial da União Europeia L 141/5

Matemática em Toda Parte II

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

RESENHA PALAVRAS-CHAVE. Informação; transporte público; identidade visual. INTRODUÇÃO

Educação Patrimonial Centro de Memória

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

MELHORIA DA QUALIDADE e MASP (Prof. José Carlos de Toledo GEPEQ/DEP-UFSCar) 1. Introdução

PROJETO DE REDES

Mestrado Profissional em Ensino de Biologia em Rede Nacional - PROFBIO PROPOSTA

Planificação de. Aplicações Informáticas B

Banco de Dados Orientado a Objetos

* Regulamento Técnico 2016 * FUTSAL

Avaliação de Desempenho de Sistemas

Introdução ao Controlo Numérico Computorizado I Conceitos Gerais

PREVISÃO DE DEMANDA - O QUE PREVISÃO DE DEMANDA - TIPOS E TÉCNICAS DE PREVISÃO DE DEMANDA - MÉTODOS DE PREVISÃO - EXERCÍCIOS

Densímetro de posto de gasolina

Desenvolvimento de uma Etapa

AS CONTRIBUIÇÕES DAS VÍDEO AULAS NA FORMAÇÃO DO EDUCANDO.

Qualidade e Teste de Software. QTS - Norma ISO (NBR13596) 1

1. REGISTRO DE PROJETOS

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

AS MOEDAS DO MUNDO. C a d a a t i v i d a d e p o d e s e i m p re s s a separadamente e realizada com as crianças em sala de aula ou em casa.

Exemplo: Na figura 1, abaixo, temos: Clique aqui para continuar, que é a primeira atividade que você precisa realizar para iniciar seus estudos.

Planejamento e Gestão Estratégica

O AMBIENTE MOTIVADOR E A UTILIZAÇÃO DE JOGOS COMO RECURSO PEDAGÓGICO PARA O ENSINO DE MATEMÁTICA

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

OS SABERES PROFISSIONAIS PARA O USO DE RECURSOS TECNOLÓGICOS NA ESCOLA

PUBLICO ESCOLAR QUE VISITA OS ESPAÇOS NÃO FORMAIS DE MANAUS DURANTE A SEMANA DO MEIO AMBIENTE

Gráficos estatísticos: histograma. Série Software ferramenta

Transcrição:

DESENVOLVIMENTO DE CONTROLADORES FUZZY PARA ROBÔS JOGADORES DE FUTEBOL SIMULADO DO TIPO ATACANTE Hugo da Luz Silva 1, Marco Simões 1, 2, Helder Guimarães Aragão 2 1 Núcleo de Arquitetura de Computadores e Sistemas Operacionais (ACSO) Universidade do Estado da Bahia (UNEB) Rua Silveira Martins, 2555, Cabula. Salvador BA Brasil 2 Grupo de Pesquisa em Computação Inteligente (GPCI) Centro Universitário da Bahia (FIB) Rua Xingu, nº. 179, Jardim Atalaia/STIEP. Salvador BA Brasil hugodaluz@gmail.com, marcosimoes@fib.br, helderfib@yahoo.com.br Abstract. This paper presents an investigation about the application of fuzzy reasoning to build robots that act as soccer attackers to solve Robots Soccer standard problem in a simulated environment. This project assumed the hypothesis that is possible to enhance the attackers behavior in a soccer team of robots using fuzzy logic. The proposed controllers were modeled, implemented and verified through the simulator Soccer Server 2D supplied by Robocup Federation. The results were validated in games against teams projected by other national and international institutions and they presented progress in the kick methods and in the attacker's positioning. Key Words: Fuzzy Logic, Robots Soccer, Robocup. Resumo. Este artigo apresenta uma investigação da aplicação de técnicas de raciocínio baseado em conhecimento nebuloso em robôs atacantes para resolver o problema padrão Futebol de Robôs em ambiente simulado. Este projeto parte da hipótese que é possível aperfeiçoar o comportamento de atacantes em um time de futebol de robôs utilizando lógica fuzzy. Os controladores propostos foram modelados, implementados e verificados através do simulador Soccer Server 2D fornecido pela Robocup Federation. Os resultados foram validados em jogos com equipes projetadas por outras instituições nacionais e internacionais e apresentaram avanços nos métodos de chute e no posicionamento dos atacantes. Palavras chave: Lógica Fuzzy, Futebol de robôs, Robocup. 1. Introdução O futebol é um dos jogos de equipe mais praticados no mundo e possui como principal característica a cooperação entre os jogadores para alcançar a vitória. Por ser um ambiente imprevisível, não-determinístico e dinâmico, tem sido considerado um

problema padrão para a Inteligência Artificial e gerado vários tópicos de pesquisa em diversas áreas, tais como: sistemas com múltiplos agentes, algoritmos de cooperação, inteligência artificial distribuída, aprendizagem, reconhecimento de padrões e robótica inteligente. Atualmente existem duas iniciativas que abordam o tema: a RoboCup (Robot World Cup) Federation (Kitano, 1997) e a FIRA (Federation of International Robot-Soccer Association). As duas se diferenciam na abordagem do problema. Enquanto a Fira apenas aborda a solução de problemas onde os robôs possuem baixo grau de autonomia, a RoboCup fornece problemas mais complexos envolvendo robôs completamente autônomos. Essas ligas ganharam notoriedade internacional e continuam realizando campeonatos anualmente. As duas entidades possuem diversas categorias, que envolvem desde robôs simulados até robôs bípedes. Além do futebol, essas organizações ainda realizam outros tipos de competições envolvendo robôs (resgate de vítimas em escombros, robôs domésticos e categorias infantis). A RoboCup é uma iniciativa internacional que visa encorajar pesquisas na área de inteligência artificial e robótica inteligente, com o objetivo de capacitar robôs para a realização autônoma de atividades e formação de equipes na realização de tarefas cooperativas. Criada em 1996 (Kitano, 1997), a RoboCup fornece um problema padrão, o Futebol de Robôs, onde variadas linhas de pesquisa podem ser integradas e examinadas, tais como: desenvolvimento de agentes autônomos, colaboração entre agentes, raciocínio em tempo real e robótica. O presente artigo apresenta um estudo, modelagem e aplicação de controladores nebulosos em agentes inteligentes jogadores de futebol de robôs simulado em 2 dimensões. O objetivo é desenvolver controladores nebulosos para os agentes jogadores de futebol, especificamente os atacantes, como meio de otimização do seu comportamento básico. Este trabalho faz parte do projeto de pesquisa em Robótica Inteligente desenvolvido na Universidade do Estado da Bahia (UNEB) e Centro Universitário da Bahia (FIB) financiado pelos programas UNEB/PICIN e FIB/PIBIC. Na próxima seção apresentaremos os conceitos básicos de inteligência artificial e agentes inteligentes que servem de base para este trabalho. A seção 3 descreve os principais conceitos da Lógica Fuzzy. Na seção 4 é descrito o ambiente em que os agentes irão interagir. Na seção 5 são apresentados os trabalhos relacionados. A seção 6 apresenta a implementação dos controladores e as mudanças no código base do jogador. A seção 7 apresenta a descrição dos testes e os resultados obtidos durante os jogos. Finalmente, a seção 8 apresenta as considerações finais e sugestões para trabalhos futuros. 2. Inteligência Artificial O termo inteligência pode ser definido como a habilidade para aprender, entender, reagir adaptativamente e tomar decisões próprias (Kasabov, 1998). A Inteligência Artificial (IA) inclui métodos, ferramentas e sistemas para resolver problemas que normalmente requerem a inteligência de humanos (Rao, 1995). Seus objetivos são desenvolver métodos e sistemas para resolver problemas, que normalmente são resolvidos pela atividade intelectual de humanos (reconhecimento de imagem, planejamento, predição) e desenvolver modelos que simulam organismos vivos, o cérebro humano em particular.

2.1 Agentes Inteligentes Um agente é entidade autônoma, que toma decisões sem a interferência de um sistema ou outra entidade (Russell, 2003). Um agente deve ser capaz de perceber o ambiente à sua volta (geralmente através de sensores), raciocinar e agir por intermédio de seus atuadores. Montenegro (1999) apresenta algumas características essenciais aos agentes inteligentes: a) Ser reativo, produzindo respostas síncronas ou assíncronas às mudanças no ambiente. b) Ser orientado a objetivos, seguindo metas e não apenas reagindo às mudanças do ambiente. c) Ser temporalmente contínuo, permitindo que seja executado continuamente. d) Ser autônomo, possuindo controle sobre as próprias ações. 3. Lógica Fuzzy A lógica Fuzzy foi desenvolvida por Zadeh em 1965 para representar conhecimento incerto e impreciso (Zadeh, 1965). Esta lógica fornece uma maneira aproximada, mas efetiva de descrever o comportamento de sistemas que são muito complexos, maldefinidos ou de difícil análise matemática. A intenção de Zadeh era flexibilizar a pertinência de elementos em conjuntos que não possuíam fronteiras bem definidas. Para isso, ele criou o conceito de grau de pertinência. Dessa forma, um elemento poderia pertencer parcialmente a um dado conjunto. 3.1 Conjuntos Fuzzy Segundo Russell (2003), a teoria dos conjuntos Fuzzy é uma maneira de especificar o quanto um objeto satisfaz a uma descrição vaga. Fabri (2000) afirma que a força da Lógica Fuzzy deriva da sua habilidade em inferir conclusões e gerar respostas baseadas em informações vagas, ambíguas, incompletas e imprecisas. Neste aspecto, os sistemas de base Fuzzy têm habilidade de raciocinar mesmo na ausência de informações completas sobre o ambiente onde o agente está inserido. Seu comportamento é representado de maneira muito simples e natural, levando à construção de sistemas compreensíveis e de fácil manutenção. Estes conjuntos são formados por Variáveis Lingüísticas que possuem valor expresso qualitativamente por um termo lingüístico e quantitativamente por uma função de pertinência (Ortega, 2001). Estas variáveis podem conter modificadores que alteram seu valor. Esses modificadores podem amenizar ou intensificar o seu valor, alguns exemplos mais comuns são: muito, pouco, não muito, mais ou menos. 3.2 Controladores Nebulosos As técnicas de controle nebuloso se caracterizam pela utilização de regras lógicas no algoritmo de controle, com a intenção de descrever em uma rotina a experiência humana, intuição e heurística para controlar um processo. Esses controladores são bastante versáteis quando o modelo físico é complexo e de difícil representação matemática. São utilizados em sistemas não-lineares ou onde a incerteza se faz presente de maneira intrínseca. A figura 1 apresenta a estrutura básica de um controlador nebuloso, descrita a seguir.

Figura 1: Estrutura básica de um controlador nebuloso. Adaptada de (Sandri, 1999). Interface de Fuzificação Possui a função de identificar os valores das variáveis de entrada, que caracterizam o estado do sistema, e normalizá-los em um universo de discurso padronizado. Base de Regras Possui a função de caracterizar a estratégia de controle e as metas do controlador. É formada por estruturas do tipo: Se <premissa> Então <conclusão> (Sandri, 1999). Estas regras, juntamente com os dados de entrada, são processadas pela máquina de inferência, que infere as ações de controle de acordo com o estado do sistema, aplicando o operador de implicação. Máquina de Inferência O processo de inferência consiste em: a) Verificação do grau de compatibilidade entre os fatos e as cláusulas nas premissas das regras. b) Determinação do grau de compatibilidade global da premissa de cada regra. c) Determinação do valor da conclusão, em função do grau de compatibilidade da regra com os dados e a ação de controle constante na conclusão. d) Agregação dos valores obtidos como conclusão nas várias regras, obtendo-se uma ação de controle global. Interface de Defuzificação Nos controladores nebulosos do tipo clássico, a interface de defuzificação é utilizada para obter uma única ação de controle precisa, a partir do conjunto nebuloso. Os métodos mais utilizados são (Sandri, 1999): a) Primeiro Máximo (SOM): Encontra o valor de saída através do ponto em que o grau de pertinência da distribuição da ação de controle atinge o primeiro valor máximo. b) Média dos Máximos (MOM): Encontra um valor de saída que representa o valor médio de todos os valores em que a função de pertinência atinge o máximo. c) Centro da Área (COA): Também conhecido como Centróide. O valor de saída é o centro de gravidade da função de distribuição de possibilidade da ação de controle.

4. O Ambiente do Futebol de Robôs Simulado O ambiente no qual os agentes irão interagir é o simulador Soccer Server 2D que fornece um campo de futebol virtual que segue as regras do futebol normal e possui, proporcionalmente, as mesmas medidas (aproximadamente 105m de comprimento e 68m de largura). Esse servidor, disponibilizado pela RoboCup Federation, é implementado em C e C++ e possui uma arquitetura estilo cliente-servidor onde os clientes (jogadores) podem ser escritos em qualquer linguagem de programação que tenha interface UDP/IP. Esse servidor é um sistema em tempo real que trabalha com intervalos discretos (ciclos). Atualmente, o jogo ocorre em dois tempos de 5 minutos (3000 ciclos), portanto cada ciclo tem uma duração de 100ms. O Soccer Server também inclui uma ferramenta de visualização chamada monitor de futebol que exibe o que está acontecendo dentro do servidor durante um jogo. O servidor e o monitor são conectados por UDP/IP. Assim que o servidor é conectado ao monitor, passa a enviar informações relativas ao estado atual do mundo a cada ciclo. A figura 2 apresenta a arquitetura completa do servidor. Figura 2: Modelo de conexão entre o Soccer Server, os clientes e o Monitor. Adaptada de (Reis, 2003). 5. Trabalhos Relacionados Os times descritos nesta seção foram desenvolvidos por outros grupos de pesquisa e foram estudados e utilizados na validação dos resultados do desenvolvimento dos controladores nebulosos desenvolvidos neste trabalho. A escolha dos times se deu pelo bom desempenho alcançado pelos mesmos em competições brasileiras e mundiais em anos anteriores. a) UvA Trilearn 2003 (Kok, 2003) Participou da Robocup 2003, da qual foi campeão. Essa versão possui os métodos de decisão de comportamentos de alto nível. Possui três características fundamentais (Kok, 2003): métodos de determinação de pontos de interceptação da bola, acréscimo de regras nos métodos de passe e implementação de grafos de coordenação para os comportamentos dos jogadores.

b) O MecaTeam 2006 (Costa et. Al., 2006) foi o vice-campeão da Robocup Brasil de 2006 e utiliza o UvA Trilearn como base para uma arquitetura chamada de Agente Autônomo Concorrente. Essa arquitetura é baseada em um modelo híbrido para agentes cognitivos, formada por três camadas, onde cada uma é implementada como um processo distinto, formando um agente cognitivo. c) ITAndroids (Matsuura et al., 2006) implementa várias rotinas utilizando o UvA Trilearn, como carregar a bola, passe e proteção de bola. Para aprimorar o comportamento dos agentes foram utilizados modelos de predição de posição e velocidade de jogadores e da bola usando a Teoria da Probabilidade e alguns outros conceitos, como variáveis e vetores aleatórios e estimação de parâmetros. d) O Brainstormers 2006 (Riedmiller, 2006) é um time que participa da Robocup desde 1998 e foi vice-campeão em 2006. Explora técnicas de aprendizado de máquina, especificamente, aprendizado por reforço. Utiliza o aprendizado por reforço nas habilidades de chute, interceptação de bola, posicionamento, passe. Além disso, possui uma camada de habilidades de trabalho em equipe, para ações cooperativas visando posicionamento e marcação de gol. e) O Dainamite 2006 (Endert, 2006) participou da Robocup 2006 e terminou em 9º lugar na competição. É um time completamente desenvolvido utilizando Java. É constituído de seis módulos: modelo de mundo, sincronização, ação, tática e dispositivos de planejamento. Possui métodos de planejamento de ações e componentes táticos, para escolha das habilidades a serem utilizadas. 6. Controladores Difusos para Robôs Atacantes Os controladores propostos são apresentados nessa seção. Foram desenvolvidos dois, um para o posicionamento dos atacantes e outro para a escolha da posição no gol onde o chute será efetuado. Esses controladores foram modelados utilizando a ferramenta XFuzzy 3.0. Figura 3: Conjunto fuzzy para as variáveis posição no gol e do goleiro 6.1 Controlador para Posição de Chute O objetivo desse controlador é encontrar o ponto no gol onde a possibilidade de marcar seja a maior possível, sendo a bola chutada da posição atual do agente. Dessa forma o agente vai escolher o canto do chute de acordo com a sua posição em relação ao gol e posição relativa do goleiro. A variável de saída é a Posição do Chute, que representa a posição no gol em que o agente irá chutar a bola. Seu universo de discurso varia de -7.0 à 7.0, correspondente à posição das traves no eixo Y. O valor do eixo X a ser

considerado é o limite do campo, o mesmo da linha do gol, 52.5. A variável possui os termos lingüísticos apresentados na figura 3. As variáveis de entrada que influenciam a saída são: Posição do Goleiro, que representa a posição do goleiro, no gol, em relação ao agente e a Posição do Jogador, que representa a posição relativa do agente no campo, com universo de discurso variando de -7.0 à 7.0. Os termos lingüísticos utilizados estão apresentados na figura 4. Figura 4: Conjunto fuzzy para a variável posição do jogador. As regras para esse controlador foram criadas a partir da combinação entre as variáveis de entrada e visando a posição no gol mais distante possível do goleiro, sem desconsiderar a posição do jogador. O mesmo peso foi atribuído para todas as regras da base. Algumas destas regras são apresentadas na tabela 1. Tabela 1: Regras para a inferência da posição do chute. Peso Posição Goleiro Posição Jogador Posição Chute 1.0 Muito esquerda Esquerda Direita 1.0 Esquerda Centro Muito direita 1.0 Direita Esquerda Muito esquerda 6.2 Controlador para Posicionamento sem a Bola O objetivo desse controlador é permitir que os atacantes, quando sem a posse da bola, encontrem uma posição no campo do adversário baseado em sua posição atual, na linha de impedimento e na posição da bola. Foi utilizada a abordagem de divisão do campo em zonas (adaptada da proposta de Boer e Kok (2002), onde a metade do campo do adversário foi dividida em uma matriz de 9 zonas, a figura 5 apresenta essa divisão. A ferramenta XFuzzy possibilitou a modelagem de dois controladores para a posição: um para o eixo X e outro para o eixo Y. Esses dois controladores foram integrados à um sistema, que possui duas bases de regras independentes. Essa divisão simplificou a criação das regras e não interferiu no resultado desejado, pois a variável de saída do eixo X não é influenciada pelas variáveis de entrada no eixo Y e o mesmo ocorre com a saída no eixo Y. Dessa forma, o sistema funciona como um único controlador com cinco entradas e duas saídas.

Figura 5: Divisão do campo em zonas. Para o time que começa o jogo à esquerda. Adaptada de (Reis, 2003). As variáveis de saída utilizadas pelo controlador são a Posição X e a Posição Y, que representam a posição final a qual o agente deve se deslocar no eixo X e Y respectivamente. Conforme a figura 6, as variáveis do eixo X possuem os seguintes termos lingüísticos: Longe que varia de 0 à 19.875, Médio que varia de 13.25 à 39.75 e Perto que varia de 21.2 à 52.5. A figura 7 apresenta os termos lingüísticos das variáveis do eixo Y com seu universo de discurso variando de -34.0 à 34.0: Esquerda que varia de -34.0 à 8.5, Centro que varia de -8.5 à 17.0 e Direita que varia de 8.5 à 34.0. Figura 6: Conjunto fuzzy para as variáveis do eixo X. Figura 7: Conjunto fuzzy para as variáveis do eixo Y.

As variáveis de entrada são: a posição do jogador e da bola nos eixos X e Y e a posição impedimento no eixo X. Utilizam o mesmo universo de discurso e termos lingüísticos utilizados pelas variáveis de saída nos eixos X e Y. Nas tabelas 2 e 3 são apresentadas algumas regras desse controlador. Tabela 2: Regras para posição do jogador no eixo Y. Peso Pos. Bola Y Pos. Atacante Y Pos. Final Y 0.7 esquerda centro centro 1.0 centro esquerda centro 0.7 direita esquerda esquerda As regras para esse controlador foram criadas de forma que o agente se deslocasse apenas entre quadrantes adjacentes. Dessa forma, a movimentação ocorre entre distâncias curtas, pois a cada ciclo as percepções podem mudar e consequentemente a direção a seguir. Por exemplo, um agente posicionado no quadrante 8 só poderá se deslocar até os quadrantes 4, 5, 6, 7, 8 e 9, pois não conseguirá chegar aos quadrantes 1, 2 e 3 no próximo ciclo. Isso foi definido criando regras que possuem os mesmos valores para as entradas, mas com saídas e pesos diferentes. As regras para o agente permanecer no quadrante atual, quando a bola está em outro quadrante possuem peso menor, fazendo com que ele se movimente sempre na direção da bola. Tabela 3: Regras para posição do jogador no eixo X. Peso Pos. Bola X Linha Impedimento Pos. Atacante X Pos. Final X 1.0 longe longe Médio longe 0.7 médio perto Médio perto 0.4 longe perto Médio médio 6.3 Mudanças no Código do UvA Trilearn Para a implementação do modelo apresentado na seção 6.2, foi utilizado o código base do UvA Trilearn 2003 utilizado como interface de comunicação por diversos times que já disputam a Robocup há alguns anos. Foram criados dois métodos para a inclusão dos controladores fuzzy no código do time: melhorposicao e melhorchute. Outros métodos para controlar as ações dos demais jogadores do time foram criados com base no comportamento do UvA Trilearn. A seguir, a descrição dos métodos implementados: MelhorPosicao Esse método utiliza o modelo de mundo do agente para fornecer a posição da linha de impedimento no eixo X e sua própria posição e a da bola. A inferência fuzzy é invocada pelo método posicionamentoinferenceengine, passando por parâmetro as cinco entradas (posições do jogador e da bola nos eixos X e Y e posição de impedimento no eixo X) e por referência as duas saídas. A posição final (nos eixos X e Y) é utilizada para chamar o método de alto-nível movetopos (mover para posição) do UvA Trilearn, que faz o jogador virar o corpo se mover. MelhorChute Esse método utiliza os valores da posição do agente e da bola e retorna o comando de chute a ser executado. O modelo de mundo do agente é usado para fornecer a posição relativa do goleiro, quando ele não é visto, um valor muito à

esquerda do gol é arbitrariamente fornecido ao agente (-34, o limite físico à esquerda). A inferência fuzzy, é invocada pelo método chuteinferenceengine, passando por parâmetro as duas entradas (posição do agente e do goleiro no eixo Y) e por referência a variável de saída. A saída, no eixo Y, é combinada com a posição da linha do gol no eixo X e utilizada no método kickto (chutar para) do UvA Trilearn, junto com a posição e a força do chute. 7. Testes e Resultados O método escolhido para a validação dos controladores nebulosos foi execução de partidas entre o time o UvA Trilearn modificado (a partir de agora identificado como Bahia2D) e o UvA Trilearn Base, UvA Trilearn 2003, MecaTeam, Brainstormers 2006 e o Dainamite 2006. Foram realizados dez partidas contra cada um dos times, resultando em 50 partidas. Para analisar os dados dos jogos foi utilizada a ferramenta Team Assistant. A tabela 7.1 representa os resultados das partidas, como pode ser observado, em 50 jogos o Bahia2D marcou 28 gols (média de 0,56 gols por jogo) e sofreu 461 (média de 9,22 gols por jogo). Nos jogos contra o UvA Base os atacantes obtiveram o melhor desempenho observado, com o maior número de vitórias, chutes a gol e gols. Contra o Mecateam os jogos foram bastante equilibrados, os atacantes conseguiram uma boa média de gols (0,9 por partida) chegando a vencer quatro partidas. Contra os times internacionais mais complexos as derrotas eram esperadas, pois o Bahia2D precisa da implementação dos jogadores para as outras posições que ainda estão sendo implementados neste projeto. Nesses jogos a dificuldade de avaliar os testes foi maior, pois o time possui um comportamento básico e ao enfrentar adversários com qualidade muito superior não conseguiu chegar ao ataque de forma efetiva. Mesmo assim, alguns chutes a gol conseguiram ser executados e três gols marcados contra o Dainamite, como pode ser visto na tabela 4. Tabela 4: Resultados dos jogos. Time Vitórias Derrotas Gols Pró Gols Contra UvA Base 6 4 15 12 UvA 2003 0 10 0 221 MecaTeam 4 6 10 15 Brainstormers 0 10 0 93 Dainamite 0 10 3 120 Tabela 5: Relação gols por chute dos times. Bahia2D UvA Base Mecateam UvA 2003 Dainamite Brainstormers Gols/100 Chutes 6,52 6,03 5,45 65,57 60,30 48,94 A tabela 5 mostra a relação entre gols e chutes dos atacantes do Bahia2D e seus adversários, isto é, a quantidade de gols marcados a cada 100 chutes. Esses valores indicam uma pequena superioridade do Bahia2D sobre o Mecateam e o UvA Base e o alto nível de aproveitamento das equipes mais complexas.

A complexidade da simulação faz com que os resultados das partidas sejam influenciados por diversos fatores distintos. Consequentemente, derivar conclusões apenas de acordo com resultados das partidas é muito perigoso. Por isso, outros dados das partidas associados aos resultados dos testes e do torneio foram utilizados para que as conclusões sobre os atacantes do Bahia2D pudessem ser feitas. Com relação à escolha do canto do chute a gol, contra os times mais simples os atacantes do Bahia2D apresentaram o comportamento esperado, chutaram muito a gol e fizeram um número de gols razoável. Mas contra os times complexos, as oportunidades de chute não foram bem aproveitadas o que indica a necessidade de outros métodos para complementar o comportamento dos atacantes e as rotinas de chute. A seqüência de imagens da figura 8 representa o momento do gol em uma partida-teste contra o time Dainamite. Nesse jogo, o Bahia2D abriu o placar, mas perdeu por 7x1. No lance, o atacante interceptou a bola no campo adversário e chutou a gol de acordo com o conjunto de regras de chute (o jogador à esquerda, o goleiro à esquerda resultando no chute muito à esquerda). Esse lance representa o funcionamento correto dos controladores do posicionamento e do chute, contra um time de 2006. Os atacantes são os jogadores 9, 10 e 11 e estão circulados na figura. Figura 8: Gol do atacante contra o time Dainamite. Com relação ao posicionamento, a dificuldade em tirar conclusões é maior, mas alguns dados podem ser considerados em favor dos controladores implementados: a) O número de situações de impedimento dos atacantes foram 10, sendo 5 nos jogos contra o UvA Base, 3 contra o Mecateam e 2 contra o Dainamite, durante as 50 partidas de teste, demonstrando seu bom posicionamento em campo. b) Os atacantes do Bahia2D tiveram oportunidades de chutar ao gol em todas as partidas e conseguiram marcar em 20 dos 50 jogos de teste e em 3 dos 5 jogos do torneio. Dessa forma, pode-se concluir que os atacantes participaram ativamente das partidas e seu posicionamento foi satisfatório.

Figura 9: Impedimento do ataque contra o time Dainamite. A seqüência de imagens da figura 9 mostra um lance de impedimento do ataque do Bahia2D em um jogo contra o time Dainamite. Nessa figura, o controlador de posicionamento funcionou bem e os atacantes (jogadores circulados) estavam posicionados de acordo com o último zagueiro, mas no momento do passe, o zagueiro se adiantou e dois dos atacantes ficaram impedidos. 8. Considerações Finais Esse trabalho apresentou os primeiros controladores nebulosos implementados nos jogadores atacantes do time chamado Bahia2D, do grupo de pesquisa Bahia Robotics Team. Os agentes atacantes apresentados representam o começo do desenvolvimento desse time, que está pré-inscrito para o torneio mundial Robocup 2007. Os testes dos agentes implementados demonstraram que isoladamente esses jogadores apresentaram o comportamento esperado, mas os demais tipos de jogadores precisam ser desenvolvidos para que os resultados das partidas sejam mais favoráveis. As limitações desse time expõem vários caminhos possíveis para futuras pesquisas. Como proposta para trabalhos futuros, os comportamentos apresentados podem ser aperfeiçoados ou complementados com outras técnicas, pois os atacantes precisam ter rotinas para escolha do momento de passe, tabelas, dribles e chute à gol. Outra proposta pode ser o desenvolvimento de controladores nebulosos para o comportamento e posicionamento dos outros tipos de jogadores, tais como goleiro, zagueiros, laterais, volantes, armadores e até mesmo o treinador da equipe, para a análise do jogo. Agradecimentos Este projeto é parcialmente financiado pelo Programa de Bolsas de Iniciação Científica PICIN/UNEB. Referências BOER, Remco de, KOK, Jelle. The Incremental Development of a Synthetic Multi- Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Team.

Amsterdam: Faculty of ScienceUniversity of Amsterdam, Dissertação de mestrado para Inteligência Artificial e Ciência da Computação. Amsterdã, Holanda, 2002. COSTA, Augusto Loureiro da, JÚNIOR, Orivaldo Vieira Santana, SOUZA, João Paulo Rocha de, LINDER, Marcelo Santos. MecaTeam: Um sistema Multiagente para o futebol de robôs simulado baseado no Agente Autônomo Concorrente. ENRI - III Encontro de Robótica Inteligente, Campo Grande, 2006. ENDERT, Holger. The Dainamite 2006 Team Description. Faculty of Electrical Engineering and Computer Science. Berlin, Alemanha, 2006. FABRI, José Augusto. Um Sistema Especialista Fuzzy Aplicado a Classificação de Arquiteturas de Computadores. Semana de Informática (SEMINFO) da Universidade Federal da Bahia realizado na Universidade Federal da Bahia (UFBA) Salvador BA, período de 09 a 12 de maio de 2000. Disponível em: http://users. femanet.com.br/~fabri/trabcien.htm. Acesso em: 20 out. 2006, 20:30. KASABOV, Nikola K. Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering. The MIT Press, 2a. Edição. Londres, Inglaterra, 1998. KITANO, Hiroaki, ASADA, Minoru, KUNIYOSHI, Yasuo, NODA, Itsuki, OSAWA, Eiichi. RoboCup -The Robot World Cup Initiative. Japão, 1997. KOK, Jelle, VLASSIS, Nikos, GROEN, Frans. UvA Trilearn 2003 Team Description. Faculty of Science, University of Amsterdam, Amsterdã, Holanda, 2003. MATSUURA, Jackson P., XAVIER, Raphael O., BARBOSA, Rodrigo. O Time de Futebol Simulado ITANDROIDS-2D. ENRI III Encontro de Robótica Inteligente, Campo Grande, 2006. MONTENEGRO, Ulisses R. Agentes Jogadores para RoboCup. Trabalho de Graduação em Ciência da Computação. Universidade Federal de Pernambuco, Departamento de Informática, Pernambuco, 1999. ORTEGA, Neli Regina S. Aplicação da Teoria de Conjuntos Fuzzy a Problemas da Biomedicina. Tese de Doutorado em Ciências. Universidade de São Paulo. São Paulo, 2001. RAO, Valluru B. C++ Neural Networks and Fuzzy Logic. Ed. M&T Books, ISBN: 1558515526, Estados Unidos, 1995. REIS, Luís Paulo. Coordenação em Sistemas Multi-Agente: Aplicações na Gestão Universitária e Futebol Robótico. Tese de PhD, FEUP - Faculdade de Engenharia da Universidade do Porto, Porto, Portugal, 2003. RIEDMILLER, Martin, GABEL, Thomas. Brainstormers 2D Team Description 2006. Universidade Osnabrück, Osnabrück, Alemanha, 2006. RUSSELL, Stuart, NORVIG, Peter. Inteligência Artificial: uma abordagem moderna. Ed. Campus, 2ª Edição. São Paulo, 2003. SANDRI, Sandra, CORREA, Cláudio. Lógica Nebulosa. V Escola de Redes Neurais, ITA, São José dos Campos, 1999. ZADEH, L. A. Fuzzy Sets Information and Control. University of California, Berkeley, California, Estados Unidos, 1965.