Planejamento em Sistemas MultiAgentes Professores: Geber Ramalho Patrícia Tedesco Alunas: Adeline Silva Manuela Xavier Talita Menezes
Tópicos Introdução SDP x SMA Solução Distribuída de Problemas Planejamento Multiagente Projetos Existentes Conclusões Referências
Introdução Sistemas de Solução Distribuída de Problemas: Os agentes envolvidos são projetados para serem Cooperativos Sistemas Abertos: Os agentes não são necessariamente cooperativos, Agentes podem ingressar e sair do sistema de maneira dinâmica Dentro desta segunda classificação, estão inseridos os Sistemas Multiagentes: Conjunto de agentes autônomos Possivelmente pré-existentes Solução de um problema que está além da capacidade de um único indivíduo. Neste tipo de sistema, investiga-se o comportamento de um conjunto de agentes autônomos, possivelmente pré-existentes, que interagem objetivando a resolução de um problema que está além das capacidades de um único indivíduo.
Relação entre SDP e SMA SDP: SMA: ênfase na solução de um ou mais problemas, com o esforço de múltiplos agentes com interesse em propriedades extrínsecas como: Competência Robustez Uso eficiente de recursos SMA: Ênfase na existência de múltiplos agentes com interesse em propriedades intrínsecas como: Revelação da verdade Manipulação Coerência
Solução Distribuída de Problemas Enfatiza o trabalho conjunto de agentes para melhor resolver problemas que precisam de um esforço coletivo. Presume a existência de problemas que precisam ser resolvidos e expectativas sobre o que constitui soluções.
Solução Distribuída de Problemas Na solução distribuída de problemas: coerência (querer trabalhar em grupo ) competência (saber como trabalhar bem em grupo ) Algumas vezes, o problema que os agentes estão resolvendo é construir um plano. Planejamento distribuído é fortemente mesclado com Solução Distribuída de Problemas.
Compartilhamento de tarefas Idéia Quando um agente tiver muitas tarefas para fazer, ele deve solicitar ajuda Principais passos: Decomposição da tarefa Alocação da tarefa Realização da tarefa Síntese do resultado
Exemplo 1: Figuras Escondidas Problema: Encontrar figuras escondidas em uma determinada área Tarefa simples de busca: Como você pode trabalhar como parte de um time para resolvê-la?
Exemplo 1: Discussão Decomposição: dividir a área ou as figuras para a busca Alocação: distribuir as sub-tarefas entre os agentes Execução: cada agente deve procurar as figuras atribuídas a ele, ou fazer uma busca na área destinada a ele. Síntese: cada agente apresenta as figuras encontradas.
Compartilhamento no problema do ToH 1) Decomposição: se preocupa em sempre mover o maior disco para o seu destino; 2) Alocação: escolha randômica dos agentes; 3) Execução: As tarefas são recursivamente decompostas até que o estado inicial e final sejam o mesmo; 4) Síntese dos Resultados: Quando um agente resolve um problema, ele passa a solução para o de cima, que irá utilizá-la para encontrar sua própria solução.
Compartilhamento em Sistemas Heterogêneos Aplica-se quando atribuições de subproblemas para agentes não são simples agentes podem ter diferentes capacidades; subproblemas precisam de diferentes capacidades As decisões precisam ser baseadas em informações mais dinâmicas. Contract Net Protocol E quando os agentes não estiverem disponíveis para executar sub-tarefas?
Compartilhamento em Sistemas Heterogêneos Adaptações do Contract Net Contratação publicada Tentar novamente Revisão de anúncio Decomposições alternativas
Compartilhamento de Resultados Uma mesma tarefa pode ter resultados diferentes se executada por agentes diferentes. Solucionadores de problemas podem aumentar o desempenho do grupo se combinarem as seguintes características: Confiança Completude Precisão Conveniência
Compartilhamento de Resultados Complicações: os agentes precisam conhecer o que fazer com os resultados compartilhados a comunicação de um grande volume de resultados pode ser custoso. Técnicas: Cooperação funcionalmente precisa Repositórios compartilhados e busca negociada Estruturação organizacional
Planejamento Multiagente (MAP) Estende o planejamento clássico para domínios onde vários agentes podem planejar e agir juntos. Suas aplicações incluem: Ambientes multi-robôs Agentes cooperativos na internet Logística Produção Tarefas militares
Planejamento distribuído Existem três classes de planejamento distribuído: Planejamento centralizado de planos distribuídos Planejamento distribuído de planos centralizados Planejamento distribuído de planos distribuídos
Planejamento centralizado de planos distribuídos Contexto: Um problema a ser resolvido e vários agentes disponíveis Agente coordenador Objetivo: Encontrar, dentro de todos os planos possíveis, aquele que pode ser decomposto e distribuído mais eficientemente
Planejamento centralizado de planos distribuídos Dado a descrição do objetivo, um conjunto de operadores e um estado inicial, o coordenador deve: Gerar um plano parcialmente ordenado Decompor este plano em sub-planos Restrições de ordenação devem ficar dentro e não entre os sub-planos Inserir sincronização Atribuir sub-planos a agentes
Planejamento centralizado de planos distribuídos Algumas considerações Nem sempre o plano que pode ser mais decomposto e mais distribuído é o melhor A infra-estrutura de comunicação tem grande impacto na decisão de como os planos são decompostos e distribuídos
Planejamento distribuído de planos centralizados Contexto: Tarefa muito complexa que requer o auxílio de especialistas em cada sub-tarefa Objetivo Utilizar a expertise de cada agente para formular sub-planos especializados
Planejamento distribuído de planos centralizados Planejamento pode ser feito de forma síncrona ou assíncrona Síncrona: A ordenação é feita durante o processo de planejamento Assíncrona Somente durante o compartilhamento de resultados os conflitos com relação à ordem são resolvidos
Exemplos Manufatura: Logística: Comunicação fim-a-fim: especialistas em geometria, encaixe, pintura, etc. Logística: especialistas em planejamento de caminho, carregamento de veículos e despache Comunicação fim-a-fim: especialistas no roteamento de mensagens
Planejamento distribuído de planos distribuídos Não existe um plano global da tarefa em nenhum ponto do sistema, apenas planos parciais de relevância local Compatibilidade global entre esses planos parciais deve ser mantida evitar conflitos durante a execução fomentar ajuda mútua Troca de mensagens e/ou temporização são usados para resolver interações negativas entre os agentes
Técnicas para planejamento distribuído de planos distribuídos Fusão de planos Construção iterativa de planos Negociação de planejadores distribuídos
Fusão de Planos Cada agente, individualmente, formula planos, que podem ser executados separadamente sem conflitos Um agente coleta os planos individuais e analisa os planos para descobrir que seqüências de ações podem levar a conflitos Consiste de três estágios: Análise de interação Análise de segurança Resolução de interação Iterações: independentes, satisfatórias e precendentes Satisfatória: existe uma sequencia que não invalida a precondicao de um ou de outro Precendencia: precondicao de um é a poscondicao do outro
Construção iterativa de planos Problema das abordagem anterior: às vezes, decisões locais dependem das ações de outros agentes Espaço de planos x Plano Único Cada agente, ao invés de propor um único passo, propõe um conjunto de alternativas e, a cada iteração, escolhe-se a que melhor se ajusta para o bem de todos
Busca por Combinação de planos Dadas proposições iniciais sobre o mundo: Agentes formam estado sucessores propondo mudanças causadas por uma ação É escolhido o melhor estado sucessor e esta escolha é expandida (heurística A*) O processo é repetido até que nenhum agente queira propor mais mudanças.
Negociação de planejadores distribuídos Principais ferramentas: A linguagem utilizada pelos participantes O protocolo seguido durante a negociação O processo de decisão usado para determinar suas posições, concessões e critérios
Atributos Ideais do Mecanismo de Negociação Eficiência Estabilidade Simplicidade Distribuição Simetria Eficiencia: os agentes não devem desperdicar recursos, enquanto tentam um acordo Estabilidade: os agentes não devem ser incentivados a se desviar da estrategia acordada Simplicidade: o mecanismo deve impor uma baixa demanda computacional e de banda Distribuição: não deve ser necessário um agente central para tomar decisões Simetria:o mecanismo não deve ter preconceito contra nenhum agente
Planejamento Distribuído Contínuo Planejamento e execução intercalados Um agente deve planejar continuamente quando: Aspectos do mundo podem mudar dinamicamente Aspectos do mundo são revelados incrementalmente Pressão do tempo faz com que a execução comece antes do plano ter sido totalmente gerado Os objetivos podem evoluir com o tempo
Planejamento distribuído e execução Coordenação pós-planejamento Planejamento de contingência Coordenação pré-planejamento Leis de sociabilidade Coordenação de planos em tempo de execução sem comunicação Coordenação de planos baseada em observações Planejamento, coordenação e execução intercalados PGP: Planos Globais Parciais Post-planning: se um plano não progride como esperado, o conjunto de planos falhará Planejamento de contigencia: o agente formula planos alternativos, estes planos podem ser fundidos coordenados ou cada agente pode monitorara a execucao do seu plano, caso haja problemas, para todos e planeja-coordena-executa(caro). Agente replaneja detalhes sozinho(abstrai). Leis sociais:proibicao de uma determinada acao em um determinado contexto. O problema é achar a sequencia de ações que levam a um estado indesejável do mundo e proibí-las
Planejamento, coordenação e execução intercalados Decomposição de tarefas Formulação de planos locais Abstração de planos locais Identificação de objetivos globais parciais Ação em planos globais parciais Modificação em andamento Re-alocação de tarefas
Exemplos de projetos existentes Coordination of Distributed Activities (CODA) Disseminação de informações entre os agentes planejadores do sistema (coordena planejadores humanos) Interação de usuários humanos durante todo o processo de planejamento Três considerações dirigem a coordenação: Seletividade Conveniência (Timeliness) Não-intrusão Seletividade: o que comunicar- nem tanto, nem tao pouco Conveniência: tempo suficiente para percebr o estrago e fazer os reparos Não-intrusao: não alterar o jeito de trabalhar
CODA Plan awareness requirements- tipos de mudancas de planos Matcher-motor de inferencia
Exemplos de projetos existentes Multiagent Planning Architecture (MPA) Arquitetura para problemas sofisticados de planejamento Provê protocolos para o compartilhamento do conhecimento e capacidades entre os agentes Tem sido usada para desenvolver vários sistemas de solução de problemas de larga escala para o domínio do Air Campaign Planning (ACP)
MAP Agentes planejadores genéricos (PAs) provêem serviços específicos Capazes de reportar progressos incrementais provendo planos completos ou parciais Meta PAs coordenam as atividades destes agentes com conhecimento especializado em estratégias de: Divisão de tarefas Resolução de conflitos Fusão de planos(prevista)
Conclusão Há várias técnicas e ferramentas para Planejamento Distribuído Desafio é caracterizar ferramentas e aplicações. Outro problema é administrar o vazio na especificação do termo “planejamento distribuído”
Referências Wooldridge, M. J.: An Introduction to MultiAgent Systems. John Wiley and Sons, 2002. Weis, G.: Multiagent Systems – A Modern Approach to Distributed Artificial Intelligence A Multiagent Planning Architecture CODA: http://www.ai.sri.com/~coda/ MAP: http://www.ai.sri.com/project/mpa Ferber, J.: Multi-Agent Systems – An Introduction to Distributed Artificial Intelligence Mardhana, E.: Overview of Distributed Collaborative Planning: Concepts and Applications