Arquitetura abstrata para agentes multi
Transcrição
Arquitetura abstrata para agentes multi
Arquitetura abstrata para agentes multi-critérios em ambientes dinâmicos Francisco Wagner Costa Aquino, Gustavo Augusto de Lima Campos, Jerffeson Teixeira de Souza Universidade Estadual do Ceará - UECE [email protected], [email protected], [email protected] Resumo Este artigo propõe uma arquitetura genérica de agentes que podem ser concretizados para resolver problemas multi-critérios em ambientes parcialmente observáveis, estratégico, seqüenciais, dinâmicos e multiagentes. Nesta edição, a arquitetura pressupõe que o agente tem conhecimento a respeito do efeito das suas ações em termos de satisfações das suas metas. Para avaliar a proposta, foi concretizado um agente para participar de um jogo específico do tipo Massive Multiplayer Online Games (MMOG). Os primeiros resultados obtidos demonstram que a arquitetura é promissora e que a mesma deve ser especializada e estendida de maneira a resolver outros problemas com características semelhantes. 1. Introdução Cada vez mais o mundo exige a necessidade de automatizar as tarefas, porém alguns problemas possuem uma enorme complexidade devido à quantidade de atributos que devem ser monitorados, à enorme quantidade de ações disponíveis para serem executadas onde cada ação beneficia um ou mais atributos podendo até atrapalhar outros. A nossa função neste ambiente é desenvolver todos os atributos de forma equilibrada buscando evitar ao máximo a carência em qualquer um deles. Para isto, devemos fazer muitas escolhas em nossas vidas e executar determinada tarefa ao invés de tantas outras se baseando na nossa prioridade atual. Para desenvolver um sistema capaz de executar tais tarefas seria necessário um mecanismo que avaliasse o estado geral do ambiente e que tomasse suas próprias decisões mesmo que não tenha uma meta final bem definida. Neste trabalho nós propomos uma arquitetura abstrata de um agente multi-critério para atacar esta classe de problemas. Este tipo de ambiente caracteriza-se por ser dinâmico; parcialmente observável; seqüencial; estocástico e contínuo. Este artigo também se propõe a detalhar os passos para a modelagem desta arquitetura para um determinado problema e avaliá-la através da implementação da mesma no problema em questão. O ambiente escolhido para avaliação da arquitetura foi o mundo dos jogos on-line. Severino é o nome do agente criado a partir da arquitetura aqui definida e modelada para o jogo em questão. A seção 2 contém algumas definições que serão de suma importância para o entendimento do trabalho. Na seção 3 é exibida a arquitetura abstrata definida para o ambiente aqui definido. A seção 4 mostra uma aplicação da arquitetura no ambiente dos jogos passando desde o processo de modelagem até a avaliação do agente. Por fim, a seção 5 expõe a conclusão do trabalho e a indicação para alguns trabalhos futuros, seguido das referências bibliográficas. 2. Conceitos Fundamentais 2.1. Metas e Prioridade Metas é o conjunto dos m atributos, , ,… , , que se deve ter uma atenção. A maioria das ações executadas afeta um ou mais atributos do mesmo, positiva ou negativamente. Enumerar tais atributos é uma tarefa que depende, principalmente, da função desejada no ambiente. Por exemplo, o tempo de percurso para um agente que dirija um táxi ou a porcentagem de lucro num agente que cuida de investimentos no mercado de capitais. Como as chances de que uma ação executada satisfaça todas as metas é praticamente nula, no momento de definir que ações deverão ser tomadas deve-se escolher quais metas serão satisfeitas e quais serão "esquecidas" e, com base nesta escolha, executar as ações que melhor se enquadram. Daí nasce o conceito de prioridade P, onde . A prioridade orientará o comportamento, ou seja, indicará a meta que se deve procurar satisfazer ao máximo durante o processo de tomada de decisão. A prioridade pode mudar dependendo dos estados ou necessidades do agente. Para determinar qual será a nova prioridade deve ser utilizado algum mecanismo de escolhas, visando manter um equilíbrio entre as metas. 2.2. Bonificações e Penalidades Com base na teoria de Thorndike [1], a regra de bônus e de penalidade é uma forma de instruir o indivíduo sobre as conseqüências de seus comportamentos, bonificando-o ou penalizaando-o quanddo necessárioo. Para apliccar as d Satisfabilid dade 2.3. Grau de • Parrcialmente oobservável: os o sensores do ageente não são capazes de coletar c os dados com mpletos do am mbiente. • Seqqüencial: as aações do agentte são escolhiidas de acordo com m o históricco das decissões antteriores. • Esttocástico: nãoo é possível determinar qual q serrá o estado ddo agente apeenas pelo estaado atuual e a ação quue será executtada. • Coontínuo: os vvalores de bo onificação e de pennalidades nas metas, quue em conjuunto desscrevem o estado correente do agennte, varriam no intervalo contínuuo dos númeeros natturais; as açõões seguem o mesmo padrrão, apeesar de que a arquiteetura pode ser conncretizada em m ambientes diiscretos. Segundo [22], uma arquiitetura é um mapa interno de q um agente: suuas estruturas de dados, as operações que podem ser exeecutadas e o fluxo de controle destes.. A F Figura 1 appresenta um m esboço da arquitetuura, esspecificando os principais módulos de informação e de prrocessamentoo da informaçãão componentes. M e t a s F Figura 1 – Arqquitetura abstrrata 3. Arrquitetura Abstrata Considerrando que o agente desseja satisfazeer um conjunto de metas, M, poode-se dizer quue ele está diaante de ma multi-critérrio, ou seja, um ma decisão raacional um problem por parte doo agente deve satisfazer níveis de aspiração nas metas, que o agente pressume são imp portantes paraa a sua “sobrevivênncia” no ambiiente. Além desta d caracterrística, no que diz respeito r às proopriedades do o ambiente de tarefa do agente prroposto pode--se dizer que, o ambiente é: • Dinâmico: o ambiente pode se alterar independentee da atuação doo agente. Sua interação ocorre através de várias páginas HTML geradas dinamicamente. Nestas páginas, o jogador tem acesso a todas as informações relativas ao seu personagem e alguns dados sobre os outros jogadores. No jogo, cada jogador controla uma espécie de reino, onde é possível escolher entre várias ações para serem alimentadas para o ambiente: treinar cidadãos (população até o momento não treinada) em algumas das profissões existentes, atacar outros reinados visando obter dinheiro, comprar armas para seu exército, dentre outras ações. Para vencer um ataque, será necessário não apenas uma grande quantidade de unidades (ofensivas ou defensivas), mas sim, um exército bem treinado e bem armado. Após cada batalha o personagem militar ganha experiência podendo subir de nível. Por questão de equilíbrio os jogadores só poderão atacar ou ser atacados por outros jogadores em que a diferença de nível entre eles seja menor ou igual a cinco, ou seja, quanto maior o nível do personagem, mais fortes serão seus oponentes. A modelagem deste tipo de jogo na arquitetura proposta requisita um conhecimento especializado do jogo como, por exemplo, certo domínio das suas funções e objetivos. As próximas subseções descrevem alguns dos passos empregados na concretização de um agente específico para o jogo Dark Throne. Este agente foi denominado Severino. 4. Avaliação O ambiente escolhido para realizar a avaliação da arquitetura foi um jogo de MMOG que se configura em um ambiente de tarefa que tem propriedades semelhantes ao especificado na Seção 3. Este tipo de teste permitiu avaliar alguns comportamentos do agente diante de algumas situações reais. O jogo escolhido foi o Dark Throne [3]. As seções a seguir explicam todo o processo de modelagem do jogo na arquitetura definida neste trabalho. No jogo escolhido milhares de jogadores agem sobre o ambiente e, em alguns casos, sobre o agente, ou seja, é um ambiente dinâmico e multiagentes. É possível coletar os dados sobre o agente, e apenas alguns dados do ambiente e dos adversários, ou seja, o ambiente é parcialmente observável. Todas as ações que são tomadas dependem das necessidades do ambiente mostrando uma seqüencialidade no mesmo. Embora alguma ação seja executada visando algum objetivo, como o ambiente não é completamente observável não é possível garantir que se obtenham os resultados esperados, caracterizando o mesmo como sendo estocástico. 4.1. Dark Throne O jogo, basicamente, possui um ambiente onde milhares de pessoas interagem on-line, 24 horas por dia. 4.2. Quadro Formal Os sensores do agente são scripts atômicos1 responsáveis por coletar o conjunto das informações fornecidas pelo ambiente. O conjunto de metas M é detalhado na seção 4.2.1. O conjunto dos eventos representa todos os eventos que podem ser fornecidos pelo ambiente ao agente no decorrer do jogo. Estes eventos variam desde receber ataques de um oponente até passar de nível. Cada evento ocorrido perturbará uma ou mais metas do Severino, benéfica ou maleficamente. O efeito dos eventos sobre as metas são descritas no conjunto de regras , conjunto este dotado de regras de bonificações e penalidades (definido em 2.2. e modelado em 4.2.2.). A prioridade do agente é calculada através da função do grau de satisfabilidade utilizando o conjunto das regras de eventos e dos eventos inferidos sobre as metas . O conjunto das ações representa todas as ações possíveis para o agente, onde , , ,... . Cada ação possui uma máquina de estados pré-determinada. De posse dos dados coletados do ambiente, da prioridade calculada e do conjunto das regras de ações , o agente 1 Scripts atômicos: Scripts que desempenham uma única função. Ex: informar a quantidade de ouro do personagem. poderá defin nir o conjunto o das ações a serem executadas pelo agente.. À medid da que o agennte vai execu utando as açõ ões do conjunto C o conjunto de regras de ações RA A será utilizado no ovamente paraa fazer o reforrçamento das metas do agente dee acordo com o seu comporrtamento. 4.2.1. Metaas • Din nheiro: quanndo a priorid dade do agen nte for dinheiro, deve-se ter uuma maior prreocupação com as finanças do d personageem, conseqüeentemente, ex xecutar ações que melhorem o status s do agen nte neste quesiito. • Ataaque: quandoo a prioridade for ataque, o agente a deve proccurar investirr mais em unidades u ofen nsivas, armamentos e outras ações a que ven nham a aumeentar o seu poder de ataque. • Deefesa: com a prioridade de d defesa o agente a deve tomaar ações que llhe dê um maaior poder de defesa contra o attaque dos opo onentes. • Esttafa: quando a prioridade for estafa, o agente a procura reeduzir o ritm mo das suas ações. a Tal reedução ajuda o peersonagem a ficar equilibraado em relaçãão aos seus atriibutos e, conseqüentemeente, ficará mais "nivelado"" com os seus oponentes. 4.2.2. Bonifficações e Pen nalidades 4.2.3. Máquina de Estados No teste im mplementado,, o agente Seeverino seguee o diagrama de estados e definiido na Figuraa 2. Neste caaso, uma máquina de estados ddefine um com mportamento, ou seeja, ela especcifica as seqüêências de estaados pelos qu uais um objeto passsa durante seuu tempo de vida em respostta a ventos, juntam mente com suuas respostas a esses even ntos ev [4 4]. Na figura, cada estado do agente é definido d por uma u m máquina de Meealy [5] especcífica. Figuraa 2 – Diagram ma de estados do d Severino Init identifiica o estado innicial do agen nte, a única tarrefa co ontida nele é a de viabilizzar a entrada do programa no joogo efetuando o o login no ssistema. No estado e Centraal o ag gente obtém as a informaçõees do ambien nte. Dessa form ma, toodos os estad dos deliberativvos na figuraa transitam para p C Central ao deliiberarem sobrre uma ação. Neste N estado são feeitas algumas análises a reespeito dos vaalores dos nív veis das metas do agente. a Por exemplo, verifficar se o ageente m ataque após a última atuallização. A Fig gura reecebeu algum 3 exibe a mááquina de Meealy para o estado Centrral. T Também é verrificado, atravvés do grau dee satisfabilidaade, quual será a prio oridade atual. Toda vez quee o agente passsar de nível, será concedido um m bônus ao mesmo, m que será s reesultante da trransição de Ceentral para o estado Bônuss. No estado Treinamento T é realizado o treinamento dos ciidadãos. A en ntrada é efetuaada apenas se houver cidad dãos a serem trein nados. Os ccidadãos são divididos para p d acordo ccom a priorridade atual do trreinamento de prrograma. No o módulo dee Promoçõess o exército o é esspecializado. A entrada nesste estado é effetuada apenass se aiinda houver alguma a unidaade não especcializada. Apó ós a ex xecução das ações, ocorree uma transiçãão para o estaado ceentral e os vaalores são atuaalizados. No estado Arma as o ag gente está responsável r ppor comprar armas paraa o ex xército. Caso o exista exérrcito desarmaado, o prograama esscolhe as arm mas e a quanntidade possíível levando em co onsideração a quantidade de unidades desarmadas e a quuantidade de dinheiro d dispoonível. A Ataque é o módulo m mais ccomplexo do agente, é neesse esstado que o agente delibeera a respeito o de ataques aos opponentes. Caaso o agente resolva atacaar alguém, seerão esscolhidos os possíveis p adveersários que a serem atacad dos, cu ujas referênciias serão armaazenadas em uma fila do tipo t F FIFO [6], orgaanizadas em oordem decresccente de dinheeiro disponível. O agente a escolhee o primeiro da d fila e estudaa se existe algum ma possibilidaade de vencêê-lo em um ataque, a Figura 3 – Estado Ceentral os os estadoss supracitados, não Após paassar por todo resta muita coisa para o agente a fazer até a o final do turno. I o agentee irá verificar o tempo quee resta No estado Idle para o finaal do turno e esperar quee o mesmo acabe, retornando ao a estado Cen ntral e assim m sucessivamente. A Figura 4 exiibe a máquinaa de Mealy parra o estado Idle. os outros jogad dores de mesm mo nível de attacá-lo. O ageente fiicou recebend do ataques successivos onde a quantidadee de ouuro saqueadaa pelos oponentes não paassou de 25.0 000 (v valor baixo no o jogo). A caada ataque vitorioso o jogaador quue realizou o ataque ganhha o dinheiro o que conseg guir pilhar e ponto os de experiêência (são estes pontos que q definem o níveel do personaagem). Conforrme mencionaado xiste uma regra no jogo que impede um jogador de ex attacar oponenttes que estejaam cinco nív veis a mais ou u a m menos que o próprio e, quanto maiior o nível do personagem, mais m fortes serão os adv versários. Deesta o ao momento o de foorma deve-se ponderar mais em relação attacar. Os ataques realizaados demonsstraram falta de raacionalidade por p parte dos aadversários. Além A disso, ou utro faato que deemonstrou a baixa raccionalidade dos ad dversários é que, q mesmo ccom um poderr defensivo fraco S Severino conseeguiu se defennder de um ataaque. Avaliando as ações doo Severino foi notado um co omportamento o diferente ddo que ocorree rotineirameente co om jogadoress humanos maais inexperien ntes. Ele viu que q ex xistem muitos adversárioss mais fortes e que se ataacar allguém, fora os o riscos de perder a bataalha, seus nov vos ad dversários serrão mais fortees ainda. Por isso, ao invéss de reealizar ataquees e conseguuir dinheiro mais m rápido, ele teendeu a investir em mineraadores para gaarantir uma meta m seegura de din nheiro e reforrçar seus exéércitos. Severrino ch hegou a procu urar oponentes para atacar, mas desistiu por dois motivos: ou a quantiidade de din nheiro de algu uns nsava realizar um opponentes era tão baixa quee não compen attaque; ou qu uando o oponnente tinha dinheiro d razoáável para receber um u ataque, elee notou que o exército estava m muito forte em m relação às suuas forças ofen nsivas. Figuraa 4 – Estado Idle I 4.3. Avaliaçção Para a reealização doss testes foi crriada uma con nta no jogo para o agente Sevverino. Esta conta foi utiilizada apenas pelo agente, sem interferências i humanas. O agente a p dia. ficou algunss meses rodanndo 24 horas por Severino o começou su uas atividades assim que a conta foi criada no n jogo. No prrimeiro dia o agente tinha pouco dinheiro e nenhum n poderr defensivo, faato que não im mpediu Depois de 75 7 dias ativo nno jogo, Severrino realizou oito o attaques e ven nceu todos. Em relação às defesas, ele co onseguiu defeender três dos quatorze ataques recebid dos, vale ressaltar que q a maioria dos ataques foram realizados a o Severiino iniciar su uas atividades. O pouco tempo após gente ficou no o quarto nível com 21.492 de d experiênciaa (a ag ex xperiência é obtida o após effetuar ataquess com sucesso o ou conseguindo se defender de ataques dos adversários). Mais recentemente, faltavam apenas 1.508 pontos de experiência (o equivalente a um ataque) para que o agente Severino avançasse para o próximo nível. Entretanto, como o agente já tinha avançado bastante nos últimos dias e conseguiu muito dinheiro, ele entrou, mais uma vez, em uma fase de nivelamento das suas metas. A quantidade de ouro produzida pelos seus mineradores foi de 316.917 em ouro por turno e 15.212.016 em ouro por dia. O agente avalia se os adversários possuem ouro suficiente para realizarem ataques usando como parâmetro a sua rentabilidade diária oriunda dos mineradores. Severino ataca apenas os adversários que possuem no mínimo cinco vezes a sua produção diária. O dado mais importante para a avaliação do agente é o rank. Na data em que os dados foram coletados o agente estava na posição geral de número 210.568. Este é um número alto, mas levando em consideração que, no mesmo período existiam 349.461 jogadores cadastrados pode-se notar que o Severino conseguiu evoluir bastante neste curto período de tempo em que o mesmo foi analisado. 5. Considerações Finais De uma maneira geral, os resultados obtidos demonstram que a abordagem proposta neste trabalho é promissora. O conceito de metas, aliado às bonificações e às penalidades, sendo avaliados pelo grau de satisfabilidade, dão ao agente os recursos necessários pra o agente manter um equilíbrio entre as suas metas. A arquitetura foi apresentada de maneira genérica para problemas semelhantes ao MMOG testado como, por exemplo, onde se tenha um conjunto de metas a serem alcançadas (metas); um conjunto definido com todas as ações e eventos que possam vir a ocorrer e uma relação do quão cada um deles influi sobre as metas (Bonificação e Penalidade). Outros jogos modelados para a mesma arquitetura podem ser encontrados em [7]. Além dos jogos, a arquitetura também pode ser adaptada para resolver problemas de tomada de decisão estratégica. Por exemplo, problemas que atualmente são resolvidos pelas metodologias AHP [8] e Macbeth [9]. Dentro deste contexto vale ressaltar: Comportamentos em competições; Conflitos e negociações; seleção de portfólio; planejamento [10]. 5.1. Trabalhos Futuros Atualmente o agente está trabalhando a partir de um diagrama de fluxos que indica a seqüência que deve passar pelos estados. Em [11], é definido uma possibilidade de deixar que o próprio agente escolha para qual estado deve ir, definindo o conjunto de ações a serem executadas. Para isto, o agente deve saber exatamente o que tem como meta, e a partir disso, elaborar a seqüência de ações que o deixe mais próximo da meta estipulada por ele mesmo. O módulo de escolha de ações ficará localizado no estado , nele será definido o conjunto de ações a serem executadas, obedecendo à ordem da fila ao qual elas foram inseridas. Quando todas as ações tiverem sido executadas, o método de escolha de ações será utilizado novamente para definir o novo conjunto de ações. Outra questão que deve ser melhorada é o (definido em 2.2.), atualmente o agente está trabalhando com valores absolutos pré-determinados em XML, estes foram gerados ao acaso. Estudos mais extensos mostram que tais valores geram certo desequilíbrio durante a execução das ações. Uma possível solução para o problema seria trabalhar com valores fuzzy. Segundo [12], fuzzy trabalha com valores imprecisos e conceitos vagos. Determinar valores exatos de influência de cada ação sobre as metas é uma tarefa que requer a realização de grandes baterias de teste, cujos resultados serão alcançados apenas a longo prazo. A calibragem dos valores de inferência das ações utilizando fuzzy proporcionaria uma menor discrepância entre os valores, fato que iria reduzir consideravelmente a margem de erros. 6. Referências [1] Thorndike, E., (1913) Educational Psychology: The Psychology of Learning, Teachers College Press. [2] Jennings, N., Sycara, K., Wooldridge M.. (1998) A Roadmap of Agent Research and Development. [3] Lazarus Software (2007), “Dark Throne”, http://www.darkthrone.com, página oficial do jogo, Acessado em 02/03/2008. [4] Booch, G., Rumbaugh J., Jacobson I, (2000), “UML Guia do Usuário”, Editora Campus, 1ª Edição. [5] Mealy, G.H. (1955) A method for synthesizing sequential circuits. Bell System. Tech. J 34, Setembro. [6] Wirth, Niklaus, (1986), Algorithms and Data Structures, Prentice Hall. [7] Aquino, F. W. C., (2007), Severino: Um agente inteligente para MMOG. Trabalho de conclusão de curso – Ciências da Computação – UECE. [8] Saaty, T. L., (1980), The analytic Hierarchy Process. McGraw-Hill, New York. [9] Bana e Costa, C. A., Vansnick, J. C., (1994), MACBETH – Na interactive path towards the construction of cardinal value functions, International Transactions in Operation Research. [10] Schmidt, A. M. A., (1995), Processo de apoio à tomada de decisão Abordagens: AHP e Mabech. Tese de Mestrado em Engenharia de Produção – UFSC. [11] Campos, Gustavo A. (2005), “Design of sequences of alternative actions guided by fuzzy goals”. [12] Abar, Celina(2004).http://www.pucsp.br/~logica/Fuzzy.htm acessado em 02/03/2008.