Introdução aos Sistemas Multiagentes Patricia Tedesco 1 Ao fim da aula de hoje a gente deve... Relembrar o conceito de Agente Inteligentes Rever suas Várias Arquiteturas Definir o que é um Sistema Multiagentes Entender quais as principais questões a tratar no projeto de SMA RECORDAR É VIVER.... O que é um Agente? Qualquer entidade (humana ou artificial) que: ◦ está imersa ou situada em um ambiente (físico, virtual/simulado) ◦ percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado, finger, ...) ◦ age sobre ele através de atuadores (ex. vídeo, autofalante, impressora, braços, ftp, ...) ◦ possui objetivos próprios explícitos ou implícitos ◦ escolhe suas ações em função das suas percepções para atingir seus objetivos 4 Como descrever um Agente? Pode ser descrito em termos de seu PAGE: ◦ ◦ ◦ ◦ ◦ P – percepções A – ações G – (goals) objetivos E – (environment) ambiente e outros agentes – nos sistemas multi-agentes 5 Agentes: Arquiteturas De forma bem simplificada, um agente pode ser visto como um mapeamento: ◦ seqüência perceptiva => ação ambiente sensores Raciocinador Agente modelo do ambiente atuadores 6 Agente Reativo Agente ambiente sensores Como está o mundo agora? Que ação devo escolher agora? Regras “condição-ação” atuadores Vantagens e desvantagens ◦ Regras condição-ação: representação inteligível, modular e eficiente ex. Se velocidade > 60 então multar ◦ Não pode armazenar uma seqüência perceptiva, pouca autonomia Ambientes: ◦ Reflexo imprescindível em ambientes dinâmicos ◦ Acessível, episódico, pequeno Agente reativo com estado interno Agente sensores estado: como o mundo era antes ambiente Como está o mundo agora? como o mundo evolui impacto de minhas ações Que devo fazer agora? atuadores Desvantagem: pouca autonomia ◦ não tem objetivo, não encadeia regras Ambientes: determinista e pequeno ◦ Ex. Tamagotchi Regras “condição-ação” Agente cognitivo baseado em objetivo ambiente sensores Agente estado: como o mundo era antes Como está o mundo agora? como o mundo evolui Como ele ficará se faço isto? impacto de minhas ações Que devo fazer agora? Objetivos atuadores Vantagens e desvantagens: ◦ Mais complicado e ineficiente, porém mais flexível, autônomo ◦ Não trata objetivos conflitantes Ambientes: determinista ◦ ex.: xeque-mate no xadrez Agente otimizador (utility based) Agente sensores estado: como o mundo era antes Como está o mundo agora? ambiente Como ele ficará se faço isto? Este novo mundo é melhor? Que ação devo escolher agora? atuadores Ambiente: sem restrição Desvantagem: não tem adaptabilidade Ex. motorista recifense ◦ Segurança e velocidade – conflito! como o mundo evolui qual é o impacto de minhas ações Função de Utilidade Agente que aprende sensores t+1 crítico avaliação t ambiente Agente trocas elemento de elemento de execução (agente) conhecimento aprendizagem t atuadores Ambiente: sem restrição Vantagem: tem adaptabilidade (aprende) Ex. motorista sem o mapa da cidade objetivos de aprendizagem Gerador de problemas EM RESUMO... IA e Agentes IA cresceu muito nos anos 70 modelando a inteligência individual. Advento das redes de computadores modificou as necessidades! Inteligência como a integração dos processos de raciocinar, decidir, aprender e planejar. O Modelo de Agente aparece então como catalisador... De fato... Mundo onde informações e conhecimentos crescem (e mudam) rápido demais! Atualmente, a Computação tem a ver com... ◦ ◦ ◦ ◦ Acesso a informações relevantes Identificação de oportunidades Ação no momento preciso Manipulação de grandes volumes de informação Assim, os sistemas da gente precisam de... Ubiqüidade Interconexão Delegação Inteligência Orientação ao Usuário!!!! No Entanto... o aumento da complexidade trouxe... ◦ ◦ ◦ ◦ ◦ Inteligência Sistemas que podem agir por nós Que operam independentemente Que sabem representar os nossos interesses E, por fim... Que podem cooperar e chegar a acordos! Masss... Como fazer???? IA Distribuída INTELIGÊNCIA COLETIVA 17 Um Cenário... Inteligência Coletiva Porque pensar a inteligência/racionalidade como propriedade de um único indivíduo? Não existe inteligência ... ◦ ◦ ◦ ◦ Em um time de futebol? Em um formigueiro? Em uma empresa (ex. correios)? Na sociedade? Solução: IA Distribuída ◦ Agentes simples que juntos resolvem problemas complexos tendo ou não consciência do objetivo global ◦ Proposta por Marvin Minsky e em franca expansão... ◦ o próprio ambiente pode ser modelado como um agente 19 A IA Distribuída Grupo de Entidades que podem Interagir ◦ Cooperando para resolver problemas ◦ Coordenando Esforços ◦ Negociando Acordos Tudo isto de acordo com... ◦ Organização ◦ Protocolos de Interação Metáfora de inteligência é o Comportamento Social. IA Distribuída: dois tipos de sistemas Resolução distribuída de problemas ◦ consciência do objetivo global e divisão clara de tarefas ◦ Exemplos: Robótica clássica, Busca na Web, Gerência de sistemas distribuídos, ... Sistemas Multi-agentes ◦ não consciência do objetivo global e nem divisão clara de tarefas ◦ Exemplos: n-puzzle, futebol de robôs, balanceamento de carga, robótica, ... 3 7 4 3 5 7 8 1 4 2 6 5 8 2 1 1 2 3 6 4 5 6 7 8 21 Duas noções fundamentais... Resolução Distribuída de Problemas (RDP) envolve: ◦ Um grupo de especialistas ◦ Habilidades Complementares ◦ Organização Fixa Sistemas Multiagentes (SMA)... ◦ Agentes podem preexistir ◦ Organização varia em tempo de execução Um Sistema Multiagente Interação Organização Agentes Recurso Esfera de Influência Ambiente Definindo SMA Um SMA é um sistema que possui os seguintes elementos: ◦ ◦ ◦ ◦ ◦ ◦ Um ambiente, E Um conjunto de objetos O Um conjunto de Agentes, A (AO) Um conjunto de relações R, que liga objetos Um conjunto de operações Op Operadores que representam os resultados das operações em Op e as reações do ambiente a eles. Trocando em miúdos... Um Sistema Multiagentes ... ◦ Consiste de uma coleção de componentes autônomos, com objetivos particulares ◦ Que se interrelacionam De acordo com uma Organização Interagindo, negociando e coordenando esforços para resolver tarefas Mas... Por que mesmo distribuir? Porque o problema é fisicamente distribuído. Porque o problema é heterogêneo. Porque o problema só pode ser resolvido pela integração de pontos de vista locais. Porque precisamos de adaptação a mudanças estruturais... É boa idéia quando... Precisamos manter a autonomia das subpartes; As interações são complexas Não é possível descrever o Problema a priori. As vantagens... Maior rapidez na solução dos problemas Diminuição do overhead de comunicação Maior flexibilidade Aumento da Segurança TÁ... MAS COMO PROJETAR SMA? Duas Formas de Projeto Organização Emergência de Propriedades Interação Agentes Restrições e Objetivos O que nos leva a dois níveis de considerações Como construir os agentes individualmente? Como fazê-los trabalhar juntos de maneira coerente? O que, por sua vez, levanta as seguintes questões fundamentais... Como a cooperação pode emergir? ◦ Como identificar que precisa e com quem cooperar? Como os agentes podem identificar Conflitos e negociar? Como os agentes podem coordenar esforços? Como os agentes podem se comunicar? Considerações no Projeto de SMA Três Grandes Grupos... ◦ Aspectos Fundamentais Como podemos garantir compatibilidade de ações? ◦ Aspectos Arquiteturais Características a serem providas pela arquitetura ◦ Aspectos Ambientais Como é o ambiente onde funciona o SMA? E mais um importante... A Estrutura Padrão de Relações entre os agentes e sua distribuição de habilidades ◦ Cobertura: as habilidades necessárias para resolver problemas devem ser possuídas por pelo menos um agente; ◦ Conectividade:Agentes devem interagir de forma que suas habilidades possam ser integradas DENTRO DOS ASPECTOS FUNDAMENTAIS... Comunicação Habilita os agentes a intercambiar informações. ◦ Percepção ◦ Ação Modelada sobre a comunicação humana ◦ Atos de Fala ◦ Blackboard Tem esforços de padronização! Organização Conjunto de Compromisso Globais, Crenças e intenções comuns aos agentes que querem atingir um objetivo comum. Definem... ◦ Um conjunto de diretrizes... ◦ Uma política de interação. Muitos exemplos! ◦ O CIn ◦ Sua Família Negociação Esforço para solução de conflitos e cooperação ◦ Grupo de agentes “self-interested” que consegue chegar a uma decisão conjunta. Envolve.. ◦ Linguagem ◦ Protocolo – ex. Contract Net ◦ Processo de Decisão Coordenação Fundamental para o trabalho conjunto. Um SMA pressupõe coordenação entre seus agentes! Porque... ◦ ◦ ◦ ◦ Há dependências entre as ações Nenhum indivíduo pode resolver o problema sozinho Deve-se respeitar as restrições globais Deve-se garantir a harmonia na execução conjunta de tarefas! Coordenação... II Então coordenação é... ◦ O processo pelo qual um agente raciocina sobre suas ações locais e as de outros agentes para garantir que a comunidade funcione coerentemente. Visa garantir que... ◦ ◦ ◦ ◦ Todas as partes necessárias existam na sociedade. Interação que possibilite a execução das atividades. Que todos atuem consistentemente Que tudo seja feito com dos recursos disponíveis Coordenação... III Para coordenar com sucesso é preciso... ◦ Uma estrutura... ◦ Flexibilidade nas interações Comunicação! Negociação! ◦ Conhecimento e raciocínio Para reconhecer interações potenciais entre planos de ação! Então... O fundamental é... Interagir!!! ◦ ◦ ◦ ◦ ◦ ◦ Com quem? Quando? Qual o conteúdo? Como? Que processos e recursos? Por que? Como estabelecer a compreensão mútua? Em resumo... No “PAGE” dos SMA a gente deve... Considerar o que queremos realizar.. O que precisaremos perceber? Que decisões de que tipo serão tomadas? Por quem? Quando? Como se dá a comunicação entre os agentes? Design de SMA Quando partir para SMA? ◦ Quando o ambiente é aberto; ◦ Quando os agentes são a metáfora natural. ◦ Quando há distribuição de dados, controle ou expertise. ◦ Quando estamos lidando com sistemas legados. Problemas no Desenvolvimento de Agentes Superestimativas do potencial dos agentes. Dogmatismo a respeito dos agentes. Não está claro porque usar agentes. Construção de soluções genéricas para problemas específicos. Desenvolver SMA é desenvolver Software... SMA é software “multithreaded”. E mais Problemas... Seu projeto não explora concorrência. Você resolve adotar sua arquitetura. Seus agentes usam IA demais. Os agentes estão em todos os lugares. Não tem agentes suficientes. A Interação é caótica... Algumas aplicações “Diretas” de SMA Engenharia de Software ◦ Sistemas Complexos Interação Computação “Self-Interested” ◦ Aplicação de mecanismos da Economia em Computação Grid Computing ◦ Não lembra Solução Cooperativa de Problemas? Algumas aplicações “Diretas” de SMA Computação Ubíqua ◦ Autonomia e Cooperação entre Aplicações e Dispositivos ◦ Já ouviram falar de Ambient Intelligence? Web Semântica Computação Autonômica ◦ Sistemas que se configuram, gerenciam e se adaptam a novos ambientes não lembram agentes? O que levanta as seguintes questões fundamentais... Como a cooperação pode emergir? ◦ Como identificar que precisa e com quem cooperar? Como os agentes podem identificar Conflitos e negociar? Como os agentes podem coordenar esforços? Como os agentes podem se comunicar? Objeções a SMA Não é a mesma coisa que SD? ◦ Sincronização e Coordenação Dinâmicas ◦ Agentes têm interesses próprios!!! Não é IA? ◦ SMA têm características de CC e de ES! ◦ Em SMA, o aspecto social é fundamental! Objeções a SMA... II Não é só teoria dos Jogos? ◦ TJ muitas vezes desconsiderou a computação... ◦ Hipóteses da TJ são questionadas em SMA O que eu vou fazer com Ciência Social? ◦ Ambas servem como ferramentas uma para outra. ◦ Mas são bem diferentes!!!! Então... Na verdade... Estamos na fronteira... Inteligência Artificial Engenharia de Software Agentes Sistemas Distribuídos 52