390 likes | 500 Views
Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes. Problemas a resolver. Problema dos comportamentos sociais e individuais Como especificar os comportamentos sociais dos agentes?
E N D
Agentes Inteligentes e Sistemas Multi-agente(UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes
Problemas a resolver Problema dos comportamentos sociais e individuais • Como especificar os comportamentos sociais dos agentes? • Como é que os comportamentos dos outros e da sociedade influenciam o comportamento individual? Problema da estrutura da organização • Como organizar uma sociedade de agentes para que no global, esta execute a tarefa desejada? • Qual o tipo de estrutura mais adequada para a tarefa em causa? • Como definir os aspectos do comportamento individual para que sejam integrados na sociedade levando a um comportamento global desejado? • Que tipos de mecanismos há que levem ao surgimento e desaparecimento de sociedades?
Problemas a resolver • Problema da comunicação entre agentes • Que tipo de comunicação entre agentes é a mais adequada à estrutura escolhida? • Que linguagens de comunicação existem e podem ser usadas para a comunicação entre agentes numa sociedade de agentes? • Que conceitos (ontologias) são necessários ser partilhados para que os elementos da sociedade consigam interpretar as mensagens recebidas? • Cooperação, colaboração e negociação • Que mecanismos de cooperação são necessários para que os agentes executem cooperativamente uma dada tarefa? • Que estruturas de organização são as mais adequadas para determinados tipos de cooperação? • Que linguagens existem que podem ser usadas para permitir a cooperação e negociação entre agentes numa sociedade?
Como estudar as cooperação entre agentes? Noção de “encontro” • Os agentes na sociedade escolhem que acção executar. • Como resultado das acções escolhidas, haverá um resultado R • No entanto, o resultado final dependerá da combinação das diversas acções dos diversos agentes • O comportamento do ambiente é dado por uma função de transformação de estado: τ : Aci x Acj -> R
Cooperação: Utilidades e Perferências • Vamos assumir a situação mais simples em que os agentes têm dois tipos de acção: C (cooperar) ou D (não cooperar) • Os agentes decidem que acção executar baseando-se em utilidades e preferências • Agentes têm interesses próprios ditados pelos seus desejos (levando a utilidades e preferências). • Uma função de utilidade é uma função dos resultados (estados do mundo) em valores reais (que dão os valores de uma dada acção).
Exemplos de Funções de Transformação dos estados Função de transformação: τ(Aagentei,Aagentej) = ωk (estado do mundo) 1. τ(D,D) = ω1 τ(D,C) = ω2 τ(C,D) = ω3 τ(C,C) = ω4 (o ambiente reage às acções de ambos os agentes- ωi- estados do mundo) 2. τ(D,D) = ω1 τ(D,C) = ω1 τ(C,D) = ω1 τ(C,C) = ω1 (o ambiente não reage às acções de nenhum dos agentes) 3. τ(D,D) = ω1 τ(D,C) = ω2 τ(C,D) = ω1 τ(C,C) = ω2 (o ambiente reage às acções do agente j (segundo agente) sendo controlado por ele)
Cooperação: Acções Racionais Cada um dos agentes decide o que fazer tendo em conta as suas funções de utilidade. • ui(ω1 ) = 1 ui(ω2 ) = 1 ui(ω3) = 4 ui(ω4 ) = 4 • uj(ω1 ) = 1 uj(ω2 ) = 4 uj(ω3) = 1 uj(ω4 ) = 4 Considerando que: • 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 Ou seja o agente i tem as seguintes preferências: C,C ≿i C,D ≿i D,C ≿i D,D Que acção escolher se fossemos o agente i?
Cooperação: Matriz de “payoff” E se as utilidades tivessem os seguintes valores? • ui(D,D) = 4 ui(D,C) = 4 ui(C,D) = 1 ui(C,C) = 1 • uj(D,D) =4uj(D,C) = 1 uj(C,D) = 4 uj(C,C) = 1 As preferências do agente são: D,D ≿i D,C ≿i C,D ≿i C,C “Payoff matrix”
Estratégias Dominantes Dominância • Dois conjuntos Ω1 e Ω2. Diz-se que Ω1 domina Ω2 se cada resultado de Ω1 é preferido por i sobre cada resultado de Ω2. • Ω = {ω1, ω2, ω3, ω4} • ω1 ≿iω2 ≿i ω3 ≿i ω4 • Ω1 = {ω1, ω2} • Ω2 = {ω3, ω4}
“Nash Equilibrium” Duas estratégias (acções) s1 e s2 estão em “Equilíbrio de Nash” se: • Se o agente i segue s1, o agente j não pode fazer melhor do que seguir a estratégia s2 • Se o agente j segue a estratégia s2 o agente i não pode fazer melhor do que seguir a estratégia s1. • Esta forma de equilíbrio é importante na medida que garante que os agentes se agrupam em torno de um conjunto de estratégias, e nenhum dos agentes deve querer afastar-se do ponto de equilibrio. No entanto: • Nem todos os cenários de interação entre agentes tem um equilibrio • Algumas interações levam a mais do que um ponto de equilibrio.
Exemplo: O Dilema do Prisioneiro Duas pessoas foram acusadas de cometer um crime e estão mantidas presas separadas sem poderem comunicar entre si. É dito a ambos que: • Se um deles confessa o crime e o outro não, o que confessou é libertado, e o outro é preso por 3 anos. • Se ambos confessam o crime, então cada um deles é preso por 2 anos. • Se nenhum confessar eles só ficam presos por 1 ano.
O Dilema do Prisioneiro (2) Cooperate:”não confessar” Defects: “confessar” Utilidades: Libertado: 5 Um ano de prisão: 3 Dois anos de prisão: 2 Três anos de prisão: 0 • ui(D,D) =2ui(D,C) = 5 ui(C,D) = 0 ui(C,C) = 3 • uj(D,D) =2uj(D,C) = 0 uj(C,D) = 5 uj(C,C) = 3 D,C ≻i C,C ≻i D,D ≻i C,D C,D ≻j C,C ≻j D,D ≻j D,C
O Dilema do Prisioneiro (3) O que deve o prisioneiro fazer?
O Dilema do Prisioneiro (4) Pensar como um prisioneiro • Suponhamos que coopero. Se j também cooperar, temos um ganho de 3. Se o j não cooperar então eu tenho um ganho de 0. Ou seja, o melhor valor que eu tenho garantido é 0. • Suponhamos que eu não coopero. Se o j cooperar, então eu tenho um ganho de 5. Se j nao cooperar, tenho um ganho de 2. Ou seja, o melhor valor que eu tenho garantido é 2.
O Dilema do Cholocate Dois alunos do IST têm a possibilidade de ganhar chocolates. Para tal, vão ter que se comprometer a “Cooperar” (C) ou não cooperar (D). É dito a ambos que: • Se um deles coopera e o outro não, o que não coopera recebe 5 chocolates, e o outro não recebe nada. • Se ambos cooperarem, então cada um deles recebe 3 chocolates. • Se nenhum cooperar recebem cada um 1 chocolate.
O Torneio de Axelrod • Axelrod é um cientista político interessado em cooperação em sociedades. • Em 1980 organizou um torneio, tendo convidado investigadores a fazer agentes que joguem o Dilema do prisioneiro. • Cada agente pode jogar C ou D; • Cada agente joga com outro 5 vezes, com 200 voltas; • O agente que ganha o torneio é aquele que tiver melhor resultado no total. Os agentes variaram entre 5 linhas de código a 152.
O Torneio de Axelrod (2) Algumas das estratégias usadas: - ALL-D Allways Defect. - RANDOM- selecção de C e D aleatoriamente - TIT-FOR-TAT (1) na primeira volta- coopera (2) na segunda volta faz o que o oponente fez na volta anterior - TESTER- Na primeira volta testa o oponente para ver se este nao coopera. Se o oponente alguma vez nao copera, joga o TIT-FOR-TAT - JOSS- O mesmo que TIT-FOR-TAT mas 10% das vezes nao coopera.
O Torneio de Axelrod: Resultados • O ganhador foi TIT-FOR-TAT... • Mas contra ALL-D, TIT-FOR-TAT perde. • Regras de sucesso: • Não ser invejoso • Não ser o primeiro a não cooperar • Responder à cooperação e não cooperação do adversário • Não ser demasiado inteligente
Depêndencia entre Agentes Aspecto importante, existe se: Um dos agentes requer o outro para atingir os seus objectivos Relações de dependência: • “Independência”- não há dependência • “Unilateral”- um agente depende de outro mas não viceversa • “Mútua”- ambos os agentes dependêm um do outro em relação ao mesmo objectivo • “Dependência reciproca”- um agente depende do outro para atingir um dado objectivo, e o segundo depende do primeiro para atingir um outro objectivo. Relações acreditadas: localmente e mutuamente
Chegar a acordo: leilões, negociação, argumentação Agentes necessitam de interagir com outros com quem não partilham objectivos comuns; Normalmente é possível chegar-se a um acordo com benefício mútuo nos assuntos de interesse comum: Chegar a acordo é essencial! • Negociação • Argumentação
Chegar a acordo Constituintes para o cenário: • Protocolos de negociação - regras que governam as interacções (encontro) entre agentes • Design mechanism • Estratégia dos agentes - estratégia de modo a actuar segundo o protocolo, tendo em vista atingir os objectivos propostos e maximizar o seu bem estar individual.
Protocolos para negociação Propriedades de protocolos de negociação: Sucesso garantido- o protocolo garante que há sucesso na negociação. Maximização do bem social- o protocolo maximiza o bem social garantindo que o resultado maximiza a soma das utilidades dos participantes na negociação. Pareto efficiency- O resultado da negociação é Pareto efficient se não há outro resultado possível que coloque pelo menos um agente em melhor situação sem que coloque outro agente em pior situação. Individual Rationality – um protocolo é fundamentado em racionalidade individual se garantir os interesses dos participantes na negociação .
Protocolos para negociação (cont) Propriedades de protocolos de negociação: Estabilidade- um protocolo diz-se estável se der aos agentes um incentivo para agirem de determinada forma que atinge uma estabilidade na cooperação (por exemplo atingir o Equilibrio de Nash). Simplicidade- um protocolo diz-se simples se tornar a estratégia apropriada de negociação óbvia – ao usá-lo o agente descobre facilmente (tratabilidade) a estratégia óptima. Distribuição- um protocolo diz-se distribuído se assegura que não existe um ponto de falha (por exemplo, um só árbitro) minimizando a comunicação entre agentes.
Leilões Uma outra forma de resolver problemas de alocação de tarefas e de venda de serviços é através de leilões. Um leilão ocorre entre um leiloeiro e um conjunto de agentes que fazem ofertas (bidders). O objectivo do leilão é o leiloeiro alocar o bem ou serviço a um dos bidders por um determinado valor. Aspectos dos leilões: • Existe um bem ou serviço a leiloar. • Se esse bem ou serviço tem um valor conhecido diz-se que esse é o valor publico (comum) • Cada agente pode atribuir ao bem ou serviço um valor privado. • Por vezes os valores têm também um valor correlacionado que envolve o valor privado mais aspectos de sociedade como a possibilidade de vender o valor futuramente.
Leilões (2) Variáveis que determinam o carácter dos leilões: 1) Determinação do vencedor: ou quem ganha o bem ou serviço. • first-price: o agente que fez a oferta mais alta ganha o bem ou serviço. • second-price: o agente que fez a oferta mais alta ganha o bem ou serviço mas paga o valor da segundfa oferta. 2) Ofertas conhecidas ou não pelos outros agentes • Open cry: as apostas/ofertas são conhecidas por todos (common knowledge) • Sealed-bid : as ofertas são seladas 3) Procedimento de oferta : • one-shot: só existe uma sessão de oferta. • ascending: o valor começa baixo (reservation price) e vai subindo com as ofertas até não haver mais nenhuma oferta • descending: o valor começa alto e vai descendo.
Tipos de Leilões (3) 1) Leilão Inglês First-price, open-cry,ascending. 2) Leilão Holandês Open-cry, descending. 3) Leilões First-price sealed-bid First-price, sealed-bid, one-shot. 4) Lelões Vickrey Second-price, sealed-bid, one-shot.
Tipos de Leilões (4) 1) Leilão Inglês First-price, open-cry,ascending. Estratégia: fazer licitações sucessivas com pequenos incrementos até atingir o nosso valor e desistir depois. Se houver incerteza no valor do bem pode ser perigoso oferecer mais do que os restantes agentes (winner’s curse) 2) Leilão Holandês Open-cry, descending. Estratégia: Não há estratégia dominante. É susceptível à winner’s curse
Tipos de Leilões (5) 3) Leilões First-price sealed-bid First-price, sealed-bid, one-shot. Estratégia: licitar um pouco abaixo do seu valor para o agente (pensar no valor da 2º mais alta licitação). Não há solução geral para o “pouco abaixo”. 4) Lelões Vickrey Second-price, sealed-bid, one-shot. Estratégia: faz com que a estratégia dominante seja licitar o valor próprio do agente Não é usado em leilões com humanos – interessante para a área de Agentes É susceptível a comportamento anti-social
Tipos de Leilões (6) Do ponto de vista do leiloeiro: maximizar o proveito – depende muito dos agentes Nenhum dos tipos de leilões está imune a “concertação” entre os agentes licitadores – coligação de agentes que acordam entre si um preço abaixo do valor real do bem – dividir os lucros entre si. - Só se evita através de um protocolo que assegure que os agentes licitadores não se conhecem
Exemplos de Aplicação: Auction Bots Auction Bots: Agentes que se movimentam de site em site e participam em leilões de bens online. Exemplos conhecidos: Kasbah Spanish Fish Market
Exemplo 1: Kasbah (Chavez & Maes) Sistema para a Web no qual os utilizadores podem criar agentes que compram e vendem bens em seu nome. • O utilizador que vende pode especificar 3 parâmetros: • Data desejada para venda do bem • Preço desejado para a venda • Mínimo preço para a venda. • Os agentes vendedores começam por oferecer um bem a um preço desejado e com o aproximar do deadline de venda o preço começa a ser reduzido até ao preço mínimo. • Os utilizadores podem especificar a função de decay do preço (linear, quadrática ou cúbica) • O utilizador confirma sempre a venda tendo direito a veto.
Exemplo 1: Kasbah (Chavez & Maes) • Os agentes compradores • Também têm um conjunto de parâmetros associados: • A data de compra do artigo • O preço desejado • E o preço máximo • O utilizador pode especificar a função de crescimento do preço. Os agentes em Kasbah operam sob um modelo de mercado, com um gestor que pode gerir um conjunto de leilões em paralelo.