Modelos Baseados em Agentes Framework MAVIS Prof. André Campos Aula #20 DIMAp/UFRN
MAVIS Visão geral Módulos/Pacotes Modelo de simulação Modelo visual e interativo Simulador In/Out configuração Interface eventos Mundo Dados do ambiente DIMAp/UFRN
Pacote “Mundo” Mundo Entity Active Entity Passive Entity Behavior 0..* Entity Active Entity use «interface» Passive Entity Behavior * 1 1..* World Agent Group DIMAp/UFRN
Modelo dos agentes Classe “Active Entity" agentes reativos (estado atual, percepção local) ação Ações considerados como “atômicas” Comunicação Direta Situada / não-intencional (alteração do ambiente) Classe “Agent" (estado atual, percepção local, memória) ação Possibilidade de planificação das ações agentes cognitivos Nenhum modelo de planificação (ex.: STRIPS) ainda implementado Comunicação (+) Indireta (através do grupo) Blackboard (incomp. ver. atual) DIMAp/UFRN
Comportamento Separação Agente - Comportamento Maior flexibilidade de criação/atualização (prototipagem) Mudança dinâmica em tempo de execução Active Entity <interface> Behavior behavior 1 run() execute() Formiga Comport. da rainha Comport. da operária Comport. da guardiã execute() execute() execute() behavior.execute(); Cada subclasse implementa seu próprio método de comportamento DIMAp/UFRN
Posicionamento no ambiente Tipos de posicionamento Contínuo Discreto Malha de entidades Malha de índices posição Malha de entidades a (2,3) b (4,7) c (5,3) Malha de índices d (3,1) a (2,15) b (5,12) c (19,19) d (12,13) e (15,11) f (12,14) g (9,7) h (8,6) DIMAp/UFRN
Aninhamento de mundos O objeto “World” possui entidades, inclusive outras instâncias dele (1,2) m Monde B (2,2) b1 (4,2) (1,1) Monde A Monde C (2,1) (2,5) a1 c1 (2,2) (3,3) a2 c2 (1,1) DIMAp/UFRN
Paralelismo dos agentes Gerenciamento externo (threads) Dificuldade em gerenciar as competições espaciais simultâneas Gerenciamento interno Melhor tratar os conflitos de competição espacial Considera as ações dos agentes como processos concorrentes Eventos com o mesmo nível de “granularidade” Processus A, B et C en "parallèle" A B C A B C A B … temps DIMAp/UFRN
Resolução de conflitos Gestão de conflitos na ativação dos agentes ? ? Lista de eventos Evento na segunda lista de eventos Evento com maior prioridade Gestão de conflitos na execução dos eventos DIMAp/UFRN
O pacote “simulador” Random Simulator Event List Event World Utilisa Simulator Event List Event Escalona 0..n Modifica Cria Ativa Mundo World 1..n Active entity Entity DIMAp/UFRN
Ações Ações indiretas Exemplo Resultado da criação de eventos PickObject atua sobre Environnement Active Entity atua sobre Event PutObject executa Action atua sobre Entity Move etc DIMAp/UFRN
Visualização e interação Interesses da visualização / interação Visualização Verificação e validação do modelo Análise e concepção de experimentos Apresentação de resultados Interação Ambiente virtual de desenvolvimento (laboratório) Prototipagem de modelos Simulações do tipo “steering” Possibilidade de interagir com o modelo durante sua execução Problemas nas análises estatísticas DIMAp/UFRN
Abstraction visuelle Separação da informação vs. visualização Maior flexibilidade dos métodos de visualização Versão adaptada do modelo MVC (Model-View-Controller) Não permite o aninhamento de visualizações (uma entidade não é divisível) Alteração de dados de forma indireta (através da criação de eventos) View Model Controller DIMAp/UFRN
O pacote “Interface” Simulador Interface Canvas Simulator Interface 1..* Simulator controla Interface Viewer 1..* 1..* Event Controller utiliza Vision cria utiliza modifica Visual Model Mundo Entity consulta DIMAp/UFRN
Aplicações já desenvolvidas (1) Memória espacial de ovelhas (C++) (1997) Manutenção de paisagens (1998) DIMAp/UFRN
Aplicações já desenvolvidas (2) Presa-predador (1998) 2D e 3D DIMAp/UFRN
Aplicações já desenvolvidas (3) Construção de ninho de formigas (1998-00) DIMAp/UFRN