Modelagem orientada a agentes Professores : Edson Scalabrin Ph.D Marcos Shmeil Ph.D Pontifícia Universidade Católica do Paraná ( PUCPR ) Programa de Pós-Graduação em Informática Aplicada ( PPGIA ) LAboratório de Sistemas Inteligentes ( LASIN ) e-mail: { scalabrin, shm } @ ppgia.pucpr.br Domínios de Aplicação Resolução distribuída de problemas Sistemas Multi-agente Resolução de problemas Resolução de problemas distribuídos Simulação multi-agente Técnicas distribuídas de Resolução de problemas Construção de mundos hipotéticos Robótica distribuída Concepção kénética de programas PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 2 Domínios de Aplicação Construção de mundos hipotéticos – Não se trata de aplicações propriamente ditas, porque : • • elas não permitem resolver um problema concreto ; elas não utilizam nem agentes físicos e nem agentes que simulam o mundo real ; – Trata-se da construção de mundos virtuais permitindo analisar mecanismos de interação de maneira bastante detalhada, que poderiam ser aplicados sobre uma aplicação real. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 3 Domínios de Aplicação Construção de mundos hipotéticos Exemplo : • a análise de protocolos de cooperação, ou • a compreensão da influência do comportamento sobre a regulação de uma sociedade. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 4 Domínios de Aplicação Exemplo clássico : a perseguição Problema : Trata-se de um jogo onde um submarino soviético deve tentar fugir de bombardeiros americanos. Análise : – Os agentes/presas (submarinos ou herbívoros) os predadores (bombardeiros e carnívoros), – Os agentes deslocam-se sobre um espaço representado sob a forma de uma grade. – O objetivo deste jogo é fazer que os predadores capturem as presas cercando-as. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 5 Domínios de Aplicação Jogo da perseguição Predadores Presa capturada por predadores Presas livres PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 6 Domínios de Aplicação Jogo da perseguição Hipóteses : – as dimensões do ambiente (a grade) são finitas ; – os predadores e as presas movem-se com velocidades fixas, e geralmente a mesma ; – as presas evoluem (uma posição) de maneira aleatória ; – os predadores podem utilizar os cantos e as bordas para bloquear uma presa ; – cada predador tem uma percepção limitada do mundo. Ele só pode avistar a presa, se a mesma se encontrar nas casas a uma dada distância inferior a seu campo de percepção. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 7 Domínios de Aplicação Jogo da perseguição – O que aconteceria se retirássemos as bordas do tabuleiro ? – Qual é o grau de importância do campo de percepção dos predadores ? – Quais seriam as estratégias possíveis de fuga das presas ? – Quais seriam as estratégias possíveis de caça dos predadores ? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 8 Domínios de Aplicação Estratégia Cognitiva : Jogo da perseguição Trata-se de uma análise descendente, que define as diferentes funções que o sistema devem preencher : – detecção de presas ; – elaboração de equipes de caça ; – alocação de papeis (pegar a presa pelo norte, oeste, leste ou sul) ; – reorganização das equipes, se o número de caçadores está mal distribuído (ex. 2 equipes de 3 caçadores) ; PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 9 Domínios de Aplicação Jogo da perseguição : Estratégia Cognitiva Características : – as funções dos agentes são bem identificadas e implementadas nos agentes sob a forma de comportamentos adaptados, requerendo um sistema de comunicação que permita o diálogo e a tomada de decisão distribuída ; – os agentes possuem objetivos e agem racionalmente no tocante a estes objetivos, determinando se necessário, um agente líder para organizar a repartição do trabalho e coordenar as ações ; PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 10 Domínios de Aplicação Estratégia Reativa : Jogo da perseguição Trata-se de uma análise ascendente, que define as diferentes funções que o sistema devem preencher : – a presa emite um sinal cuja a intensidade decresce proporcionalmente a distância e desempenha um papel de sedutor para os caçadores ; – os caçadores que se encontram próximo de uma presa P terão a tendência em dirigir-se para P ; – os caçadores emitem um sinal servindo de repulsão aos outros caçadores. A captura das presas emerge da combinação das diferentes reações aos estímulos enviados pelas presas e caçadores. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 11 Domínios de Aplicação Jogo da perseguição Estratégia Cognitiva x Reativa : – os agentes cognitivos introduzem uma cooperação intencional, sabendo que eles dispõem de capacidades de diálogo e de alocação de tarefas específicas ; – os agentes reativos introduzem uma cooperação reativa e ela surge somente como um simples efeito de “borda” de cada agente. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 12 Domínios de Aplicação PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 13 Domínios de Aplicação Mundos hipotéticos Animat : metade robô, metade animal PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 14 Domínios de Aplicação Animat : metade robô, metade animal – a metáfora do robô • • • supõe-se que os agentes executam ações em um mundo virtual ; os agentes não possuem uma realidade física, logo a nomeação de robô é errônea ; dar aos robôs a possibilidade de executar ações, tais como : – reproduzir-se com outros robôs é imaginável tratando-se de seres de metal e eletrônicos ! PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 15 Domínios de Aplicação Animat : metade robô, metade animal A metáfora do animal – chamar estas criaturas de animais não seria muito mais realista, que chamar de ser humano um personagem de um jogo de aventura, visto que estes pretendentes animais possuem somente relações longínquas com aqueles que se encontram na natureza. – Foi assim que Meyer & Guillot (1989) inventaram o termo : • animat = contração de animal e artefato PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 16 Domínios de Aplicação Mundos hipotéticos Robôs exploradores em Marte – Início: • A NASA decidiu investir na realização de projetos espaciais objetivando a exploração do planeta Marte ; • deveriam ser enviados robôs autônomos ; • robôs telecomandados eram impossíveis : – as conexões via rádio duram de 3 à 7 Mn ; PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 17 Domínios de Aplicação Robôs exploradores em Marte – Brooks (1990) : • imaginou uma invasão do planeta Marte por um grande número de robôs com capacidades bastante simples ; • a coordenação das ações entre os robôs torna-se crucial. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 18 Domínios de Aplicação Robôs exploradores em Marte – Deneubourg et al. (1986) e Steels (1989) • imaginaram que era possível executar de modo eficaz tarefas com robôs cujo o comportamento fosse próximo os das formigas ; • Fases do projeto : 1a. simulação dos robôs em um mundo virtual ; 2a. construção propriamente dita dos robôs ; Eles mostram que era possível realizar grupos de robôs reativos cujo o comportamento era do tipo animal. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 19 Domínios de Aplicação O problema pode ser descrito como : – existe uma base fixa a partir da qual vários robôs móveis devem explorar um espaço a priori desconhecido para : • encontrar, recuperar e transportar um minério até a base ; – comportamento dos robôs: • recuperar a maior quantidade possível de minério no menor tempo. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 20 Domínios de Aplicação Etapas do problema : – 1a. definir os diferentes tipos de robôs a construir : • os robôs devem ser idênticos ou especializados ? – 2a. Determinar as capacidades cognitivas dos agentes : • Eles podem memorizar o terreno que eles cruzam e construir um mapa ? • Eles são puramente reativos e capazes unicamente de percepções locais ou podem se comunicar por troca mensagens sobre longas distâncias ? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 21 Domínios de Aplicação – 3a. Descrever as estruturas coletivas de trabalho : • eles trabalham em grupo de modo solidário ? • as equipes são fixas ou dinâmicas ? • eles podem recrutar ajudas e, caso positivo, como, ou devem unicamente ficar com seus próprios recursos ? – 4a. Definir os mecanismos de cooperação e os protocolos de interações (trabalho coletivo e resolução de conflitos) • ex. O que acontece quando dois robôs descobrem ao mesmo tempo um “monte” de minério ? – 5a. ser capaz de avaliar as escolhas efetuadas e comparar as mesmas a outras organizações. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 22 Domínios de Aplicação Robô Base Minério PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 23 Domínios de Aplicação Robôs fazedores de mudança • Supõe-se que alguém gostaria de mudar de endereço e instalar-se em outro lugar. • Esse alguém tem a sua disposição uma equipe de robôs capazes de transportar móveis e objetos frágeis, bem como um certo número de veículos autônomos. • Problema : – Como programar esses robôs de maneira que essa mudança se efetue em boas condições, por exemplo, que os robôs não deixem cair o piano de calda e protejam os vasos chineses ? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 24 Domínios de Aplicação Robôs fazedores de mudança • Comportamento : – parecido com os robôs exploradores de Marte • Restrições : – sobre a natureza dos objetos : • certos objetos podem ser bastante pesados para que um robô possa transportar sozinho. – sobre a topologia do ambiente : • os corredores são estreitos e, as vezes, é impossível dois robôs se cruzarem ; • a configuração das peças das casas, bem como das redes rodoviárias podem ser complexas. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 25 Domínios de Aplicação Atelier de produção autônoma Problema : – Fabricar os produtos manufaturados : A1, .. , Ak Recursos disponíveis : – um conjunto de robôs máquinas M1, .. , Mn – um conjunto de matéria-prima P1, .. , Pj e – um conjunto de robôs transportadores T1, .. , Tm • a função dos transportadores é levar os produtos em fase intermediária de uma máquina para outra. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 26 Domínios de Aplicação Atelier de produção autônoma Características : – a matéria-prima chega em uma das extremidades do atelier de produção e – os produtos manufaturados saem na outra extremidade. Como organizar esta unidade de produção de maneira que ela possa reagir a qualquer modificação da demanda ? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 27 Domínios de Aplicação Atelier de produção autônoma Restrições a serem observadas : – primeira, prever a melhor maneira de combinar as diferentes unidades do atelier (P.O.) ; – segunda, definir para cada unidade um programa capaz de reagir a eventuais falhas ; – terceira, dotar estes programas de mecanismos, que possam trabalhar em conjunto e coordenar suas atividades ; – quarta, buscar um modo de organização que penalize, o menos possível, o conjunto da produção em casos de alterações sobre o mesmo (falha, + um novo programa). PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 28 Domínios de Aplicação Resolução distribuída de problemas Sistemas Multi-agente Resolução de problemas Resolução de problemas distribuídos Simulação multi-agente Técnicas distribuídas de Resolução de problemas Construção de mundos hipotéticos Robótica distribuída Concepção kénética de programas PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 29 Domínios de Aplicação Robótica distribuída – Trata-se da realização de conjuntos de robôs que cooperam para executar uma missão. – Utiliza-se robôs concretos que deslocam-se no mundo real. – Pode-se dividir a robótica distribuída em duas : • • a robótica celular (não móvel) ; a robótica móvel. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 30 Domínios de Aplicação Robótica Celular • motivação = construção modular de robôs. • Ex. braço manipulador visto como um SMA • Pesquisadores : –Overgaard et al. 94 Regnier et Duhaut 95 PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 31 Domínios de Aplicação Braço Manipulador : Funcionamento • o agente Cabeça busca satisfazer o objetivo (pegar o objeto sobre a mesa) ; – se ele pode fazer, então ele efetua o deslocamento e o sistema pára senão ele comunica o próximo (agente A), passando a este os seus objetivos. • O processo se repete recursivamente, cada agente busca satisfazer seus objetivos, transmitindo seus desejos ao próximo agente. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 32 Domínios de Aplicação Robótica Móvel • Envolve pelos menos dois robôs que devem: – coordenar os deslocamentos e – cooperar na execução de tarefas • • • • limpar assoalho, monitorar edifícios, intervir para socorrer pessoas, consertar oleodutos • explorar espaços distantes ou perigosos. • a coordenação de veículos : • aviões, carros ou barcos. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 33 Domínios de Aplicação Problema: (Cammarata et al. 83; Zeghal et al. 93) Como estes aviões podem cruzar-se sem acidente e conservar seus objetivos iniciais. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 34 Domínios de Aplicação Resolução distribuída de problemas Sistemas Multi-agente Resolução de problemas Resolução de problemas distribuídos Simulação multi-agente Técnicas distribuídas de Resolução de problemas Construção de mundos hipotéticos Robótica distribuída Concepção kénética de programas PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 35 Domínios de Aplicação Concepção kénética de programas – Trata-se da concepção de sistemas de informática capazes de evoluir através da : • • • interação, adaptação e reprodução de agentes relativamente autônomas e funcionando em universos fisicamente distribuídos. – Kénética é uma nova tecnologia de construção de softwares a partir dos conceitos de agentes e de interação. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 36 Domínios de Aplicação Proposta : – cada unidade de programa pode tomar a forma de um agente que : • dispõe de autonomia própria, seus próprios objetivos e • “vive” sobre uma rede como um animal em um ecossistema natural, coopera e negocia com outras unidades de mesma natureza. – Cada usuária é um “pastor”, dando indicações a sua tropa de agentes para recolher na seqüência os frutos do trabalho. – Isto é uma proposta de ficção-científica ? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 37 Domínios de Aplicação Ficção-científica : • NÃO, as tecnologias de base necessárias para esta evolução da programação já existem. • Como será introduzida esta nova tecnologia ? – 1o aparecerão agentes simples e pouco autônomo – depois, aparecerão agentes mais elaborados e complexos realizando tarefas para auxiliar os usuários em suas tarefas quotidianas : • • • • recuperando dados ; gerenciando agentes e tarefas comuns ; oferecendo e solicitando serviços a outros agentes ; etc. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 38 Domínios de Aplicação Principais facetas da nova tecnologia : – a noção de agente circulando em uma rede ; – a própria arquitetura dos programas ; A programação OO continuará sendo a panacéia universal da escrita de programas ? – A programação OO é somente uma etapa para uma concepção ainda mais modular da escrita de softwares – cada componente de um programa poderá ser visto como um agente contendo : • suas próprias competências e seus próprios objetivos, • um conjunto mecanismos procurando responder : – as necessidades do usuário e – outras necessidades que devem continuamente aparecer PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 39 Domínios de Aplicação Rede de comunicação Gerenciador de Módulo de comunicações acquaintance Cabeça Corpo ARCHON : ARchitecture for Co-operating Heterogeneous ON-line Systems Modelo de planejamento e de coordenação (modelos de si e dos outros) Monitor Tarefas correspondendo a módulos de softwares pré-existentes PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 40 Grandes temas da kénética A problemática da ação • Como vários agentes podem agir simultaneamente e quais são as conseqüências de suas ações no ambiente ? • Como estas ações se combinam ? • Como dois agentes podem entrar em colisão ou ao contrário evitar ? • Como as restrições ambientais se combinam nas ações dos agentes ? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 41 Grandes temas da kénética O indivíduo e sua relação como o mundo – Indivíduo : • • sua arquitetura e sua organização interna ; seu conjunto de mecanismos, implementado para assegurar sua viabilidade e satisfazer seus objetivos – Relação com o mundo • • sua percepção do mundo ; suas interações com o mundo e com os outros agentes. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 42 Grandes temas da kénética A interação – os agentes devem ser capazes, através da comunicação transferir informações, e sobretudo induzir o outro agente a um comportamento específico. – A cooperação é a forma mais geral de interação. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 43 Grandes temas da kénética Cooperação = C + CA + RC – colaboração (C) : • trata-se da repartição do trabalho entre vários agentes ( técnicas centralizadas ou distribuídas) ; – coordenação das ações (CA) : • analisa a maneira que as ações dos diferentes agentes devem ser organizadas no tempo e no espaço de maneira a realizar os objetivos. – Resolução de conflitos (RC) : • quando um conflito aparece, limita-se o seu efeito • isto é feito através de mecanismo de negociação PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 44 Grandes temas da kénética A adaptação – a adaptação estrutural e comportamental pode ser vista de duas formas : • como uma característica individual dos agentes, aprendizagem ; • como um processo coletivo envolvendo mecanismos reprodutivos, nomeados evolução. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 45 Grandes temas da kénética A realização e a implementação de SMA – – – – linguagens de implementação ; arquiteturas informáticas ; plataformas de desenvolvimento ; aspectos metodológicos de implementação PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 46 Áreas vizinhas dos SMA • Inteligência Artificial – centralização dos conhecimentos, individualização • Análise de sistemas – preocupa-se como as entradas e saídas em um sistema qualquer sem levar em conta a interação. – Exemplo: analise de sistemas biológicos, econimicos e artificiais em termos de transferência de fluxos de matéria, de energia, de informação ou de dinheiro entre diferentes elementos de armazenamento, de comando ou de regulação. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 47 Áreas vizinhas dos SMA • Sistemas distribuídos – preocupa-se em utilizar os recursos distribuídos disponíveis da melhor maneira para executar uma tarefa, e totalmente transparente para o usuário. • Robótica – preocupa-se com problemas : • mecânicos, eletrônicos, geométricos e comandos de movimentos PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 48 Áreas vizinhas dos SMA Quando um sistema é considerado um SMA? – deve conter agentes autônomos funcionando em paralelo e buscando satisfazer um objetivo ou uma função de satisfação ; – estes agentes devem possuir um mecanismo de interação de alto nível independente do problema a resolver : • • protocolos de comunicação ou mecanismos de interação com o ambiente PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 49 Áreas vizinhas dos SMA Questões : – As redes são sistemas multi-agente ? – Uma decomposição modular de um programa constitui um SMA ? – Um programa de IA que se executa em paralelo é um SMA ? – Qual é a diferença entre objeto, ator e agente? PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 50 Áreas vizinhas dos SMA As redes são sistemas multi-agente ? – Não, porque os nós de uma rede não dispõem em geral nem objetivos e nem função de satisfação. – Contudo, as redes estão bem situadas para evoluir para uma concepção multi-agente, graça sua natureza já distribuída e seus problemas de gestão necessitam freqüentemente de uma abordagem local. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 51 Áreas vizinhas dos SMA Uma decomposição modular de um programa constitui um SMA ? – Não, • porque os módulos não dispõem em geral nem objetivos e nem função de satisfação. • porque os mecanismos de interação implantados nos módulos são de baixo nível : – Exemplo, chamada de procedimentos ou envio de mensagens para solicitar um serviço que os módulos são obrigados responder tal qual ou produzir um error. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 52 Áreas vizinhas dos SMA Um programa de IA que se executa em paralelo é um SMA ? – Não, pelas mesmas razões apresentada no slide precedente. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 53 Áreas vizinhas dos SMA Qual é a diferença entre objeto, ator e agente ? – Em informática os atores e objetos são caracterizados : • por sua estrutura e • por seus mecanismos de execução – Os objetos apresentam três níveis : • lógico, a análise e a concepção por objeto ; • implementação, as linguagens a objetos ; • persistência, SGBDOO. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 54 Áreas vizinhas dos SMA Um objeto é definido por 3 conceitos : – a relação classe/instância, • que descreve a classe como um modelo estrutural e comportamental e a instância como um representante de um modelo – a herança, • que permite derivar uma classe da outra e fazer beneficiar a segunda das características da primeira – o envio de mensagens, • que autoriza a definição de procedimentos polimorfos, ou seja, procedimentos cujo o código difere em função do recebedor da mensagem PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 55 Áreas vizinhas dos SMA (continuação) – Um objeto não é um agente, porque : • ele não dispõe de objetivos ; • ele não dispõe de função de satisfação ; • o envio de mensagens limita-se a chamada de procedimentos. – os mecanismos de interação ficam aos cuidados do programador. – Um ator não é um agente : • pelos mesmos que os objetos, • mesmo considerando que os atores se executam em paralelo. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 56 Áreas vizinhas dos SMA Objeto Agente Objetivos Métodos Serviços Um objeto responde diretamente as requisições que correspondem aos seus métodos. Já os agentes encapsulam suas competências através de mecanismos suplementares, que filtram as comunicações externas e gerenciam os diálogos. Além disso, os agentes são movidos por objetivos (ou tendências) pessoais. PUCPR/PPGIA/LASIN/Edson Scalabrin e Marcos Shmeil 57