Um Framework para Cálculo de Reputações de Agentes de Software Baseado em Testemunhos José Guedes (PUC-Rio) Viviane Torres da Silva (UCM) Carlos Lucena (PUC-Rio) Agenda Motivação Definição do problema Sistemas de Reputação Modelos Centralizados e Descentralizados Modelo Proposto Framework para Cálculo de Reputações Em andamento Referências © LES/PUC-Rio Motivação Sistemas multi-agentes abertos sociedades onde entidades heterogêneas e projetadas de forma independente podem trabalhar com fins semelhantes ou diferentes. Agentes precisam saber se outros agentes são confiáveis Como saber se um agente é confiável antes de interagir com ele ? © LES/PUC-Rio Definição do problema Como saber se um agente é confiável sem ter interagido com ele ? Agente A precisa de um serviço oferecido por um agente C mas nunca interagiu com ele A C Agente A não sabe se o agente C é confiável © LES/PUC-Rio Sistemas de Reputação Agentes avaliam o comportamento de outros agentes – Mal comportamento → má reputação – Bom comportamento → boa reputação Sistemas de Reputação Clássicos – eBay, Amazon Auction – Recebe informações sobre as negociações entre agentes • Nestes casos, agentes são pessoas – Avalia a reputação dos agentes – Fornece a reputação de um agente para outro © LES/PUC-Rio Modelo de Reputação Centralizado Vantagens: (considerando sistemas multi-agentes de larga-escala) Exemplos: eBay, Amazon Auctions e Sporas A Desvantagens: – considera todas as avaliações honestas, mas agentes podem mentir – toda informação está centralizada em um único sistema de reputação centralizado – valor de reputação global. Não considera contextos diferentes. © LES/PUC-Rio Avaliação de B = ** Avaliação de A = *** B Qual a reputação de A ? C *** Sistema de Reputação – a reputação de um agente é sempre conhecida pelo sistema de reputação – reúne todas as avaliações de um mesmo agente Modelo de Reputação Descentralizado I/III Vantagens: – o próprio agente é responsável pelo cálculo e armazenamento das reputações – cada proprietário programa seu agente de software com estratégias particulares Modelo descentralizado simples Desvantagens: – somente é possível saber se um agente é confiável se já interagiu com ele anteriormente ? – só considera ações de interação ao medir a confiança © LES/PUC-Rio Qual a reputação de A ? Modelo de Reputação Descentralizado II/III Vantagem: Modelo de reputação baseado em testemunhos – agentes podem saber a reputação de outros agentes sem ter interagido anteriormente com eles X Desvantagens: – o agente não sabe quem já interagiu anteriormente com um determinado agente – as reputações fornecidas por um agente são baseadas no ponto de vista deste agente – pode ser difícil estabelecer uma quantidade de recomendações suficientes para saber se o agente é uma boa testemunha. – não estarão dispostos a colaborar com seus concorrentes e por isso não irão repassar informações. X © LES/PUC-Rio X X X X X X X Reputação do Agente A do ponto de vista do agente B Modelo de Reputação Descentralizado III/III Vantagem: Modelo de reputação baseado em reputação certificada – a reputação de um agente pode ser facilmente conhecida Desvantagens: – a reputação de um agente será provavelmente superestimada – as reputações certificadas estão influenciadas pelo ponto de vista dos agentes que forneceram as reputações Reputações do Agente A do ponto de vista dos agentes B e D © LES/PUC-Rio Proposta Modelo de reputação híbrido – combina as características de abordagens centralizadas e descentralizadas Subsistema de Reputação – implementado através do framework para cálculo de reputações de agentes de software baseado em testemunhos © LES/PUC-Rio Organizações Sistemas multi-agentes de larga escala são compostos por grupos ou organizações de agentes – – – – cada organização define seu próprio conjunto de normas. as normas devem ser obedecidas também nas suborganizações normas das suborganizações não podem contradizer as normas da superorganização podem ser mais restritivas do que as normas de origem 1 Org1.1 5 6 2 3 4 8 7 9 © LES/PUC-Rio Org1 Org1.2 Org1.2.1 Organizações Exemplo: Normas da Org1 01. Consolidador deve entregar a carga para o importador no local determinado e no prazo estabelecido 02. O consolidador não pode alterar a data do embarque divulgada na programação de navios 03. O exportador tem que entregar a mercadoria ao consolidador contratado pelo importador dentro do prazo estabelecido Normas da Org1.1 04. O exportador tem que entregar a mercadoria ao importador dentro do prazo estabelecido © LES/PUC-Rio Framework para Cálculo de Reputações Propósito – Implementar organizações que avaliam a reputação de um agente baseado nos testemunhos de violações de normas enviados pelos agentes de software. Responsabilidades: i. receber os veredictos dos testemunhos, enviados pelo subsistema julgamento; ii. fazer o atendimento ao subsistema de julgamento e aos agentes sistema, respondendo as requisições sobre as reputações dos agentes; iii. calcular e armazenar as reputações dos agentes de acordo com veredictos dos testemunhos. Os veredictos são classificados armazenados como violação de norma ou falso testemunho; iv. manter as reputações atualizadas. © LES/PUC-Rio de do os e Framework para Cálculo de Reputações O que vai exercer influência na reputação ? Gravidade da violação – variáveis definidas ao instanciar o framework – normPower: normas diferentes influenciam as reputações de modos diferentes – totalTime: por quanto tempo a violação influenciará na reputação Atenuante e Agravante – confession: a confissão do agente diminui o a influência do poder da norma – relapses: a reincidência de uma mesma norma aumenta a influência do poder da norma Normas – Transporte e Consolidação de Cargas Normas normPower 01. Consolidador deve entregar a carga para o importador no local determinado e no prazo estabelecido 02. O consolidador não pode alterar a data do embarque divulgada na programação de navios © LES/PUC-Rio totalTime confession 1,0 60 1,0 0,5 10 0,5 Framework para Cálculo de Reputações O que vai exercer influência na reputação ? O percentual de culpa do agente – blamePercentage: percentual recebido do sistema de julgamento A violação é “esquecida” – remainingDays: normas violadas recentemente influenciam mais a reputação de um agente do que normas violadas a mais tempo totalTime(ni) – passedDays(aj,ni) remainingDays(aj,ni) = -----------------------------------------totalTime (ni) formulaInfluenceDef(aj) = (normPower * blamePercentage) * confession * (1/relapse) * remainingDays formulaReputation (aj) = 1 – (formulaInfluenceDef(aj)) © LES/PUC-Rio Exemplo: agente violou norma n2 em 01/05 Resultado: true (agente acusado foi considerado culpado) blamePercentage = 0,9 (grau de culpa do agente é de 90%) NormPower = 0,5 (poder da norma n1) TotalTime = 10 dias Confession = 1 (não houve confissão) Relapse = 1 (primeira vez que o agente violou esta norma) normPower* blamePercentage: 90% do poder da norma influenciando na reputação do agente - + © LES/PUC-Rio Framework para Cálculo de Reputações Hot spot: fórmulas de cálculo da reputação formulaReputation (aj) = 1 – x x = ∑0<i<=k [formulaInfluenceDef(aj)], se 0 <= ∑0<i<=k [formulaInfluenceDef(aj)] <= 1 1 , se ∑0<i<=k [formulaInfluenceDef(aj)] > 1 formulaInfluenceDef(aj) = (normPower * blamePercentage) * confession * (1/relapse) * remainingDays © LES/PUC-Rio Conclusões Problemas solucionados com nossa abordagem: i. Agentes não precisam interagir várias vezes com o mesmo agente para obter reputações consistentes; ii. Não existe a necessidade de procurar um agente para obter recomendações; iii. Ao contrário das reputações certificadas, as reputações fornecidas pelas organizações não estão superestimadas; iv. As reputações fornecidas pelas organizações não estão influenciadas por opiniões de outros agentes e sim por testemunhos de violações de normas. Cada norma descreve de que forma a violação vai influenciar na reputação dos agentes. © LES/PUC-Rio Em andamento Comparação com Regret System – Simulação: interações entre agentes contratantes X consolidadores – Contratante deve escolher o agente mais confiável – objetivos • comparar a performance dos mecanismos de reputação, isto é, se os mecanismos estão permitindo que os agentes façam a melhor escolha em uma negociação. • demonstrar o melhor aproveitamento na nossa proposta na medida em que aumentam o número de agentes © LES/PUC-Rio Em andamento ART-Testbed – Andrew Costa – Agent Reputation and Trust • Competição e experimento • Cada participante, representado por seu agente, precisa interagir com os outros agentes da competição para atingir seu objetivo Nova versão do framework Escrita da dissertação © LES/PUC-Rio References 1. Abdul-Rahman, A. and S. Hailes: 2000, Supporting Trust in Virtual Communities. In: Proceedings of the 33rd Hawaii International Conference on System Sciences, Vol. 6. 2. Amazon Site. http://www.amazon.com World Wide Web (2006) 3. Castelfranchi, C. and R. Falcone: Social Trust: A Cognitive Approach. In: C. Castelfranchi and Y. Tan (eds.): Trust and Deception in Virtual Societies. Kluwer Academic Publishers (2001) pp. 55–90 4. eBay Site. http://www.ebay.com World Wide Web (2006) 5. Grandison, T., Sloman, M.: A Survey of Trust in Internet Applications. IEEE Communications Surveys & Tutorials 3(4) (2000) 6. Huynh, T. D., Jennings N. R., Shadbolt, N. R.: FIRE: An Integrated Trust and Reputation Model for Open Multi-Agent Systems. In: Proceedings of the 16th European Conference on Artificial Intelligence (ECAI) (2004) pp. 18–22 7. Incoterms Site. Site http://incoterms.atspace.com/index.html, World Wide Web (2006) 8. Resnick, P., Zeckhauser, R., Friedman, E., Kuwabara, K.: Reputation Systems. In: Communications of ACM, vol. 43, number 12, p. 45-48, December 2000. 9. Sabater, J.:Trust and Reputation for Agent Societies. PhD thesis, Universitat Autonoma de Barcelona (UAB) (2003) © LES/PUC-Rio References 10. Sabater, J., Sierra, C.: Reputation and Social Network Analysis in Multi-Agent Systems. In: Proceedings of First International Conference on Autonomous Agents and Multiagent Systems (AAMAS), Bologna, Italy (2002) pp. 475-482 11. Silva, V., Lucena, C.: Governance in Multi-Agent Systems Based on Witnesses. Pontifical Catholic University of Rio de Janeiro (PUC-Rio). Rio de Janeiro - Brazil (2005) 12. Skogsrud, H., Benatallah, B., Casati, F.: Model-Driven Trust Negotiation for Web Services. IEEE Internet Computing 7(6) (2003) pp. 45–52 13. Yu, B., Singh, M. P.: Distributed Reputation Management for Electronic Commerce. Computational Intelligence (2002) 18(4) pp. 535-549 14. Yu, B., Singh, M. P.: An Evidential Model of Distributed Reputation Management. In: Proceedings of First International Joint Conference on Autonomous Agents and Multi-Agent Systems (2002) Vol. 1. pp. 294–301 15. Zacharia, G. and P. Maes: 2000, Trust management through reputation mechanisms.Applied Artificial Intelligence 14(9), 881–908. © LES/PUC-Rio Experimentos A opção de fazer experimentos comparativos do nosso sistema de reputação com o Regret devese ao fato de ser um dos sistemas de confiança e reputação mais citados por artigos da área. O objetivo do experimento é verificar a performance dos mecanismos de reputação ao selecionar agentes confiáveis, evitando aqueles agentes consolidadores que oferecem algum risco ao transportar as mercadorias. Foram executadas cinco simulações, todas com 100 sessões, porém cada uma com uma quantidade diferente de agentes consolidadores. A primeira simulação contou com 36 agentes consolidadores e a cada simulação o número foi duplicado até chegar em 576 agentes consolidadores na quinta e última simulação. O objetivo foi demonstrar a queda de aproveitamento dos agentes contratantes na medida em que aumenta a quantidade de agentes consolidadores. A queda de aproveitamento acontece por causa do aumento do número de agentes consolidadores. As interações diretas entre agentes contratantes e consolidadores ficam cada vez mais escassas, por isso os mecanismos de reputação tornam-se menos eficientes. A simulação consiste em interações entre agentes contratantes (compradores ou vendedores) e agentes consolidadores, conforme a figura 3. Em cada sessão cada agente contratante tem a missão de escolher o agente mais confiável dentre 6 agentes consolidadores selecionados pelo simulador. São sempre 48 agentes contratantes, 12 de cada tipo de algoritmo de reputação, definidos abaixo: © LES/PUC-Rio Experimentos Agentes Contratantes Random: São agentes que escolhem um agente consolidador de maneira aleatória. Direct Trust: São agentes dotados do mecanismo de cálculo da reputação subjetiva direct trust do sistema Regret. Utilizam o histórico de interações diretas anteriores para saber se o agente consolidador é confiável ou não. Direct Trust + Witness Reputation: São agentes dotados do mecanismo direct trust e witness reputation. Na segunda a reputação é obtida através dos testemunhos de outros agentes da sociedade e é utilizada quando o agente contratante nunca interagiu anteriormente com o agente consolidador. Embora na vida real os agentes possam mentir ou então enviar avaliações equivocadas geradas por programas defeituosos ou maliciosos, não estamos considerando estes problemas. Estamos considerando que todas os testemunhos enviados são corretos. O universo de testemunhas é limitado em 5 agentes, no máximo. A quantidade de testemunhas é calculada de forma randômica, de 0 até 5 agentes que já interagiram anteriormente com o agente alvo. Direct Trust + Reputation Subsystem: São agentes dotados do nosso sistema de reputação, que utiliza os testemunhos de violações de normas para saber se o agente consolidador é confiável ou não. O testemunho e a confissão de uma violação acontecem de forma aleatória. © LES/PUC-Rio Experimentos Os agentes consolidadores variaram de 36 até 576. Na primeira simulação são 36 consolidadores, em seguida 72, 144, 288 e 576. Existem três tipos diferentes de agentes consolidadores, divididos em quantidades iguais dentro de cada simulação, definidos da seguinte forma: Random: São agentes consolidadores que às vezes cometem violações. Bom: São agentes bons, nunca cometem violações. Ruim: Agentes que sempre cometem uma ou mais violações. Cada sessão da simulação tem 3 etapas: 1 O simulador seleciona 6 agentes consolidadores randomicamente para participarem da sessão. Pelo menos um agente bom terá que ser selecionado. 2 Cada agente utiliza o seu algoritmo para fazer a escolha do agente mais confiável, dentre os 6 consolidadores selecionados. O simulador armazena os resultados e cada agente alimenta seu sistema de reputação. © LES/PUC-Rio Experimentos O gráfico 1 apresenta o percentual de aproveitamento dos agentes contratantes nas cinco simulações. Com exceção dos agentes contratantes do tipo Random, que teve baixo aproveitamento em todas as simulações, o aproveitamento dos demais agentes diminuiu na medida em que o número de agentes consolidadores aumentou. É possível observar também que o melhor aproveitamento, em todas as simulações, foi obtido pelos agentes contratantes que utilizaram o mecanismo direct trust combinado com nosso mecanismo de reputação (DT+Reputation). Na primeira simulação, com 36 agentes consolidadores, o aproveitamento entre os mecanismos foi o mais próximo. A diferença aumentou nas simulações seguintes, quando o número de consolidadores dobrou para 72, 144 e 288, uma vez que as performances dos agentes do tipo Direct Trust e DT+Witness tiveram uma queda mais acentuada. © LES/PUC-Rio Experimentos O gráfico 2 mostra a evolução do grau de satisfação ao longo das sessões da terceira simulação, por tipo de mecanismo de reputação utilizado pelos agentes contratantes. Nesta simulação existiam 144 agentes consolidadores. O eixo y representa a média dos graus de satisfação das últimas 10 sessões, por tipo de mecanismo. Observamos que já após as dez primeiras sessões o nosso mecanismo de reputação já apresenta um desempenho razoável e atinge níveis próximos do ótimo mais rapidamente do que os demais mecanismos. Significa que os agentes contratantes passam a ter maior conhecimento sobre os agentes com quem precisa interagir e desta forma consegue selecionar agentes mais confiáveis diminuindo os riscos nas interações. © LES/PUC-Rio