Agente de reputao para ART-Testbed Andrew Diniz da Costa Carlos Jos Pereira de Lucena Viiane Torres da !i"a Departamento de Informtica P#$T"%&C"A '$"V(R!"DAD( CAT)L"CA D# R"# D( JA$("R# R'A *AR+',! D( !-# V"C($T(. //0 - C(P //102-344 R"# D( JA$("R# - 5RA!"L Monografias em Engenharia de Software Editor: Prof. Carlos Jos Pereira de Lcena De!em"ro# $%%& Agente de Reputao para ART-Testbed 'ndrew Dini! da Costa# Carlos Jos Pereira de Lcena (i)iane *orres da Sil)a
Abstract. This project contemplates the creation of an appraiser agent of paintings for a reputations competition ART-Tetstbed. The agent adapts some concepts of the Governance Framework created in the oftware !ngineer "aborator# of the $%&-R'() besides some strategies that di*erentiates it from the competitor agents of the last version reali+ed at ,--.. Keywords/ 0ulti-Agents #stems) Reputation) ART-Testbed and Governace Framework. Resumo. !ste projeto contempla a cria12o de um agente avaliador de pinturas para a competi12o de reputa12o ART-Testbed. ( agente possui a adapta12o de alguns conceitos do Governance Framework criado no "aborat3rio de !ngenharia de oftware da $%&-R'() al4m de algumas estrat4gias 5ue o diferencia dos agentes competidores da 6ltima vers2o reali+ada em ,--.. Palavras-chave/ istemas 0ulti-Agentes) Reputa12o) ART-Testbed e Governance Framework. !u67rio - Introd./o -.- Proposta '-.- -.-.- 'gente com 0o)ernance 1ramewor2 '-.$ -.-.$ Estratgias -.$ Principais contri"i.3es -.4 5rgani!a./o do tra"alho $ 1ndamentos *e6ricos $.- Sistemas Mlti,'gentes7SM's8 $.$ 'gent9 Societ9 1ramewor27'S18 $.4 0o)ernance 1ramewor2 $.: 'gent ;eptation and *rst *est"ed 7';*,*est"ed8 4 'gente ')aliador 4.- Intera./o de opini/o Processo de <lgamento: 4.-.- Clclo da ;epta./o: 4.$ Intera./o de repta./o 4.4 Dificldades 4.4.- 0o)ernance 1ramewor2 4.4.$ Dom=nio ';*,*est"ed : Concls/o e tra"alhos ftros ;efer>ncias ?i"liogrficas '-.4 '-.: ii iii Lista de 8iguras 1igra - @ Modelo do 'S1..............................................................................................: 1igre $ @ Mecanismo de go)ernan.a...........................................................................& 1igre 4 @ *ipos de repta./o do 0o)ernance 1ramewor2...........................................& 1igre : @ (is/o geral do dom=nio de artes da competi./o ';*,*est"ed......................A 1igre B @ Protocolo de transa./o da repta./o...........................................................C 1igre & @ Protocolo de transa./o de opini/o................................................................D 1igre A, Intera./o por opini/o eEemplo -...................................................................-- 1igre C, Intera./o por opini/o eEemplo $...................................................................-- 1igre D @ ;epta.3es de papel para cada era de cada agente competidor...............-$ 1igre -% @ EEemplo de ma intera./o por repta./o.................................................-& i) 9 "ntroduo istemas multi-agentes 70As8 9:) ;<= s2o sociedades em 5ue entidades aut>nomas e heterog?neas podem trabalhar de forma conjunta para @ns similares ou totalmente distintos. Aevido o escopo da heterogeneidade) autonomia e diversidade de interesses entre diferentes membros) sistemas de governan1a 9;B= foram de@nidos. !stes sistemas refor1am o comportamento dos agentes a partir da de@ni12o de um conjunto de normas 5ue descrevem as a1Ces aos 5uais os agentes est2o proibidos) permitidos e obrigados a fa+er. A partir disso) pode-se veri@car 5uais agentes violam as normas presentes nos sistemas) para 5ue assim sejam calculadas suas respectivas reputa1Ces. eguindo esta linha de pes5uisa) a competi12o ART-Testbed 9;) <) .) D) ;-) ;;) ;B= foi criada para estabili+ar um teste para agentes de reputa12o. Aevido a ela) estE sendo possFvel visuali+ar de forma mais fEcil diversas t4cnicas 5ue permitem mensurar a reputa12o de agentes) al4m de permitir uma s4rie de compara1Ces e trocas de id4ias sobre o assunto. 9:9 Proposta ( objetivo do projeto 4 a cria12o de um agente para a competi12o ART- Testbed. $ara tornar o agente um forte competidor) houve a adapta12o de algumas id4ias propostas pelo Governance framework 9B) G=) al4m de estrat4gias 5ue ajudam a medir a reputa12o dos agentes concorrentes. Assim) a primeira vers2o do agente comprova 5ue o uso de especF@cas estrat4gias somadas com conceitos adotados pelo Governance Framework permite a cria12o de um forte concorrente. 9:9:9 Agente co6 ;oernance %ra6ewor< ( Governance Framework 9B) G= 4 um mecanismo de governan1a 9;B= baseado em testemunhos providos por testemunhas a partir de fatos e eventos conhecidos por eles e 5ue est2o relacionados com viola1Ces de normas. A partir do momento 5ue agentes conhecem as normas da aplica12o) eles podem prover testemunhos sobre a1Ces ou mensagens 5ue est2o violando alguma norma. !stes testemunhos s2o julgados e os agentes culpados 7por violar uma norma ou prover um falso testemunho8 s2o punidos com altera12o das suas reputa1Ces. ( agente implementado neste trabalho usa conceitos adotados pelo Governance Framework. As principais id4ias adaptadas foram/ a forma como mensurar reputa1Ces) e de 5ue forma reali+ar o julgamento. Ho entanto) os detalhes da abordagem ser2o descritos na se12o I. 9:9:/ (stratgias ( domFnio da competi12o ART-Testbed 4 de obra de artes. &lientes re5uisitam a avalia12o de pinturas aos agentes competidores) 5ue s2o os avaliadores. &omo certos avaliadores n2o s2o peritos em Ereas em 5ue certas pinturas se en5uadram) hE a necessidade de interagir com outros para 5ue seja possFvel chegar na melhor avalia12o. !ntretanto) as informa1Ces transmitidas de um agente ao outro nem sempre s2o verdadeiras. (s agentes devem saber distinguir 5uem di+ a verdade e a - mentira) e de 5ue forma uma informa12o pode inJuenciar na sua avalia12o @nal. &omo o domFnio trata em avaliar pinturas) um conjunto de estrat4gias focadas para o problema p>de ser aplicado) como por eKemplo) o uso de estatFsticas. Aessa forma) o agente usa t4cnicas 5ue ajudam a avaliar as pinturas da melhor forma possFvel. 9:/ Principais contribui=es 'mplementa12o de um estudo de caso para o Governance Framework) visando comprovar 5ue para domFnios 5ue envolvam reputa12o de agentes) as id4ias aplicadas no framework mostram-se aplicEveis tanto para medir a reputa12o de um ou mais agente) como tamb4m para julgE-los. 'mplementa12o de um agente) nomeado temporariamente como agente "!) para o domFnio ART-Testbed) eKplorando as caracterFsticas do domFnio. Hada melhor como uma competu12o para veri@car se as polFticas adotadas pelo agente s2o boas ou ruins. Avalia12o do Governance Framework atrav4s da compara12o dos resultados obtidos entre agentes 5ue n2o utili+am o framework e agentes 5ue utili+am. "ogo) a inten12o 4 de@nir 5uais tipos de informa1Ces do framework realmente foram 6teis para avaliar agentes de reputa12o) e a5uelas 5ue n2o foram. Al4m disso) veri@car por5ue alguns agentes foram melhor sucedidos 5ue o nosso durante a fase de testes. 9:2 #rganizao do trabal>o $rimeiramente 7e12o ,8 s2o de@nidos alguns conceitos te3ricos de suma importLncia para a compreens2o do projeto) pois todos eles s2o constantemente citados durante a documenta12o. !m seguida) na se12o I) 4 de@nida a adapta12o do Governance Framework juntamente com a descri12o das t4cnicas usadas para tornar o agente um forte competidor. ME na se12o B 4 feita uma conclus2o e uma descri12o dos trabalhos futuros. $ / %unda6entos Te?ricos Alguns conceitos envolvidos no projeto devem estar bem esclarecidos antes de apresentarmos as contribui1Ces deste trabalho. $ortanto) visando esclarec?-los) esta se12o apresenta os seguintes conceitos/ 0As 9:) ;<=) framework AF 9,=) Governance Framework 9B) G= e a competi12o ART- Testbed 9;) <) .) D) ;-) ;;) ;B=. /:9 !iste6as *ulti-Agentes@!*AsA NE algum tempo) tecnologias de sistemas baseados em agente t?m gerado uma grande eKcita12o) devido ao surgimento deste novo paradigma 5ue inJuencia na conceitua12o) no design) e na implementa12o de sistemas de software. Realmente tornou-se bem atrativo a eKist?ncia de softwares 5ue operam em ambientes 5ue s2o distribuFdos e abertos) como a 'nternet. %ma grande 5uantidade de sistemas baseados em agente consistia em apenas um 6nico agente) 5ue nada mais 4 5ue um componente de software aut>nomo) orientado a objetivos e 5ue interage com outros componentes adaptando o seu comportamento. !ntretanto) com o amadurecimento da tecnologia e das aplica1Ces) percebeu-se 5ue certos sistemas de software precisariam ser compostos por um conjunto de agentes 5ue interagiriam em um conteKto especF@co de uma aplica12o e 5ue fossem independentes. Heste momento surge o conceito de sistemas 0ulti-Agentes 9:) ;<=. ( conceito de sociedade de agentes surgiu com o intuito de desenvolver 0As onde agentes fossem capa+es de desempenhar diversos pap4is em diferentes organi+a1Ces. $ara compreender bem esse conceito) a de@ni12o de organi+a12o e papel deve ser esclarecida. (rgani+a1Ces s2o usadas para representar parti1Ces e grupos de departamentos) comunidades e sociedades responsEveis por agrupar agentes. %ma organi+a12o pode de@nir sub-organi+a1Ces 7Ferber et al.) ,--I8 9;= e um conjunto de aKiomas 7regras) princFpios ou leis8 5ue agentes e sub-organi+a1Ces devem respeitar. %ma organi+a12o pode ser passiva ou ativa) isto 4) ela pode n2o interferir nas transa1Ces reali+adas na sua aplica12o) ou pode ser atuante atrav4s da eKecu12o de planos e a1Ces 5ue a possibilite alcan1ar seus objetivos. ME os pap4is s2o usados para restringir e guiar o comportamento de agentes. $or interm4dio deles s2o descritos os objetivos 5ue o agente deve atingir en5uanto desempenha o papel e as a1Ces 5ue os agentes devem ou podem eKecutar 7Ou et al.) ;:::8. (s pap4is devem fa+er parte do conteKto de uma organi+a12o) como no mundo real. 'magine uma pessoa 5ue 4 estudante de um curso de ingl?s e 5ue 4 pes5uisadora de um laborat3rio. Hessa caso) ela possui dois pap4is 7estudante e pes5uisadora8) e cada um desses pap4is estE associado com uma organi+a12o 7curso de ingl?s e laborat3rio de pes5uisa respectivamente8. Aessa forma) um agente sempre terE 5ue desempenhar ao menos um papel 5ue fa+ parte do conteKto de uma certa organi+a12o. Aependendo da situa12o) um agente pode estar associado a uma s4rie de pap4is de uma mesma ou de diferentes organi+a1Ces. 4 /:/ AgentB !ocietB %ra6ewor<@A!%A AF 9,= 4 um framework orientado a objetos para implementar sociedades de agentes. %tili+ando-o 4 possFvel implementar vErios agentes desempenhando in6meros pap4is em diferentes organi+a1Ces. Aesta forma o framework lida com agentes) pap4is) organi+a1Ces e ambientes como entidades de primeira ordem. $ara cada entidade) um detalhado ciclo de vida 4 de@nido descrevendo os estados de eKecu12o e eventos 5ue causam as transi1Ces de uma entidade a partir de um estado para outro. Paseada em representa1Ces grE@cas dos modelos de ciclo de vida) os modelos computacionais de cada entidade podem ser eKplorados. !les de@nem os comportamentos das entidades associadas a cada estado descrito nos ciclos de vida. Ha @gura ; 4 apresentada a vis2o geral de como as principais entidades presentes no AF s2o implementadas. Qeri@ca-se a representa12o de conceitos 5ue jE foram citados) como/ organi+a12o) papel e agente. %igura 9 C *odelo do A!%: &ada agente 7Agent8 desempenha um ou mais pap4is 7AgentRole8. Ruando 4 de@nida uma rela12o desse tipo) o agente poderE ter objetivos 7Goal8 5ue ser2o alcan1ados pelo interm4dio de planos 7$lan8 responsEveis por eKecutar um conjunto de a1Ces 7Action8 5ue podem ter pr4 ou p3s : condi1Ces 7&ondition8. Ao eKecutar os planos e a1Ces) os agentes atuali+am o conjunto de cren1as 7Pelief8 5ue possuem. !Kistem dois tipos de objetivos/ composto7&ompositeGoal8 e simples7"eafGoal8. ( simples nada mais 4 do 5ue a pr3pria representa12o de um objetivo 5ual5uer. ME o composto) indica 5ue ele s3 serE alcan1ado) caso os objetivos 5ue o compCem tamb4m sejam. Aa mesma maneira) eKistem dois tipos de cren1as/ simples e composta. &omo no caso dos objetivos) a primeira representa a pr3pria cren1a) jE a outra de@ne 5ue uma delas 4 composta por vErias. Associados aos pap4is) podem estar objetivos) cren1as e ainda podem eKistir a1Ces caracteri+adas como obriga1Ces 7Aut#8 ou direitos 7Right8. (s objetivos de um papel s2o a5ueles 5ue o agente deve tentar atingir en5uanto desempenha o papel. !n5uanto as cren1as de um papel s2o passadas para o agente assim 5ue este se dispCem a desempenhar o papel. As a1Ces caracteri+adas como obriga1Ces s2o a1Ces 5ue um agente T!0 5ue eKecutar) e as de direito identi@cam 5uais a1Ces um agente $(A! eKecutar. &ada papel deverE fa+er parte de um conteKto de uma organi+a12o principal 70ain(rgani+ation8 5ue poderE determinar aKiomas 7AKiom8 5ue tanto seus agentes como suas sub-organi+a1Ces 7(rgani+ation8 dever2o respeitar. Al4m dos agentes poderem desempenhar pap4is) uma sub- organi+a12o tamb4m poderE . Al4m de de@nir aKiomas) uma organi+a12o 5ue atua ativamente em transa1Ces da aplica12o poderE ter objetivos) planos) a1Ces e cren1as. %ma parte bem interessante do framework 4 a comunica12o por mensagens. $ara a sua reali+a12o) tr?s tipos de rela1Ces s2o possFveis/ agentes com organi+a1Ces) agente com agentes e organi+a1Ces com organi+a1Ces. Assim) 5uando uma dessas 4 usada) s2o utili+adas mensagens 70essage8 5ue s2o tratadas por protocolos 7$rotocol8 5ue s2o associados com pap4is de agentes eSou de organi+a1Ces. "ogo) as principais entidades do modelo s2o a5uelas 5ue representam os agentes e as organi+a1Ces. !las s2o hospedadas em algum ambiente 7!nvironment8 responsEvel por guardar objetos 7(bject8 utili+ados por elas durante suas transa1Ces. /:2 ;oernance %ra6ewor< ( framework representa um mecanismo de governan1a 9;B= baseado em testemunhos fornecidos por agentes 5ue testemunham fatos) ou seja) normas violadas. ( framework de@ne tr?s sub-sistemas como ilustrado na @gura ,. ( m3dulo de julgamento 7Mudgement #stem8 4 responsEvel por receber testemunhos e prover uma decis2o ou veredicto para o m3dulo puni12o 7$unishment #stem8. ( sistema pode usar diferentes estrat4gias para julgar a viola12o de diferentes normas especi@cadas pela aplica12o. &ada estrat4gia pode usar a reputa12o de agentes) calculadas a partir do sub-sistema reputa12o 7Reputation #stem8) para 5ue encontre sua decis2o @nal. Assim) o m3dulo de reputa12o calcula a reputa12o de agentes para 5ue depois elas sejam informadas para o m3dulo julgamento e para aplica1Ces de agente 7Application8. As reputa1Ces s2o atuali+adas a partir de decisCes providas pelo m3dulo julgamento sobre as viola1Ces de normas. B Reputation $or6Reputation ;lobalReputation RoleReputation Aiferentes normas podem inJuenciar a reputa12o de agentes em diferentes momentos. ME o m3dulo puni12o seleciona as penalidades especi@cadas em normas para 5ue os agentes considerados culpados possam receb?-las. %igure /%igura 9 C *odelo do A!%: C *ecanis6o de goernana: ( framework de@ne no sub-sistema reputa12o tr?s tipos de reputa12o 7@gura I8/ reputa12o global) por papel e por norma. A primeira representa a m4dia de todas as reputa1Ces parciais de algum agente) en5uanto 5ue a segunda representa a m4dia das reputa1Ces parciais de um agente desempenhando um mesmo papel. ME a 6ltima indica a m4dia das reputa1Ces parciais de uma mesma norma. $ara 5ue essas reputa1Ces possam ser calculadas) uma s4rie de variEveis s2o usadas) como/ poder da norma 7grau de importLncia da norma8) controle de ve+es 5ue um agente violou alguma norma) a informa12o se um agente confessou alguma viola12o feita por ele e o grau de certe+a 5ue o sistema possui sobre os dados obtidos para calcular a reputa12o. & %igure 2 C Tipos de reputao do ;oernance %ra6ewor<: A ( mecanismo de governan1a foi implementado usando o framework AF 7Agent ociet# Framework8) para 5ue pudesse prover suporte para agentes) organi+a1Ces e pap4is. Qisando manter tais conceitos presentes) os tr?s sub- sistemas de governan1a supracitados foram implementados como organi+a1Ces separadas responsEveis por interagir com a 5uarta organi+a12o 7Application8 onde as aplica1Ces de agente est2o situadas. /:1 Agent Reputation and Trust Testbed @ART-TestbedA A competi12o ART-Testbed 9;) <) .) D) ;-) ;;) ;B= foi criada com o intuito de estabili+ar um teste para agentes de reputa12o e tecnologias relacionadas. !la simula um jogo como um ambiente de neg3cio onde clientes compram opiniCes sobre pinturas. &ada agente participante do jogo 4 um provedor do servi1o 7avaliador de pintura8 responsEvel por vender suas opiniCes 5uando re5uisitado 7@gura B8. &ada pintura possui uma TeraU especi@ca) isto 4) uma categoria na 5ual ela se en5uadra para avalia12o. Assim) no inicio de cada jogo) os avaliadores recebem de forma rand>mica os graus de conhecimento para cada era do jogo 7no total ;- eras8) atrav4s de um simulador oferecido pela competi12o. &omo em certas situa1Ces um avaliador pode receber pinturas pertencentes a certas eras Vs 5uais ele n2o possui um grau de conhecimento muito grande) ele pode procurar interagir com os outros avaliadores presentes no jogo para chegar na avalia12o mais correta possFvel. %igure 1 C Viso geral do do6Dnio de artes da co6petio ART-Testbed: C !Kistem duas maneiras de intera1Ces entre agentes avaliadores/ re5uisi12o de reputa12o e de opini2o. A primeira permite 5ue um agente A solicite a reputa12o de um agente & segundo o ponto de vista do agente P. A informa12o provida pelo agente P ao agente A 4 um valor de - at4 ;. Ruanto menor o valor) menor a reputa12o do agente & em rela12o ao agente P) e 5uanto maior) maior a reputa12o. A informa12o fornecida pelo agente P pode ser tanto uma verdade como uma mentira. ( agente A deverE tratar da melhor maneira possFvel V informa12o obtida) al4m de desembolsar um dinheiro para pagar o dado transmitido 7valor do pagamento estipulado pelo simulado da competi12o8 pelo agente P. ME a intera12o por opini2o 4 5uando um avaliador solicita a opini2o de uma pintura para algum outro. ( agente 5ue recebe a solicita12o pode tanto rejeitar como aceitar informar sua opini2o. &aso aceite ele informa seu grau de conhecimento da era 7certaint# assessment8 para 5ue o agente re5uisitor possa decidir se realmente desejarE obter a sua opini2o. Ap3s sua decis2o) o agente informa se aceita ou rejeita obter a opini2o do outro avaliador. Aceitando) ele reali+a o pagamento da informa12o 5ue deseja obter 7como na reputa12o o valor a ser pago 4 determinado pelo simulador da competi12o.8. Ap3s o agente re5uisitor pagar o agente provedor) este informa sua opini2o. !ntretanto) as informa1Ces transmitidas 7certaint# assessment e a avalia12o do provedor8 podem ser tanto verdadeiras como mentirosas. As @guras < e . apresentam respectivamente o protocolo de transa12o da intera12o de reputa12o e de opini2o. ( jogo possui um conjunto de ;: sessCes. Ho t4rmino de cada sess2o hE a veri@ca12o de 5ual avaliador chegou mais pr3Kimo do valor verdadeiro da pintura. A5uele 5ue mais se aproKimar dos valores verdadeiros) ganham mais clientes e conse5Wentemente mais dinheiro. Ho @nal do jogo) o agente avaliador 5ue obtiver a maior soma em dinheiro 4 o vencedor. %igure 0 C Protocolo de transao da reputao: D %igure E C Protocolo de transao de opinio: $ara desenvolver um avaliador basta estender uma classe Agent oferecida pelo ART-Testbed. Ha classe hE nove m4todos abstratos 5ue devem ser implementados pela classe 5ue a estender. Hesses m4todos estE toda a intelig?ncia de cada agente competidor. Qeja a seguir uma breve descri12o de cada. prepareReputationRe5uests78/ Re5uisitar a opini2o de algum avaliador. prepareReputationAcceptsAndAeclines/ Aceita12o ou rejei12o das reputa1Ces re5uisitadas. prepareReputationReplies/ Fornecimento das reputa1Ces re5uisitadas. prepare(pinionRe5uests/ olicitar opini2o das pinturas avaliadas pelo agente. prepare(pinion&ertainties/ Agente provedor fornece seu nFvel de perFcia da pintura. prepare(pinionRe5uest&on@rmations/ Aceite ou rejei12o da opini2o re5uisitada. prepare(pinion&reation(rders/ Fornecedor gasta dinheiro para gerar opini2o e recebe pagamento do re5uisitor. prepare(pinion$roviderXeights/ $onto de vista do agente avaliador em rela12o ao peso 7- at4 ;8 de cada era dos agentes presentes no jogo. ( peso indica o grau de inJu?ncia 5ue alguma informa12o fornecida por algum avaliador terE na avalia12o @nal do agente. prepare(pinionReplies/ !nvio das opiniCes re5uisitadas. ( agente avaliador funciona como provedor de opiniCes. -% 2 Agente Aaliador Ho sub-t3pico ,.B foram eKplicados os dois tipos de intera12o 5ue eKistem entre agentes avaliadores/ opini2o e reputa12o. A seguir s2o eKplicadas de 5ue forma cada intera12o foi utili+ada no algoritmo desenvolvido) as adapta1Ces usadas para aplicar algumas id4ias do Governance Framework 9B) G=) e 5uais foram as maiores di@culdades encontradas durante a cria12o do agente. 2:9 "nterao de opinio &omo jE havia dito no sub-t3pico ,.B) os agentes avaliadores possuem um grau de conhecimento 7de - at4 ;8 atribuFdo randomicamente no inFcio de cada jogo para as ;- eras presentes. &onse5Wentemente) em algumas eras o nosso agente n2o possui um grau de perFcia elevado) tendo a necessidade de interagir com outros agentes para conseguir uma melhor avalia12o das pinturas re5uisitadas nestas eras. Ho entanto) hE a necessidade de distinguir 5uais opiniCes s2o mais ben4@cas para o agente 5ue as re5uisitou. 'nicialmente pensamos em atribuir a polFtica de re5uisitar opiniCes apenas para os agentes 5ue menos mentiam tanto para a informa12o do seu conhecimento da era 7certaint# assessment8 como para o valor da opini2o. Apesar dessa id4ia aparentar ser bem l3gica) percebeu-se 5ue algumas das ve+es uma mentira sobre certaint# assessment do agente provedor) pode n2o ser ruim. $ara facilitar o entendimento) suponhamos 7@gura D8 5ue nosso agente "! solicita uma opini2o de alguma pintura pertencente a era< para um agente competidor. Ho primeiro caso) o agente competidor sempre informa 5ue sua perFcia na era< 4 de -);) e 5ue sua avalia12o sempre 4 referente ao grau de conhecimento informado. ME no segundo caso 7@gura G8) um outro agente competidor 5ue tamb4m recebeu uma solicita12o do nosso agente) sempre di+ 5ue seu grau de perFcia na era< 4 -);) assim como o outro. Ho entanto) ele sempre informa valores 5ue s2o aproKimados da avalia12o correta. &omparando os dois casos) torna-se mais interessante usar as informa1Ces do 6ltimo agente do 5ue o do primeiro caso. "ogo) a informa12o sobre o grau de conhecimento fornecido por um agente provedor concorrente) em uma intera12o de opini2o) n2o deve ser sempre considerada a mais importante. ( simulador feito pela competi12o) disponFvel no seu site o@cial 9;=) 4 o responsEvel por criar o ambiente dos jogos) tanto 4 5ue ele foi utili+ado para os testes do agente desenvolvido. 'nternamente ele utili+a a seguinte f3rmula para calcular a avalia12o @nal de cada avaliador em rela12o a uma pintura/ pYZ[ i 7w i . p i 8 ) [ i 7w i 8 -- onde w i e p i s2o respectivamente o peso do avaliador i segundo o ponto de vista de um agente) e o valor de uma opini2o do mesmo agente avaliado. %igure F- "nterao por opinio eGe6plo 9: -$ %igure H- "nterao por opinio eGe6plo /: &omo hE a necessidade de representar a reputa12o das eras para cada agente) foram de@nidas reputa1Ces de papel 7role reputation8. Aessa maneira) podemos veri@car se toda a informa12o transmitida por um determinado avaliador) referente a alguma era) pode ou n2o ser usada de forma positiva para a avalia12o @nal de alguma pintura. "ogo) as reputa1Ces de papel s2o os pesos de cada avaliador referente a alguma era. Ha @gura : hE a representa12o dessa id4ia. %igure 3 C Reputa=es de papel para cada era de cada agente co6petidor: $ara 5ue as reputa1Ces de papel pudessem ser calculadas) houve a necessidade de hist3rico de conhecimento. &omo cada jogo 4 dividido em ;: sessCes) somente na primeira sess2o consideramos 5ue todos os agentes informam meias verdades 7w i Z-)<8 para as perFcias 5ue o agente "! t?m grau de conhecimento inferior a -.<) caso contrErio) considera o peso dos agentes igual a +ero) jE 5ue nosso agente n2o possui nenhuma informa12o passada dos adversErios. Ap3s a primeira sess2o) nosso agente come1a a conhecer cada ve+ mais as caracterFsticas dos avaliadores presentes no jogo. Antes das reputa1Ces serem atuali+adas) hE a veri@ca12o se ocorreu viola12o de norma. %ma viola12o acontece 5uando a opini2o do agente provedor sobre uma pintura solicitada n2o ajuda de forma alguma a Agente L(! ::: Role Reputations Agente co6petidor 9 Role Reputations Agente co6petidor / Role Reputations Agente co6petidor n era9 era/ ::: era3 era94 -4 avalia12o @nal do nosso agente. omente ap3s essa anElise 5ue 4 permitida a atuali+a12o da reputa12o. $ercebe-se acima a eKist?ncia de dois conceitos presentes no Governance Framework/ julgamento e o cElculo das reputa1Ces. $ara facilitar o entendimento de como eles foram aplicado no agente desenvolvido) cada um deles 4 eKplicado em um sub-t3pico a seguir. Processo de Iulga6entoJ Qisando seguir a id4ia do Governance Framework 9B) G=) o julgamento 4 reali+ado a partir de informa1Ces baseadas em testemunhos. Ho nosso caso) a testemunha 4 o sistema 5ue fornece o valor correto da pintura) para 5ue a partir daF possa ser reali+ado o julgamento de algum outro agente avaliador. Assim) nosso agente desempenharE a fun12o de jui+ para 5ue o veredicto @nal dos concorrentes possa ser reali+ado. Ho julgamento) nosso avaliador veri@ca cada opini2o fornecida na 6ltima rodada) e calcula para cada uma delas o acerto percentual 7blame$ercentage8 em rela12o ao valor verdadeiro na pintura 7testemunho fornecido pelo sistema8. A f3rmula usada 4 a seguinte/ blame$ercentage Z AppraisedQalue S TrueQalue) onde AppraisedQalue representa o pre1o avaliado segundo algum agente 5ue recebeu uma re5uisi12o de opini2o para uma certa pintura. ME o TrueQalue 4 o valor real da pintura) 5ue 4 revelado no @nal da sess2o. $ara reali+ar tais cElculos a sess2o corrente sempre usa as opiniCes da sess2o anterior) pois esses s2o os dados disponFveis pelo jogo. Assim) ap3s obter o valor blame$ercentage 4 feita a veri@ca12o se o erro relacionado a opini2o foi superior a ;--\) tanto para mais como para menos) ou seja) -\ e ,--\ signi@cam a mesma coisa jE 5ue a diferen1a 4 de ;--. &aso isso tenha ocorrido) blame$ercentage recebe o valor T-)-U) jE 5ue a opini2o n2o nos ajuda na avalia12o. !ntretanto) caso o erro seja inferior a ;--\) o valor da variEvel blame$ercentage 4 mantido. Aessa forma) podemos veri@car se ocorreu viola12o de norma atrav4s de uma compara12o entre a percentagem de acerto da opini2o e o grau de conhecimento do nosso avaliador em rela12o V era da pintura opinada. e blame$ercentage for maior ou igual V perFcia do nosso agente) n2o hE viola12o de norma) caso contrErio hE o registro de tal viola12o. 2:9:9 C7lculo da ReputaoJ &omo o agente desenvolvido pode solicitar opiniCes de vErias pinturas de uma mesma era para um avaliador especF@co durante uma mesma sess2o) 4 reali+ada a m4dia das blame$ercentages encontradas -: 7averagePlame$ercentages8) para 5ue assim possa ser reali+ada a atuali+a12o da reputa12o de papel correspondente) pelo interm4dio da seguinte f3rmula/ newRoleReputation Z 9 7, Y oldRoleReputation8 ] 7averagePlame$ercentages8 = S I) onde oldRoleReputation representa a reputa12o de papel de uma certa era na sess2o anterior) averagePlame$ercentages a m4dia das porcentagens de acerto das opiniCes providas de uma mesma era) e newRoleReputation a reputa12o de papel atuali+ada. Apesar de agora conseguirmos encontrar os valores das reputa1Ces de papel atuali+ados) e eles representarem os pesos 7w i 8 das eras de cada agente avaliador) deve-se tamb4m veri@car se 4 interessante aumentar ou diminuir o peso do nosso agente ou o peso de algum concorrente especi@co em algum caso. Pom) para sermos mais claros) imagine a situa12o em 5ue para numa mesma era o nosso agente possuFsse a perFcia -.:) en5uanto 5ue todos os outros agentes ap3s diversas anElises possuFssem perFcia 7role reputation8 de grau -.;. Hosso resultado @nal torna-se mais vantajoso caso o grau do nosso agente "! suba para ;.- en5uanto 5ue os outros recebam valor -.-) pois isso permitirE 5ue tenhamos mais con@an1a em rela12o a avalia12o @nal do nosso agente) devido o seu alto grau de perFcia e o baiKo grau dos outros agentes segundo as anElises reali+adas por ele. Qeja a seguir dois casos referentes ao eKemplo acima) e lembre-se 5ue os valores s2o aplicados V f3rmula/ pYZ[ i 7w i . p i 8 ) [ i 7w i 8 de@nida no simulador oferecido pela competi12o. !Kemplo/ !m um jogo com tr?s agentes) o nosso agente estE avaliando uma pintura 5ue custa na realidade R^ ;-.---. $ara tentar chegar o mais pr3Kimo possFvel desse valor) ele interage com outros agentes. 0esmo o agente "! tendo uma alta perFcia sobre a era correspondente 7-):8) ele procura complementar sua informa12o com as opiniCes dos avaliadores concorrentes. (s dois agentes 5ue fornecem opiniCes para o agente "! informam 5ue seus graus de conhecimento sobre a era especF@ca 4 -);. Ho primeiro caso s2o usados os pesos 7role reputations8 sem altera1Ces) jE no segundo eles jE sofrem mudan1as. -B Resumo: Grau dos agentes fornecedores da opinio: -);. Valor opinado pelos agentes: R^ ;.--- Grau do agente LES: -): Valor fornecido pelo sistema a partir do conhecimento do agente LES: R^ :.--- Caso 1: 7-); Y ;.---8 ] 7-); Y ;.---8 ] 7-): Y :.---8 Z 7.545, 45 -); ] -); ] -): Caso 2: 7-)- Y ;.---8 ] 7-)- Y ;.---8 ] 7;)- Y :.---8 Z 9.000 -)- ] -)- ] ;)- Assim) se sempre eKistir um agente especF@co com um grau bem superior em rela12o aos outros) alterar os pesos pode ser interessante) como no segundo caso apresentado no eKemplo acima. !ntretanto) caso os graus de perFcia entre os agentes sejam muito parecidos) torna-se perigoso aumentar o grau de algum deles) jE 5ue a diferen1a entre um e outro 4 mFnima) e sem contar 5ue tais dados s2o baseados segundo os estudos feitos pelo nosso agente 5ue n2o garantem com ;--\ de certe+a se tais avaliadores continuar2o informando opiniCes em torno das m4dias de peso encontradas) jE 5ue um agente pode mudar repentinamente de comportamento. %ma maneira para auKiliar o aumento ou a diminui12o do grau de um agente) 4 a partir do n6mero de viola1Ces e uma s4rie de compara1Ces do peso de um agente em rela12o a todos os outros. A seguir) hE a eKplica12o dos possFveis incrementos e decrementos dos pesos de cada avaliador durante as sessCes do jogo. 'ncrementos/ Ruando algum agente possui um grau muito superior referente a todos os outros avaliadores) segundo a anElise do agente "!. Ruando a menor parte dos agentes possuem perFcia muito superior em rela12o V maioria dos avaliadores. Aecrementos/ Algum agente possui perFcia muito inferior em rela12o V todos os outros agentes. Ruando a menor parte dos agentes possuem perFcia muito inferior em rela12o V maioria dos avaliadores. (s valores escolhidos para os possFveis decrementos e incrementos foram selecionados a partir de uma s4rie de testes) e da anElise do comportamento de alguns agentes competidores da 6ltima vers2o do ART- Testbed. %ma informa12o importante a ser frisada 4 5ue dependendo da diferen1a entre as perFcias 7reputa1Ces de papel8 dos avaliadores envolvidos 7segundo o agente "!8) um incremento ou decremento maior ou menor pode ocorrer. -& Rui 6 *el>o r 2:/ "nterao de reputao A outra intera12o entre avaliadores 4 a de reputa12o 7sub-t3pico ,.B8) onde um agente A pode solicitar a reputa12o de um agente & a partir do ponto de vista do agente P 7eK/ @gura ;-8. Assim) a intera12o acontece entre os agentes A e P) sendo o primeiro o solicitador da informa12o en5uanto o segundo o provedor. Hessa vers2o do agente "!) n2o houve um desenvolvimento 5ue usasse tal intera12o) no entanto) algumas reJeKCes sobre o assunto foram feitas) sendo grande parte delas referente ao uso da intera12o por opini2o. %igure 94 C (Ge6plo de u6a interao por reputao: A intera12o por reputa12o permite 5ue conhe1amos a reputa12o de um agente em rela12o a outro) ou veri@camos 5ue a reputa12o informada na realidade 4 uma grande mentira. $ara poder veri@car se 4 verdade ou mentira) hE a necessidade de usar a intera12o de opini2o) pois ela garante uma informa12o mais Ts3lidaU em rela12o aos competidores. Assim como as trocas de opini2o) as de reputa12o geram gastos estipulados pelo simulador da competi12o) no entanto) as informa1Ces de reputa12o) diferentemente das de opini2o n2o geram informa1Ces su@cientes para 5ue possa obter com um certo grau de certe+a sobre 5uem di+ mais a verdade e a mentira. Ap3s anElises em um conjunto de agentes participantes da 6ltima vers2o do ART-Testebed 7,--.8) foi constatado 5ue a grande maioria n2o usava intera12o por reputa12o. 'sso nos leva a acreditar 5ue tal intera12o n2o nos d? um ganho signi@cativo assim como a por opini2o. &laro 5ue n2o podemos garantir 5ue em nenhuma situa12o tal intera12o seja 6til) no entanto) haverE a necessidade de um estudo 5ue veri@5ue se eKiste algum meio de usE-lo para nosso benefFcio. %ma das metas da pr3Kima vers2o do agente ART-Testbed 4 procurar encaiKar alguma t4cnica 5ue permita usar a intera12o de reputa12o e o torne mais inteligente em rela12o aos outros. 2:2 Di8iculdades -A As di@culdades encontradas durante o desenvolvimento do nosso agente est2o intimamente relacionadas ao Governance Framework) e o domFnio da aplica12o. A seguir) hE dois sub-t3picos 5ue detalham cada situa12o. 2:2:9 ;oernance %ra6ewor< A primeira di@culdade encontrada para adaptar o Governance Framework) foi decidir 5ual ou 5uais das reputa1Ces oferecidas 7norm reputation) role reputation) e global reputation8 por ela poderiam ser utili+adas para o domFnio em 5ue o agente seria aplicado 7sub-t3pico ,.I8. Ap3s algumas anElises) percebeu-se 5ue o mais interessante seria usar a reputa12o por papel para 5ue cada era de um agente tivesse a sua e assim possibilitar a veri@ca12o de cada caso de forma independente) como apresentado na @gura :. Ap3s decidir o uso da reputa12o por papel) o pr3Kimo passo era de@nir como reali+ar o cElculo da reputa12o. $ensamos em reutili+ar a f3rmula proposta pelo Governance Framework) no entanto) percebeu-se 5ue um conjunto de variEveis utili+adas por ela n2o seria 6til para o agente) como por eKemplo/ witnessRoleReputation e defendantRoleReputation. A primeira representa a reputa12o de papel de uma testemunha. Ho nosso caso sempre serE ;.-) pois a testemunha 4 o simulador da competi12o 5ue informa no @nal de cada sess2o o valor verdadeiro das sessCes. &omo temos a garantia 5ue tais informa1Ces sempre ser2o corretas) ent2o n2o hE necessidade de representar essa variEvel. ME a defendantRoleReputation representa a reputa12o de papel de um r4u. Ho domFnio da competi12o) tal informa12o 4 desnecessEria. %m ponto 5ue chamou aten12o e 5ue n2o foi tratado pelo framework foi V id4ia de incrementar a reputa12o de alguns agentes a partir de um certo instante ou situa12o. Ha vers2o atual) acontece apenas decremento na reputa12o. e em algum instante o agente receber a atribui12o +ero) ele @carE com a5uele valor pelo resto da vida. !sse ponto torna-se crFtico) jE 5ue em algumas situa1Ces poderemos decidir interagir com o menos pior dos agentes envolvidos em um domFnio. Apesar disso) o framework ajudou bastante em medir as reputa1Ces dos agentes. &laro 5ue adapta1Ces foram reali+adas devido o domFnio do problema) no entanto) a id4ia de como estruturar nosso agente competidor veio a partir do Governance Framework. 2:2:/ Do6Dnio ART-Testbed Aistinguir informa1Ces verdadeiras de mentirosas em um domFnio de aplica12o no geral 4 uma situa12o complicada) sendo 5ue dependendo dos envolvidos) uma certa t4cnica pode ser melhor utili+ada do 5ue outra. !sse foi um dos pontos veri@cados durante a fase de testes do agente desenvolvido) pois em certos jogos em 5ue um competidor era o mesmo) dependendo dos outros avaliadores do jogo) nosso agente conseguia ganhar ou perder. -C _ improvEvel construir um agente 5ue possa superar todas as t4cnicas possFveis para reputa12o) pois certas delas ajudam algumas outras) assim como atrapalham. imula1Ces de diferentes jogos com grupos de participantes distintos foram feitos para comprovar esse fato. A 5uest2o 4 construir um algoritmo 5ue primeiro se saia bem em todos os jogos) mesmo 5ue n2o os ven1a. e conseguirmos criar um agente 5ue consiga @car sempre entre os primeiros) teremos a certe+a 5ue ele 4 um forte competidor. -D 1 Concluso e trabal>os 8uturos !sse projeto visou implementar um agente para o domFnio ART-Testbed 5ue aplicasse t4cnicas do Governance Framework. Aessa maneira) mais um estudo de caso para o framework foi criado) permitindo avaliar e constatar 5ue os conceitos aplicados nele s2o realmente 6teis para medir reputa1Ces. ( agente desenvolvido precisa sofrer ainda algumas altera1Ces para tornE-lo t2o forte 5uanto os primeiros colocados da 6ltima vers2o do ART- Testbed. Qisando esse crescimento) pretendemos seguir os seguintes passos/ Finali+a12o dos estudos dos agentes competidores da 6ltima vers2o do ART-Testbed. !studo de novas t4cnicas de reputa12o para 5ue possam bene@ciar a forma como as avalia1Ces s2o feitas atualmente. $rincipalmente a situa12o 5uando um agente passa de uma hora para outra a ser honesto para desonesto e vice-versa` $rocurar aplicar intera12o de reputa12o no agente` $ara maiores informa1Ces da competi12o e dos seus participantes visite o site 9a= correspondente listado no t3pico TRefer?ncias PibliogrE@casU. %m conjunto de artigos e eKplica1Ces 4 oferecido para estimular a participa12o de novos membros. $% Re8erKncias 5ibliogr78icas 9;= ART Testbed Team. Agent Reputation and Trust Testbed. http/SSwww.lips.uteKas.eduSbkfullamScompetitionS) ,--.. 9,= Agent ociet# Framework - AF. http/SSwww.les.inf.puc-rio.brSframeworkasfS 9I= &(TA) Andrew Aini+` '"QA) Qiviane Torres` "%&!HA) Mos4 &arlos $.) Remodelando e Estendendo o Agent oc!ety "ramewor#) $%&-Rio 'nf. 0&& ;D S-.) Munho ,--.. 9B= Fernanda Auran) Qiviane Torres da ilva) and &arlos M. $. de "ucena 7,--.8 T%sing Testimonies to !nforce the Pehavior of AgentsU. 9<= Fullam) c.) T. clos) G. 0uller) M. abater) A. chlosser) d. Topol) c. . Parber) M. Rosenschein) ". Qercouter) and 0. Qoss. 7,--<8 eA peci@cation of the Agent Reputation and Trust 7ART8 Testbed/ !Kperimentation and &ompetition for Trust in Agent ocieties)e The Fourth 'nternational Moint &onference on Autonomous Agents and 0ultiagent #stems 7AA0A-,--<8) %trecht) Mul# ,<-,:) pp. <;,-<;G 9.= Fullam) c.) T. clos) G. 0uller) M. abater) d. Topol) c. . Parber) M. Rosenschein) and ". Qercouter. 7,--<8 eA Aemonstration of The Agent Reputation and Trust 7ART8 Testbed/ !Kperimentation and &ompetition for Trust in Agent ocieties)e The Fourth 'nternational Moint &onference on Autonomous Agents and 0ultiagent #stems 7AA0A-,--<8 Aemonstration Track) %trecht) Mul# ,<-,:) pp. ;<;-;<,. 9D= Fullam) c. and c.. Parber. 7,--.8 e"earning Trust trategies in Reputation !Kchange Hetworks)e The Fifth 'nternational Moint &onference on Autonomous Agents and 0ultiagent #stems 7AA0A-,--.8) Nakodate) Mapan) 0a# G-;,) pp. ;,B;-;,BG. 9G= Mos4 de . $. Guedes Qiviane Torres da ilva) and &arlos M. $. de "ucena 7,--.8 TA Reputation 0odel Pased on TestimoniesU. 9:= Mennings) H. R. and Xooldridge) $. Agent-or!ented so%tware eng!neer!ng. 'n Pradshaw) M. 7!d.8 Nandbook of Agent Technolog#) AAA'S0'T $ress) ,---. $- 9;-= cafali) (. and $. Oolum. 7,--.8 eTrust trategies for ART Testbed)e The Xorkshop on Trust in Agent ocieties at The Fifth 'nternational Moint &onference on Autonomous Agents and 0ultiagent #stems 7AA0A-,--.8) Nakodate) Mapan) 0a# :) pp. BI-B:. 9;;= en) .) '. Goswami) and . Airiau. 7,--.8 e!Kpertise and Trust-Pased Formation of !*ective &oalitions/ An !valuation of the ART Testbed)e The Xorkshop on Trust in Agent ocieties at The Fifth 'nternational Moint &onference on Autonomous Agents and 0ultiagent #stems 7AA0A-,--.8) Nakodate) Mapan) 0a# :) pp. D;-DG .
9;,= '"QA) Qiviane Torres. "rom a Conce&tual "ramewor# %or Agents and 'b(ects to a $ult!-Agent ystem $odel!ng )anguage. ,--B. Aisserta12o 7Aoutorado8 - $ontifFcia %niversidade &at3lica do Rio de Maneiro) Aepartamento de 'nformEtica) Rio de Maneiro) ,--B. 9;I= '"QA) Q.` &(RT_) 0.` "%&!HA) &. ) An 'b(ect-'r!ented "ramewor# %or *m&lement!ng Agent oc!et!es) $%&-Rio 'nf. 0&& I, S-B) etembro ,--B. 9;B= tranders) R. 7,--.8 Argumentation Pased Aecision 0aking for Trust in 0ulti-Agent #stems. 0asterfs Thesis) Aelft %niversit# of Technolog#. 9;<= Xooldridge) 0. and Mennings) +. R. P!t%alls o% agent-or!ented develo&ment. $roceedings of the econd 'nternational &onference on Autonomous Agents 7Agentsf:G8) A&0 $ress) pp. IG<-I:;) ;::G. $$