Inteligência Artificial: Sistemas Multiagentes Luiz Antônio Moro Palazzo Março de 2010 Sistemas Multiagentes Módulo Três Sistemas Multiagentes 2 Roteiro e Objetivos Sistemas Multiagentes 3 Roteiro • Objetivos do Módulo • Revisitando a Noção de Agente • Sistemas Multiagentes • Características • Capacidades • Desafios • Coerência • Conclusões Sistemas Multiagentes 4 Objetivos do Módulo • Levar o aluno a entender e utilizar sistemas multiagentes para a modelagem de sistemas do mundo real. • Desenvolver estudos sobre os aspectos conceituais e formais em sistemas multiagentes • Pesquisar as principais ferramentas empregadas na programação sistemas multiagentes, ilustrando-as com aplicações específicas. Sistemas Multiagentes 5 Revisitando a Noção de Agente Sistemas Multiagentes 6 Agentes • São sistemas que podem decidir por si próprios o que é necessário fazer para satisfazer o objetivo para o qual foram projetados. Tais sistemas: • Estão situados em algum ambiente • Possuem controle parcial sobre o ambiente • São capazes de ação autônoma • Exemplos: • Sistemas de controle: termostato • Triggers, daemons, etc. Sistemas Multiagentes 7 Agentes Inteligentes • Agentes que operam em ambientes imprevisível, abertos e em constante mudança, onde há elevada possibilidade de que ações possam falhar. • Agentes que são capazes de ação autônoma flexível, incluindo reatividade, aprendizado, pró-atividade e habilidade social. Sistemas Multiagentes 8 Agentes Inteligentes Sensores Atuadores Sistemas Multiagentes 9 Agentes e Objetos • Objetos são entidades computacionais que encapsulam algum estado, são capazes de executar algumas ações (métodos) sobre este estado e se comunicam por passagem de mensagens. • A programação orientada a objetos pode ser empregada para implementar agentes, com algumas modificações. Sistemas Multiagentes 10 Sistemas Multiagentes Sistemas Multiagentes 11 O que é um Sistema Multiagente (SMA)? • ...uma rede fracamente acoplada de solucionadores de problemas que interagem para solucionar problemas que estão além das capacidades ou conhecimento de cada solucionador de problemas individualmente. • Estes solucionadores de problemas são agentes... Sistemas Multiagentes 12 Por que Sistemas Multiagentes? • Problemas reais são muito grandes e complexos para serem resolvidos por um único agente • Agentes individuais são limitados por seu conhecimento, recursos computacionais e perspectivas • Sistemas multiagentes são modulares • Problemas reais envolvem sistemas dinâmicos distribuídos Sistemas Multiagentes 13 Características de SMA Cada agente possui informação e/ou capacidades incompletas. Não há um sistema de controle global. Dados descentralizados Computação assíncrona Sistemas Multiagentes 14 SMA Abertos e Fechados • Sistemas Abertos – Os agentes são projetados por diferentes pessoas com intenções variadas. • Sistemas Fechados – Os agentes são tipicamente projetados para atender um objetivo comum. Sistemas Multiagentes 15 Desempenho em SMA – Eficiência computacional – Confiabilidade – Estensibilidade – Robustez – Mantenibilidade – Flexibilidade – Reuso Sistemas Multiagentes 16 Questões e Desafios - 1 • Como formular, descrever, decompor, alocar problemas e sintetizar os resultados em um grupo de agentes inteligentes? Sistemas Multiagentes 17 Questões e Desafios - 2 Sistemas Multiagentes Como habilitar os agentes a se comunicar e interagir? Linguagens e protocolos de comunicação Interoperação de agentes heterogêneos Descoberta de agentes úteis previamente existentes. 18 Questões e Desafios - 3 • Como assegurar que os agentes irão agir coerentemente nas ações e tomadas de decisão? – Qual o efeito de ações locais no sistema global – Evitar comportamentos instáveis no sistema Sistemas Multiagentes 19 Questões e Desafios - 4 • Como habilitar os agentes individuais a raciocinar sobre os demais agentes? – Ações planos e conhecimento – Ações coordenadas Sistemas Multiagentes 20 Questões e Desafios - 5 • Como conciliar diferentes visões e objetivos conflitantes de diferentes agentes tentando coordenar ao mesmo tempo o sistema. Sistemas Multiagentes 21 Questões e Desafios - 6 • Como é a engenharia dos sistemas multiagentes? Sistemas Multiagentes 22 O Objetivo de Coerência • Coerência é uma propriedade global de um sistema multiagente • É medida pela eficiência, qualidade e consistência da solução global. Sistemas Multiagentes 23 O Problema da coerência • Garantir coerência em SMA é muito difícil. – Por sua própria natureza os SMA NÃO apresentam: • Perspectiva global • Dados globais • Controle global Sistemas Multiagentes 24 Organizações • As organizações oferecem frameworks para a interação de agentes por meio de: – Papéis – Comportamentos esperados – Relações de autoridade Sistemas Multiagentes 25 Visões Organizacionais • Em geral: – Vistas em termos de estrutura (padrões de informação) e relações de controle. • Teoria da Organização: – Um conjunto de agentes com compromissos mútuos, objetivos e crenças globais Sistemas Multiagentes 26 Organização Hierárquica • Um único agente detém toda a autoridade • A comunicação ocorre verticalmente Sistemas Multiagentes 27 Comunidade de especialistas • O agente é um expert na sua atividade. • A organização é plana. – Exemplo: arquiteturas blackboard • Controladas por “regras de ordem” Sistemas Multiagentes 28 Market-based • Os agentes competem por recursos através de leilões e contratos contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor contractor manager manager manager Sistemas Multiagentes 29 Alocação de tarefas • Como atribuir responsabilidades e recursos para melhorar a eficiência e a coerência das soluções? • Exemplos – Método Hardwired – Método Dinâmico – Método Planejado Sistemas Multiagentes 30 Alocação de Tarefas - Hardwired • O projetista toma todas as decisões – Eficiente – Típico “projeto de sistema” – Muito inflexível Sistemas Multiagentes 31 Alocação de Tarefas - Dinâmica • Alocação dinâmica de tarefas – Exemplo - contract net protocol (CNP) • Gerente • Contratador Step 5 notifies winner (& losers) 1 – manager 2 3 4 contractors send selects deliberate respond request with for bid bids contractor contractor manager contractor Sistemas Multiagentes contractor 32 Alocação de Tarefas - Planejada • O planejamento multiagente deve considerar: – Restrições que as ações de outros agentes impõem sobre a ação de cada agente. – Restrições que os compromissos assumidos por um agente impões sobre suas ações. – Evolução imprevisível do mundo, causada pela ação de outros agentes. Sistemas Multiagentes 33 Abordagens ao Planejamento Multiagente • Coordenação central – controla todos os subplanos • Esquemas de controle distribuído – Conhecimento parcial dos planos de outros agentes • Planejamento Global Negociado – Compartilhamento de todos os planos – Ajuste local para a realização de objetivos comuns • Modelagem Explícita da Equipe de Agentes – Compromissos cconjuntos – Crenças, desejos e intenções comuns Sistemas Multiagentes 34 Conflitos • A detecção e correção de disparidades e inconsistências é difícil. • A principal abordagem para a correção de conflitos tem sido a negociação: – Assume agentes auto-interessados, com racionalidade limitada e informação incompleta. – Agentes trocam propostas e contra-propostas. Sistemas Multiagentes 35 Comunicação • Para melhorar a coerência, um SMA deve planejar o conteúdo, a quantidade, o tipo e o tempo de cada comunicação. • Questões em sistemas abertos: – Interoperabilidade • KQML, FIPA • Ontologias – Localizando outros agentes • Agentes intermediários • Brokers Sistemas Multiagentes 36 Gerenciamento de Recursos • Abordagens baseadas em pesquisa operacional – Satisfação de restrições distribuídas • Assume que todos os agentes estão trabalhando por um objetivo comum Sistemas Multiagentes 37 Gerenciamento de Recursos • Estratégias de Mercado – Os agentes são auto-interessados – Controlam recursos escassos – Problemas: • Desequilíbrio na distribuição de recursos entre os agentes, • Comportamento oscilante ou caótico, • Agentes egoístas e sem escrúpulos. Sistemas Multiagentes 38 Conclusões - 1 • Projetar e construir sistemas multiagentes é uma tarefa difícil: – Apresenta todos os problemas já conhecidos dos sistemas distribuídos e concorrentes. – Dificuldades adicionais surgem da flexibilidade e complexidade das interações. Sistemas Multiagentes 39 Conclusões - 2 • Dois principais impedimentos técnicos: – Inexistência de uma metodologia sistemática para claramente especificar e estruturar aplicações SMA. – Inexistência de ferramentas e ambientes de desenvolvimento de SMA com qualidade industrial. Sistemas Multiagentes 40