Protocolos de Cooperação
Contract Net Systems
 Partial Global Planning
 Negociações

Protocolos de Cooperação

Protocolos Específico de Cooperação e
Estratégias.

Definir os tipos de cooperação.

Existem várias categorias e formas de
cooperação.
Tipologia de Cooperação
Sistemas Multi-Agentes
Independente
Discreto
Cooperação
Emergente
Deliberativo
Cooperativo
Comunicativo
Negociador
NãoComunicativo
Cooperativo x Independente

Existe a diferença entre agentes cooperativos
e agentes independentes.
Tipologia de Cooperação

Sistemas Multi-Agente Independente
Os agentes individuais de um sistema multiagente são completamente independentes e
seguem suas próprias metas.
Tipologia de Cooperação

Sistemas Multi-Agentes Discretos
Se os agentes agindo independentemente
também têm suas metas não-correlacionadas.
 Exemplo: Um agente busca informação e um
outro dá suporte ao usuário para adquirir
produtos
Tipologia de Cooperação
Sistemas Multi-Agente de Cooperação
Emergente:
Agentes independentes seguem suas próprias
metas, mas um observador externo tem a
aparência de uma cooperação.
 Exemplo: Diversos agentes seguindo uma
mesma meta, podem dar ao observador
externo a impressão de uma metodologia de
cooperação.

Sistemas Cooperativos




Têm mecanismos explícitos de cooperação.
Ao agentes são construídos de modo que eles podem
cooperar com outros agentes e alcançar sua metas.
Cooperação pode proceder de modo comunicativo ou
não-comunicativo.
Na Cooperação comunicativa, agentes usam
protocolos de comunicação e procedimentos de
cooperação com outros agentes. Por exemplo, enviam
mensagens com performativas KQML.
Cooperação Não-Comunicativa




A cooperação não-comunicativa toma lugar
indiretamente usando o ambiente.
Um agente observa seu ambiente e deste modo nota
as mudanças causadas por outros agentes.
Sua resposta a essas mudanças, por sua vez, causa
uma resposta para outros agentes, observando o
ambiente.
Uma cooperação indireta ocorre.
Agentes Cooperativos
Comunicativos

Podem ser divididos em sistemas
deliberativos e sistemas de negociação..

Protocolos de Cooperação:
- Contract Net Systems e
- Partial Global Planning
Protocolos de Cooperação

Contact Net Systems:
- Metodologia Orientada à Negociação

Partial Global Planning:
- Provê um exemplo de protocolo
deliberativo.
Contract Net Systems

Pode ser usado para estabelecer os
mecanismos de coordenação entre agentes
integrados em um sistema multi-agente.

O trabalho de um Contract Net Systems
começa após o problema completo a ser
resolvido ter sido dividido em subproblemas.
Contract Net Systems

O protocolo de contract net que forma a base
do Contract Net Systems define uma
linguagem comum inter-nodos que deve ser
entendida por todos os agentes.

A comunicação entre os agentes é sempre
realizada com base no formato de mensagem
apropriado do protocolo de cooperação.
Estrutura de um Contract Net Node
Task Processor
Local Data Base
Contract Processor
Comunications
Processor
Network
Local Data Base

Contém a base de conhecimento do nodo
associado e também informação sobre o
status corrente das negociações da
cooperação e o processo de resolver o
problema. Os três outros componentes usam a
base de conhecimento local para realizar suas
tarefas.
Contract Processor

Tem a tarefa de observar as tarefas oferecidas
como ofertas, o envio de aplicações e a
finalização dos contratos.

Realiza a coordenação de todos os nodos.

É responsável pelo processamento real e
solução da tarefa atribuído ao nodo.
Task Processor

Recebe o problema para ser resolvido do
Contract Processor, para determinar a
solução.

Faz uso da Local Data Base tem a tarefa de
determinar a solução e passar esta ao
Contract Processor.
Manager

Um nodo especial chamado Manager é adicionado ao
contexto dos outros módulos e tem a tarefa de
atribuição de subproblemas aos nodos (agente) na
rede.

O exemplo que segue mostra as funções do Manager,
no contexto de um processo de negociação de
contrato.
Processo de Negociação de Contrato
Manager
Nodes
Invitation for bids
Subproblem
Application
Evaluation
Contract
Confirmation
Idle
Contract
completion
Subproblem
Solution
Result
Subproblem
Evaluation
Subsolution
Ofertas

O Manager oferece publicamente ofertas
como um contrato para todo subproblema
pendente que é para ser resolvido.

Para este propósito ele usa a estrutura de
mensagem definida pelo protocolo de
contrato.
Mensagem de Publicação de Ofertas
To:
FROM:
TYPE:
ContractID:
Task Abstraction
Eligibility Specification
Bid Specification
all nodes
manager
task bid announcement
xx-yy-zz
<description of subproblem>
<list of minimum requirements>
<description of the required aplication
information>
Expiration Time
<latest possible application time>
Processo de Negociação

Ao oferecimento de ofertas é aberto a todos
os agentes e é avaliado pelo seu Contract
Processor associado.

O Contract Processor faz uso da Local Data
Base para avaliar os recursos disponíveis no
momento e o conhecimento dos agentes.
Contract Processor

O Contract Processor decide se uma
aplicação deve ser feita para a tarefa
anunciada.

Se ele chega a um resultado positivo, ele pode
informar ao Manager, de acordo com a
seguinte mensagem:
Fazendo a aplicação
TO:
FROM:
TYPE:
ContractID:
Node Abstraction:
manager
node X
application
xx-yy-zz
<description of the node’s
capability>
Manager escolhe aplicação

O Manager deve selecionar o nodo (contendo
um agente) que ele considera mais adequado,
de todas as aplicações recebidas para um
contrato específico.

Ele tem acesso ao conhecimento de avaliação
e métodos com os quais ele pode avaliar toda
aplicação.
Seleção de Aplicação

O Manager seleciona a aplicação com a
avaliação mais alta e dá a tarefa a um nodo X
para resolver o subproblema associado com o
contrato.

O Manager atribui o contrato na forma de um
mensagem de contrato:
Mensagem do Manager para um node X
TO:
FROM:
TYPE:
ContractID:
Task Specification
node X
manager
contract
xx-yy-zz
<description of
subproblem>
Confirmação de Aceitação do Contrato



O nodo X envia uma confirmação ao Manager
indicando a aceitação do contrato na forma
especificada.
Ao término da fase de resolução do problema,
o problema resolvido é transferido ao
Manager.
O node X não recebe qualquer informação
sobre o estado corrente dos outros nodos.
Excedendo os recursos



Se posteriormente um nodo X determina que a tarefa
atribuída a ele, excede sua capacidade ou recursos, é
permitido a ele subdividir o problema em então atribuir
subcontratos a outros nodos.
Neste caso, ele adota o papel do Manager e oferece
os subproblemas para ofertas aos outros agentes nos
nodos da rede.
Contract Net Systems constituem uma pura
distribuição de tarefas.
Partial Global Planning
Partial Global Planning (PGP)



Provê um exemplo de protocolo de
cooperação para sistemas multi-agente
deliberativo.
A todo agente de um sistema multi-agente é
dado a capacidade durante seu trabalho de
obter informação do estado corrente e metas
alcançadas dos outros agentes.
O agente usa este conhecimento para otimizar
sua própria tarefa.
PGP



PGP provê a coordenação de unidades
resolvendo um problema distribuído.
A condição básica para uso de PGP é que
diversos agentes distribuídos trabalham sobre
a solução de um problema completo.
Um agente, como parte do PGP, pode
observar as ações e relacionamentos entre um
grupo de outros agentes e então formar
conclusões para seu próprio trabalho.
PGP

Este conhecimento é chamado o Partial Global
Plan (Plano Global Parcial) porque reflete o
conhecimento parcial do plano deterninado
pelo agente para resolver um problema global.
Processamento PGP
comunication
A
A1
B
A2
Agent 1
B
A
A3
A2
B1
Agent 2
B2
Processamento PGP



Dois agentes trabalham sobre dois
subproblemas (A e B) de um problema.
Estes próprios subproblemas A e B consistem
de outros subproblemas (A1 à A3) e (B1 à B2).
Todo agente passa informação sobre seu
estado corrente ao seu parceiro.
Processamento PGP




No exemplo, o agente 1 comunica ao agente 2 que ele
está trabalhando sobre o subproblema ª
Similarmente, o agente 2 informa ao agente1 o seu
trabalho sobre o subproblema B.
Todo agente pode usar esta informação com relação a
situação do parceiro para o seu trabalho.
Se o agente 1 reconhece que o seu subproblema A2 é
dependente do subproblema B no agente 2, ele pode
informar o agente2 sobre tal dependência.
Processamento PGP

Em alguns casos, pode acontecer que o
subproblema A2 do agente 1 é transferido
completamente para o agente 2, porque ele
teria que processar o subproblema como parte
da solução de B.
Processo PGP

O processo PGP é subdividido em quatro
etapas consecutivas:
1. Criação dos Planos Locais para todo
agente;
2. Comunicação e troca de Planos entre
agentes;
3. Criação dos PGPs;
4. Modificação e Otimização dos PGPs.
Negociações
Negociações


Sistemas Multi-Agentes manipulam o
significado de negociações em vários modos.
Ao passo que um modo descreve as
atribuições de subproblemas e recursos como
negociação, um outro modo relaciona a
negociação direta um-a-um entre dois agentes.
Negociações


O objetivo de toda negociação é permitir uma
cooperação construtiva dentro de um grupo de
agentes independentes que têm suas próprias metas.
O protocolo de negociação provê as regras básicas
para as possíveis formas de negociação, a forma do
processo de negociação e a estratégia de negociação,
dependem da implementação específica de cada
agente.
Negociações

Embora o desenvolvedor de um agente possa
provê diferentes graus de complexidade das
capacidades de negociação, cuidado deve ser
tomado para garantir que a estratégia de
negociação e o protocolo de negociação sejam
compatíveis, isto é a estratégia selecionada
possa ser utilizada com o protocolo disponível.
Download

ProtCoop