agentes inteligentes e sistemas multi-agente (ud7 e ud10) interacção, negociação e cooperação...
TRANSCRIPT
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
Problemas a resolverProblemas a resolverProblema 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 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?
Como estudar as cooperação entre Como estudar as cooperação entre agentesagentes?
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) e 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 Exemplos de Funções de Transformação dos estadosTransformaçã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 RacionaisCooperaçã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 “payoffCooperaçã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) =4 uj(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
i não coopera
i coopera
j não coopera
4
4
1
4
j coopera 4
1
1
1
“Payoff matrix”
Estratégias DominantesEstraté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”Nash Equilibrium”Duas estratégias 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 equilibrio é 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 PrisioneiroExemplo: 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:1. Se um deles confessa o crime e o outro não, o
que confessou é libertado, e o outro é preso por 3 anos.
2. Se ambos confessam o crime, então cada um deles é preso por 2 anos.
3. Se nenhum confessar eles só ficam presos por 1 ano.
O Dilema do Prisioneiro (2)O Dilema do Prisioneiro (2) Defects: confessar e Cooperate: não confessarUtilidades:Libertado: 5Um ano de prisão: 3Dois anos de prisão: 2Três anos de prisão: 0
ui(D,D) = 2 ui(D,C) = 5 ui(C,D) = 0 ui(C,C) = 3 uj(D,D) =2 uj(D,C) = 0 uj(C,D) = 5 uj(C,C) = 3
D,C ≻i C,C ≻i D,D ≻i C,DC,D ≻j C,C ≻j D,D ≻j D,C
O Dilema do Prisioneiro (3)O Dilema do Prisioneiro (3)
i defects i cooperates
j defects 2
2
0
5
j cooperates 5
0
3
3
O que deve o prisioneiro fazer?
Pensar como um prisioneiro
1. 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.
2. 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 Prisioneiro (4)O Dilema do Prisioneiro (4)
O Torneio de AxelrodO 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)O Torneio de Axelrod (2)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: ResultadosO 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 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
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
Chegar a acordoChegar a acordoConstituintes 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çãoProtocolos para negociaçãoPropriedades 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)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õesLeilõesUma 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)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.
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.
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
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
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
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
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.
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.
NegociaçãoNegociaçãoComo é 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
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
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
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
Domínio Orientado a TarefasDomínio Orientado a TarefasTarefa: levar 3 crianças à escola (todas em escolas diferentes); vizinho tem 4
crianças.
Levar uma criança – tarefa indivísivel
Os agentes podem negociar e podem melhorar a sua situação:• chegar a um acordo - por exemplo, não ir a um dos destinos
partilhados – melhora a situação actual• Não se entendem – não piora a situação actual• Diferentes soluções. Por exemplo: 1 destino partilhado
- Pares e impares- Leva sempre e o outro leva sempre outras crianças, etc.
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 = Atribuição Ti aos Agi
<T1,T2,… , Tn>
Domínio Orientado a TarefasDomínio Orientado a TarefasCená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- 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>
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
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
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
Protocolo de concessão monótono Protocolo de concessão monótono
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 o negócio de acordo é:• 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
Estratégia ZeuthenEstratégia Zeuthen
Primeira proposta?- o nosso negócio mais preferido
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)/ucorrentese ~1 não tem muito a perder; arrisca
mais pelo conflito e não concedese ~0 tem mais a perder
Willingness to Risk Conflict
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
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
Deception in TODs
Deception can benefit agents in two ways:
• Phantom and Decoy tasksPretending that you have been allocated tasks you have not
• Hidden tasksPretending not to have been allocated tasks that you have been
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.
Conclusions negotiation
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 Encounter
Efficiency
Conclusions negociation
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
Stability
Formal Tools
ArgumentaçãoArgumentação
Argumentation is the process of attempting to convince others of something
Importância: Quando um agente negoceia deve ser capaz de
justificar as suas ofertas – crucial na delegação As nossas preferências mudam
Argumentation Gilbert (1994) identified 4 modes of argument:
1. Logical mode“If you accept that A and that A implies B, then you must accept that B”
2. Emotional mode“How would you feel if it happened to you?”
3. Visceral mode“Cretin!”
4. Kisceral mode“This is against Christian teaching!”
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
Attack and Defeat
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.
Abstract Argumentation 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
Working Together
Why and how do agents work together? Important to make a distinction between:
• benevolent agents- Implicitly share a common goal and there is no conflict
between them - Help whenever needed- Overall objectives over individual ones
• self-interested agents- Cannot be assumed to share a goal- Ultimately need to cooperate to achieve goals
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
Benevolent Agents 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!
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
CDPS
• Cooperative Distributed Problem Solving- Em geral a solução tem 3 passos:
1. Problem Decomposition – typ. hierarchical2. 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
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
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)
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
The Contract Net
A well known task-sharing protocol for task allocation is the contract net:
1. Recognition2. Announcement3. Bidding4. Awarding5. Expediting
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.)
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
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
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
Issues for Implementing Contract Net
How to…
• …specify tasks?• …specify quality of service?• …select between competing offers?• …differentiate between offers based on multiple
criteria?
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
1. Problem Decomposition2. Sub-problem distribution3. Sub-problem solution4. Answer synthesis
The contract net protocol deals with phase 2.
Four Phases to Solution, as Seen in Contract Net
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)
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
Formas de CoordenaçãoFormas de Coordenação
Coordenação
Cooperação Competição
Planeamento Negociação
Planeamento Distribuído
PlaneamentoCentralizado
Competição: Competição: Coordenação de Agentes CompetitivosCoordenação de Agentes Competitivos
Self-interested
Negociação• Permitir a modificação dos planos locais de agentes
autónomos• Identificar situações onde são possíveis interacções entre
agentes.• Efectuar alocação de tarefas e recursos, resolução de
conflitos…
Resolução de ConflitosResolução de Conflitos
Conflitos:• Competição por recursos escassos• Tempo escasso• Problemas de comunicação
Formas de resolver:• Competição• Colaboração (ganha-ganha)• Compromisso• Acomodação
CooperaçãoCooperação
É fundamental, sendo a razão principal para a existência de um ambiente multi-agente. [Nwana]
Capacidade que os agentes têm de “trabalharem em conjunto de forma a concluírem tarefas de interesse comum”.
Tal como os humanos, os agentes têm de combinar os seus esforços de forma a atingir objectivos comuns que não podem ser atingidos individualmente.
O agente deve ser dotado de habilidade social, capacitando-o a interagir com outros agentes, possivelmente humanos, através de alguma linguagem de comunicação.
Métodos de cooperaçãoMétodos de cooperação
Grouping and Multiplication: arranjar os agentes de forma a estar fisicamente juntos de forma a tornarem-se numa unidade fisicamente próxima. Viver como uma comunidade permite: obter comida mais facilmente; permite aumentar o numero de indivíduos da espécie.
Comunicação: Expande as capacidades perceptivas dos individuos e permite coordenação.
Especialização: Especialização é o processo pelo qual os agentes se tornam mais adaptados a determinadas tarefas. Exemplo: os robots especialistas em cores (Drogoul).
Partilha de Tarefas e de recursos: resposta ao problema: quem faz o quê?
Resolução de conflitos através de negociação.
Coordenação de Agentes Coordenação de Agentes CooperativosCooperativos
Forma como conjuntos de agentes se podem coordenar de forma a realizar trabalho cooperativo de equipa.
São totalmente cooperativos tentando auxiliar-se mutuamente nem que isso provoque alguns custos individuais.
Sem coordenação a comunidade de agentes pode degenerar numa colecção caótica e incoerente de agentes individuais.
Para além da negociação, existem outras metodologias.
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.
Contract-Net – Exemplo (2)Contract-Net – Exemplo (2)
1 – O Manager anuncia a tarefa a executar aos possíveis Contractors
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
???
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
Contract-Net – Exemplo (4)Contract-Net – Exemplo (4)4 – O Contractor executa a tarefa e entrega os resultados ao Manager
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.
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)
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.
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)
Resumo: Problemas a resolverResumo: Problemas a resolverProblema 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?
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?
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
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
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
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
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)
)
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).