Agentes e Sistemas Multiagentes
Sumário
Histórico Agentes Definição Propriedades Classificação Ambientes Arquiteturas Sistemas Multiagentes Definição Sistemas reativos Sistemas cognitivos Comunicação CoordenaçãoHistórico da IAD
Primeiras tentativas para resolver problemas
de modo cooperativo no final da década de 70.
Na década de 80 começa a aparecer a
representação explícita do conhecimento de outros agentes num contexto de planejamento.
Até o início da década de 90 o foco da IAD era
a resolução distribuída de problema
A partir da metade da década de 90, ganha
Agentes – Definições
“Um agente é tudo que pode ser considerado capaz de perceber seu ambiente por meio de
sensores e de agir sobre esse ambiente por intermédio de atuadores.”
Agentes - Definições
Um agente é um sistema computacional que está situado em algum ambiente e que é capaz
de agir de forma autônoma nesse ambiente para alcançar seus objetivos projetados.
Agentes – Definições
“Um agente é uma entidade real ou abstrata que é
capaz de agir num ambiente, de se comunicar com
outros agentes, que é movido por um conjunto de inclinações; que possui recursos próprios; que é capaz
de perceber o ambiente; que dispõe de uma
representação parcial do ambiente; que possui competência e oferece serviços; que pode
eventualmente se reproduzir e cujo comportamento tende a atingir seus objetivos utilizando competências e
os recursos que dispõe, e levando em conta os resultados de suas funções de percepção e
Agentes – Merge de Definições
Perceber o ambiente
Agir sobre esse ambiente
Ser um sistema computacional Agir de forma autônoma
Possuir objetivos
Comunicar-se com outros agentes Possuir representação do ambiente Possuir competência para atuar no
Agentes – Problema da Definição
Não há uma definição universalmente aceita para o termo agente.
Parte da dificuldade se deve ao fato de que propriedades associadas aos agentes recebem
importâncias distintas em diferentes domínios. Assim, algumas dessas propriedades que podem
ser necessárias para alguns domínios, também podem ser indesejáveis em outros.
Agentes – Outro ponto de vista
O agente pode ser visto como uma modelagem conceitual que utiliza a forma de interação
(percepção e ação) na tentativa de alcançar alguma solução para o problema.
Agentes - Propriedades
Autonomia
Capacidade de atuar por conta própria.
Reatividade
Capacidade de reagir às mudanças do ambiente.
Adaptabilidade
Capacidade de se adaptar a situações
desconhecidas ( Aprendizagem ).
Comunicabilidade
Agentes - Classificação
Estímulo-Resposta
Histórico dos estados
Representação explícita do ambiente
Controle deliberativo
Comunicação direta
Agentes Reativos
Agentes – O Ambiente
Local físico ou virtual no qual o agente atua
e está inserido
O campo de futebol para um jogador.
As ruas para um motorista.
O mundo virtual para um personagem de um jogo.
A internet para agentes de leilão.
Agentes – Propriedades do Ambiente
Completamente observável vs. Parcialmente
observável Determinístico vs. Estocástico Episódico vs. Seqüencial Estático vs. Dinâmico Discreto vs. Contínuo Mono-Agente vs. Multiagente
Agentes – Propriedades do Ambiente
Completamente Observável
Um ambiente é dito completamente observável
quando o agente tem acesso ao estado completo deste ambiente.
Ex.: Jogo de Xadrez
Parcialmente Observável
Caso o agente não consiga obter algum aspecto do
ambiente que seja relevante para a escolha de sua ação, o ambiente é chamado de parcialmente
Agentes – Propriedades do Ambiente
Determinístico
Um ambiente é dito determinístico quando o
próximo estado do ambiente é determinado exclusivamente pelo estado atual e a ação executada pelo agente.
Ex.: Jogo de damas
Estocástico
Em ambiente estocástico, o agente não consegue
prevê o próximo estado, seja pelas incertezas deste ou devido à complexidade do mesmo.
Agentes – Propriedades do Ambiente
Episódico
Em ambientes episódicos a experiência dos
agentes é dividida em episódios atômicos. Cada episódio contendo o par de percepção e ação, não sendo o episódio seguinte dependente do anterior.
Ex.: Classificador de peças
Seqüencial
Já em ambientes seqüenciais, a decisão atual
poderia afetar as decisões futuras.
Agentes – Propriedades do Ambiente
Dinâmico
Um ambiente é dito dinâmico quando o seu estado
pode ser alterado enquanto o agente delibera.
Ex.: Automóvel autônomo
Estático
Em um ambiente estático o agente não precisa se
preocupar com o tempo de tomada de sua decisão.
Agentes – Propriedades do Ambiente
Discreto
Ambientes discretos possuem um número finito de
estados possíveis do ambiente.
Ex.: Jogo de Xadrez
Contínuo
Em ambientes contínuos, o número de estados é
infinito e freqüentemente não enumerável.
Agentes – Exemplo de ambientes
Sim Não Não Não Não Tutor interativo de inglêsNão Não Não Não Não Controlador de refinaria Não Não Sim Não Não Robô separador de peças
Não Semi
Sim Sim
Sim Sistema de análise de imagens
Não Não
Não Não
Não Sistema de diagnósticos médicos
Não Não Não Não Não Dirigir táxi Sim Sim Não Não Sim Gamão Sim Sim Não Não Não Poker Sim Sim Não Sim Sim Xadrez sem relógio
Sim Semi
Não Sim
Sim Xadrez com relógio
Discreto Estático Episódico Determinístico Observável Ambiente
Agentes – Robocode como exemplo
Robocode, um simulador de combate entre
Agentes – Robocode como exemplo
Agentes - Arquiteturas
Define a organização das partes do agente.
Implicações diretas no eixo cognitivo do
agente.
As arquiteturas podem ser:
Reativas
Deliberativas
Agentes – Arquitetura reativa
Arquitetura reativa de subsunção ( Brooks )
Módulos superiores possuem maior prioridade de
Agentes – Arquitetura reativa
Exemplo dos robôs mineradores
Eles devem procurar e coletar minerais para
Agentes – Arquitetura reativa
Comportamentos em uma arquitetura de
subsunção.
Evitar obstáculos Pegar mineral
Descarregar mineral na base Realizar movimento aleatório
Menor prioridade de execução Maior prioridade de execução
Agentes – Arquitetura deliberativa
Arquitetura deliberativa
É baseada em representações simbólicas, com
bastante influência da área de planejamento.
Conhecimento
Planos Objetivos
Agentes – Arquitetura híbrida
Arquitetura híbrida de três camadas
Permite que o agente continue respondendo ao
ambiente em tempo real enquanto processa novas deliberações.
Camada deliberativa
Camada executiva
Agentes – Arquitetura híbrida
Agentes – Arquitetura híbrida
Arquitetura híbrida especializada para o
Agentes – Exemplo de agente híbrido
Projeto GameBOTs Projeto GameBOTs Percepções Percepções NAV {Id Nav9} {Location 7,2,8} {Reachable True} ... KIL {Id dmstalwart.RemoteBot0} {Killer dm stalwart.RemoteBot1} {DamageType XWeapons.DamTypeLinkPlasma} Ações Ações CHANGEWEAPON {Id Best} ... ROTATE {Amount 3212} {Axis 0.0 0.0 1.0}Sistema Multiagente - Definição
Um conjunto de agentes que interagem em um mesmo ambiente.
Sistemas Multiagentes - Paradigma
Mudança de uma abordagem global e centralizada para um abordagem de
Sistemas Multiagentes - Vantagens
Facilidade para modelar domínios
inerentemente distribuídos.
Como a monitoria de plantas industriais.
Facilidade para modelar domínios abertos.
Como internet, mundo físico e ambientes virtuais.
Eficiência quando não há uma boa solução
centralizada.
Sistemas Multiagentes - Dificuldades
Interações entre os agentes muitas vezes são
imprevisíveis em tempo de projeto
Coordenar as ações dos agentes
Como levar os agentes a resolver o problema?
Eles precisam cooperar ou eles precisam competir?
Os agentes são altruistas ou só atuam por
interesses individuais?
Tratar como os agentes se comunicam
Sistemas Multiagentes Reativos
Existem tarefas complexas que podem ser
executadas por um conjunto de agentes simples, como:
Busca de alimentos para abastecimento de um
formigueiro.
Fabricação de mel em uma colméia.
Exemplo de aplicação.
TSP resolvido através do algoritmo de formigas.
Novas subáreas
Vida Artificial
Sistemas Multiagentes Reativos
Os sistemas multiagentes reativos são
caracterizados em geral por possuir:
Muitos agentes simples
Organização etológica
Comunicação é indireta
Sistemas Multiagentes Reativos
Sistemas Multiagentes Cognitivos
Os sistemas multiagentes cognitivos são
caracterizados em geral por possuir:
Organização social
Comunicação direta
Representação explícita
Sistemas Multiagentes - Comunicação
A comunicação exerce um importante papel
dentro de sistemas multiagentes cognitivos, permitindo a coordenação de agentes dentro do sistema.
Na década de 70, surgiu um dos primeiros
protocolos para estabelecimento de
negociação entre os agentes conhecido como
Contract NET
Na década de 90, surge um linguagem e um
protocolo de troca de informação conhecido como KQML.
Sistemas Multiagentes – Contract NET
Protocolo de comunicação de agentes para
distribuição de tarefas.
Funcionamento similar ao preenchimento de uma
vaga no mercado de trabalho.
A empresa tem um problema e precisa de alguém para
resolver.
A empresa anuncia uma vaga de emprego. Os interessados enviam seus currículos.
Sistemas Multiagentes – Contract NET
Reconhecendo o problema O agente A1 identifica que possui um problema e precisa de ajuda para resolvê-lo.Sistemas Multiagentes – Contract NET
Anunciando a tarefa
O agente A1 anuncia
aos demais agentes a tarefa que precisa ser executada para
Sistemas Multiagentes – Contract NET
Informando capacidades Os agentes habilitados e dispostos a executar a tarefa informa ao A1 sobre a disponibilidade para executar a tarefa.Sistemas Multiagentes – Contract NET
Contratando um
agente
O agente A1
estabelece um
contrato com o agente que ele escolheu.
Sistemas Multiagentes - KQML
Knowledge Query and Manipulation Language
(KQML) é um protocolo e uma linguagem para comunicação de agentes e sistemas baseados em conhecimento.
Baseia-se na associação de estados cognitivos
dos agentes com primitivas da linguagem denominada atos de fala.
É uma linguagem simples e independente de
plataforma ou conteúdo, mas com uma semântica informal.
Sistemas Multiagentes - KQML
Sistemas Multiagentes - KQML
Sistemas Multiagentes - KQML
Sistemas Multiagentes - KQML
AgenteAlfa informa que é capaz de executar
Sistemas Multiagentes - KQML
Sistemas Multiagentes - KQML
Sistemas Multiagentes - Coordenação
Teoria do jogos
Planejamento Multiagente
Sistemas Multiagentes – Dilema
do Prisioneiro
Prisioneiro A não confesa Prisioneiro A confesa
Prisioneiro B não confesa A e B pegam 1 ano de prisão A fica livre e B pega 5 anos de prisão
Prisioneiro B confesa B fica livre e A pega 5 anos de prisão A e B pegam 3 anos de prisão
1. Nem os EUA nem a URSS constroem um arsenal — o status quo é preservado. 2. Os USA constroem um arsenal mas a URSS, não — os EUA ficam em posição de potencialmente destruir a União Soviética e dominar o mundo.
3. A URSS constrói um arsenal mas os EUA, não — os soviéticos ficam em posição de potencialmente destruir os USA e dominar o mundo.
4. USA e URSS constroem arsenais — uma corrida armamentista, nenhum lado domina, muito dinheiro é gasto e o mundo inteiro agora encara a possibilidade de uma
devastadora guerra nuclear.
Sistemas Multiagentes – Dilema
do Prisioneiro
Sistemas Multiagentes –
Planejamento com PGP
Partial Global Planning
Como agentes que possuem uma visão local
devem se comunicar e cooperar para alcançar a solução de um problema distribuído?
É desejável:
Evitar retrabalho,
Evitar sobrecarga ou sub-utilização dos agentes,
Sistemas Multiagentes –
Planejamento com PGP
Organização
Estrutura estática, inicializada na criação dos agentes
Especificação de papéis e responsabilidades
Provê uma estratégia global para solução do problema
Meta-nível de organização
Nós com autoridade sobre outros
Recebe planos e sugere mudanças que melhoram a coordenação.
Nós com autoridade sobre ele
Recebe sugestão sobre alteração do seu plano e decide se deve
mudar.
Sistemas Multiagentes –
Planejamento com PGP
Planejamento
Estratégias para solução em longo prazo
representado por planos em alto nível.
Pequenas mudanças não alteram o plano.
Apenas grandes mudanças da situação podem
mudar a estratégia de longo prazo.
Planos são ordenados e armazendos em uma
Sistemas Multiagentes - Teamwork
Esforço cooperativo realizado por membros de um time para alcançar um objetivo comum.
Sistemas Multiagentes - Teamwork
Domínio ilustrativo – Ataque
Aeronaves devem seguir até um ponto de espera
enquanto dois helicópteros de escolta seguem para verificar o campo de batalha e informar a situação de ataque aos demais.
Sistemas Multiagentes - Teamwork
Domínio ilustrativo – Transporte
Aeronaves escoltam transportadores de tropas
Sistemas Multiagentes - Teamwork
Problemas com coordenação clássica(1)
Término anormal em que o comandante retorna a base sozinho,
abandonando os outros membros em campo de batalha.
Uma aeronave de escolta inesperadamente quebra do outro lado da
montanha enquanto vasculhava a área, e o restante da equipe espera indefinidamente pela mensagem da nave de escolta.
Um piloto executa as ordens iniciais antes dos outros. Ela acaba voando
para o campo de batalha sozinho enquanto o restante do time continua na base.
Uma aeronave de escolta, após vasculhar a área, espera
indefinidamente por outros membros que quebraram ou foram atingidos.
Quando a ordem inicial falha na alocação da regra de escolta para
membros do time, todos esperam indefinidamente quando eles chegam no ponto de parada.
Sistemas Multiagentes - Teamwork
Problemas com coordenação clássica(2)
Instruções enviadas pelo comandante foram perdidas, porque o
comandante inesperadamente enviou a mensagem enquanto os membros do time estavam ocupados com outras tarefas. Estes
membros ficaram impossibilitados de executar as ações apropriadas.
Enquanto contornava um veículo encontrado na rota, um helicóptero
inesperadamente destruiu esse veículo, entretanto, esse agente não informou aos demais membros do time, e assim o restante da equipe continua planejando outra rota.
Quando acaba munição de todos os membros da equipe, eles falham
em inferir que a missão não poderia mais continuar.
Dois grupos utilizam acidentalmente a mesma freqüência de rádio,
Sistemas Multiagentes - Teamwork
Joint Intentions
Comprometimento
Raciocínio sobre coordenação e comunicação do teamwork.
A junção de comprometimento
monitoramento e manutenção das atividades do time.
Representação explícita das atividades do time
Shared Plans
Definido sobre um conjunto de axiomas que guia um
indivíduo a tomar ações.
Usa as intenções individuais para estabelecer
comprometimento de colaborador com suas atividades em conjunto.