30
Roteiro Roteiro Agentes Trabalhando Juntos Resolução Cooperativa de Problemas Distribuídos Compartilhamento de Tarefas e Resultados Compartilhamento de Tarefas Usando Contract-Net Funcionamento do Contract-Net Coordenação em SMA O Que é Coordenação Quando Ações Devem Ser Coordenadas Relações Entre Ações Algumas Formas de Coordenação

Roteiro Agentes Trabalhando Juntos Resolução Cooperativa de Problemas Distribuídos Compartilhamento de Tarefas e Resultados Compartilhamento de Tarefas

Embed Size (px)

Citation preview

Page 1: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

RoteiroRoteiro

Agentes Trabalhando Juntos

Resolução Cooperativa de Problemas Distribuídos

Compartilhamento de Tarefas e Resultados

Compartilhamento de Tarefas Usando Contract-Net

Funcionamento do Contract-Net

Coordenação em SMA

O Que é Coordenação

Quando Ações Devem Ser Coordenadas

Relações Entre Ações

Algumas Formas de Coordenação

Page 2: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Agentes Trabalhando JuntosAgentes Trabalhando Juntos

Como desenvolver agentes que podem trabalhar juntos de maneira eficiente?

O conceito de cooperação de SD é suficiente?

Não !

Agentes devem agir de maneira “estratégica”: agentes heterogêneos, interesses próprios (diferentes objetivos), etc.

Autonomia dos agentes !

Agentes que trabalham juntos devem compartilhar Tarefas, Informações e Coordenar Atividades

Page 3: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Resolução Cooperativa de Resolução Cooperativa de Problemas DistribuídosProblemas Distribuídos

Agentes com diferentes habilidades trabalhando juntos de maneira a resolver problemas que estão além das suas capacidades individuais

Assume existência de agentes benevolentes:

Sempre compartilham mesmos objetivos (não há espaço para conflitos)

Ajudam sempre que necessário

No entanto, a área de sistemas multi-agentes estuda sociedade de agentes autônomos, com interesses próprios !

Pergunta chave: por que e como agentes cooperam?

Page 4: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Resolução Cooperativa de Resolução Cooperativa de Problemas DistribuídosProblemas Distribuídos

Decomposição do problema

Decomposição hierárquica até atingir granularidade desejada

Escolher mecanismo de decomposição

Capacidade dos agentes deve ser conhecida

Solução do sub-problema

Sub-problemas resolvidos individualmente

Agentes podem compartilhar informações

Síntese da solução

Soluções individuais integradas hierarquicamente em apenas uma

Page 5: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Compartilhamento de Tarefas e Compartilhamento de Tarefas e ResultadosResultados

Problema decomposto em sub-problemas menores alocados para agentes diferentes

Alocação das tarefas depende da arquitetura dos agentes:

Caso mais simples: agentes com mesmas habilidades e sem autonomia

Estabelecimento de acordos: agentes com habilidades distintas e autônomos

Agentes compartilhando informações relevantes para resolução de sub-problemas

Pró-ativa: Agente envia informação por acreditar que essa informação auxiliará outro agente

Reativa:Agente envia informação como resposta a uma solicitação

Page 6: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Exemplo: Construção de EdifícioExemplo: Construção de Edifício

Analisador de solo

Carregador de material

Construtor

Solicita análise de solo para construção apropriada das fundações

Page 7: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Exemplo: Construção de EdifícioExemplo: Construção de Edifício

Analisador de solo

Carregador de material

Construtor

Resultado da análise de solo

Page 8: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Exemplo: Construção de EdifícioExemplo: Construção de Edifício

Analisador de solo

Carregador de material

Construtor

Solicita material

Page 9: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Exemplo: Construção de EdifícioExemplo: Construção de Edifício

Analisador de solo

Carregador de material

Construtor

Entrega material

Page 10: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Compartilhamento de Tarefas Compartilhamento de Tarefas Usando Contract-NetUsando Contract-Net

Protocolo de alto nível voltado para obtenção de uma estratégia de cooperação eficiente

Desenvolvido por R. G. Smith em 1979 e baseado em protocolos de mercado público

Visa o compartilhamento de tarefas entre vários agentes

Composto por 4 etapas:

Anuncio da tarefa, encaminhamento de proposta, análise das propostas e emissão do “contrato”

Page 11: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

(1) Agente reconhece existência de tarefa que não pode desempenhar sozinho

Funcionamento do Contract-NetFuncionamento do Contract-Net

Page 12: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Funcionamento do Contract-NetFuncionamento do Contract-Net

(2) Agente anuncia a tarefa para os demais agentes

Page 13: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Funcionamento do Contract-NetFuncionamento do Contract-Net

(2) Agentes enviam suas propostas

Page 14: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Funcionamento do Contract-NetFuncionamento do Contract-Net

(4) Uma proposta é escolhida e o contrato é emitido

(3) Propostas recebidas são analisadas e a melhor é escolhida

Page 15: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação em SMACoordenação em SMA

O que acontece quando agentes possuem ações inter-dependentes?

Necessário gerenciar inter-dependências !

Mecanismos de coordenação são essenciais quando agente possuem atividades que interagem entre si

Exemplos de atividades:

Duas pessoas tentando sair de uma sala por uma porta estreita

Funcionário precisa de assinatura de gerente para enviar um documento

Aluno A encontra artigo de interesse de B e encaminha-o (atividade pró-ativa)

Page 16: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Então, O Que é Coordenação?Então, O Que é Coordenação?

Quando agentes trabalham juntos é necessário gerenciar algumas tarefas complementares

Tarefas de coordenação:

Fazem parte do sistema organizacional e possibilitam a execução das tarefas produtivas

Então, coordenação é o conjunto de tarefas suplementares que devem ser executadas em um SMA, as quais não seriam necessárias caso existisse apenas um único agente

Page 17: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Quando Ações Devem Ser Quando Ações Devem Ser Coordenadas?Coordenadas?

Informações e resultados disponíveis apenas através de outros agentes

Ex.: Agente construtor precisa que alguém lhe forneça material

Recursos limitados

Tempo, espaço, dinheiro, ferramentas ...

Otimização de custos

Eliminação de tarefas desnecessárias e redundantes

Agentes com objetivos inter-dependentes cooperando entre si

Ex.: Dois agentes trabalhando no mundo dos blocos (sem competição!)

Page 18: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Relações Entre AçõesRelações Entre Ações

Algumas ações quando executadas simultaneamente podem levar a conflitos ou aumento da performance

Relações negativas: impossibilitam a execução de algumas ações

Incompatibilidade de objetivos, limitação de recursos

Relações positivas: favorecem ações fazendo com que uma se beneficie de outra

Maior eficiências do que se ações fossem executadas independentemente

Em SMA, coordenação acontece em tempo de execução

Agentes devem reconhecer relações e tratá-las quando elas ocorrem

Page 19: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Relações Entre AçõesRelações Entre Ações

Incompatibilidade de Objetivos

Conflito de Recursos

Recursos Consumíveis

Recursos Não Consumíveis

Relação de Favor

Relações de Conseqüência

Relação de Igualdade

Relações Entre Ações

Relações Positivas

Relações Negativas

Page 20: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Algumas Formas de CoordenaçãoAlgumas Formas de Coordenação

Coordenação via SincronizaçãoCoordenação via Sincronização

Maneira mais simples e limitada de coordenação (originária de SD)

Descreve precisamente a seqüência de ações concorrentes

Coordenação via PlanejamentoCoordenação via Planejamento

Fases de elaboração de planos e execução do plano escolhido

Limitados com relação a eventos não previstos e situações muito complexas

Coordenação ReativaCoordenação Reativa

Não existe fase de planejamento, fazem uso do ciclo percepção-ação do agente

Adequadas para situações onde é difícil prever o que irá acontecer

Page 21: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Sincronização de AçõesSincronização de Ações

Definir a relação de tempo existente entre as ações de modo que:

Sejam executadas na ordem correta

Produzam o resultado esperado

Deve ser aplicada quando o objetivo é prover coerência e evitar interferência entre ações

Situações típicas:

Sincronização de movimentos

Ex.: dois agentes andando de bicicleta

Sincronização para acesso a recurso

Ex.: controle de acesso a uma máquina

Page 22: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação via PlanejamentoCoordenação via Planejamento

Problema de planejamento em SMA é mais complexo do que o caso tradicional

Ações de vários agentes devem ser levadas em consideração

Maior necessidade de replanejamento

Maior interdependência entre ações, dificultando ordenamento das ações, etc...

Em SMA, planejamento pode se quebrado em 3 fases:

Elaboração de planos, sincronização/coordenação e execução de planos

Page 23: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Modos de PlanejamentoModos de Planejamento

Planejamento centralizado para múltiplos agentesPlanejamento centralizado para múltiplos agentes

Único agente responsável por elaborar plano

Coordenação centralizada para planos parciaisCoordenação centralizada para planos parciais

Tarefa de elaboração de plano distribuída

Único agente responsável for sincronizar/coordenar sub-planos

Coordenação distribuída para planos parciaisCoordenação distribuída para planos parciais

Tarefa de elaboração de plano distribuída

Cada agente deverá ter a iniciativa de sincronizar seu sub-plano com os demais agentes

Page 24: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Planejamento Centralizado Para Planejamento Centralizado Para Múltiplos AgentesMúltiplos Agentes

Apenas um agente capaz de planejar e organizar ações para todos os agentes

Demais agentes são simplesmente executores de planos

Construção do plano composta por 3 etapas:

Encontrar um plano parcial geral

Determinar pontos do plano que podem ser executados em paralelo (Identificação de sub-planos)

Incluir pontos de sincronização

Alocar os sub-planos para os demais agentes

Page 25: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Planejamento Centralizado Para Planejamento Centralizado Para Múltiplos AgentesMúltiplos Agentes

Coordenador do plano

Executor

ExecutorExecutor

Executor

Plano

PlanoPlano

Plano

Page 26: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação Centralizada Para Coordenação Centralizada Para Planos ParciaisPlanos Parciais

Apenas a etapa de coordenação é centralizada

Cada agente desenvolve seu próprio plano parcial e o encaminha para o coordenador

Coordenador tenta sintetizar todos os sub-planos em um único plano coerente

Identificar conflitos e eliminá-los via ordenação de ações ou inclusão pontos de sincronização

Coordenador capaz de identificar tanto relações positivas quando negativas

Page 27: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação Centralizada Para Coordenação Centralizada Para Planos ParciaisPlanos ParciaisCoordenador

Plano parcial

Obj. A

Obj. B

Obj. C

Obj. D

Plano coordenado

Planejador/Executor

Planejador/Executor

Planejador/Executor

Planejador/Executor

Page 28: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação Distribuída Para Coordenação Distribuída Para Planos ParciaisPlanos Parciais

Não existe o papel de coordenador em nenhuma das etapas

Cada agente planeja individualmente as ações que deseja executar de acordo com seus objetivos

Maior dificuldade é identificar relações entre as ações que compõem os diversos sub-planos

Agentes devem trocar informações sobre os seus planos e objetivos

Page 29: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação Distribuída Para Coordenação Distribuída Para Planos ParciaisPlanos Parciais

V. Lesser e E. Durfee desenvolveram o modelo Partial Global Planning (PGP)

PGP é uma estrutura contendo informações sobre os planos do agente, seu objetivos, custos associados, resultados esperados, etc.

Agentes trocam PGP e tentam identificar:

Agentes cujos objetivos façam parte de um objetivo de grupo

Planos que possam ser combinados

Page 30: Roteiro Agentes Trabalhando Juntos  Resolução Cooperativa de Problemas Distribuídos  Compartilhamento de Tarefas e Resultados  Compartilhamento de Tarefas

Coordenação Distribuída Para Coordenação Distribuída Para Planos ParciaisPlanos Parciais

Executor/Planejador

Executor/Planejador

Executor/Planejador

Obj. A

Obj. B

Obj. CPedidos, informações e planos parciais