Upload
melissa-pacifico
View
214
Download
0
Embed Size (px)
Citation preview
Arquitetura de Multi-Agentes 1 / 55
Arquitetura de Multi-Agentes
IA Simbólica
Prof. Jacques Robin
Ryan Leite AlbuquerqueLuiz Carlos Barboza Júnior
Arquitetura de Multi-Agentes 2 / 55
Roteiro
Arquiteturas Para Agentes Inteligentes Abstratas Concretas
Arquitetura de Multi-Agentes 3 / 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 4 / 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 5 / 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 6 / 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 7 / 55
Arquiteturas Abstratas
Agentes Puramente Reativos
Percepção
Agentes com Estado
Arquitetura de Multi-Agentes 8 / 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 9 / 55
Ambiente
Agente
see action
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
Função de Decisão do Agente é decomposta em: Percepção ( see : S P ) Ação ( action : P* A )
Arquitetura de Multi-Agentes 10 / 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 11 / 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 12 / 55
see : S P inalterado
action : I A
next : I x P I Adicionado percepções alteram o estado interno
Ambiente
Agentesee action
next state
Agentes com Estado
Arquitetura de Multi-Agentes 13 / 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 14 / 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 15 / 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 16 / 55
O processo de tomada de decisões é modelado através de um conjunto de regras dedutivas:
Banco de Dados de FórmulasRegras Dedutivas
Fórmula da Lógica
Arquiteturas Baseadas em Lógica
Arquitetura de Multi-Agentes 17 / 55
Banco de Dados de FórmulasRegras Dedutivas
Fórmula da Lógica
Arquiteturas Baseadas em Lógica
see : S P
next : D x P D
action : D A derivado em termos de regras dedutivas
juntar com 15
Arquitetura de Multi-Agentes 18 / 55
Banco de Dados de FórmulasRegras Dedutivas
Fórmula da Lógica
O Mundo do Aspirador de Pó
Funções Possíveis forward suck turn (90°)
Predicados do Domínio in(x,y) dirt(x,y) facing(d)
(0,2) (1,2) (2,2)
(0,1) (2,1)
(0,0) (1,0) (2,0)
Área suja!!
Arquitetura de Multi-Agentes 19 / 55
Banco de Dados de FórmulasRegras Dedutivas
Fórmula da Lógica
O Mundo do Aspirador de Pó
A função next será decomposta em duas old() new : D x P D Assim, next(, p) = ( \ old() ) new(, p)
As regras... in(x,y) dirt(x,y) do(suck)
- Prioridade máxima 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 20 / 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 21 / 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 Por exemplo, um robô móvel deve ter como prioridade máxima
o comportamento de evitar obstáculos Decisões baseadas em
Arquitetura de Multi-Agentes 22 / 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 23 / 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 24 / 55
Processo de raciocínio prático
Arquiteturas Baseadas emCrenças, Desejos e Intenções
BRF
Crenças
Gerador de Opções
Desejos
Filtros
Ações
Intenções
Sensor
Ação
Arquitetura de Multi-Agentes 25 / 55
Arquiteturas Baseadas emCrenç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 26 / 55
Arquiteturas Baseadas emCrenç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 27 / 55
Arquiteturas Baseadas emCrenç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 28 / 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 29 / 55
Camadas Horizontais: juntar com 31
Camadas Horizontais
Camada n
Input
...
Camada 2
Camada 1
Output
Arquitetura de Multi-Agentes 30 / 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 31 / 55
Dois passos de controle
Camadas Verticais
Output
Camada n
...
Camada 2
Camada 1
Input
Arquitetura de Multi-Agentes 32 / 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 33 / 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 34 / 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 que todos os papeis da formação estão preenchidos
Arquitetura de Multi-Agentes 35 / 55
Visão Geral da Arquitetura
Arquitetura de Multi-Agentes 36 / 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 gatilhos para mudança de formação
Jogadas ensaiadas, ex, escanteio
Arquitetura de Multi-Agentes 37 / 55
Paradigma de Comunicação
Ambiente Vários agentes, times Canal único Banda estreita Não confiável
Desafios Direcionamento e
identificação de mensagens
Robustez a interferência Múltiplas respostas
simultâneas Robustez a mensagens
perdidas Coordenação do time
Arquitetura de Multi-Agentes 38 / 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 39 / 55
Estado do mundo
Objeto Coordenadas de posição Confiança da coordenada
Objeto Estacionário Objeto Móvel
Coordenadas de velocidade Confiança da coordenada
Bola Jogador
Time, Número Ângulo da face Confiança no ângulo
Objeto
Objeto Estacionário
Objeto Móvel
Bola Jogador
Arquitetura de Multi-Agentes 40 / 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 41 / 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 42 / 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 43 / 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) Communicate()
Arquitetura de Multi-Agentes 44 / 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 com a
bola e companheiro)
Arquitetura de Multi-Agentes 45 / 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 46 / 55
Paradigma de comunicação
CMUnited <Uniform-number><Encoded-stamp><Formation-number><Formation-set-time><Position-number><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 47 / 55
Resultados
Resultados da estrutura do trabalho em equipe Posições flexíveis Jogadas
Arquitetura de Multi-Agentes 48 / 55
Resultados
Resultados da estrutura do trabalho em equipe Formação
Arquitetura de Multi-Agentes 49 / 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 50 / 55
Conclusões
Arquitetura de Multi-Agentes 51 / 55
Bibliografia