![Page 1: Roteiro Agentes Trabalhando Juntos Resolução Cooperativa de Problemas Distribuídos Compartilhamento de Tarefas e Resultados Compartilhamento de Tarefas](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/11.jpg)
(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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062512/552fc142497959413d8df71c/html5/thumbnails/30.jpg)
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