29
Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

Embed Size (px)

Citation preview

Page 1: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

Representação do Conhecimento em Lógica Clássica

Jacques RobinCIn-UFPE

Page 2: 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

Page 3: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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).

Page 4: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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.

Page 5: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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).

Page 6: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 7: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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).

Page 8: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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)).

Page 9: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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).

Page 10: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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).

Page 11: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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).

Page 12: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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)).

Page 13: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 14: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 15: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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)).

Page 16: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 17: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 18: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

Exemplo de cálculo situacional

Result(Forward,S0) = S1

Result(Turn(Right),S1) = S2

Result(Forward,S2) = S3

Page 19: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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.

Axiomas estado-sucessor

Page 20: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 21: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Page 22: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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 agentea,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))]

Guardando localizações

Page 23: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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

Deduzindo Propriedades do Mundo

Page 24: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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 das Regras

Page 25: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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.

Modularidade: Adequação das Regras

Page 26: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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.

Sistema de Ação-Valor

Page 27: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

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.

Agentes Baseados em Objetivos

Page 28: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

(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)?

Como encontrar seqüências de ações

Page 29: Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

(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 e conseqüênciasações e conseqüências ações e conseqüênciasações e conseqüências

sair das cavernas

Agentes Baseados em Objetivos