agentes inteligentes e sistemas multi-agente (ud7 e ud10) interacção, negociação e cooperação...

95
Agentes Inteligentes e Agentes Inteligentes e Sistemas Multi-agente Sistemas Multi-agente (UD7 e UD10) Interacção, (UD7 e UD10) Interacção, Negociação e Cooperação Negociação e Cooperação entre Agentes entre Agentes

Upload: internet

Post on 18-Apr-2015

111 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Agentes Inteligentes e Sistemas Agentes Inteligentes e Sistemas Multi-agenteMulti-agente

(UD7 e UD10) Interacção, (UD7 e UD10) Interacção, Negociação e Cooperação entre Negociação e Cooperação entre

AgentesAgentes

Page 2: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Problemas a resolverProblemas 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? 

Page 3: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Problemas a resolverProblemas 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? 

Page 4: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Sistema multi-agenteSistema multi-agente

Page 5: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Depêndencia dos AgentesDepêndencia dos Agentes

Aspecto importante, existe se:Um dos agentes requer o outro para atingir os seus

objectivosRelações de dependência:1. Independência- não há dependência2. Unilateral- um agente depende de outro mas não viceversa3. Mútua- ambos os agentes dependêm um do outro em relação ao

mesmo objectivo4. 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

Page 6: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Chegar a acordo: leilões, negociação, Chegar a acordo: leilões, negociação, argumentaçãoargumentaçã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

Page 7: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Como chegar a um “acordo”Como chegar a um “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.

Page 8: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Protocolos para negociaçãoProtocolos 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 .

Page 9: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Protocolos para negociação (cont)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 atingindo 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.

Page 10: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

LeilõesLeilões

Uma 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.

Page 11: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Leilões (2)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. a) first-price: o agente que fez a oferta mais alta ganha o bem ou

serviço.b) 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

a) Open cry: as apostas/ofertas são conhecidas por todos (common knowledge)

b) Sealed-bid : as ofertas são seladas3) Procedimento de oferta :

a) one-shot: só existe uma sessão de oferta.b) ascending: o valor começa baixo (reservation price) e vai subindo

com as ofertas até não haver mais nenhuma ofertac) descending: o valor começa alto e vai descendo.

Page 12: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Tipos de Leilões (3)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.

Page 13: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Leilão InglêsFirst-price, open-cry,ascending.

Starting value: 80.000€

Page 14: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Leilão Holandês Open-cry, descending.

Starting value: 280.000€

Page 15: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Leilões First-price sealed-bid First-price, sealed-bid, one-shot

Page 16: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Lelões Vickrey Second-price, sealed-bid, one-shot

Page 17: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Tipos de Leilões (4)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

Page 18: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Tipos de Leilões (5)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

Page 19: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Tipos de Leilões (6)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

Page 20: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Exemplos de Aplicação: Auction Exemplos de Aplicação: Auction BotsBots

Auction Bots: Agentes que se movimentam de site em site e participam em leilões de bens online.

Exemplos conhecidos: Kasbah

Spanish Fish Market

Page 21: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Exemplo 1: Kasbah (Chavez & Maes)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.

Page 22: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Exemplo 1: Kasbah (Chavez & Maes)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.

Page 23: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

NegociaçãoNegociação

Como é que um grupo de agentes chega a acordo em assuntos de interesse mútuo?

Constituintes:• Conjunto de negociação – define o espaço das propostas

possíveis que os agentes podem fazer

• Protocolos de negociação – define as regras que governam as interacções entre agentes – as propostas legais que os agentes podem fazer

• Estratégias – cada agente tem a sua estratégia e ela determina quais as propostas que o agente irá fazer. Normalmente as estratégias são privadas

• Regra de acordo final- regra que determina que se chegou a acordo final e qual o acordo encontrado

Page 24: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

NegociaçãoNegociação

Em geral:- Série de voltas- Todos os agentes fazem propostas em

todas as voltas:- Cada proposta:

- Depende e é definida pela estratégia dos agentes,

conjunto de negociação- legal (tal como definido pelo protocolo)

- Se se chegou a acordo (pela regra) termina

Page 25: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

NegociaçãoNegociação

Várias pontos de variabilidade +

- Um atributo vs vários:- Preço / (Preço, extras, garantia, etc.)

- Crescimento exponencial do espaço do conjunto de negociação – impossível explicitar todo o conjunto para determinar a proposta a efectuar

- Por vezes difícil determinar os atributos em negociação

- Número de agentes- Um-a-um – venda de um carro- Muitos-a-um – leilões- Muitos-com-Muitos – n*(n-1)/2 threads

Page 26: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

NegociaçãoNegociação

A maior parte das propostas são para:- Um atributo, simétricas, um-a-um

• Negociação:- Domínios orientados para as tarefas – discute

atribuição de tarefas- Domínios orientados para o valor – discute

definição de planos conjuntos

- Há outros tipos de abordagens:- Distribuída (competitiva) – ganhar-perder- Integrativa (cooperativa) – ganhar-ganhar- Mista

Page 27: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Tarefa: 3 estudantes querem vir para o Tagus todos os dias da linha de Sintra (um tem um familiar que o traz e dois têm carro). Dois vêm de Sintra e um vêm do Cacém.

Levar um estudante num troço de trajecto – tarefa indivísivel

Os agentes podem negociar e podem melhorar a sua situação:

• chegar a um acordo - por exemplo, os de Sintra irem só até ao Cacém.

• partilhados – melhora a situação actual• Não se entendem – não piora a situação actual- vêm todos

por si só.• Diferentes soluções. Por exemplo: cada dia leva um. Os de

Sintra levam até ao Cacém...O do Cacém leva até ao Tagus somente 2 dias. ....

- COMO CHEGAR A UM ACORDO??????

Page 28: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

TOD=<T,Ag,c> T- conjunto finito de todas as tarefas possíveis Ag- conjunto finito de agentes que participa na negociação; c- função que define custo de executar um subconjunto de

tarefas. Domínio Ti C T. Contradomínio R+

• Restrições c:

- Monótona: T1 C T2, c(T1 ) < c(T2)

- Custo de não fazer nada é 0

“Encontro” = Coleção de tarefas, onde: Atribuição Ti aos Agi

<T1,T2,… , Tn>

Page 29: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Cenário um-a-um:

Encontro: <T1,T2>

Negócio (deal): = <D1,D2> - negócio ~ encontro D1U D2 = T1 U T2

- Os agentes comprometem-se a realizar as tarefas que lhe foram atribuídas: Agente 1 compromete-se a realizar D1, e agente 2 compromete-se a realizar D2.

- Custo de negócio para o agente i

- custoi (i) = c(Di)

- Utilidade de negócio para o agente i

- utilidadei () = c(Ti) - custoi ()

- c(Ti) = custo atribuição original Ti no encontro

- custoi () = custo tarefas atribuídas a i no negócio

- Deve ser > 0- Se não há acordo -> faz as tarefas iniciais

- Negócio de conflito: = <T1,T2>

Page 30: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Dominância, 1 > 2 :

1. Negócio 1 é pelo menos tão bom para todos os

agentes como 2

- Para todos os agentes i: Utilidadei (1) Utilidadei (2)

2. Negócio 1 é melhor que 2 para pelo menos para um

agente

- Existe um agente i: Utilidadei (1) Utilidadei (2)

Se um negócio domina outro então ele é melhor para qualquer participante

Page 31: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Um negócio domina fracamente outro se apenas a primeira condição é verificada

- Negócio 1 é pelo menos tão bom para todos os agentes como 2

Para todos os agentes i: Utilidadei (1) Utilidadei (2)

Um negócio é pareto óptimo se não é dominado por nenhum outro (não é possível melhorar o negócio a não ser à custa de piorar a situação de um dos outros agentes)

Um negócio é individualmente racional se domina fracamente o negócio de conflito

• Se não é individualmente racional pelo menos um agente fica melhor na atribuição original

Page 32: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Utilidade para j

Utilidade para i

Negócio de conflito

Linha pareto óptima

Quadrante que interessa – Individualmente racionalconjunto de negociação

Page 33: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Utilidade para j

Utilidade para i

Negócio de conflito

Linha pareto óptima

Quadrante que interessa – Individualmente racionalconjunto de negociação

BB

Page 34: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Utilidade para j

Utilidade para i

Negócio de conflito

Linha pareto óptima

Quadrante que interessa – Individualmente racionalconjunto de negociação

BB

CC

Page 35: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínio Orientado a TarefasDomínio Orientado a Tarefas

Utilidade para j

Utilidade para i

Negócio de conflito

Linha pareto óptima

Quadrante que interessa – Individualmente racionalconjunto de negociação

BB

CC

Page 36: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Protocolo de concessão monótono Protocolo de concessão monótono (Rosenschein 94) (Rosenschein 94)

Negociação por série de rondas, propostas de negócio dos agentes efectuadas em simultâneo, termina sempre (com ou sem acordo)

Na primeira volta ambos os agentes propõem um negócio ( conjunto de negociação)

Há acordo se ambos os agentes 1, 2 propõem negócios 1 2 e:

Utilidade1 (2) Utilidade1 (1) OU Utilidade2 (1) Utilidade2 (2)(o outro faz-nos uma proposta tão ou melhor do que a nossa)

Se há acordo, então o negócio de acordo escolhido será:• Se ambos verificam a condição: um aleatóriamente• Se só um verifica: o que verifica a condição

Se não há acordo: nova ronda de propostas simultaneas em que nenhum agente pode propor um negócio menos preferido para o outro agente que o proposto na ronda anterior

Se nenhum concede (ceder) numa determinada volta a negociação termina com o negócio de conflito

Page 37: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Mas como é que os agentes devem negociar????

Qual deverá ser a primeira proposta?Ceder?

Não ceder?Se ceder, quanto é que devo ceder?

Page 38: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Estratégia ZeuthenEstratégia Zeuthen

- Primeira proposta?

- o nosso negócio mais preferido

Page 39: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Quando ceder?Willingness to Risk Conflict: Arriscar conflito ou não?

Suppose you have conceded a lot. Then:• Your proposal is now near the conflict deal• In case conflict occurs, you are not much worse off• You are more willing to risk confict

An agent will be more willing to risk conflict if the difference in utility between its current proposal and the conflict deal is low

Page 40: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Estratégia ZeuthenEstratégia Zeuthen

- Quando ceder?

- arrisco mais se a diferença entre utilidade da proposta de negócio corrente e a do negócio de conflito for baixa

- risco (0-1) (ucorrente – uproposta)/ucorrente

se ~1 não tem muito a perder; arrisca mais pelo conflito e não concede

se ~0 tem mais a perder

Page 41: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Estratégia ZeuthenEstratégia Zeuthen

Quanto ceder?o suficiente para equilibrar o risco.se ambos têm = risco ambos devem ceder

pode não ceder – não se consegue negócioalternativa – cara ou coroa.

Propriedades: não garante sucesso, Garante que se há sucesso é pareto óptimo e individualmente

racional Não precisa de árbitro Pode crescer exponencialmente com o número de tarefas Está em equilibrio de Nash – é uma vantagem conhecer a

estratégia – evita conflitos

Page 42: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

“Deception” (Engano) em Domínios orientados à tarefa

Pode haver a situação que os agentes “enganam outros”:• “Phantom and Decoy tasks”

Os agentes “fingem” que têm tarefas alocadas que na realidade não têm.

• Hidden tasksOs agentes “fingem” que não lhes foi alocadas tarefas, que na realidade foram.

Page 43: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Domínios Orientados a ValorDomínios Orientados a Valor

Negociação de planos conjuntosWOD=<E,Ag,J, c>

E- conjunto estados do ambiente possíveis Ag- conjunto finito de agentes que participa na

negociação; c- função que define custo a cada plano de cada

agente J- Planos conjuntos Encontro =<e, W>, estado inicial, função que dado um

estado do ambiente e um agente representa o valor do estado para o agente.

Page 44: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Negociação: Conclusões

By appropriately adjusting the rules of encounter by which agents must interact, we can influence the private strategies that designers build into their machines

The interaction mechanism should ensure the efficiency of multi-agent systems

Rules of EncounterRules of Encounter

EfficiencyEfficiency

Page 45: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Negociação: conclusões

To maintain efficiency over time of dynamic multi-agent systems, the rules must also be stable

The use of formal tools enables the design of efficient and stable mechanisms, and the precise characterization of their properties

StabilityStability

Formal Tools

Formal Tools

Page 46: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

ArgumentaçãoArgumentação

“Argumentação” é o processo de tentar convencer os outros de algo….(por exemplo, “Vir às aulas”)

Importância: Quando um agente negoceia deve ser capaz de

justificar as suas ofertas – crucial na delegação; As nossas preferências mudam.

Page 47: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Argumentação

Gilbert (1994) identificou 4 modos de argumentar:

1. Logical mode (modo lógico)“If you accept that A and that A implies B, then you must accept that B”

2. Emotional mode (modo emocional) “How would you feel if it happened to you?”

3. Visceral mode (modo visceral)“Cretin!”

4. Kisceral mode (modo kisceral)“This is against Christian teaching!”

Page 48: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

“Logic-based Argumentation”Basic form of logical arguments is as follows:

Database (Sentence, Grounds)

where: Database is a (possibly inconsistent) set of logical

formulae Sentence is a logical formula known as the conclusion Grounds is a set of logical formulae such that:

Grounds Database; and Sentence can be proved from Grounds

Page 49: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Ataque e Derrota

Let (1, 1) and (2, 2) be arguments from some database …Then (2, 2) can be defeated (attacked) in one of two ways:

(1, 1) rebuts (2, 2) if 1 2

(1, 1) undercuts (2, 2) if 1 2 for some 2

A rebuttal or undercut is known as an attack

Há 5 tipos de argumentos:

- tautologias são os mais fortes

- argumentos que podem ser derivados são os mais fracos

- entre os dois: a classe de argumentos que não tem undercut, que não tem rebut, etc.

Há vários tipos de diálogos de argumentos: (seq de argumentos de 2 agentes): inquéritos (determinar sobre algo), deliberação (acção), etc.

Page 50: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Argumentação Abstracta

Concerned with the overall structure of the argument (rather than internals of arguments)

Write x y• “argument x attacks argument y”• “x is a counterexample of y”• “x is an attacker of y”

where we are not actually concerned as to what x, y are An abstract argument system is a collection or

arguments together with a relation “” saying what attacks what

An argument is out if it has an undefeated attacker, and in if all its attackers are defeated

Page 51: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Agentes a trabalhar juntos…

Como e porque é que os agentes colaboram? Há que distinguir entre:

• Agentes benevolentes (colegas..)- Implicitly share a common goal and there is

no conflict between them - Help whenever needed- Overall objectives over individual ones

• Agentes self-interested (alguns colegas…)- Cannot be assumed to share a goal- Ultimately need to cooperate to achieve goals

Page 52: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Resolução de Problemas Resolução de Problemas DistribuídaDistribuída

Como é que um grupo de agentes chega a acordo e consegue resolver um problema ou executar uma tarefa de forma cooperativa?

Coordenação das tarefas:- Cooperação- Negociação

Page 53: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Agentes Benevolentes

If we “own” the whole system, we can design agents to help each other whenever asked

In this case, we can assume agents are benevolent: our best interest is their best interest

Problem-solving in benevolent systems is cooperative distributed problem solving (CDPS)

Benevolence simplifies the system design task enormously!

Page 54: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Self-Interested Agents

If agents represent individuals or organizations, (the more general case), then we cannot make the benevolence assumption

Agents will be assumed to act to further their own interests, possibly at expense of others

Potential for conflict May complicate the design task enormously

Page 55: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Cooperative Distributed Problem Solving

Page 56: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

CDPS

• Cooperative Distributed Problem Solving- Em geral a solução tem 3 passos:

1. Problem Decomposition – typ. hierarchical

2. Subproblem solution – typ. share info.

3. Answer synthesis – integrated into overall solution, hierarchical

- Propriedades de uma solução com sucesso:- Coêrencia – sistema funciona como um todo (qualidade da solução, eficiência de

uso de recursos, etc)- Coordenação – sincronizados,no limite sem necessidade de comunicação,

previsiveis, sem conflitos- “Acto de trabalhar em grupo de forma harmoniosa no sentido de atingir um

acordo ou objectivo comum.”Necessidade de coordenar agentes: - Existem dependências nas acções dos agentes- Existe necessidade que o conjunto de agente respeite restrições globais- Nenhum agente individualmente tem recursos, informação ou capacidade suficiente para

executar a tarefa ou resolver o problema completo

Page 57: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Task Sharing and Result Sharing

• Two main modes/components of cooperative problem solving:

• task sharing:components of a task are distributed to component agents- Allocation problem: all same capabilities/different

capabilities, can refuse negotiation (reaching agreements)

• result sharing:information (partial results, etc.) is distributed- Proactively or reactively

Page 58: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Protocolo Contract-Net-Protocolo Contract-Net-Coordenação por Partilha de TarefasCoordenação por Partilha de Tarefas

Problema: Contratação de tarefas

Inspirado no mundo dos negócios

Pretende resolver o connection problem (encontrar um agente apropriado para a tarefa em questão)

Page 59: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net - PapéisContract-Net - Papéis

Manager – responsável pela monotorização da execução da tarefa e no processamento dos resultados da execução

Contractor – responsável pela actual execução da tarefa

Um agente pode tomar os ambos papéis dinamicamente durante a execução da solução

Page 60: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Exemplo (1)Contract-Net – Exemplo (1)

Vamos supor que temos um urso faminto que quer provar uma especialidade do pólo norte, mas como não é um urso polar tem de pedir ajuda na preparação do prato.

Page 61: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Exemplo (2)Contract-Net – Exemplo (2)

1 – O Manager anuncia a tarefa a executar aos possíveis Contractors

Page 62: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Exemplo (2)Contract-Net – Exemplo (2)

2 – Os agentes contactados fazem uma avaliação ao anúncio e ponderam as suas capacidades para executarem a tarefa em questão e fazem uma proposta ao Manager

???

Page 63: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Exemplo (3)Contract-Net – Exemplo (3)

3 – O Manager selecciona o agente mais apropriado à execução, baseado na informação das propostas. A selecção é comunicada.

aceite

rejeitada

Page 64: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Exemplo (4)Contract-Net – Exemplo (4)

4 – O Contractor executa a tarefa e entrega os resultados ao Manager

Page 65: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

The Contract Net:Fases

Assim, o Contract net tem as seguintes fases :

1. Recognition

2. Announcement

3. Bidding

4. Awarding

5. Expediting

Page 66: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Recognition

In this stage, an agent recognizes it has a problem it wants help with.Agent has a goal, and either…• realizes it cannot achieve the goal in isolation —

does not have capability• realizes it would prefer not to achieve the goal in

isolation (typically because of solution quality, deadline, etc.)

Page 67: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Announcement

In this stage, the agent with the task sends out an announcement of the task which includes a specification of the task to be achieved

Specification must encode:• description of task itself (maybe executable)• any constraints (e.g., deadlines, quality constraints)• meta-task information (e.g., “bids must be submitted

by…”) The announcement is then broadcast

Page 68: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Bidding

Agents that receive the announcement decide for themselves whether they wish to bid for the task

Factors:• agent must decide whether it is capable of expediting

task• agent must determine quality constraints & price

information (if relevant) If they do choose to bid, then they submit a tender

Page 69: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Awarding & Expediting

Agent that sent task announcement must choose between bids & decide who to “award the contract” to

The result of this process is communicated to agents that submitted a bid

The successful contractor then expedites the task May involve generating further manager-contractor

relationships: sub-contracting

Page 70: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Manager

Task Announcement

Node Issues Task Announcement

Page 71: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Manager

Manager

Manager

PotentialContractor

Idle Node Listening to Task Announcements

Page 72: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Manager

PotentialContractor

Bid

Node Submitting a Bid

Page 73: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Manager

PotentialContractor

PotentialContractor

Bids

Manager listening to bids

Page 74: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Manager

Contractor

Award

Manager Making an Award

Page 75: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Manager

Contractor

Contract

Contract Established

Page 76: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Mensagens necessárias para o Mensagens necessárias para o contract-netcontract-net

Request-for-bids(T,X) é a mensagem do Manager para os potenciais contractors pedindo ao contractor para lhe enviar uma proposta para a execução da tarefa T

Propose(T,O) é a resposta positiva de um Contractor relativamente ao pedido para a execução da tarefa T. A proposta contém a especificação da oferta feita O.

Not-interested(T,Y) é uma resposta negativa de um contractor dizendo que não está interessado em executar T.

Award(T,C,X) é a mensagem do Manager (X) para o contractor (C) informado-o que lhe foi oferecida a execução da tarefa T.

Accept(T,X) é a resposta positiva do contractor Y em resposta à oferta do Manager para a execução da tarefa.

Refuse(T,Y) é a resposta negativa do contractor à oferta do Manager para a execução da tarefa.

Page 77: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Conteúdo do Contract-Net – Conteúdo do AnúncioAnúncio

A mensagem que anuncia a tarefa a realizar tem a seguinte composição:

• Addressee – contém o endereço do(s) destinatário(s)• Eligibility Specification – condições que é necessário um

agente ter para poder, eventualmente, ser o contractor• Task Abstraction – breve descrição da tarefa a realizar• Bid Specification – especifica o que deve conter uma resposta

para que esta possa ser considerada• Expiration Time – prazo para serem dadas as propostas ao

anúncio (no entanto, o manager pode não ser obrigado a esperar todo o tempo e as respostas recebidas depois de expirado o tempo até podem resultar numa selecção subópitma de contractors)

Page 78: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net – Resposta ImediataContract-Net – Resposta Imediata

Pode acontecer o caso em que o manager não recebe nenhuma proposta, isto pode acontecer essencialmente por dois motivos, primeiro, todos os agentes elegíveis estão ocupados ou têm uma melhor proposta em mãos, segundo, não existem agentes elegíveis.

A solução encontrada para este problema foi criar uma classe de propostas a Immediate Response Bids as quais requerem uma de três respostas possíveis, BUSY, INELIGIBLE, LOW RANKING, ou uma sub-classe destas (ex: respond if eligible, but busy).

Assim o manager pode tomar medidas para resolver o problema como tentar mais tarde ou fazer uma proposta mais aliciante.

Page 79: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Issues for Implementing Contract Net

How to…• …specify tasks?• …specify quality of service?• …select between competing offers?• …differentiate between offers based on multiple

criteria?

Page 80: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

An approach to distributed problem solving, focusing on task distribution

Task distribution viewed as a kind of contract negotiation

“Protocol” specifies content of communication, not just form

Two-way transfer of information is natural extension of transfer of control mechanisms

The Contract Net

Page 81: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Contract-Net - ConclusõesContract-Net - Conclusões

+ Boa solução para o connection problem+ Bastante adequado a problemas de estrutura hierárquica

- Uma tarefa pode não ser atribuída ao agente mais qualificado se este estiver ocupado

- Para um número grande de agentes gera um grande tráfego de mensagens (mas o campo eligibility specification reduz as mensagens de resposta ao anúncio)

Page 82: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

1. Problem Decomposition

2. Sub-problem distribution

3. Sub-problem solution

4. Answer synthesis

The contract net protocol deals with phase 2.

Four Phases to Solution, as Seen in Contract Net

Page 83: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Cooperative Distributed Problem Solving (CDPS)

Neither global control nor global data storage — no agent has sufficient information to solve entire problem

Control and data are distributed Any unique node is a potential bottleneck

• distribute data• distribute control• organized behavior is hard to

guarantee (since no one node has complete picture)

Page 84: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

CoordenaçãoCoordenação

Relações positivas ou negativas Abordagens

• Coordenação a partir de planos globais parciais - DVMT• Coordenção através de intensões conjuntas: modelo do

agente + modelo dos outros (planos, goals, skills, etc) – ARCHON+MACE

• Coordenação por modelação mútua (modelo dos outros – roles, skills, goals, plans) - MACE

• Coordenação através de normas e leis sociais – leis emergentes

• Planeamento multiagente e sincronização – merge de planos – extensão de lógicas temporais

Page 85: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Linguagens específicas para Linguagens específicas para cooperaçãocooperação

Tal como com o contract-net outros protocolos necessitam de linguagens específicas para a cooperação.

Alguns ambientes (FIPA-OS) já permitem a utilização de performatives especificas para negociação ou incluem já protocolos de negociação.

Exemplo de uma linguagem de colaboração: COOL

Page 86: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

COOL (COOrdination Language)COOL (COOrdination Language) Baseada em KQML Coordenação de agentes é definida por autómatos finitos. COOL tem as seguintes componentes:

• Máquina de estados• Mensagens (performativas)• Regras de conversação• Regras para recuperação de erro• Regras de continuação• Classes de conversação• Conversações actuais

Page 87: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

COOL - performativasCOOL - performativas Para além das performativas disponibilizadas por KQML ainda são admitidas:

• Propose – usado para propôr um objectivo• Counter-Propose – segue-se a um propose para propôr outro

objectivo, desde que satisfaça o anterior• Accept e Reject – usados para assinalar aceitação ou

rejeição de uma proposta ou contra-proposta• Cancel – cancela uma proposta ou contra-proposta

previamente aceite• Satisfy – anuncia o cumprimento de um objectivo que lhe foi

pedido • Fail – anuncia a impossibilidade em cumprir um objectivo que

aceitou

Page 88: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

COOL –Máquina de EstadosCOOL –Máquina de Estados A máquina de estados define os estados em que se pode encontrar a tarefa

(ex: ponto de vista do receptor)

1

2 3

45

6 7propose/

/reject

/accept

/counter

counter/

accept/accept

/satisfy

/fail

/reject

Page 89: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

COOL – regras de conversaçãoCOOL – regras de conversação As regras de conversação dizem-nos como passamos de um

estado para outro da máquina de estados.

(def-conversation-rule r1:current-state 2:received ‘(propose :sender ?initiator :content (produce (?what ?

amount) :conversation ?conv

:such-that ‘(achievable (produce ?what ?amount)):next-state 3:transmit ‘(accept :content (produce(?what ?

amount)):conversation ?conv)

)

Page 90: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Aspectos de ImplementaçãoAspectos de Implementação

As ferramentas de construção de agentes já incluem um conjunto de aspectos para a construção de sociedades, nomeadamente:

- Linguagens para comunicação e cooperação- Possibilidade de definir estruturas organizacionais

(definindo “roles” na estrutura)- Protocolos pre-definidos para resolver aspectos de

negociação (contract-net e leilões).

Page 91: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Resumo: Problemas a resolverResumo: 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? 

Page 92: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Resumo: Problemas a resolverResumo: 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? 

Page 93: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

ConclusõesConclusões

Criar sociedades para resolver problemas parece ser um caminho a seguir.

Há ainda bastantes problemas (ferramentas e teorias) por resolver.

Page 94: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

Questões???

Page 95: Agentes Inteligentes e Sistemas Multi-agente (UD7 e UD10) Interacção, Negociação e Cooperação entre Agentes

An Example Abstract Argument System