View
25
Download
0
Category
Preview:
DESCRIPTION
Plano de Aula. Arquiteturas de Agentes Baseados Em Lógica BDI Reativas A arquitetura de Subsumption. Relembrando. Um agente é... Uma entidade autônoma, que percebe o ambiente através de seus sensores e atua neste através de seus atuadores... Assim... Como decidir que ações realizar?. - PowerPoint PPT Presentation
Citation preview
Plano de Aula
Arquiteturas de Agentes Baseados Em Lógica
BDI Reativas
A arquitetura de Subsumption
Relembrando...
Um agente é... Uma entidade autônoma, que
percebe o ambiente através de seus sensores e atua neste através de seus atuadores...
Assim... Como decidir que ações realizar?
Agentes Baseados em Lógica
Comportamento Inteligente = Representação simbólica do ambiente + do comportamento desejadoFormalismo: lógicaManipulação: dedução lógica Teoria de agentes (): como os
agentes devem se comportar
Agentes Baseados em Lógica
Estados internos dos agentes: fórmulas lógicas Aberta(válvula221) Interessante(aulaagentes)
Comportamento do agente: determinado por sua Base de Conhecimento (regras + fatos) Aquilo que o Agente acredita sobre seu ambiente
Três funções básicas: See – determina a percepção Next – atualiza a BC Action – escolhe a próxima ação
O Robô Aspirador de Pó
O Robô Aspirador
Agente recebe: Sujeira Null
Ações: para frente sugar virar
Objetivo: mover-se no ambiente buscando e removendo sujeira
Três predicados: Em(x.y) Sujeira(x,y) Direção(d)
Comportamento do agente função próximo regras de dedução
Agentes Baseados em Lógica
Função ´próximo´: Analisar as percepções Atualizar a Base de Conhecimento remover informações velhas ou irrelevantes Inferência em várias partes:
velho() = {P(t1,...,tn}/ P {Em, Suj, Dir} & P(t1,...,tn} Novo: todas as novas posições, direções e possíveis
sujeiras Próximo(,P) = ( \ velho()) Novo(,P)
Algoritmo Básico
Função ação_agente-BL (BC):açãoPara cada a A faça
se BC faça(a) entãoretorne a
para cada a A façase BC ¬faça(a) então
retorne aRetorne nullFim ação_agente-BL
Agentes Baseados em lógica
Regras de dedução: predicado(termo) predicado(termo) Ex: Em(0,0) Sujeira(0,0) Faça(sugar)
Problemas com essa abordagem Como mapear percepções para fórmulas? Complexidade da prova do teorema Difícil representar conhecimento procedimental Ambiente estático!!! Como seria num dinâmico?
Agentes BDI
BDI – Beliefs, Desires, Intentions Motivação: Raciocínio prático Processo de Decidir, a cada momento, que
ações tomar para chegar mais perto dos objetivos.
Implica Decidir que objetivos quer realizar Como vão ser executados esses objetivos
Requer Três conjuntos de sentenças lógicas: B, D e I Estes conjuntos são consistentes entre si.
Os Estados Mentais
Crenças: o que se sabe sobre o estado do ambiente e dos agentes
“Recife é ensolarada”.
Desejos: estados do mundo que o agente quer atingir
“Eu gostaria de ganhar 45 milhões de reais
Intenções: Comprometimento com ações para alcançar objetivo
“Vou Ligar para o dentista”
Um Exemplo...
Daniel acabou de se formar... O que fazer? Virar acadêmico... Ir para o Mercado
Se resolve ser acadêmico... Se compromete a realizar ações neste sentido Intenções Procurar Emprego em uma Universidade.
E o mundo, como está? Crenças Daniel se formou, Daniel pode ser professor
Que Desejo escolher?
Desejos
Especificam as preferências dos agentes sobre os estados do ambientePodem ser inconsistentes Eu desejo perder 30 Kg Gostaria de comer quilos de chocolate suíço
Desejos causam intenções açõesObjetivos: subconjunto consistente dos desejos.
IntençõesGuiam a escolha das Ações Devem ser c onsistente com desejos e crenças
Devem ser persistentes Demasiado persistentes. Fazem o agente
perder tempo!Pouco persistentes. Não alcançam
nenhum objetivo É preciso reconsiderar as intenções com alguma frequencia
Ainda é possível realizá-las? Já foram realizadas? Seria melhor se comprometer com outra intenção?
Reconsiderando Intenções...
Tempo t = 0Desejo: Atingir o alienIntenção: Aproximar-se de PCrença: o Alien está em P
P
Reconsiderando Intenções...
Tempo t = 10Desejo: Atingir o alienIntenção: Aproximar-se de PCrença: o Alien está em P
P
?
Q
O Dilema BDI
O agente não para para reconsiderar suas intenções: Perde tempo tentando o impossível!
(Xiita)
O agente para demais para reconsiderar: Não tem tempo de fazer nada! (Indeciso)
Como encontrar o balanço?
O que o agente BDI tem?
3 conjuntos de sentenças Crenças Desejos Intenções
4 Funções Revisão de Crenças BRF(Bel, BC) Geração de Intenções Options(Bel, Int) Função Filtro Filter(Bel, Des, Int) Função Selecionadora de Ações
Execute(Int)
A Arquitetura BDI
Agente
Como está o mundo agora?
Função Filtro
Função Revisão de Crenças
Que Intenções tenho?A m
b i
e n
t e
Função de OpçãoQue objetivos podem ser alcançados?
Estado interno: Crenças, desejos, intençõespercepções
+
ações
Sensores
Atuadores
Função de seleção de ações
Algoritmo do Agente BDI
Programa Agente BDI
t := 0 //contador de tempo
enquanto Agente-BDIAgente-BDI vivo, faça
TellTell(BC, Percepções-Percepções-SentençaSentença(percepção,t))
BRF(Percepcao, BC)
Desejos <- Options(BC, intençao)
intençao <- Filter (Bel, Des, intenção)
ação <- ExecutaExecuta(intenção)
fim
MArCo
Mediador Artificial de ConflitosMedia discussões entre agentes HumanosRaciocínio BDI/BGI
MArCo
Um exemplo de interação
A. Eu acho que as vendas de natal começam no princípio de novembro
B. Por que? Acho que é mais tarde...A. Para dar tempo de fazer
propaganda..B. Ah, ok.
O funcionamento de MArCo
MArCo
Como está o mundo agora?
Função Filtro
Função Revisão de CrençasO povo mudou de idéia?
Atualizo modelos
Que Intenções tenho?
Diá
log
o
Função de Opção: faço o povo elaborar as idéias?
Que objetivos podem ser alcançados?
Estado interno: Crenças (individuais e de grupo), desejos, intençõespercepções
+
ações
Sensores
Atuadores
Função de seleção de ações
Agentis (Australian Artificial Intelligence Institute)
Objetivo. Ajudar no desenvolvimento e manutenção de call centers Ou de portais na internet.
• Gera aplicações automáticas para os clientes• Reduz tempo de desenvolvimento e custos • Gera estatísticas de rendimento
Utilizado pela companhia de telecomunicações australiana para responder a 98% das chamadas ao sistema de ajuda ao usuário. Sistema comporta 4000 agentes.
Um Exemplo Real...
Arquiteturas Reativas
Alternativa a representação simbólicaO comportamento do agente é produto de sua interação com o ambienteComportamento inteligente emerge da interação entre vários comportamentos mais simples.Abordagem comportamental, situada, reativa
The Subsumption Architecture
a tomada de decisão é um conjunto de comportamentos realizadores de tarefa. Cada um é uma função de ação
Neste caso máquinas de estados finitos. Cada um assume a forma situação ação
Há uma hierarquia de comportamentos Comportamentos de nível mais baixo inibem
os de nível mais alto
O algoritmo Básico
Função ação (p:Percepção): açãovar disparado: nível; selecionada: açãodisparado <- {(cond, ação) }
para todo (cond, ação) disparadoSe ¬(cond’, ação’) disparado tal que
(cond’, ação’) < (cond, ação) return ação
return nullFim função ação
A arquitetura de Brooks
Módulos (e organização) definidos pelo designer Pode ser usada para descrever agentes cognitivos também.
Um Exemplo – Robô explorando ambiente
Evitar obstáculos
Recarregar
Otimizar caminhos
Mapear território
Explorar
Pegar/largar objetos
Avançar random.
Sensores
Atuadores
Ambiente
Um exemplo...O objetivo é explorar um planeta distante,
para coletar amostras de rocha. Não se sabe onde estão, mas há áreas de maior
concentração delas. Vários veículos autônomos estão disponíveis para
coletar amostras e depois voltar para a nave-mãe. Há um mapa do planeta
disponível, mas o planeta tem vários obstáculos que impedem os veículos de
se comunicar.
Para resolver o problema...
Utilização de dois mecanismos... Campo Gradiente/Potencial
Os objetos do ambiente emitem sinais, cuja intensidade é inversamente proporcional ao objetivo.
U(p) = Uatr(p) + U rep(p) Uatr(p) = k * dist(p, objetivo)2
U rep(p) = k’ * 1/dist(p, objetivo)2 se dist(p,
objetivo)<distinfl
0 caso contrário Comunicação Indireta
Fragmentos radioativos são deixados no caminho
Um parêntese...
Outra forma de construir os campos potenciais é alterar o potencial de atração... Campo dividido em células
Procedure valor(x, v)Se x.potencial não está definido ou v<x.potencialEntão
x.potencial = v; para todo y vizinho de x valor(y, v+1)Senão faça nadaFim da procedure
Comportamentos Utilizados...
1. se detectar obstáculo, mude de direção
2. Se carregar amostras e na base, largue
3. Se carregar amostras e fora da base, vá na direção do gradiente
4. Se achar amostra, pegue5. Se true, se mova randomicamente
Para assegurar cooperação
1. se detectar obstáculo, mude de direção2. Se carregar amostras e na base, largue3. Se carregar amostras e fora da base,
largue dois fragmentos e vá na direção do gradiente
4. Se achar amostra, pegue5. Se detectar fragmento, pegue e vá no
sentido contrário ao gradiente6. Se true, se mova randomicamente
Nem tudo são flores...
O ambiente deve fornecer informação suficiente para os agentes... mais complicado tomar decisões de longo prazo. Difícil projetar comportamento emergente. Difícil construir agentes com muitos comportamentos.