Arquitetura de
Multi-Agentes
IA Simbólica
Prof. Jacques Robin
Ryan Leite Albuquerque
Luiz Carlos Barboza Júnior
Arquitetura de Multi-Agentes
1 / 55
Roteiro
Arquiteturas Para Agentes Inteligentes
Abstratas
Concretas
Arquitetura de Multi-Agentes
2 / 55
Arquiteturas para Agentes Inteligentes
Introdução
Arquiteturas Abstratas
Agentes Puramente Reativos
Agentes com Estado
Arquiteturas Concretas
Arquiteturas Baseadas em Lógica
Arquiteturas Reativas
Arquiteturas Baseadas em Crenças, Desejos e Intenções
Arquiteturas Baseadas em Camadas
Arquitetura de Multi-Agentes
3 / 55
Ambientes, estados e ações
Formalização da abstração de agentes
S = {s1, s2, ...}
// environment states
A = {a1, a2, ...}
// actions
Agente Padrão:
action : S* A
Ambiente:
env : S x A (S)
Determinístico: se (S) é unitário
Não Determinístico
Arquitetura de Multi-Agentes
4 / 55
Históricos
Agente x Ambiente (History)
h : s0 (a0) s1 (a1) … (au-1) su (au) ...
History (Ag,Env)
- au é a ação escolhida, dados todos os estados do ambiente
até su
- su é um dos estados retornados pela aplicação de au-1 ao
estado atual do ambiente (su-1)
Comportamento característico de um agente em um
ambiente é o conjunto de todas os históricos que
satisfazem action e env
Arquitetura de Multi-Agentes
5 / 55
Introdução
Se uma propriedade p é válida para todos os históricos,
ela é chamada de propriedade invariante do agente
naquele ambiente
Equivalência de comportamento:
hist(ag1, env) = hist(ag2, env)
- …com relação a um ambiente env
hist(ag1, _) = hist(ag2, _)
- …com relação a todos os ambientes
Estamos interessados em históricos infinitos
A interação (agente x ambiente) não tem fim !!
Arquitetura de Multi-Agentes
6 / 55
Arquiteturas Abstratas
Agentes Puramente Reativos
Percepção
Agentes com Estado
Arquitetura de Multi-Agentes
7 / 55
Agentes Puramente Reativos
Não fazem referência a um histórico
Baseam suas tomadas de decisão somente no presente
action : S A
Agentes Puramente Reativos x Agente Padrão
Exemplo de Agente Puramente Reativo:
A função de ação de um termostato:
heater off, if s = temperature OK
action(s) =
heater on, otherwise
Arquitetura de Multi-Agentes
8 / 55
Percepção
Como implementar action ??
Refinamento do modelo abstrato de agentes
Dividir em subsistemas
Decisões de projeto
- Estruturas de Dados e
- Estruturas de Controle
see
action
Agente
Função de Decisão do Agente é decomposta
em:
Percepção ( see : S P )
Ação ( action : P* A )
Arquitetura de Multi-Agentes
Ambiente
9 / 55
Percepção
Observações interessantes
Suponha s1,s2 S e s1 != s2, mas see(s1) = see(s2)
- O agente recebe a mesma percepção para dois estados
diferentes do ambiente
Conjunto de estados indistinguíveis
Seja s1,s2 S. s1 s2 se see(s1) = see(s2)
- A relação de equivalência divide S em conjuntos de estados
mutuamente indistinguíveis
- Quanto mais grosseira é essa equivalência, menos eficiente
será a percepção do agente
Se | | = |S|, o agente poderá distinguir todos os estados
Se | | = 1, o agente não tem habilidade de percepção
Arquitetura de Multi-Agentes
10 / 55
Agentes com Estado
Temos pensado em agentes que têm seu processo de
tomada de decisão baseado em históricos
Não intuitivo
Estamos tratando agora de agentes que detêm uma
estrutura de dados interna que armazenam:
Estados do ambiente
Históricos
... onde é baseado, pelo menos em parte, o processo de
tomada de decisão
Arquitetura de Multi-Agentes
11 / 55
Agentes com Estado
see : S P
inalterado
action : I A
Agente
see
action
next
state
Ambiente
next : I x P I
Adicionado
percepções alteram o estado interno
Arquitetura de Multi-Agentes
12 / 55
Arquiteturas Concretas
Arquiteturas Baseadas em Lógica
Arquiteturas Reativas
Arquiteturas Baseadas em Crenças, Desejos e Intenções
Arquiteturas Baseadas em Camadas
Arquitetura de Multi-Agentes
13 / 55
Arquiteturas Baseadas em Lógica
De acordo com a IA Simbólica, o comportamento
inteligente pode ser gerado em um sistema, quando é
dado a ele :
Uma representação simbólica do ambiente;
Uma representação simbólica dos comportamentos
desejáveis
Uma manipulação sintática dessas representações
Representação Simbólica
Fórmulas da Lógica
Manipulação Sintática
Dedução e Prova de Teoremas
Arquitetura de Multi-Agentes
14 / 55
Arquiteturas Baseadas em Lógica
Um conjunto de teorias sobre uma agência que explica
como os agentes devem se comportar, podem ser vistas
como especificações
Essas especificações são refinadas até poderem ser
implementadas
Na visão de agentes como provadores de teoremas,
essas teorias são planos executáveis
Agentes Deliberativos
O estado interno é um banco de dados D de fórmulas da
lógica clássica de primeira ordem
Arquitetura de Multi-Agentes
15 / 55
Arquiteturas Baseadas em Lógica
O processo de tomada de decisões é modelado através
de um conjunto de regras dedutivas:
D |-r f
Banco de Dados de Fórmulas
Fórmula da Lógica
Regras Dedutivas
Arquitetura de Multi-Agentes
16 / 55
Arquiteturas Baseadas em Lógica
see : S P
next : D x P D
action : D A
derivado em termos de regras dedutivas
Banco de Dados de Fórmulas
juntar com 15
Fórmula da Lógica
Regras Dedutivas
Arquitetura de Multi-Agentes
17 / 55
O Mundo do Aspirador de Pó
Funções Possíveis
forward
suck
turn (90°)
Área suja!!
(0,2)
Predicados do Domínio
in(x,y)
(0,1)
dirt(x,y)
facing(d)
(2,2)
(2,1)
Fórmula da Lógica
Banco de Dados de Fórmulas
(1,2)
(0,0)
Arquitetura de Multi-Agentes
(1,0)
(2,0)
Regras Dedutivas
18 / 55
O Mundo do Aspirador de Pó
A função next será decomposta em duas
old(D)
new : D x P D
Assim, next(D, p) = ( D \ old(D) ) new(D, p)
As regras...
in(x,y) dirt(x,y) do(suck)
Banco de Dados de Fórmulas
- Prioridade máxima
Fórmula da Lógica
Regras Dedutivas
in(0,0) facing(north) !dirt(0,0) do(forward)
in(0,1) facing(north) !dirt(0,1) do(forward)
in(0,2) facing(north) !dirt(0,2) do(turn)
in(0,2) facing(east) do(forward)
Arquitetura de Multi-Agentes
19 / 55
Voltando...
Fazer agentes dessa maneira é quase impraticável
Ambiente não-determinístico
- Não podemos garantir a otimalidade das ações escolhidas
Representação lógica de percepções do ambiente pode
ser não trivial ex,
Representação de propriedades dinâmicas de ambientes
reais também é não trivial ex,
Lógica freqüentemente inadequada para:
- representar percepções (ex, extraída de câmera)
- raciocinar em tempo real
Arquitetura de Multi-Agentes
20 / 55
Arquiteturas Reativas
Abordagens alternativas
Comportamental: Desenvolver e combinar
comportamentos individuais
Situado: agentes estão realmente situados em algum
ambiente
Reativo: não raciocina sobre o ambiente, só reage a ele
hierarquia de comportamentos
Comportamento de realização de tarefas
Cada comportamento é como uma função de ação
separada
Vários comportamentos podem estar rodando
simultaneamente
Inibição de comportamentos por níveis de prioridade
Arquitetura
de Multi-Agentes
Por exemplo, um
robô
móvel deve ter como prioridade21 / 55
Arquiteturas Reativas
A função see permanece inalterada
Função action = conjunto de comportamentos +
relação de inibição
Comportamento = (c,a)
c é um conjunto de percepções (condições)
a é uma ação
dispara quando: o ambiente está no estado s e see(s)
c
exceto se existe outro comportamento disparável com
maior prioridade
Arquitetura de Multi-Agentes
22 / 55
Arquiteturas Reativas
Exemplo: Comportamento instintivo das formigas
adicionar transparência sobre o exemplo das formigas
Vantagens
Simplicidade, Economia, Tratável Computacionalmente,
Robustez Contra Falhas
Problemas ainda não resolvidos
Visão limitada ao ambiente local
Aprendizado com experiências (performance)
Desenvolvimento puramente empírico sem princípios
metodológicos
O comportamento global emana de interações entre agentes e
o ambiente complica o entendimento profundo do
funcionamento do sistema
Arquitetura de Multi-Agentes
23 / 55
Arquiteturas Baseadas em
Crenças, Desejos e Intenções
Processo de raciocínio
prático
BRF
Sensor
Crenças
Gerador de Opções
Desejos
Filtros
Intenções
Ações
Arquitetura de Multi-Agentes
Ação
24 / 55
Arquiteturas Baseadas em
Crenças, Desejos e Intenções
Processo de Decisão
Análise das opções de ações disponíveis
Opções selecionadas tornam-se intenções
Intenções
Guiam o raciocínio Meios-Fins para escolher ações
Relacionadas com crenças sobre o futuro
Persistem
- suficientemente para alcançar algum objetivo (saber
perseverar)
- não eternamente (saber desistir)
- duas razões para abandonar intenção:
objetivo inalcançável
objetivo tornou-se irrelevante
Arquitetura de Multi-Agentes
25 / 55
Arquiteturas Baseadas em
Crenças, Desejos e Intenções
Quando reconsiderar suas intenções (parar para
pensar)?
Balanceamento de comportamentos pro-ativos
(direcionado a objetivo) e reativos (dirigidos a eventos)
Agentes arrojados
Nunca param para reconsiderar
Próprios para ambientes que não mudam rapidamente
Agentes prudentes
Para constantemente para reconsiderar
Próprios para ambientes que exigem a habilidade de
identificar quando as intenções estão condenadas
(ambientes com taxa de mudança muito alta)
Arquitetura de Multi-Agentes
26 / 55
Arquiteturas Baseadas em
Crenças, Desejos e Intenções
Vantagens
Intuitiva
- Decisão do que fazer
- Decisão de como fazer
- Noções de crenças, desejos e intenções
Decomposição funcional em subsistemas
Desvantagem
Dificuldade de saber como implementar eficientemente
essas funções ou subsistemas
Arquitetura de Multi-Agentes
27 / 55
Arquiteturas Baseadas em Camadas
É atualmente a mais popular classe de arquiteturas de
agentes disponível !!
Para que um agente tenha comportamentos reativos e
pró-ativos, devemos criar dois subsistemas para tratar
cada um
Os subsistemas são arrumados em camadas que
interagem entre si
No mínimo 2 camadas (reativos + pró-ativos)
Fluxo de Control
Camadas Horizontais
Camadas Verticais
Arquitetura de Multi-Agentes
28 / 55
Camadas Horizontais: juntar com 31
Camadas Horizontais
Camada n
...
Input
Output
Camada 2
Camada 1
Arquitetura de Multi-Agentes
29 / 55
Camadas Horizontais
Cada camada está conectada com…
Sensores (entrada)
Ações (saída)
Conceitualmente simples
Uma camada para cada comportamento desejado
Problema
Concorrência de camadas confundir o agente que gerará
ações globais as vezes não coerente
Solução
- Mediador: camada de controle por tempo
- Gargalo!!
Arquitetura de Multi-Agentes
30 / 55
Camadas Verticais
Dois passos de controle
Camada n
...
Camada 2
Camada 1
Input
Arquitetura de Multi-Agentes
Output
31 / 55
Camadas Verticais
Entrada e saída estão conectadas a no máximo uma
camada cada
Dois passos de controle
Modelo hierárquico de organizações
- Informações
- Comandos
Ex.: Jörg Müller’s INTERRAP
Arquitetura de Multi-Agentes
32 / 55
Arquitetura CMUnited-98
Ambiente com sincronização periódica entre membros
de times de agentes
Visão Geral da Arquitetura
Estrutura do Trabalho em Equipe
Paradigma de Comunicação
Implementação
Resultados
Arquitetura de Multi-Agentes
33 / 55
Periodic Team Synchronization (PTS)
Ambientes com
Colaboração entre agentes para alcançar um objetivo
Sincronização com comunicação confiável disponível por
períodos limitados
Resto do tempo, comunicação não confiável e com
largura de banda limitada
Tempo-real
Desafios
Representação dos “acordos de vestiário”
Determinar o momento de troca de papeis e/ou de
formação
Assegurar que todos os agentes estejam na mesma
formação
Assegurar queArquitetura
todosdeos
papeis da formação estão
Multi-Agentes
34 / 55
Visão Geral da Arquitetura
Arquitetura de Multi-Agentes
35 / 55
Estrutura do Trabalho em Equipe
Papel
Define exatamente ou parcialmente comportamentos do
agente
ex, meio-campista
Formações
Coleção de papeis, ex, 4-3-3, 4-4-2
Pode ser decomposta em sub-formação, ex, zaga, ataque
Acordo de vestiário define:
formações iniciais
gatilhos para re-alocação de papeis dentro de uma
formação
- ex, ponta direita passa pela esquerda e vice-versa
Arquitetura de Multi-Agentes
gatilhos para mudança de formação
36 / 55
Paradigma de Comunicação
Ambiente
Vários agentes, times
Desafios
Direcionamento e
Canal único
identificação de mensagens
Banda estreita
Robustez a interferência
Não confiável
Múltiplas respostas
simultâneas
Robustez a mensagens
perdidas
Arquitetura de Multi-Agentes
Coordenação do time
37 / 55
Implementação
Sincronização das ações
Estado do mundo
Atualizando o estado do mundo
Habilidades do agente
Modos de comportamento
Instanciação de domínio de papeis e formações
Troca dinâmica de formações
Posições flexíveis
Jogadas pré-planejadas
Paradigma de comunicação
Arquitetura de Multi-Agentes
38 / 55
Estado do mundo
Objeto
Coordenadas de posição
Confiança da coordenada
Objeto
Objeto Estacionário
Objeto Móvel
Coordenadas de velocidade
Confiança da coordenada
Bola
Objeto
Estacionário
Objeto
Móvel
Jogador
Time, Número
Ângulo da face
Confiança no ângulo
Arquitetura de Multi-Agentes
Bola
Jogador
39 / 55
Atualizando o estado do mundo
O próprio agente
SE chegou nova informação visual
- A posição absoluta do agente pode ser calculada a partir de
coordenadas relativa e objetos estacionários (landmarks)
SE não chegou informação visual
- Atualizar a velocidade e previsão dos efeitos da última ação
- Prever a nova posição e velocidade a partir dos valores
anteriores
Se disponível, atualizar a velocidade do agente a partir
das sensações corpóreas (própriocepção)
Atualizar a stamina do agente a a partir das sensações
corpóreas ou de previsões de efeitos de ações
Arquitetura de Multi-Agentes
40 / 55
Atualizando o estado do mundo
A bola
SE chegou nova informação visual
- Determinar a posição absoluta da bola a partir da posição
absoluta do agente e da posição relativa da bola
SE informação sobre a velocidade foi dada
- Atualizar a velocidade
SE não chegou informação visual
- Estimar velocidade e posição
SE a bola deveria estar no campo de visão, mas não esta
- zerar a confiança para 0
Companheiros e adversários
Arquitetura de Multi-Agentes
41 / 55
Habilidades do agente e
Modos de comportamento Traduzir
Goaltend
Localize
Face Ball
Handle Ball
Active Offense
Passive Offense
Active Defense
Auxiliary Defense
Passive Defense
Arquitetura de Multi-Agentes
42 / 55
Instanciação de domínio
de papeis e formações
Ball Lost Face Ball()
If (Ball know Chasing)
Handle Ball(args1)
If (Ball know AND Not Chasing) Passive Offense(args1)
If (Communicate Flag Set)
Arquitetura de Multi-Agentes
Communicate()
43 / 55
Posições flexíveis
Antecipação
Marcação do oponente (explicar)
Posicionamento dependente da bola (explicar)
Posicionamento estratégico usando atração e repulsão
(SPAR)
SPAR (Strategic Position by Attraction and Repulsion): heurística
composta baseadas nas seguintes prioridades:
1. Maximizar a distância a cada oponente (sair da marcação)
2. Maximizar a distância a cada companheiro (ocupação do
campo)
3. Minimizar a distância à bola
4. Minimizar a distância ao gol
5. Ficar próximo à posição de base do papel (home position)
6. Ficar dentro dos limites do campo
7. Evitar posição de impedimento
8. Fica “livre” para
receber
o passe (não tem adversário entre jogador
Arquitetura
de Multi-Agentes
44 / 55
Jogadas pré-planejadas
Alocação de papel em jogadas ensaiadas:
escolher para para P jogador J cuja posição de base é a
mais próxima da posição inicial da jogada ensaiada
Arquitetura de Multi-Agentes
45 / 55
Paradigma de comunicação
CMUnited <Uniform-number><Encoded-stamp>
<Formation-number><Formation-set-time><Positionnumber><target><Message-type>[<Message-data>]
Tipos de Mensagens
Perguntar/responder a localização da bola
Perguntar/responder a localização do companheiro
Informar destino do passe
Informar que esta indo para bola
Informar que esta assumindo/deixando uma posição
Arquitetura de Multi-Agentes
46 / 55
Resultados
Resultados da estrutura do trabalho em equipe
Posições flexíveis
Jogadas
Arquitetura de Multi-Agentes
47 / 55
Resultados
Resultados da estrutura do trabalho em equipe
Formação
Arquitetura de Multi-Agentes
48 / 55
Resultados
Resultados do Paradigma de comunicação
Robustez a interferência
-
73msg/5min falsas -> Todas identificadas como falsas
-
Apenas uma de um companheiro identificada
incorretamente como falsa
Manipulando respostas múltiplas
Coordenação do time
Arquitetura de Multi-Agentes
49 / 55
Conclusões
Arquitetura de Multi-Agentes
50 / 55
Bibliografia
Arquitetura de Multi-Agentes
51 / 55