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
Download

Arquitetura de Multi