Você está na página 1de 9

Resumo An Introduction To Multiagent Systems - Wooldridge Captulo 6 Multiagent Interactions Disciplina de Sistemas Multi-agentes

Manoel Campos da Silva Filho

Introduo
Neste captulo focaremos em como construir no mais um nico agente, e sim uma sociedade de agentes. A figura 6.1 mostra a estrutura tpica de um sistema multi agente. O sistema contm um nmero de agentes, que interagem um com o outro atravs de comunicao. Os agentes so capazes de agir no ambiente; diferentes agentes tem diferentes esferas de influncia, no sentido de que eles tem controle sobre - ou pelo menos so capazes de influenciar diferentes partes do ambiente. Estas esferas de influncia podem coincidir em alguns casos. Isto pode fazer surgir um relacionamento de dependncia entre os agentes. Por exemplo, dois agentes robs podem ser capazes de se mover atravs de uma porta, mas eles no podem fazer isso ao mesmo tempo. Agentes so tambm tipicamente ligados por outros relacionamentos como relacionamentos de poder, onde um agente o chefe do outro.

1 de 9

Utilidades e Preferncias
Consideremos, para simplificao, um cenrio com 2 agentes chamados i e j. assumido que cada agente est auto-interessado, ou seja, cada agente tem suas prprias preferncias e desejos sobre como o mundo deve ser. Iremos assumir que existe um conjunto = {1, 2, } de resultados ou estados que o agente tem preferncia. Pense nisso como resultado de um jogo que dois agentes esto jogando. Ns formalmente capturamos as preferncias que os dois agentes tem, por meio de funes de utilidade, uma para cada agente, que atribui a cada resultado, um nmero real, indicando quo bom o resultado para o agente. Quanto maior o valor, melhor o resultado. Assim, as preferncias dos agentes i e j so capturadas por funes ui: R uj: R

A funo de utilidade guia para a ordenao de preferncias dos resultados. Por exemplo, se e ' so possveis resultados em , e ui() >= uj('), ento, o resultado preferido pelo agente i, ou pelo menos tanto quanto '. Isto pode ser representado resumidamente como >=i ' A relao >=i realmente uma ordenao sobre os elementos do conjunto , tendo as seguintes propriedades: Reflexividade: para todo , temos que >=i Transitividade: se >=i ', e ' >=i '', ento >=i '' Comparatividade: para todo e ' ns temos que tanto >=i ' ou ' >=i

A estrita relao de preferncia satisfar a 2a. e 3a. propriedades, mas claramente no ser reflexiva.

O que utilidade
Indubitavelmente, a forma mais simples de pensar sobre utilidade como dinheiro; quanto mais dinheiro, melhor. Funes de utilidade so apenas uma forma de representar as preferncias do agente, o que no simplesmente igualado a dinheiro. Vamos supor que eu tenha R$ 500 milhes, enquanto voc absolutamente pobre. Se eu ganhar na loteria, qual ser o incremento em minha utilidade? Bem, eu tenho mais dinheiro, ento existir claramente algum incremento na utilidade de minha situao. Mas no haver muito: no h muito mais que eu possa fazer com R$ 501 milhes que eu no poderia com R$ 500 milhes. Em contraste, se voc ganhar na loteria, o aumento em sua utilidade ser enorme; voc ir de completamente pobre a milionrio.

Encontros de Multi agentes


Vamos introduzir agora um modelo de ambiente em que os agentes iro atuar. Os agentes podem simultaneamente escolher uma ao para realizar no ambiente, o que resulta em um estado do conjunto . Este resultado depender da combinao de aes realizadas pelos agentes. Assumiremos que os agentes no tem escolha em se realizar uma ao, eles tem que realizar alguma. Alm do mais, assumido que um agente no pode ver a ao realizada por outro. Para simplificar, vamos assumir que cada agente tem apenas 2 aes que ele pode realizar, sendo C Cooperao e D Defesa, sendo Ac = {C, D} o conjunto destas aes. A forma que o ambiente se 2 de 9

comporta determinada pela funo : Ac x Ac (aes do agente i) (aes do agente j)

Isto essencialmente uma funo de transformao de estado, como discutido no captulo 2. Isto significa que, de acordo com as aes executadas pelos dois agentes, um estado resultar. Aqui temos um exemplo de uma funo de ambiente: (D, D) = 1, (D, C) = 2, (C, D) = 3, (C, C) = 4
(6.1)

Este ambiente mapeia cada combinao de aes para um diferente estado resultante. Logo, ele sensvel s aes que cada agente executa. No outro extremo, podemos considerar um ambiente que mapeia cada combinao de aes para o mesmo estado resultante: (D, D) = 1, (D, C) = 1, (C, D) = 1, (C, C) = 1
(6.2)

Neste ambiente, no importa o que os agentes faam: o resultado sempre ser o mesmo. Nenhum agente tem qualquer influncia em tal cenrio. Podemos tambm considerar um ambiente que sensvel s aes realizadas por apenas um dos agentes: (D, D) = 1, (D, C) = 2, (C, D) = 1, (C, C) = 2
(6.3)

Neste ambiente, no importa o que o agente i faa: o resultado depende somente das aes executadas pelo agente j. Se j escolhe defender, ento o estado resultante ser 1, se resolve cooperar, o estado ser 2. O interessante quando colocamos um ambiente junto com as preferncias dos agentes. Suponha que temos um caso mais geral como descrito em (6.1), onde cada agente exerce alguma influncia sobre o ambiente. Vamos supor que os agentes tem funes de utilidade definidas como segue: ui(1) = 1, ui(2) = 1, ui(3) = 4, ui(4) = 4 uj(1) = 1, uj(2) = 4, uj(3) = 1, uj(4) = 4 (6.4) Desde que conhecemos que cada diferente combinao de escolhas feitas pelos agentes so mapeadas para um diferente estado resultante, podemos fazer um novo mapeamento como: ui(D,D) = 1, ui(D,C) = 1, ui(C,D) = 4, ui(C,C) = 4 uj(D,D) = 1, uj(D,C) = 4, uj(C,D) = 1, uj(C,C) = 4 (6.5) Desta forma, consideramos que a ao de Cooperar tem melhor utilidade para ambos os agentes. Ns podemos ento caracterizar as preferncias do agente i sobre os possveis resultados da seguinte forma: C,C >=i C,D >i D,C >=i D,D Agora vamos considerar a seguinte questo: Se voc era o agente i neste cenrio, o que voc escolheria: cooperar ou defender? O agente i prefere todos os resultados em que ele coopera sobre todos em que ele defende. A escolha do agente i portanto clara: ele deve cooperar, no importa o que o agente j faa. O mesmo ocorre para o agente j. Note que, neste caso, nenhum agente precisa se preocupar sobre o que o outro ir fazer: a ao que ele executar no depende, de nenhuma forma, do outro agente. Se ambos agentes neste cenrio agem racionalmente, ou seja, ambos escolhem realizar a ao que 3 de 9

guiar para seus resultados preferidos, ento ambos escolhero cooperar. Agora suponha que, para o mesmo ambiente, as funes de utilidade dos agentes fossem como segue: ui(D,D) = 4, ui(D,C) = 4, ui(C,D) = 1, ui(C,C) = 1 uj(D,D) = 4, uj(D,C) = 1, uj(C,D) = 4, uj(C,C) = 1 (6.6) As preferncias do agente i sobre os possveis resultados so: D,D >=i D,C >i C,D >=i C,C Neste cenrio, o agente i no pode fazer nada melhor do que defender. O agente prefere todos os resultados em que ele defende, sobre todos os resultados em que ele coopera. O mesmo ocorre para o agente j. Da mesma forma como demonstrado no exemplo anterior, neste exemplo o melhor resultado para um agente no depende da ao executada pelo outro. Mas em cenrios multi agentes, as escolhas que um agente deve fazer no so to claras; realmente so muito mais difceis. Ns podemos resumir o cenrio de interao anterior usando a notao da teoria de jogos, conhecida como matriz de pagamento (payoff matrix):

i defende i coopera Cada uma das 4 clulas de valores representa um dos possveis 4 1 resultados, de acordo com as aes de cada um dos agentes. j defende 4 4 Os valores em cada clula, na linha superior direta, representam a 4 1 utilidade para o agente i, e os na linha inferior esquerda representam a j coopera utilidade para o agente j. 1 1

Estratgias Dominantes e Equilbrio de Nash


Dado um particular encontro envolvendo dois agentes i e j, existe uma questo criticamente importante que ambos os agentes querem respondida: O que eu devo fazer? Nessa seo iremos definir alguns dos conceitos usados em resposta a esta questo. O primeiro o conceito de dominncia. Suponha que temos dois subconjuntos de , que nos referimos a eles como 1 e 2. Diremos que 1 domina 2 para o agente i se cada resultado em 1 preferido por i sobre cada resultado em 2. Por exemplo, suponha que = {1, 2, 3, 4} 1 >i 2 >i 3 >i 4 1 = {1, 2} e 2 = {3, 4} Ento 1 fortemente domina 2 desde que 1 >i 3, 1 >i 4, 2 >i 3, Formalmente, um conjunto de resultados 1 fortemente domina um conjunto 2 se 1 1, 2 2, temos 1 >i 2 2 >i 4.

Na linha de teoria de jogos, vamos nos referir aes como estratgias. Dada qualquer particular estratgia (strategy) s para um agente i em um cenrio de interao de um sistema multi agente, existir um nmero de possveis resultados. Vamos denotar por s* os resultados que podem surgir pelo agente i 4 de 9

jogando a estratgia s. Por exemplo, referindo para o ambiente de exemplo da equao (6.1), a partir do ponto de vista do agente i, ns temos C* = {3, 4}, enquanto temos D* = {1, 2}. Ou seja, para todas as estratgias onde o agente i coopera, temos os resultados {3, 4} e para todas onde ele defende temos {1, 2}. Agora, diremos que a estratgia s1 domina a s2 se o conjunto de resultados possveis jogando s1 domina o conjunto de resultados jogando s2, isto , se s1* domina s2*. Considerando o exemplo 6.5, para o agente i, cooperar fortemente domina defender. Como existem apenas duas estratgias disponveis, a estratgia de cooperao dominante: ela no dominada por nenhuma outra estratgia. A presena de uma estratgia dominante torna a tomada de deciso extremamente fcil: o agente garante seu melhor resultado executando a estratgia dominante e ignorando as outras. Infelizmente, para muitos cenrios de interao, no existir uma estratgia fortemente dominante; depois de deletar as estratgias fortemente dominadas, podemos ter mais do que uma estratgia restante. O que fazer ento? Ns podemos iniciar deletando as estratgias fracamente dominadas, onde uma estratgia s1 dita por fracamente dominar s2 se, cada resultado s1* preferido pelo menos to quanto cada resultado s2*. O problema que se uma estratgia somente fracamente dominada, ento no necessariamente irracional us-la; deletando ela, ns podemos portanto, 'jogar fora' uma estratgia que de fato poderia ter sido til usar. Um dos conceitos mais importantes na teoria de jogos e de sistemas multi agentes a noo de equilbrio (equilibrium), mais especificamente, o Equilbrio de Nash. Considere que a cada vez que voc dirige um carro, voc precisa decidir de que lado da rua dirigir. A escolha no muito difcil: se voc estiver no Reino Unido, por exemplo, voc provavelmente escolher dirigir pela esquerda; se voc estiver nos EUA, voc dirigir pela direita. A razo da escolha no difcil, que ela uma estratgia em equilbrio de Nash. Assumindo que todos os outros esto dirigindo pela esquerda, voc no pode fazer melhor que dirigir pela esquerda tambm. A partir do ponto de vista de todos os outros, assumindo que voc est dirigindo pela esquerda, ento todos os outros no podem fazer melhor do que dirigir pela esquerda tambm. Em geral, ns dizemos que duas estratgias s1 e s2 esto no Equilbrio de Nash se: sobre a suposio de que o agente i joga a estratgia s1, o agente j no pode fazer melhor do que jogar s2; e sobre a suposio de que o agente j joga s2, o agente i no pode fazer melhor do que jogar s1. A forma mtua de equilbrio importante porque ela 'bloqueia os agentes' para um par de estratgias. Nenhum agente tem qualquer incentivo para desviar do equilbrio de Nash. Para entender porqu, suponha que s1 e s2 so um par de estratgias no equilbrio de Nash para os agentes i e j, respectivamente, e que o agente i escolhe jogar alguma outra estratgia, digamos s 3. Ento, por definio, i no far melhor, e pode possivelmente fazer pior do que ele poderia tendo jogado a estratgia s1. A presena de um par de estratgias no equilbrio de Nash pode ser a resposta para a questo do que fazer em um dado cenrio. Infelizmente, existem 2 importantes resultados na teoria de jogos que dificultam a vida: nem todo cenrio de interao tem um equilbrio de Nash; e alguns cenrios tem mais do que um.

Interaes competitivas e de Soma-Zero


Suponha que temos algum cenrio em que um resultado prefervel por um agente i sobre um resultado ' se, e somente se, ' preferido sobre pelo agente j. Formalmente, >i ' se e somente se ' >j As preferncias dos jogadores so portanto, diametralmente opostas: um agente s pode melhorar seu resultado ao custo do outro. Um cenrio de interao que satisfaz esta propriedade dito estritamente competitivo. Encontros de soma-zero so aqueles em que, para qualquer resultado particular, a utilidade de dois 5 de 9

agentes tem soma igual a zero, formalmente: ui() + uj() = 0 para todo

Jogos como xadrez e damas so os mais bvios exemplos de interao estritamente competitivas. Realmente, qualquer jogo em que os possveis resultados so ganhar ou perder sero estritamente competitivos. difcil pensar em exemplos de soma-zero. Uma guerra pode ser citada como uma interao de soma-zero entre naes, mas at nas mais extremas guerras, existe usualmente pelo menos alguns interesses comuns entre os participantes (por exemplo, garantir que o planeta sobreviva).

O Dilema do Prisioneiro
Considere o seguinte cenrio. Dois homens so coletivamente acusados de um crime e so mantidos em celas separadas. Eles no tem nenhuma forma de se comunicar nem de fazer qualquer acordo. Aos dois homens dito que: se um deles confessar o crime e o outro no, o confessor ser libertado, e o outro ficar preso por 3 anos; e se ambos confessarem o crime, ento, cada um ficar preso por 2 anos. Ambos os prisioneiros sabem que se nenhum confessar, ento eles ficaro presos por 1 ano. Ns nos referimos a confessar como defesa e no confessar como cooperao. Existem 4 possveis resultados e o ambiente do tipo (6.1). Podemos escrever as funes de utilidade para cada agente na seguinte matriz de pagamento: i defende i coopera Cooperar (C) = no confessar Utilidade Pena (anos) 2 0 Defender (D) = confessar 0 3 j defende 2 5 A utilidade apresentada em negrito, e 2 2 representa quo bom o resultado para o 3 1 5 3 j coopera agente. Quanto maior a utilidade, menor a pena 5 0 0 3 Em resumo, as utilidades, em ordem de preferncia para cada agente, so: ui(D,C) = 5, ui(C,C) = 3, ui(D,D) = 2, ui(C,D) = 0 uj(C,D) = 5, uj(C,C) = 3, uj(D,D) = 2, uj(D,C) = 0 e as preferncias so D,C >i C,C >i D,D >i C,D C,D >j C,C >j D,D >j D,C O que um prisioneiro deve fazer? A resposta no clara como nos exemplos anteriores. No o caso do prisioneiro preferir todos os resultados que ele coopera sobre todos que ele defende, nem o contrrio. Em todos os casos, se um prisioneiro i cooperar, o pior pagamento que ele pode receber zero, enquanto se ele defender, o pior ser 2. Assim, ele pode preferir garantir um pagamento de 2 do que um de zero, ento, ele deve defender. Desde que o cenrio simtrico (os agentes raciocinam da mesma forma), ento, o resultado que emergir se ambos os agentes pensarem racionalmente que ambos defendero, dando a cada agente 6 de 9

um pagamento de 2. Note que nenhuma estratgia fortemente domina neste cenrio. Existe apenas um equilbrio de Nash de D,D. Assim, sobre qualquer suposio que i jogar a estratgia D, j no pode fazer melhor do que escolher D. Isto o melhor que eles podem fazer? Ingnua intuio diz que no. Claramente se os dois cooperarem, ambos podem fazer melhor, recebendo um pagamento de 3. Porm, se o agente i cooperar e o o j defender, i recebe zero, o pior pagamento. O dilema do prisioneiro pode ser aplicado a coisas reais como tratados de desarmamento nuclear. Dois pases i e j assinaram um tratado para se livrar de suas armas nucleares. Cada pas pode tanto cooperar (livrar-se de suas armas) ou defender (manter suas armas). Mas se voc se livra de suas armas, voc corre o risco de que o outro pas as mantenha, fazendo com que voc sofra do chamado pagamento do idiota. Muitas pessoas concluem que nesses casos, o melhor a fazer defender. O que parece que cooperao surgiria apenas como resultado de comportamento irracional.

No somos todos Machiavllicos


A primeira proposta arguir que no somos todos to insensveis como no dilema do prisioneiro. No estamos constantemente tentando maximizar nosso prprio bem estar, possivelmente a custa de outros, sem considerar o bem estar alheio. Em muitos cenrios, ns podemos ser felizes por confiar em nossos pares para reconhecer o valor do resultado cooperativo, at mesmo sem mencionar isso a eles, estando no mais do que levemente irritado se recebermos um 'pagamento de idiota'. Por exemplo, quando cedemos nosso assento no nibus para um pessoa mais idosa, perderemos utilidade (conforto). Mas a sociedade pode ter punies para comportamentos no cooperativos, como sermos encarados pelos passageiros do nibus.

Pessoas no so racionais!
Alguns podem dizer que, se podemos realmente ser felizes em arriscar cooperao quando encarados com situaes onde o 'pagamento do idiota' realmente no importa muito. Por exemplo, pagar uma tarifa de nibus que custa poucos centavos no nos custa muito, at mesmo se os outros esto defendendo e explorando o sistema (no pagando a taxa). Mas quando ns encaramos situaes onde o 'pagamento do idiota' nos machuca situaes de vida ou morte ns escolheremos o curso 'racional' de ao para maximizar nosso bem estar, e defender.

A sombra do futuro
Existem variaes do dilema do prisioneiro em que cooperao a coisa racional a se fazer. Uma ideia jogar o jogo mais de uma vez, o dilema do prisioneiro iterado. Cada jogada referida como um round. Criticamente, cada agente pode ver o que o oponente fez no round anterior. Agora imagine que o jogo ser jogado eternamente. O incentivo para defender consideravelmente reduzido por duas razes: se voc defender agora, seu oponente pode puni-lo, tambm defendendo, o que no possvel no dilema do prisioneiro de apenas um round (one shot); se voc iniciar cooperando, e recebe um 'pagamento de idiota' no primeiro round, ento, devido estar jogando indefinidamente, esta perda de utilidade pode ser amortizada sobre os rounds futuros. Quando considerando um contexto de execuo infinito (ou muito longo), ento a perda

7 de 9

de uma nica unidade de utilidade representar um pequeno percentual de toda a utilidade obtida. Ento, se voc joga o dilema do prisioneiro indefinidamente, a cooperao um resultado racional. A 'sombra do futuro' nos encoraja a cooperar neste caso. Suponha que voc decidiu jogar o dilema do prisioneiro um nmero pr-determinado de vezes. Voc precisa decidir, antecipadamente, qual sua estratgia de jogo. Considerando o ltimo round, agora voc e seu oponente sabem que no haver um prximo round. Em outras palavras, o ltimo round como o dilema do prisioneiro de apenas uma iterao (one shot). Assim, a ao racional que cada agente deve tomar defender. Continuando esta deduo para os rounds anteriores, guia-nos para a concluso de que defender a estratgia dominante. Como vemos, somente num jogo de infinitos rounds a cooperao possvel. Porm, no necessrio jogar infinitamente. Com um nmero de rounds suficientemente longo, cooperao pode ser encorajada. Isto possvel se ambos os jogadores sabem, com suficiente probabilidade, que eles iro se encontrar e jogar novamente no futuro. A segunda razo que, at mesmo pensando que um agente cooperativo pode sofrer jogando contra um defensivo, ele pode no geral se sair bem se tiver oportunidade de interagir com um agente cooperativo. Para entender isso, vamos ir para uma das mais conhecidas partes de pesquisa em sistemas multi agentes: O torneio do dilema do prisioneiro de Axelrod.

O torneio de Axelrod (no dilema do prisioneiro iterado)


Robert Axelrod foi um cientista poltico interessado em como cooperao pode surgir em sociedades de agentes auto interessados. Em 1980 ele organizou um torneio pblico em que cientistas polticos, psiclogos, economistas e tericos de jogos foram convidados a submeter programas de computador para jogar o dilema do prisioneiro iterado. Cada programa tem disponvel a escolha anterior feita pelo oponente. Cada programa foi jogado contra o outro por 5 jogos, onde cada jogo consistia de 200 rounds. O vencedor do torneio foi o programa que teve o melhor desempenho no geral. Os programas tinham desde 152 linas de cdigo a apenas 5 linhas. A seguir so mostradas algumas estratgias utilizadas. ALL-D: sempre defender, no importa o que o oponente faa, baseado na anlise do que racional fazer num dilema do prisioneiro iterado. RANDOM: escolhe aleatoriamente uma ao, independente do que o oponente faa, tendo iguais probabilidades de resultados, considerando as aes C ou D. TIT-FOR-TAT: estratgia olho-por-olho onde 1. no primeiro round, coopera 2. nos rounds t > 1, faa o que o oponente fez no round t-1 Esta foi a estratgia mais simples, requerendo apenas 5 linhas de cdigo TESTER: tem objetivo de explorar os programas que no punem defesa. Como seu nome sugere, no primeiro round ele testa o oponente, defendendo. Se o oponente retaliar com defesa, ele joga o TIT-FOR-TAT. Se o oponente no defende, ento ele jogar repetidas sequncias de cooperao por 2 rounds, ento defender. JOSS: como TESTER, tem objetivo de explorar a 'fraqueza' dos oponentes. essencialmente TITFOR-TAT, mas 10% do tempo, no lugar de cooperar, ir defender.

8 de 9

No final do torneio, a estratgia que teve melhor resultado foi TIT-FOR-TAT, a mais simples. Isto pode parecer uma prova emprica de que a anlise da teoria de jogos do dilema do prisioneiro iterado est errada: cooperao a coisa racional a ser feita depois de tudo. Mas TIT-FOR-TAT ganhou pois a pontuao total foi calculada considerando todas as estratgias com a qual ele jogou contra. O resultado quando TIT-FOR-TAT foi jogado contra ALL-D foi exatamente como esperado: ALL-D vem no topo. TIT-FOR-TAT se saiu melhor pois jogou com programas que tambm eram inclinados a cooperar. Ela no ter sucesso com estratgias que tendem a defender, como a ALL-D. Axelrod tentou caracterizar as razes do sucesso do TIT-FOR-TAT, e trouxe as seguintes 4 regras: 1. No seja invejoso: no precisa bater no oponente para se sair melhor. 2. No seja o primeiro a defender: seja legal inicialmente cooperando. Existe claramente um risco de iniciar cooperando, mas a perda de utilidade por receber um 'pagamento de idiota' no primeiro round ser comparativamente pequena com os possveis benefcios da cooperao mtua com outra estratgia legal. 3. Cooperao recproca e defesa: TIT-FOR-TAT representa um balano entre punio e piedade. A combinao de defesa como punio e recompensa como cooperao encoraja a cooperao. 4. No seja esperto: no torne o raciocnio muito complexo pois, um dos motivos, que, para o oponente, parece que voc est agindo aleatoriamente, dificultando a cooperao, a realizao de um acordo, pois o outro no entende exatamente como voc est agindo.

Relacionamento de dependncia em sistemas multi agentes


A dependncia entre agentes existe se, um dos agentes requer o outro para alcanar seus objetivos. Abaixo so mostrados algumas possveis relaes de dependncia. Independncia: No existe dependncia entre os agentes. Unilateral: Somente um agente depende do outro, e no vice-versa. Mtua: Ambos os agentes dependem um do outro, com respeito ao mesmo objetivo. Dependncia recproca: O primeiro agente depende do outro para algum objetivo, enquanto o segundo tambm depende do primeiro para algum objetivo (os dois objetivos no so necessariamente o mesmo). Note que a dependncia mltipla implica dependncia recproca.

Estes relacionamentos podem ser qualificados como se ou no so localmente acreditados ou mutuamente acreditados. Existe uma dependncia localmente acreditada se um agente acredita que a dependncia existe, mas no acredita que o outro agente acredita que ela exista. Uma dependncia mutuamente acreditada existe quando o agente acredita que a dependncia existe, e tambm acredita que o outro agente ciente disto.

9 de 9

Você também pode gostar