Sistemas Multiagentes

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

IA Importância da IA em jogos Aplicações.
Simulação de Sistemas Antonio J. Netto AULA1.
Introdução a Algoritmos
Planejamento Viviane Torres da Silva
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Engenharia de Software
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
INTRODUÇÃO A INFORMÁTICA
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Prof. Júlio Cesar Nievola
Os Sistemas Multi-agente Viviane Torres da Silva
IA em jogos modelagem de comportamento de personagens
Modelos Baseados em Agentes
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Recursividade Conceitos e Aplicações.
Sistemas Multiagentes
COORDENAÇÃO DE AGENTES
Sistemas Especialistas
Sistemas Multiagentes Cognitivos
Sistemas Multiagentes
  ORGANIZAÇÕES.
Curso Sistemas de Informação Disciplina: Arquitetura de Software
1 Simulação baseada em multiagentes – aplicação em educação O processo de simulação significa dirigir o modelo de um sistema com entradas satisfatórias.
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Engenharia de Software
INF 1771 – Inteligência Artificial
TÉCNICAS DE PROGRAMAÇÃO II
Tópicos em Sistemas Distribuídos
Protocolo CMB em simulação distribuída
REDUNDÂNCIA POR SOFTWARE
Otimização Prof. Benedito C. Silva IRN UNIFEI
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
ANÁLISE DE UM SISTEMA MULTI-ELETRODOS EM PROCESSOS ELETROQUÍMICOS Vinicius Flores Resumo A utilização de multi-eletrodos no estudo de processos eletroquímicos.
Redes Neurais Prof. Alex F. V. Machado.
Análise e Projeto de Sistemas
CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha.
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Sistemas Especialistas
Inteligência Artificial
Tópicos Avançados em Inteligência Artificial
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Paradigmas de Linguagens de Programação Aula 2
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
METODOLOGIA, MÉTODOS E FERRAMENTAS
Agentes Inteligentes e Sistemas Multi- agente (UD5) Construção de Sociedades de Agentes IST- 2004/2005.
Resolução de Problemas
Integração de Ferramentas CASE
Engenharia de Software
Inteligência Artificial I
MODELAGEM COMPORTAMENTAL PARA AGENTES AUTÔNOMOS EM AMBIENTE REAIS
DIMAp/UFRN Modelos Baseados em Agentes Prof. André Campos Aula #6 AgentesHíbridos.
Sistemas Multiagentes
Inteligência Artificial
Engenharia de Software
Projeto de Banco de Dados
Professora Michelle Luz
O Modelo GOMS Fornece um modelo de Engenharia para a performance humana, capaz de produzir predições a priori ou em um estágio anterior ao desenvolvimento.
TÉCNICAS DE ESTIMATIVAS
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

Sistemas Multiagentes Luis Otavio Alvares (II-UFRGS) e-mail: alvares@inf.ufrgs.br

Sistemas Multiagentes Reativos Características Modelos Ambientes Exemplos

Motivação para o estudo de SMA Reativos Precisamos de agentes complexos para realizar tarefas complexas ou podemos realizar uma tarefa complexa através de interações de muitos agentes simples? exemplo clássico: colônia de formigas

Características dos agentes reativos não há representação explícita do ambiente nem de outros agentes não há memória das ações (histórico) organização etológica comportamento simples do tipo estímulo-resposta comunicação através do ambiente pela propagação de sinais

Modelos de SMA Reativos Funcionalidade Emergente (Luc Steels) Eco-resolução (Jacques Ferber) PACO (Yves Demazeau)

Modelo da Funcionalidade Emergente - Baseado na arquitetuta de subsunção (subsumption architecture, Brooks 86) - Cada módulo é um autômato de estado finito - Realização de vários robôs reais

Exemplo: robôs mineradores (Steels) Um conjunto de robôs deve procurar e coletar minerais e levá-los para a base central.

Comportamento do Robô 1- Evitar obstáculo 2- Se perceber a base central e estiver carregado, descarregar 3- Se perceber um mineral e não estiver carregado, pegá-lo 4- Realizar movimento aleatório

Projeto do robô

Comportamento do robô 2 1- Evitar obstáculo 2- Se perceber a base central e estiver carregado, descarregar 3- Se perceber um mineral e não estiver carregado, pegá-lo 4- Se estiver carregado, seguir maior gradiente 5- Realizar movimento aleatório

Projeto do robô 2

Obervações: O robô 2 não apresenta nenhuma forma de cooperação Não permite retornar ao local da jazida de mineral Como melhorar isto?

Robô 3 1- Evitar obstáculo 2- Se perceber a base central e estiver carregado, descarregar 3- Se perceber um mineral e não estiver carregado, pegá-lo 4- Se estiver carregado, seguir maior gradiente, deixando uma pista 5- Se encontrar uma pista e estiver descarregado, seguir na direção do menor gradiente 6- Realizar movimento aleatório

Interpretação dos resultados: O Robô 3 possui um mecanismo simples de manutenção e compartilhamento de informação, utilizando o ambiente Como memória 64 robôs - melhor resultado (1.113 ciclos) média - 3.351 ciclos maior nro robôs => maior chance de encontrar o minerais mecanismo de criação de pistas: espécie de catalizador variações entre populações próximas: pelo que acontece quando os depósitos ficam esgotados

Robô 4 1- Evitar obstáculo 2- Se perceber a base central e estiver carregado, descarregar 3- Se perceber um mineral e não estiver carregado, pegá-lo 4- Se estiver carregado, seguir maior gradiente deixando uma pista 5- Se encontrar uma pista e estiver descarregado, seguir na direção do menor gradiente, retirando a pista 6- Realizar movimento aleatório

Interpretação dos resultados Perda evidente de desempenho para população > 70 robôs O que perde em eficiência, ganha em predição (não há grandes variações entre populações próximas) Perda de eficiência: após um robô ter deixado o mineral na base, há forte probabilidade de outro robô ter encontrado a pista e a ter seguido, retirando a pista. Em vez de um mecanismo de compartilhamento de informação obtivemos um mecanismo de transferência de informação

Robô 5 1- Evitar obstáculo 2- Se perceber a base central e estiver carregado, descarregar 3- Se perceber um mineral e não estiver carregado, pegá-lo 4- Se estiver carregado, seguir maior gradiente deixando duas pistas 5- Se encontrar uma pista e estiver descarregado, seguir na direção do menor gradiente, retirando uma pista 6- Realizar movimento aleatório

Interpretação do resultado média: 3.519 ciclos mínimo: 1.075 ciclos melhor solução para população < 85 robôs problema para mais de 85 robôs: - deformação das pistas: um robô que retorna se encontra comoutros que vão para o mineral - verdadeiros bloqueios, engarrafamentos, próximo à base central

Modelo da Eco-Resolução (Jacques Ferber)

Eco-Resolução Técnica de resoluç ão de problemas Um problema é decomposto em um conjunto de eco-agentes Cada eco-agente possui um objetivo (atingir um estado de satisfação) e dois comportamentos gerais: - de satisfação: procura atingir seu estado de satisfação - de fuga: de outro agente que o está “agredindo”

Exemplo: PENGI Agre e Chapman: inviável com algoritmo de planejamento

PENGUI: Comportamento dos agentes ABELHAS: - estado de satisfação: matar o pingüim - comportamento de satisfação: ir em direção ao pingüim PINGÜIM: - estado de satisfação: não haver mais diamantes a pegar - comportamento de satisfação: ir em direção ao diamante mais próximo - comportamento de fuga: ir para uma casa o mais longe possível das abelhas. Ou para a mais próxima, se há um cubo de gelo adjacente, na direção da abelha

PENGUI (cont.) Comportamento “inteligente” - parece que o pingüim é inteligente, pois muitas vezes mata a abelha com cubos de gelo - não há nenhuma atividade de “caça às abelhas” - nós é que consideramos em tudo uma intencionalidade, que muitas vezes não existe

Exemplo: Quebra-cabeça de 8

Abordagem clássica - abordagem clássica: orientada a estados (algorimo A* e variantes) - limitada

Exemplo: Quebra-cabeça de 8 (cont.) - mudança de enfoque para abordagem orientada a agentes - cada peça será um agente - a escolha do movimento de uma peça (agente)será baseada: - na distância do seu objetivo - na distância do “branco” - ordem de resolução:

Exemplo: Quebra-cabeça de 8 (cont.) - comportamento de satisfação: ir para a casa mais próxima do objetivo. Se houver duas casas eqüidistantes, ir para a mais próxima do branco - comportamento de fuga: ir para o seu objetivo, se for adjacente. Senão, ir para a casa mais próxima do branco. Se houver duas casas eqüidistantes, ir para a mais próxima do seu objetivo. Restrições: não ir para a casa que é o do agressor e não ir para a casa que é o objetivo do antecessor do agressor na ordem de preenchimento.

Problema do canto

Exemplo: Quebra-cabeça de 8 (cont.) - resultados experimentais até 899 peças (30x30) (Drogoul 93) - validade para qualquer tamanho de jogo - validade mesmo para tabuleiro retangular

Modelo PACO (Y. Demazeau) Em vez de considerar a solução de um problema como o resultado da minimização de uma função global de energia simplesmente expresse o problema como o estado de equilíbrio de um conjunto de agentes que interagem entre si e com o ambiente através de forças

Modelo PACO (cont.) Técnica de resolução de problemas Um problema é definido como um conjunto de agentes que tentam encontrar um estado de equilíbrio Os agentes são caracterizados por campos: - de percepção (o que ele percebe do ambiente) - de comunicação (agentes que o influenciarão na execução de uma ação ) - de força (agentes sobre os quais ele pode agir)

Modelo PACO (cont.) O comportamento do agente é baseado num ciclo: regulagem e aquisição - definição dos campos de percepção e comunicação processamento - cálculo das forças exercidas sobre o agente regulagem e ação - cálculo da nova posição do agente

Exemplo: Generalização Cartográfica Processo de abstração usado quando a escala do mapa é reduzida. Envolve modificação dos dados de modo que possam ser representados em um espaço menor, preservando da melhor forma possível os aspectos geométricos e descritivos. A maioria dos mapas em pequenas e médias escalas são obtidos por generalização de grandes escalas.

Generalização Cartográfica Processo de abstração usado quando a escala do mapa é reduzida. Envolve modificação dos dados de modo que possam ser representados em um espaço menor, preservando da melhor forma possível os aspectos geométricos e descritivos. A maioria dos mapas em pequenas e médias escalas são obtidos por generalização de grandes escalas. ex: França - mapa básico: 1/25.000 generalizados: 1/50.000 1/100.000

Generalização Cartográfica Dificuldade: escolher como representar um número suficiente de objetos geográficos numa superfície reduzida, usando símbolos que preservem a identificabilidade do objeto Numerosas modificações nos dados são necessárias. Exemplo:

Generalização Cartográfica

Generalização Cartográfica Fatores que influenciam a generalização: Escala Objetivo do mapa Simbolização Meio de saída

Generalização Cartográfica Automatização abordagem algorítmica sistemas baseados em conhecimento problema: independência de contexto solução: sistemas multiagentes reativos

O modelo proposto entradas: - dados oriundos de um BD Geográfico (classe do objeto, coordenadas, etc…) -características da saída desejada processamento: baseado num modelo de forças eletrostáticas de atração e repulsão saída: mapa

O Modelo Proposto importância do objeto (massa) Agentes: cada ponto, representado no BD por suas coordenadas, corresponde a um agente no modelo Pré-ordem: importância do objeto (massa) Grupo natural: agentes associados a um mesmo ponto geográfico Grupo artificial: agentes com topologia comum

O Modelo Proposto Interações: baseadas em forças Força de repulsão entre agentes Força de acompanhamento integral Força de acompanhamento proporcional Força de retorno à posição original Troca de simbologia

O Modelo Proposto

O Modelo Proposto

Resultados Obtidos

Outros exemplos de SMA Reativos Aplauso MMAS

Francis Van Aeken (LEIBNIZ-IMAG) Luis Otavio Alvares (UFRGS) Third Iberoamerican Workshop on DAI MAS - 2000 Synthesising Applause Using Multi-Agent Systems Francis Van Aeken (LEIBNIZ-IMAG) Luis Otavio Alvares (UFRGS)

Sumário Música e IA / SMA Aplauso Palma simples Síntese estocástica Síntese com SMA

Música e IA / MAS a música tem sólidos fundamentos matemáticos e científicos musicalidade x inteligência: a música toca a essência do ser humano e é pouco compreendida é fácil construir programas para produzir “música correta” , mas a saída destes programas é pobre na qualidade difícil de definir denominada musicalidade Como no caso da inteligência, os computadores estão longe de igualar o ser humano em competência musical orquestra, conjunto x agentes: um grupo de agentes em interação

Aplauso Aplauso x música: é som produzido por alguém utilizando as mãos como instrumento. Envolve ritmo, pode ser sincronizado,... componentes do aplauso O instrumento O executor O conjunto A peça Tipos de aplauso: musical, em sala, em auditório

Palma simples

Síntese Estocástica Fácil de implementar Resultados como pipoca estourando

MAS Synthesis Agente simples: bate palmas com um período fixo Múltiplos agentes Uma coleção de agentes reativos simples: para cada agente a duração e os valores médios para amplitude, “pitch” e período são determinados aleatoriamente resultado: surpreendentemente natural

Síntese c/ SMA : múltiplos agentes sincronizados Modelo: sincronização por escuta blackboard ajuste: calcula o período médio de cada par de palmas encontrado calcula o atraso médio entre a palma corrente e a última palma de cada par ajusta o período médio e o timeAtNextClap usando o período médio e o atraso

Síntese c/ SMA : múltiplos agentes sincronizados Resultados muito satisfatórios: os agentes sincronizam-se facilmente em período e fase timing of multiple synchronising agents

Síntese c/ SMA : múltiplos agentes sincronizados Modelo: agentes ouvem apenas os 2 vizinhos mesmo algoritmo – exceto que só os dois vizinhos são percebidos

Síntese c/ SMA : múltiplos agentes sincronizados Resultados: Difícil de sincronizar – sincronização local e não global timing of multiple myopic synchronising agents

Ambientes de desenvolvimento de SMA Reativos

Ambientes de desenvolvimento de SMAR SIEME - Simulateur Evenementiel Multi-Entités [Magnin 96] Totalmente integrado ao sistema de programação Smalltalk Toda a especificação é realizada diretamente em Smalltalk, utilizando classes pré-definidas. Utilizado na simulação de robôs móveis

O Sistema de simulação Swarm: Uma ferramenta para construir simulações Multiagentes Nelson Minar, Roger Burkhart, Chris Langton Instituto Santa Fé - Novo México

Abordagem computacional para sistemas complexos Histórico Principais elementos Orientação à objetos Arquitetura do sistema Bibliotecas

Abordagem computacional para sistemas complexos Construção de software complicada Pesquisadores escrevem o software Software muito específico Duplicação de esforços Software construído sem métodos da engenharia de software

Swarm - Histórico Iniciou em 1994 - Chris Langton - Instituto Santa Fé - Novo México. Objetivo: Criação de um conjunto de fer-ramentas para a construção de simuladores. Versão beta em 95. Versão 1.0 em 1997 Futuro: 95/NT - Cliente servidor - Paralelismo

Simulação de eventos discretos multi-agentes Coleção de agentes independentes interagindo através de eventos Pode ser utilizado em diversas áreas Unidade básica: agente Agente: entidade que pode gerar eventos que afetam a si mesmos e a outros agentes Ex: ecologia: coiotes, coelhos e cenouras

Tipos de agentes

Swarm - Schedule Schedule- define os processos que ocorrerão em um intervalo de tempo É uma estrutura que combina as ações em uma ordem específica Exemplo de ações: a) Coelhos comem cenouras b) Coelhos escondem-se dos coiotes c) Coiotes comem coelhos

Exemplo: Ecologia

Swarm Componente fundamental: Objeto swarm Um agente é modelado a partir do objeto básico swarm Um agente pode ser constituído de uma coleção de agentes (estrutura hierárquica) Conjunto de agentes + schedule de ativi-dades Podem ser criados e destruídos durante a simulação

Simulação de eventos discretos

Hierarquia

Tecnologia orientada a objetos Implementado em Objective C Classes: representam tipo de agentes Objetos: um agente específico Os agentes derivam da classe swarm

Métodos: comportamentos do agente. Ex: Coelhos escondem-se dos coiotes

Sistema Swarm- Framework Bibliotecas de classes defobj,collection,random,tkobj (uso geral) activity,objectbase,simtools (específicas)

Observação da simulação “Probe” Capacidade de que cada objeto possa ser observado Os estados podem ser lidos ou alterados e os métodos chamados de uma forma genérica, sem requerer código do usuário Probes são utilizadas para fazer com que ferramentas de análise funcionem de forma genérica

Probe

Probes e GUI Probes podem ser utilizadas para a comunicação em tempo real com o objeto através de uma janela.

Arquitetura do sistema

Estrutura da simulação Modelo swarm “habitado” por grupo de agentes schedule de atividades Normalmente “vivem”em um ambiente (agente) No swarm não existe um ambiente pré-definido

Estrutura da simulação

Bibliotecas de simulação objectbase Contém classes base para criação de agentes. activity Contém o mecanismo de simulação (controle de tempo, dependência de tempo entre eventos). Estrutura de dados do “schedule”. Eventos simultâneos (ordem arbitrária, randômica, ou paralelismo). simtools Dados estatísticos, análise, gráficos, etc.

Bibliotecas específicas space Suporte a espaços bi-dimensionais ga Suporte a algoritmos genéticos neuro Suporte a redes neurais

Swarm (conclusão) Possibilidade de criação de sistemas com-plexos Simplifica a construção de modelos Possibilita que os pesquisadores se concentrem nas especificidades de seus próprios domínios Exemplos de áreas de aplicação: química, economia, física, antropologia, ecologia, ciências políticas

sistema SIMULA [Frozza 97] Desenvolvido para fins didáticos objetivo: diminuir o esforço de programação para desenvolver sistemas multiagentes reativos definição de aplicação: - tipos de agentes - comportamento dos agentes - disposição inicial dos agentes no ambiente

Simula (cont.)

Simula (cont.) Regras de Comportamento pré-condição: condição para execução do comportamento ação: comportamento a ser executado pós-condição: atualização de variáveis prioridade: ordem para execução das regras