roteiro agentes trabalhando juntos resolução cooperativa de problemas distribuídos ...
Post on 19-Apr-2015
110 Views
Preview:
TRANSCRIPT
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
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
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?
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
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
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
Exemplo: Construção de EdifícioExemplo: Construção de Edifício
Analisador de solo
Carregador de material
Construtor
Resultado da análise de solo
Exemplo: Construção de EdifícioExemplo: Construção de Edifício
Analisador de solo
Carregador de material
Construtor
Solicita material
Exemplo: Construção de EdifícioExemplo: Construção de Edifício
Analisador de solo
Carregador de material
Construtor
Entrega material
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”
(1) Agente reconhece existência de tarefa que não pode desempenhar sozinho
Funcionamento do Contract-NetFuncionamento do Contract-Net
Funcionamento do Contract-NetFuncionamento do Contract-Net
(2) Agente anuncia a tarefa para os demais agentes
Funcionamento do Contract-NetFuncionamento do Contract-Net
(2) Agentes enviam suas propostas
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
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)
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
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!)
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
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
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
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
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
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
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
Planejamento Centralizado Para Planejamento Centralizado Para Múltiplos AgentesMúltiplos Agentes
Coordenador do plano
Executor
ExecutorExecutor
Executor
Plano
PlanoPlano
Plano
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
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
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
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
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
top related