Representação do
Conhecimento
Baseado nos slides de Tom Lenarts (IRIDIA)
Sumário
Engenharia Ontológica
Categorias e objectos
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
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…
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
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,
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 defruta – 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
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,
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.
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(L
1) = Polegadas(1.5) = Centímetros(3.81).
Conversão entre unidades:
∀
i Centímetros(2.54 x 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
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,
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
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
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
Exemplo em LPO
O que é verdade em S
0
(não é suficiente)
Em(Agente,[1,1],S
0) ∧ Em(G
1,[1,2],S
0)
Incluir o que não é verdade em S
0
!
Em(o,x,S
0) ⇔ [(o=Agente ∧ x=[1,1]) ∨ (o= G
1∧
x=[1,2])]
¬Segurar(o,S
0)
Outros factos
Ouro(G
1) ∧ Adjacente([1,1],[1,2]) ∧ Adjacente([1,2],
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(G
1,[1,1],Resultado([Ir([1,1],[1,2]),
Agarrar(G
1),Ir([1,2],[1,1])],S
0)
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]?”
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) ∧
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
Exercícios
A água é líquida entre 0 e 100 graus
∀ a,s a ∈ Água ⇒ (Centígrado(0) < Temperatura(a,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) ∧