Representação do Conhecimento em
Lógica Clássica
Jacques Robin
CIn-UFPE
Roteiro
Revisão de Lógica proposicional e de 1a Ordem
Já vimos na aula de Prolog!
Tipologia dos conhecimentos
Representação das mudanças do ambiente
Dedução das localização
Conhecimento estratégico: objetivos e preferências
Qual tipo de conhecimento para qual
tipo de agente?
 Agente reativo puro:
 Regras associando diretamente percepção com ação
 see(glitter)  pick.
 Agente reativo com estado interno
 Regras associando indiretamente percepção com ação via
construção e manutenção de um modelo do ambiente
 Regras percepção  modelo  modelo
ex, X,Y,T see(glitter,T)  loc(agent,X,Y,T)  loc(gold,X,Y,T).
 Regras modelo  ação
 X,Y,T loc(agent,X,Y,T)  loc(gold,X,Y,T)  pick(T).
 Regras ação  modelo  modelo
 ex, T pick(T)  withGold(T+1).
 Regras modelo  modelo
 X,Y,T withGold(T)  loc(agent,X,Y,T)  loc(gold,X,Y,T).
Limitações do agente reativo
um agente ótimo deveria:
recuperar o ouro ou
determinar que é muito perigoso pegar o ouro e
em qualquer dos casos acima, voltar para (1,1) e sair da
caverna.
Um agente reativo nunca sabe quando sair,
estar com o ouro e estar na caverna (1,1) não fazem parte da
sua percepção (se pegou, esqueceu).
esses agentes podem entrar em laços infinitos.
Para ter essas informações, o agente precisa guardar
uma representação do mundo.
Qual tipo de conhecimento para qual
tipo de agente?
Agente deliberativo
 Associação percepção-ação:
Mediada por modelo do ambiente e objetivo do agente
Pode envolver encadear regras para construir plano multi-passo
necessário para atingir objetivo a partir de modelo
 Novo tipos de regras:
 Regras objetivo  modelo  ação
 ex, X,Y,T,N goal(loc(agent,X,Y,T+N),T)  N  5 
loc(wumpus,X,Y-1,T)   safe(X-1,Y-1,T)   safe(X+1,Y-1,T) 
hasArrows(T)  shoot(T).
 Regras objetivo  modelo  objetivo
 ex, T,N,M goal(withGold(T+N),T)  withGold(T+1)
 goal(loc(agent(1,1,T+M),T+1).
Tipos de conhecimento
 Estático x Dinâmico
 Do problema x Meta-conhecimento (controle, explicação, reuso)
 Diagnóstico x Causal
 Dedutivo x Terminológico
 Intencional x Extensional
 Síncrono x Diácrono
 Certo x Incerto
 Preciso x Vago
 Declarativo x Procedimental
 De senso comum x Especialista
 Explicito x Implícito
Conhecimento estático x dinâmico
 Conhecimento estático:
 Hierarquia de conceitos (classes de fatos)
 ex,  X, wumpus(X)  monstro(X).
 Restrições de integridades
 ex,  X,Y wumpus(X)  wumpus(Y)  X = Y.
 Regras de dedução sobre o domínio
 ex,  X,Y smelly(X,Y)  (loc(wumpus,X+1,Y)  loc(wumpus,X-1,Y)
 loc(wumpus,X,Y+1)  loc(wumpus,X,Y-1).
 Meta-regras para controle e explicação do raciocínio
 Conhecimento dinâmico:
 Fatos, i.e., proposições sobre instâncias de conceitos
 ex, loc(wumpus,2,1)  loc(wumpus,1,2)  loc(wumpus,2,3)
loc(wumpus,2,3).
alive(wumpus,4).
 alive(wumpus,7).
Conhecimento causal x diagnóstico
 Conhecimento causal:
 prevê resultados de ações e eventos
 ex, X,Y,T loc(agent,X,Y,T)  orientation(0,T)  forward(T)
  loc(wall,X,Y+1)  loc(agent,X,Y+1,T+1).
Conhecimento diagnóstico:
 forma hipóteses sobre causas de efeitos observados
 ex,  X,Y,T smell(stench,X,Y,T)  smelly(X,Y).
 X,Y smelly(X,Y)  (loc(wumpus,X+1,Y) 
loc(wumpus,X-1,Y) 
loc(wumpus,X,Y+1) 
loc(wumpus,X,Y-1)).
Conhecimento terminológico x dedutivo
 Conhecimento terminológico:
 ex,  M, wumpus(M)  monster(M).
 M,T monster(M)  alive(M,T)  dangerous(M,T).
Conhecimento dedutivo:
 ex, M,X,Y,T dangerous(M,T)  loc(M,X,Y,T)   safe(X,Y,T).
X,Y,T loc(agent,X,Y,T)  orientation(0,T)  forward(T)
  loc(wall,X,Y+1)  loc(agent,X,Y+1,T+1).
Conhecimento intencional x extensional
 Conhecimento intensional:
 Fatos ou regras universalmente quantificados
 ex,  X,Y X = 0  X = 5  Y = 0  Y = 5  loc(wall,X,Y).
 Conhecimento extensional:
 Instâncias de conceitos
 ex, loc(wall,0,1). loc(wall,0,2). loc(wall,0,3). loc(wall,0,4).
loc(wall,5,1). loc(wall,5,2). loc(wall,5,3). loc(wall,5,4).
loc(wall,1,0). loc(wall,2,0). loc(wall,3,0). loc(wall,4,0).
loc(wall,1,5). loc(wall,2,5). loc(wall,3,5). loc(wall,4,5).
Conhecimento síncrono x diácrono
 Conhecimento diacrono:
 Regras de previsão das propriedades do ambiente entre dois
instantes T e T+1 devidas a ações ou eventos
 ex, X,Y,T loc(agent,X,Y,T)  orientation(0,T)  forward(T)
  loc(wall,X,Y+1)  loc(agent,X,Y+1,T+1).
 Conhecimento síncrono:
 Regras de propagação das conseqüências não observáveis do
ambiente a partir das observadas no mesmo instante T
 ex, M,X,Y,T dangerous(M,T)  loc(M,X,Y,T)   safe(X,Y,T).
Conhecimento certo x incerto
 Conhecimento certo:
 Epistemologicamente booleano
 ex,  X,Y smelly(X,Y)   smelly(X+1,Y-1)   smelly(X-1,Y-1)
 loc(wumpus,X,Y+1).
 Conhecimento incerto:
 Epistemologicamente probabilista:
 ex,  X,Y smelly(X,Y,1)  (loc(wumpus,X+1,Y,0.25) 
loc(wumpus,X-1,Y,0.25) 
loc(wumpus,X,Y+1,0.25) 
loc(wumpus,X,Y-1,0.25)).
Conhecimento explícito x implícito
 Conhecimento explícito:
 Sentenças simbólicas explicitamente armazenadas na base de
conhecimento
Conhecimento implícito:
 Axiomas que devem ser verificados para que a base de
conhecimento reflete o ambiente modelado
 Idealmente documentadas, no entanto muitas vezes presentes
apenas na cabeça do engenheiro do conhecimento
 Suposições permitindo codificação mais simples e concisa da
base de conhecimento
 Explicitar conhecimento implícito necessário para
tornar BC facilmente extensível
Conhecimento explícito x implícito:
exemplo de explicitação de conhecimento
 A codificação see(glitter)  pick.
 Deixa implícito que:
 Existe um único agente no ambiente
 See é uma percepção
 Pick é uma ação
 A visão do agente é limitada a caverna no qual se encontra
 O ouro é o único objeto a brilhar e o único objeto que o agente
pode pegar
Conhecimento explícito x implícito:
exemplo de explicitação de conhecimento
Quando essas suposições não são mais verificadas, a
codificação tem que tornar-se mais explícita, ex:
 A,C,T,X,Y agent(A)  loc(C,[(X,Y)])  time(T)  in(A,C,T) 
horizCoord(X)  verticCoord(Y)  percept(A,C,T,vision,glitter)
  O physObj(O)  emit(O,glitter)  in(O,C,T).
 O physObj(O)  emit(O,glitter)  ouro(O).
 O ouro(O)  treasure(O).
 A,C,T,X,Y,O agent(A)  loc(C,[(X,Y)])  time(T)  in(A,C,T) 
horizCoord(X)  verticCoord(Y)  in(O,C,T)  treasure(O)
 chooseAction(A,T+1,pick(O)).
Representando Mudanças no Mundo:
abordagens
“Como representar as mudanças realmente?
O agente foi de (1,1) para (1,2)
“Apagar” da BC sentenças que já não são verdade
ruim: perdemos o conhecimento sobre o passado, o que
impossibilita previsões de diferentes futuros.
Cada estado é representado por uma BC diferente:
ruim: pode explorar situações hipotéticas, porém não pode
raciocinar sobre mais de uma situação ao mesmo tempo.
ex. “existiam buracos em (1,2) e (3,2)?”
Solução: Cálculo situacional
uma maneira de escrever mudanças no tempo em LPO.
representação de diferentes situações na mesma BC
Cálculo Situacional
O mundo consiste em uma seqüência de situações
situação N ===ação===> situação N+1
Predicados que mudam com o tempo têm um
argumento de situação adicional
Ao invés de Em(Agente,local) teremos
(Em(Agente,[1,1],S0)  Em(Agente,[1,2],S1))
Predicados que denotam propriedades que não mudam
com o tempo
não necessitam de argumentos de situação
ex. no mundo do Wumpus:Parede(0,1) e Parede(1,0)
Para representar as mudanças no mundo: função
Resultado
Resultado (ação,situação N) = situação N+1
Exemplo de cálculo situacional
Result(Forward,S0) = S1
Result(Turn(Right),S1) = S2
Result(Forward,S2) = S3
Axiomas estado-sucessor
Descrição completa de como o mundo evolui
uma coisa é verdade depois 
[uma ação acabou de torná-la verdade
ela já era verdade e nenhuma ação a tornou falsa ]
 Ex. a,x,s Segurando(x, Resultado(a,s)) 
[(a = Pegar Presente (x, s) Portável(x))
 (Segurando (x,s) (a  Soltar)]
É necessário escrever uma axioma estado-sucessor
para cada predicado que pode mudar seu valor no
tempo.
Guardando localizações
O agente precisa lembrar por onde andou e o que viu
para poder deduzir onde estão os buracos e o Wumpus,
para garantir uma exploração completa das cavernas
O agente precisa saber:
localização inicial = onde o agente está
Em (Agente,[1,1],S0 )
orientação: a direção do agente (em graus)
Orientação (Agente,S0 ) = 0
localização um passo à frente: função de locais e orientações
x,y PróximaLocalização ([x,y ],0) = [x+1,y ]
x,y PróximaLocalização ([x,y ],90) = [x,y+1 ]
x,y PróximaLocalização ([x,y ],180) = [x-1,y ]
x,y PróximaLocalização ([x,y ],270) = [x,y-1 ]
Guardando localizações
A partir desses axiomas, pode-se deduzir que
quadrado está em frente ao agente “ag” que está na
localização “l”:
ag,l,s Em (ag,l,s ) 
localizaçãoEmFrente (ag,s) =
PróximaLocalização (l,Orientação (ag,s))
Podemos também definir adjacência:
l1,l2 Adjacente (l1,l2 ) d l1 = PróximaLocalização (l2,d
)
E detalhes geográficos do mapa:
x,y Parede([x,y]) (x =0 x =5 y =0 y =5)
Guardando localizações
Resultado das ações sobre a localização do agente:
Axioma Estado-Sucessor: avançar é a única ação que muda a
localização do agente (a menos que haja uma parede)
a,l,ag,s Em(ag,l,Resultado(a,s)) 
[(a = Avançar l = localizaçãoEmFrente(ag,s)  Parede(l))
 (Em(ag,l,s) a  Avançar)]
Efeito das ações sobre a orientação do agente:
Axioma ES: girar é a única ação que muda a direção do agente
a,d,ag,s Orientação(ag,Resultado(a,s)) = d 
[(a = Girar(Direita) d = Mod(Orientação(ag,s) - 90, 360)
 (a = Girar(Esquerda) d = Mod(Orientação(ag,s) + 90,
360)
(Orientação(ag,s) = d   (a = Girar(Direita) a =
Girar(Esquerda))]
Deduzindo Propriedades do Mundo
Agora que o agente sabe onde está, ele pode
associar propriedades aos locais:
 l,s Em (Agente,l,s)  Brisa(s)  Ventilado(l)
 l,s Em (Agente,l,s)  Fedor(s)  Fedorento(l)
Sabendo isto o agente pode deduzir:
onde estão os buracos e o Wumpus, e
quais são as cavernas seguras (predicado OK).
Os predicados Ventilado e Fedorento não
necessitam do argumento de situação
Modularidade das Regras
As regras que definimos até agora não são modulares:
mudanças nas crenças do agente sobre algum aspecto do
mundo requerem mudanças nas regras que lidam com outros
aspectos que não mudaram.
Para tornar essas regras mais modulares, separamos fatos
sobre ações de fatos sobre objetivos:
assim, o agente pode ser “reprogramado” mudando-se o seu
objetivo.
Ações descrevem como alcançar resultados.
Objetivos descrevem a adequação (desirability) de estados
resultado, não importando como foram alcançados.
Descrevemos a adequação das regras e deixamos que
a máquina de inferência escolha a ação mais adequada.
Modularidade: Adequação das Regras
Escala, em ordem decrescente de adequação:
ações podem ser: ótimas, boas, médias, arriscadas e mortais.
O agente escolhe a mais adequada
a,s Ótima(a,s)  Ação(a,s)
a,s Boa(a,s)  ( b Ótima(b,s))  Ação(a,s)
a,s Média(a,s)  ( b (Ótima(b,s) Boa(b,s) ))  Ação(a,s)
a,s Arriscada(a,s)  ( b (Ótima(b,s) Boa(b,s) 
Média(a,s) ))  Ação(a,s)




Essas regras são gerais, podem ser usadas em
situações diferentes:
uma ação arriscada na situação S0 (onde o Wumpus está vivo)
pode ser ótima na situação S2, quando o Wumpus já está
morto.
Sistema de Ação-Valor
 sistema de ação-valor: Um sistema baseados em
regras de adequação
Não se refere ao que a ação faz, mas a quão desejável ela
é.
Prioridades do agente até encontrar o ouro:
ações ótimas: pegar o ouro quando ele é encontrado, e sair
das cavernas.
ações boas: mover-se para uma caverna que está OK e
ainda não foi visitada.
ações médias: mover-se para uma caverna que está OK e
já foi visitada.
ações arriscadas:mover-se para uma caverna que não se
sabe com certeza que não é mortal, mas também não é OK
ações mortais: mover-se para cavernas que sabidamente
contêm buracos ou o Wumpus vivo.
Agentes Baseados em Objetivos
O conjunto de ações-valores é suficiente para
prescrever uma boa estratégia de exploração
inteligente das cavernas.
quando houver uma seqüência segura de ações , ele acha o
ouro
Porém... isso é tudo o que um agente baseado em LPO pode
fazer.
Depois de encontrar o ouro, a estratégia deve
mudar...
novo objetivo: estar na caverna (1,1) e sair.
 s Segurando(Ouro,s)  LocalObjetivo ([1,1],s)
A presença de um objetivo explícito permite que o
agente encontre uma seqüência de ações que
alcançam esse objetivo.
Como encontrar seqüências de ações
(1) Busca:
Usar Busca pela Melhor Escolha para encontrar um
caminho até o objetivo.
Nem sempre é fácil traduzir conhecimento em um conjunto
de operadores, e representar o problema (ambiente) em
estados para poder aplicar o algoritmo.
(2) Inferência:
idéia: escrever axiomas que perguntam à BC uma seqüência
de ações que com certeza alcança o objetivo.
Porém: para um mundo mais complexo isto se torna muito
caro.
como distinguir entre boas soluções e soluções mais
dispendiosas (onde o agente anda “à toa” pelas cavernas)?
Agentes Baseados em Objetivos
(3) Planejamento:
envolve o uso de um sistema de raciocínio dedicado, projetado
para raciocinar sobre ações e conseqüências para objetivos
diferentes.
ficar rico e feliz
pegar o ouro
ações ee conseqüências
conseqüências
ações
sair das cavernas
ações ee conseqüências
conseqüências
ações
Download

x,y+1