Universidade Federal da Bahia (UFBA) Departamento de Ciencia da Computacao - Instituto de Matematica Salvador, Bahia, Brasil
Rua Prof. Aristides Novis, Federacao - 40210-630
Universidade Federal da Bahia (UFBA) Departamento de Engenharia Eletrica - Politecnica Salvador, Bahia, Brasil Emails: pinelli@dcc.ufba.br, augusto.loureiro@ufba.br Abstract MecaTeam has been developed under an architecture that basically keep the focus on a Knowledge Based System. In 2009, the MecaTeam was used as base team by GPR-2D, a team from Parana, such fact shows the relevance of its structure and the maturation that the team has gotten over the couple of years. In 2010, MecaTeam was shown with a new base, the agent2d that is the base used by Helios, the actual World Champion. For 2011, MecaTeam agents are able to communicate between themselves and work cooperatively reaching a global goal. Keywords Intelligent Multiagent systems, Planning, reasoning and smart making decision. Resumo O MecaTeam tem sido desenvolvido sob uma arquitetura que basicamente mantem como foco um Sistema Baseado em Conhecimento. Em 2009 o MecaTeam foi utilizado como time base pelo GPR-2D, um time do Paran a, tal fato mostra a relev ancia de sua estrutura e o amadurecimento que o time obteve ao longo dos anos. Em 2010, o MecaTeam apresentou-se com uma nova base, o agent2d, que e a base utilizada pelo Helios, o atual campe ao mundial. Para 2011, os agentes do MecaTeam sao capazes de se comunicar entre si e trabalhar cooperativamente alcancando um objetivo global. Keywords Sistemas multi-agentes inteligentes, Planejamento, raciocnio e tomada de decis ao inteligente. 1 Introducao O MecaTeam apresenta uma evolucao na arquite- tura do agente UFSC-Team-98 (Costa and Bitten- court, 1999b) na RoboCup98, chamado Agente Autonomo Concorrente (Costa and Bittencourt, 1999a). Este baseia-se em um modelo hbrido para agente cognitivo (Bittencourt and Costa, 2001) e possui uma arquitetura de tres camadas, cada uma delas representa um nvel decisorio distinto que complementa os demais para a constru cao de uma agente cognitivo. A arquitetura atual do MecaTeam e implementada re-utilizando o codigo do agent2d, a Expert-Coop++ (Costa et al., 2003) e o um framework desenvolvido para modularizar a estrutura do codigo MecaTeam. A equipe de futebol de robos HELIOS de- senvolveu uma bliblioteca base para implementar programas clientes para o RCSS chamada de li- brcsc. Para facilitar a implementacao de novos agentes de fotebol de robos simulado em duas dimensoes, a equipe HELIOS disponibilizou um agente simples produzido com a librcsc denomi- nado de agent2d (Akiyama et al., 2009). A Expert-Coop++ e uma biblioteca orien- tada a objetos destinada a auxiliar o desenvolvi- mento de sistemas multiagentes sob restricao de tempo real do tipo melhor esfor co (Costa et al., 2003), implementada na linguagem de progra- ma cao C++. O Framework MecaTeam propoe uma infra- estrutura orientada a objetos (OO) denindo a ar- quitetura intra-agente de um agente de futebol de robos. Assim, evita a reimplementacao de partes basicas do agente e promove um tipo de reuso de codigo mais abrangente que a simples reuti- lizacao do codigo de outro time (de Santana Jr et al., 2008). O MecaTeam 2011 e apresentado neste artigo, de acordo com a seguinte disposi cao: A Expert- Coop++ e mostrada na se cao 2, junto com seu Sistema Baseado em Conhecimento; O Framework MecaTeam e ilustrado na se cao 3; A cooperacao entre os agentes e ilustrada na se cao 4; A congu- racao atual do MecaTeam e mostrada na secao 5; Na secao 6 esta presente a conclusao e os trabalhos futuros. 2 A Biblioteca Expert-Coop++ A Expert-Coop++ (Costa et al., 2003) e uma biblioteca orientada a objetos destinada a auxiliar o desenvolvimento de sistemas multiagentes sob restricao de tempo real (Costa et al., 2003), im- plementada na linguagem de programa cao C++. Esta biblioteca oferece suporte a Sistemas Basea- dos em Conhecimento (SBC). A expert-coop++ inicialmente integrada ao uva trouxe um modelo diferenciado, onde as heursticas denidas pelo especialista sao anal- isadas pelo motor de inferencia atraves de regras de producao. 2.1 O Sistema Baseado em Conhecimento O Sistema Baseado em Conhecimento utilizado na Expert-Coop++ e classicado como um Sis- tema Baseado em Regras de Produ cao (SBRP). Este sistema apresenta uma arquitetura de tres modulos: uma base de regras, umabase de fatos ou memoria de trabalho e um motor de inferencia (de Santana Jr et al., 2006) como ilustra a gura 1. Figura 1: Arquitetura do Sistema Baseado em Conhecimento utilizado no MecaTeam A base de regras e a base de fatos formam a base de conhecimento contendo uma represen- tacao do conhecimento do agente robotico jogador de futebol. O motor de inferencia avalia as regras e aplica estas regras de acordo com as informa coes contidas na base de fatos. 2.2 Base de Fatos A base de fatos contem uma descricao dos estados do ambiente. Ela e construda tomando como base arvores binarias, onde cada no da arvore possui uma representacao de conhecimento. O formal- ismo de representacao de conhecimento utilizado e a logica de primeira ordem (Bittencourt, 2001) usanda a forma implcita como ilustrado abaixo. ( logic (<objeto> <atributo> <valor>)) A base de fatos e atualizada de duas maneiras: uma com informacoes do ambiente e outra com as regras. As informacoes mais relevantes sobre os estados do ambiente sao fornecidas por funcoes da librcsc. 2.3 Base de Regras A base de regras e responsavel pela leitura do arquivo de regras, previamente denido pela ex- tracao destas regras e pelo seu armazenamento em uma lista. Este processo de extra cao e realizado por um analisador de regras. A base de regras relaciona estados `as acoes do robo. Logo, a inteligencia do agente e formalizada em regras de producao. Elas sao criadas com in- tuito de denir o comportamento do agente para um determinado conjuto de estados correntes. 2.4 Motor de Inferencia O motor de inferencia e o principal componente do sistema. Seu funcionamento consiste em re- alizar inferencias a partir do conhecimento con- tido na base de regras e da base de fatos. O modo de raciocnio usado no motor de inferencia e o forward chaining(encadeamento progressivo) (Bittencourt, 2001), em que a parte esquerda da regra e comparada com a descri cao da situa cao at- ual contida na base de fatos. Apenas as regras que satisfazem esta descricao sao selecionadas. Um ex- emplo de regra e ilustrado na gura 2. Ao nal do processo de selecao das regras, o motor de inferencia dispoe de um conjunto de regras que satisfazem a situa cao atual do prob- lema (denominado conjunto de conito). Se este conjunto for vazio, o processo de inferencia e nalizado; caso contrario, torna-se necessaria a denicao das regras que serao efetivamente execu- tadas e sua ordem de execucao(Bittencourt, 2001). Figura 2: Um exemplo de regra utilizada no agente MecaTeam As regras foram desenvolvidas de acordo com estrategias elaboradas pelos integrantes da equipe MecaTeam. As estruturas mais importantes da gramatica que descreve as regras sao o lado di- reito e lado esquerdo das regras. O lado es- querdo das regras contem a representacao de um estado do ambiente e e identicado atraves do token if, ja o lado direito contem informacoes para modicar o estado e o then identica este lado. Para representar o conhecimento sobre o es- tado da partida, e utilizado o formalismo da log- ica (Bittencourt, 2001); logo a informacao e for- matada em objeto, atributo e valor como na gura 2. 3 Framework MecaTeam O framework MecaTeam (de Santana Jr et al., 2008). foi proposto em 2008 como uma forma de auxiliar a manutencao do time. Neste framework sao utilizados dois padroes de projeto, onde cada um deles foca em um particular problema. O Strategy fornece suporte ao ponto de exten- sao da estrategia de raciocnio. Isto possibilita a criacao de varios agentes, cada um com sua es- trategia de raciocnio, apenas estendendo e imple- mentado a classe Brain. O Singleton e aplicado, por exemplo, na classe encarregada de modelar o ambiente, pois e necessario que exista exatamente uma instancia desta classe acessvel para diversos componentes do Framework MecaTeam. As principais motiva coes para criar o frame- work foram: a diculdade de incorporar novos comportamentos, estrategias de raciocnio; avaliar os impactos de modica coes em trechos de codigo; e principalmente o reuso do software. 4 Estrategias de Cooperacao em Sistemas Multiagentes Um processo de coopera cao consiste basicamente em distribuir metas, planos e tarefas em uma co- munidade de agentes (Haugeneder and Steiner, 1998). Muito mais do que prover mecanismos de co- municacao, uma estrategia de cooperacao para agentes cognitivos prove uma estrutura para pro- jetar padroes de dependencia contextual do dial- ogo, para relacionar as mensagens aos seus respec- tivos contextos, habilitando os agentes envolvi- dos na comunicacao a manter a compreensao do contexto e de como o dialogo deve ser conduzido (Haddadi, 1996). Algumas estrategias de cooperacao para sis- temas multiagentes foram propostas, dentre elas: Contract Net Protocol (CNP) (Smith, 1981), considerado o precursor das estrategias de coopera cao para sistemas multiagentes autonomos, onde e estabelecido um contrato entre um gerente e um contratado havendo uma troca de informacoes bidirecional; Coalisao Baseada em Dependencia (CBD) (Sichman, 1998), onde os agentes interagem e formam coalisoes pois eles dependem uns dos outros para atingir suas metas; Conhecimento Social Dinamico (CSD), uti- liza uma estrutura de contratos, similar ao CNP e adiciona novos conceitos como Su- porte de Contratos e a Base de Conhecimento Social Dinamica. A contribui cao trazida pela CSD e a prin- cipal motivacao para utiliza-la no desenvolvi- mento deste sistema, devido sua relevancia em sistemas multiagentes autonomos e com restricoes de tempo real, permitindo tambem a utilizacao de uma abordagem cognitiva na conducao do pro- cesso de cooperacao, que e baseada no modelo de agente autonomo concorrente do MecaTeam. O CSD possui bom equilbrio no processo de coopera cao, oferecendo um montante menor de mensagens trocadas e menor tempo de convergen- cia, conforme visto na gura 3 Figura 3: Mensagens trocadas na melhor situacao do CSD 5 MecaTeam 2011 Apos alguns anos trabalhando-se na evolu cao do time, o MecaTeam hoje possui sua arquitetura de tres camadas concluda, onde a camada reativa que era tratada pelo Uva Trilearn passou a ser tratada pelo agent2d, a camada instintiva tratada pela Expert-Coop++ que e responsavel pela es- colha do comportamento, e a camada cognitiva que e responsavel pelo nvel estrategico do time, possibilitando a cooperacao entre os agentes. A complexidade de comportamento do agente e in- crementada a cada camada, como pode ser visto na Figura 4. Figura 4: Arquitetura do Agente MecaTeam 2011 A proposta para o MecaTeam 2011 foi a im- plementacao de protocolos de comunicacao a m de tornar o time apto a trabalhar cooperativa- mente. Com essa implementacao, o MecaTeam man- tem uma arquitetura robusta e com um time base de alto desempenho e utilizando efetivamente os recursos da comunicacao, pois ja que a visao dos agentes e limitada. 6 Conclusoes e Trabalhos Futuros O MecaTeam atualmente apresenta-se com seu modelo nalizado, onde podemos categoriza-lo como um sistema Multiagente provido de todos os seus requisitos, ja que a comunica cao nao e nec- essariamente um requisito fundamental, embora importante. A implementa cao deste sistema em robos reais e um desao a ser tratado, na categoria de medio porte do futebol de robos, a visao do agente e em- barcada, neste contexto a comunicacao apresenta- se como um item bastante relevante, trazendo um diferencial em um sistema Multiagente. Como trabalho futuro, trabalhar-se na ca- mada reativa ou ate mesmo na camada cognitiva utilizando tecnicas como redes neurais por exem- plo e uma possvel ideia. Referencias Akiyama, H., Shimora, H., and Noda, I. (2009). Helios2009 team description, RoboCup 2009. Bittencourt, G. (2001). Inteligencia Articial Fer- ramentas e Teorias, Editora da UFSC, ISBN 85-328-0138-2, 362 p., Florianopolis, SC, 2. edicao. Bittencourt, G. and Costa, A. L. d. (2001). Hybrid cognitive model, The Third International Conference on Cognitive Science ICCS2001 : Workshop on Cognitive Angents and Agent Interaction. Pequim, China. Costa, A. L. d. and Bittencourt, G. (1999a). From a concurrent architecture to a concurrent autonomous agents architecture., IJCAI99, Third International Workshop in RoboCup pp. 8590. Springer, Lecture Notes in Ar- ticial Inteligence. Costa, A. L. d. and Bittencourt, G. (1999b). Ufsc- team: A cognitive multi-agent approach to the robocup98 simulator league., RoboCup98 Workshop - Team description pp. 371, 377. Springer, Lecture Notes in Articial In- teligence, vol.1694. Costa, A. L. d., Bittencourt, G., Goncalves, E. M. N. and Silva, L. R. (2003). Expert- coop++: Ambiente para desenvolvimento de sistemas multiagente., IV ENIA En- contro Nacional de Inteligencia Articial pp. 597606. XXIII Congresso da Sociedade Brasileira de Computacao. de Santana Jr, O. V., Sousa, J. P. R. P., Lin- der, M. S. and da Costa, A. L. (2006). Mecateam: Um sistema multiagente para o futebol de robos simulado baseado no agente autonomo concorrente, Encontro de Rob otica Inteligente / XXVI Congresso da Sociedade Brasileira de Computacao pp. 146152. de Santana Jr, O. V., von Flach Garcia Chavez, C. and da Costa, A. L. (2008). Mecateam framework: An infrastructure for soccer agents development of simulated robots, 5th IEEE Latin American Robotics Symposium, pp. 146152. Haddadi, A. (1996). Communication and Cooper- ation in Agent Systems, Springer. Haugeneder, H. and Steiner, D. (1998). Co- operating agents: Concepts and aplications, in N. R. Jennings and Wooldridge (eds), Agent Tecnology Foundation, Applications, and Markets, Springer-Verlag, pp. 175202. Sichman, J. S. (1998). Depint: Dependence-based coalition formation in an open multi-agent scenario, Journal of Articial Societies and Social Simulation . Smith, R. G. (1981). The contract net proto- col: High-level communication and control in a distributed problem solver, IEEE Transac- tions on Computers C-29(12): 11041113.