31
Representação do Conhecimento Baseado nos slides de Tom Lenarts (IRIDIA) Capítulo 10

Representação do Conhecimento - fenix.tecnico.ulisboa.pt · Raciocínio e resolução de problemas pode envolver várias ... livro). Tomates: algo ... Um litro de água pesa mais

Embed Size (px)

Citation preview

Representação do Conhecimento

Baseado nos slides de Tom Lenarts (IRIDIA)

Capítulo 10

Sumário   Engenharia Ontológica   Categorias e objectos   Acções, situações e eventos

Objectivos   Capítulo anterior

  Sintaxe e semântica da lógica de 1ª ordem   Possibilidade de implementar agentes baseados em

lógica

  Agentes baseados em lógica   Base de conhecimento + motor de inferência

  Neste capítulo   Qual o conhecimento que deve ser incluído na base de

conhecimento? Como representar esse conhecimento?

Engenharia Ontológica   Preocupa-se em criar representações mais gerais e

flexíveis   Conceitos como acções, tempo, objectos físicos e

crenças

  Definir uma framework de conceitos   Ontologia genérica

  Limitações da representação lógica   Tipicamente as generalizações têm excepções   Exº Tipicamente os tomates são vermelhos, mas…

também há tomates verdes e amarelos

Ontologia genérica do mundo

Ontologia genérica vs ontologias específicas   Uma ontologia genérica deve ser aplicável em qualquer

domínio específico   Adicionando axiomas específicos do domínio

  Uma ontologia genérica deve ser aplicável em domínios mais complexos, em que é necessário unificar diferentes áreas do saber   Raciocínio e resolução de problemas pode envolver várias

áreas simultaneamente

Ontologia genérica vs ontologias específicas   O que é necessário especificar?

Categorias, Medidas, Objectos compostos, Tempo, Espaço, Mudança, Eventos, Processos, Objectos Físicos, Substâncias, Objectos mentais, Crenças

Categorias e objectos

  Os objectos devem ser organizados em categorias   Interacção ao nível do objecto

  Consideramos objectos concretos   Raciocínio ao nível das categorias

  E.g. objectivo de comprar maçãs   Categorias permitem caracterizar objectos

  A partir das suas propriedades

Categorias e objectos

  Categorias podem ser representadas de 2 formas em LPO   Predicados: Maçã(x)

  Categoria é o conjunto dos seus membros   Algo mais complexo: Maçãs

  Há que assumir que estão definidas as operações Membro e Subconjunto

  Membro(x, Maçãs), Subconjunto(Maçãs, Frutas)

  Categoria pode ser categoria de categorias   E.g. Frutas

Categorias e objectos

  As categorias podem servir para organizar e simplificar a base de conhecimento através da relação de herança

Organização de categorias

  Relação = herança:   Todas as

instâncias de alimentos são comestíveis, fruta é uma subclasse de alimento e maçã é uma subclasse de fruta – logo maçã é comestível

  Relações de subclasse definem taxonomia

LPO e categorias

  A LPO permite que se representem facilmente factos sobre categorias   Relacionando objectos com categorias   Quantificando sobre os seus membros

LPO e categorias

  Um objecto é um membro de uma categoria   Membro(BB12,BolasBasket)

  Uma categoria é uma subclasse de outra categoria   Subconjunto(BolasBasket,Bolas)

  Todos os membros de uma categoria têm algumas propriedades   ∀x (Membro(x,BolasBasket) ⇒ Redondo(x))

  Todos os membros de uma categoria podem ser reconhecidos por algumas propriedades   ∀x Laranja(x) ∧ Redondo(x) ∧ Diâmetro(x)=24.1cm ∧

Membro(x,Bolas) ⇒ Membro(x,BolasBasket)

  Uma categoria tem propriedades   Subconjunto(Cães,EspéciesDomésticas)

Relações entre categorias   Duas ou mais categorias são disjuntas se não têm membros em

comum:   Disjuntos(s)⇔

(∀ c1,c2 c1 ∈ s ∧ c2 ∈ s ∧ c1 ≠ c2 ⇒ Intersecção(c1,c2) ={})   Exemplo: Disjuntos({animais, vegetais})

  Um conjunto de categorias s é uma decomposição exaustiva de uma categoria c sse s é um conjunto de subclasses de c tal que cada elemento de c pertence a pelo menos uma categoria de s:   DecomposiçãoExaustiva(s,c) ⇔ (∀ i i ∈ c ⇔ ∃ c2 c2 ∈ s ∧ i ∈ c2)   Exemplo: DecomposiçãoExaustiva({Americanos,

Canadianos, Mexicanos},NorteAmericanos).

Relações entre categorias

  Uma partição é uma decomposição exaustiva disjunta:   Partitição(s,c) ⇔ Disjuntos(s) ∧ D.E.(s,c)   Exemplo: Partição({Masculino,Feminino},Pessoas).

  ({Americanos,Canadianos,Mexicanos},NorteAmericanos) é uma partição? Não porque algumas pessoas têm dupla nacionalidade

  Categorias podem ser definidas dando condições necessárias e suficientes para que um objecto seja membro de uma categoria   ∀x TrabalhadorEstudante(x) ⇔ Trabalhador(x) ∧ Estudante(x)

Definições não estritas

  Muitas categorias não têm definições claras (cadeira, arbusto, livro).

  Tomates: algo verde, vermelho, amarelo. Tipicamente redondo.

  Solução possível: categoria Típico.   Típico(c) é subconjunto de c   x ∈ Típico(Tomates) ⇒ Vermelho(x) ∧ Esférico(x)   Podemos explicitar factos úteis sobre categorias sem dar

definições exactas. Todos os tomates “típicos” são tomates.

Composição Física   Um objecto pode ser parte de outro:

  Parte(Bucareste,Roménia)   Parte(Roménia, EuropaLeste)   Parte(EuropeLeste,Europa)

  O predicado Parte é transitivo (e reflexivo), logo podemos inferir Parte(Bucareste,Europa)

  Generalizando:   ∀ x,y,z Parte(x,y) ∧ Parte(y,z) ⇒ Parte(x,z)   ∀ x Parte(x,x)

  Composição física é muitas vezes caracterizada por relações estruturais entre as partes.   E.g. Bípede(a) ⇒

Medidas

  Objectos têm peso, massa, custo, .... Valores atribuídos a estes atributos são medidas

  Combinar funções com um valor numérico: Comprimento(L1) = Polegadas(1.5) = Centímetros(3.81).

  Conversão entre unidades: ∀i Centímetros(2.54 * i) = Polegadas(i).

  Algumas medidas não têm escala: Beleza, Dificuldade, etc.   Aspecto mais importante das medidas: são ordenáveis.   Números podem ser irrelevantes; o que interessa é a

relação de ordem. (Uma maçã pode ter sabor .9 ou .1.)

Mundo do Wumpus: descrição   Ambiente

  Posições adjacentes a pit cheiram bem

  Posições adjacentes ao wumpus cheiram mal

  Brilho sse ouro está na mesma posição

  Disparar gasta a única seta   Disparar mata o wumpus se

estamos de frente para ele   Agarrar apanha o ouro que está na

mesma posição   Largar liberta o ouro na posição   Agente morre na posição com

wumpus (vivo) ou com pit   Sensores: CheirarMal, CheirarBem, Brilhar,

Chocar, Gritar   Actuadores: virar esquerda, virar direita,

frente, agarrar, largar, disparar

Acções, eventos e situações

•  Raciocínio sobre resultado de acções é fundamental para um agente baseado em conhecimento

•  Representação do tempo através de situações (estados resultantes da execução de acções) •  Cálculo situacional

Cálculo Situacional   Objectivo: especificar para o instante t+1 o resultado de ter realizado

determinada acção em t   Só que em vez de lidar directamente com o tempo, o foco está nas

situações   O cálculo situacional envolve a seguinte ontologia

  Situações são termos lógicos e consistem em:   Situação inicial S0   Todas as situações resultantes de uma acção (=Resultado(a,s))

  Fluentes são funções e predicados que variam de uma situação para outra (algo que muda entre situações)

  E.g. ¬Segurar(G1, S0) (o agente não está a segurar o ouro em S0)   Predicados e funções eternos são predicados e funções que

nunca mudam   E.g. Ouro(G1), PernaEsq(Wumpus)

Cálculo Situacional: exemplo

Cálculo Situacional

  Resultados de sequências de acções são determinados por acções individuais   Resultado([ ], s) = s   Resultado([a|seq], s) = Resultado(seq,Resultado(a,s))

  No cálculo situacional o agente deve ser capaz de:   deduzir o resultado de uma sequência de acções

(Tarefa de Projecção)   encontrar uma sequência de acções que produz o

efeito desejado (Tarefa de Planeamento)

Exemplo em LPO

  O que é verdade em S0 (não é suficiente)   Em(Agente,[1,1],S0) ∧ Em(G1,[1,2],S0)

  Incluir o que não é verdade em S0!   Em(o,x,S0) ⇔ [(o=Agente ∧ x=[1,1]) ∨ (o= G1 ∧

x=[1,2])]   ¬Segurar(o,S0)

  Outros factos   Ouro(G1) ∧ Adjacente([1,1],[1,2]) ∧ Adjacente([1,2],

[1,1])

Exemplo em LPO (cont.)

  Tarefa de projecção: provar que o agente alcança o seu objectivo ao deslocar-se para a posição [1,2], agarrar o ouro e voltar para a posição [1,1]   Em(G1,[1,1],Resultado([Ir([1,1],[1,2]),

Agarrar(G1),Ir([1,2],[1,1])],S0)

  Tarefa de Planeamento: construção de um plano para dar resposta à questão “Qual a sequência de acções que leva a que o ouro esteja na posição [1,1]?”   ∃seq Em(G1,[1,1],Resultado(seq, S0))

Tempo e Cálculo de Eventos   Cálculo de eventos (vs. cálculo situacional): baseado em momentos de

tempo em vez de situações   Inicio(e,f,t): a ocorrência do evento e no momento t, levou

a que o fluente f fosse verdadeiro   Fim(e,f,t): a ocorrência do evento e no momento t, levou a

que o fluente f deixasse de ser verdadeiro   Acontece(e,t): e ocorre no instante t   Terminado(e, t1,t2): e terminou devido a um evento

qualquer entre t1 e t2

  Um fluente é verdadeiro num momento de tempo se o fluente teve origem num evento passado e não foi terminado por um evento que ocorreu entretanto   Verdadeiro(f,t2) ⇔ ∃e,t Acontece(e,t) ∧ Inicio(e,f,t) ∧ (t<t2)

∧ ¬Terminado(e,t,t2)   Terminado(e,t,t2) ⇔ ∃e,t1 Acontece(e,t1) ∧ Fim(e,f,t1) ∧

(t<t1)∧ (t1<t2)

Exercícios

  A água é líquida entre 0 e 100 graus   Para qualquer água e situação, a água é líquida sse

a temperatura da água nessa situação estiver entre 0 e 100 graus

  A água ferve a 100 graus   A água que está na garrafa do João está congelada   Luso é um tipo de água   O João tem água do Luso na sua garrafa   Todos os líquidos têm um ponto de congelação   Um litro de água pesa mais do que um litro de álcool

Exercícios

  A água é líquida entre 0 e 100 graus   ∀ a,s a ∈ Água ⇒ (Centígrado(0) < Temperatura(a,s)

< Centígrado(100)) ⇔ Verdadeiro(a ∈ Líquido,s)

Exercícios

  A água ferve a 100 graus   PontoFervura(Água,Centígrado(100))   PontoFervura(c,pf) ⇔∀ x,s x ∈ c ⇒ (∀t

Verdadeiro(Temperatura(x,t),s) ∧ t > pf ⇒ Verdadeiro(x∈Gasoso,s))

Exercícios

  A água que está na garrafa do João está congelada   ∃g ∀a a ∈ Água ∧ g ∈ GarrafasÁgua ∧

Tem(João,g,Agora) ∧ Dentro(a,g,Agora) ⇒ verdadeiro(a ∈ Sólido,Agora)

Exercícios

  Luso é um tipo de água   Subconjunto(Luso,Água)

  O João tem água do Luso na sua garrafa   ∃g ∀a a ∈ Água ∧ g ∈ GarrafasÁgua ∧ Tem(João,g,Agora) ∧

Dentro(a,g,Agora) ⇒ verdadeiro(a ∈ Luso, Agora)

  Todos os líquidos têm um ponto de congelação   ∀c SubstânciaLíquida(c) ⇒ ∃t PontoCongelação(c,t)   PontoCongelação semelhante a PontoFervura

  1litro de água pesa mais do que 1litro de álcool   ∀a,al a ∈ Água ∧ al ∈ Álcool ∧ Volume(a) = Litro(1) ∧

Volume(al) = Litro(1) ⇒ Massa(a) > Massa(al)