View
125
Download
6
Category
Preview:
Citation preview
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)
Módulo superior
Módulo inferior
- 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áculo2- Se perceber a base central e estiver carregado, descarregar3- Se perceber um mineral e não estiver carregado, pegá-lo4- Realizar movimento aleatório
Projeto do robô
Comportamento do robô 2
1- Evitar obstáculo2- Se perceber a base central e estiver carregado, descarregar3- Se perceber um mineral e não estiver carregado, pegá-lo4- Se estiver carregado, seguir maior gradiente5- 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áculo2- Se perceber a base central e estiver carregado, descarregar3- Se perceber um mineral e não estiver carregado, pegá-lo4- Se estiver carregado, seguir maior gradiente, deixando uma pista5- Se encontrar uma pista e estiver descarregado, seguir na direção do menor gradiente6- 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 ambienteComo 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áculo2- Se perceber a base central e estiver carregado, descarregar3- Se perceber um mineral e não estiver carregado, pegá-lo4- Se estiver carregado, seguir maior gradiente deixando uma pista5- Se encontrar uma pista e estiver descarregado, seguir na direção do menor gradiente, retirando a pista6- 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áculo2- Se perceber a base central e estiver carregado, descarregar3- Se perceber um mineral e não estiver carregado, pegá-lo4- Se estiver carregado, seguir maior gradiente deixando duas pistas5- Se encontrar uma pista e estiver descarregado, seguir na direção do menor gradiente, retirando uma pista6- Realizar movimento aleatório
Interpretação do resultado
média: 3.519 ciclosmínimo: 1.075 ciclosmelhor 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
H
A M
D B C E
N
F O G
J K I L
H
A M
D B C E
N
F O G
J K I L
H
A M
D B C
E N
F O G
J K I L
H
A M
D B C
E
N
F
O
G
J K I L
H
A
M
D B C
E
N
F
O
G
J K I L
Movimento deSatisfação
Movimento de Fuga
Movimento Inválido
Restrição a umMovimento Inválido
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 deenergia
simplesmente expresse o problema como
o estado de equilíbrio de um conjunto de agentesque interagem entre si e com o ambiente através deforças
Modelo PACO (cont.)
Técnica de resolução de problemas
Um problema é definido como um conjunto de agentesque 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 quepossam 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édiasescalas são obtidos por generalização degrandes escalas.
Generalização Cartográfica
Processo de abstração usado quando a escala do mapa é reduzida.
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
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.
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
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 mesmoponto 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
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
Time
ID A
ge
nt
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
Time
ID A
ge
nt
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
Time
ID A
ge
nt
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
Utilizado na simulação de robôs móveis
Toda a especificação é realizada diretamente em Smalltalk,utilizando classes pré-definidas.
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.)
Especificar os
tipos de agentes
Especificar a disposição
dos agentes no ambiente
Especificar as regras
de comportamento
dos agentes
Gerar código com
definições do usuário
Processar resolução
do problema
USUÁRIO
Solução do
Problema
código
gerado
comportamentos
pré-definidos
Simula (cont.)
Regras de Comportamento
pré-condição: condição para execução do comportamentoação: comportamento a ser executadopós-condição: atualização de variáveisprioridade: ordem para execução das regras
Recommended