Lógica de Descrições
Fred Freitas
CIn - UFPE
Problemas com frames:
ambigüidade [Brachman 79, Franconi 2003]
entre classes e instâncias
em relações parte-todo
em quantificação
Ambigüidade entre classes e
instâncias
29’er :
–
–
–
–
AGE : 29 ,
SEX : M,
HEIGHT : Number ,
WIFE : Person .
john :
–
–
–
–
AGE : 29 ,
SEX : M,
HEIGHT : Number ,
WIFE : Person .
Ambigüidade em quantificação
Sapo
tem-cor
Verde
O que signiifica?
–
–
–
–
–
–
Todo sapo é só verde
Todo sapo também é verde
Todo sapo é de algum tipo de verde
Tem um sapo que é só verde
...
Sapos são tipicamente verdes, mas há exceções.
Conclusão: Problemas...
Falta de semântica formal
– Interpretações ambíguas
Raciocínio depende do que o desenvolvedor
pretende
– Definições semelhantes levam a raciocínios bem
diferentes
Provadores de teoremas não eram necessários
Complexidade computacional depende de cada
tipo de raciocínio
“It is unfortunately much easier to develop
some algorithm that appears to reason
over structures of a certain kind, than to
justify its reasoning by explaining what
the structures are saying about the
domain.”
Histórico
1ª. Geração (fins dos ’70 - 85)
– Linguagens terminológicas
– Representações com mais engajamento
ontológico,
– Mais riqueza: papéis, classificação
Sistemas:
– KL-ONE [Brachman & Schmolze 78]
– KRYPTON [Brachman et al 83]
terminologia+regras
Tbox vs ABox
2ª. Geração – Sistemas com DL
Ênfase em teoria
– Complexidade do raciocínio vs Expressividade
– Identificação das fontes de complexidade
Abordagens:
– Limitada+completa: P
Ex: CLASSIC [Brachman 91]
– Expressiva+incompleta: NP
Ainda ineficientes
Ex: LOOM [McGregor 87] e BACK [Nebel 90]
Nova (atual) geração
Alvo: Expressiva+completa!
Raciocínio baseado em tableaux, com
otimizações
Estudo de relações com outras lógicas
Ex: FACT e RACER [Horrocks 98 e 2000]
Lógica de Descrições
Fragmento de L2, Lógica de Predicados sem
funções, com até 2 variáveis
Separação entre:
– Terminologia (predicados): TBox
– Asserções (constantes, instâncias): ABox
Representação sem variáveis
– Interpretação como predicados, usando expressões-
– Student x.Student(x)
Lógica de Descrições - Expressividade
Conceitos (predicados unários, classes, conjuntos
de indivíduos, subconjunto do domínio)
– Ex: Student
– Ex: Married
Papéis (predicados binários, relações, conjuntos de
pares de indivíduos)
– Ex: friend
{x|Student(x)}
{x|Married(x)}
{(x,y)|friend(x,y)}
Construtores para expressões de conceitos
– Ex: Student friend.Married
– {x|Student(x)^y.friend(x,y)^Married(y)}
Indivíduos (instâncias)
– Ex: Student (zé), ...
Classe
Student
– Person
– name: [String]
– address: [String]
– enrolled: [Course]
Student Person ^ name.String ^
address.String ^ enrolled.Course
Instância
s1: Student
– name: “John”
– address: “Abbey Road . . . ”
– enrolled: cs415
Student ( s1 ) ^ name ( s1 , “ john ”) ^
String(“ john ”)^address (s1 ,“abbey-road”)
^String(“abbey-road”)^enrolled(s1,cs415 )
^ Course ( cs415 )
Descrições (axiomas)
Student enrolled.Course
Professor teaches.Course
Working-student Student
Working-student Professor
– Pode ser um professor e/ou estudante
As descrições sobre um item não são
agrupadas como nos frames, é um
classificador que as organiza
Voltando aos batráquios...
Sapo
tem-cor
Verde
Todo sapo é verde
– Sapo tem-cor.Verde
Todo sapo é só verde
– Sapo tem-cor.Verde
Tem um sapo que é verde
– Sapo ( x ) , tem-cor ( x, Verde )
...
Famílias de DLs
S = FL- +AL*+
papéis transitivos
– SHIQ
FL- (frame language), a caçula
Sintaxe
A : atomic- concept (indefinidos)
R : atomic- role
C, D : concept
C, D A | C D | R.C | R
concept ::= <atomic- concept> |
(<concept > <concept> ) |
(<atomic- role > ) |
(<atomic- role>.<concept> )
Notação e Significado (Informal)
concept ::= <atomic- concept> |
( :and <concept > . . .<concept> ) |
(: some <atomic- role > ) |
(: all <atomic- role> <concept> )
R.C = indivíduos que estão na relação R e são do
conceito C
Interseção = conjunção
União = disjunção
Complemento = negação
Semântica (“a la” Tarski)
Baseada na Teoria de Modelos, construída sobre
a teoria de conjuntos de Cantor e ZermeloFrankel, onde:
–
–
–
–
–
é o universo de discurso
os objetos são elementos de
os conceitos são subconjuntos de
as relações binárias são subconjuntos de
a relação subclasse entre classes é interpretada como inclusão
de conjuntos
Uma interpretação na qual uma fórmula é
verdadeira é um modelo para esta fórmula
Interpretação
Uma interpretação é um par <I, .I>, onde:
– I é o universo de discurso (não-vazio)
– .I é uma função de interpretação, que mapeia:
Conceitos para subconjuntos de I
Papéis para subconjuntos de II
Exemplo
Exemplo (cont.)
Base de Conhecimento em DL
A TBox tem axiomas
Uma ontologia em DL é
uma Base de conhecimento para
- S = <TBox, ABox>
A ABox tem axiomas de
instanciação de
– Conceitos
xD
– Papéis
<x,y> R
(Student U Professor)(paul)
– Conceitos:
C D (inclusão)
C D (equivalência)
– Papéis (ou
propriedades):
R S (inclusão)
R S (equivalência)
R+ R (transitividade)
– nem toda DL tem…
Bases de conhecimento
Condições necessárias são expressas com
Condições necessárias e suficientes são expressas
com
– Teaching-Assistant Undergrad U Professor
Para uma interpretação satisfazer uma ontologia
(base de conhecimento)
– Precisa satisfazer TBox e ABox
– Então ela é um modelo desta ontologia
Uma ontologia é satisfatível se admite um modelo
ALC (linguagem atributiva) e FLs
AL = FL- (DL estrutural) + negação
– DL proposicional
FL0 = FL- + R.C (no lugar de R, que é R.T)
– Interpretação de R é a mesma de R.C, sem ^CI(y)
ALC = FL0 + negação (complemento)
Outras ALs
U – União (disjunção)
– Human Male U Female
E – quantificação existencial (R.C)
N – restrições numéricas (de cardinalidade) sobre
papéis (R, R)
– Busy-Woman Woman ( 3 child)
– Conscious-Woman Woman ( 5 child)
– 1 R R
EU = C (U e E podem ser obtidos de FL- +C)
Estudadas: ALC (ou ALUE) e ALCN (ou ALUEN)
O Q do SHIQ
Q – restrições numéricas (de cardinalidade)
sobre papéis qualificados (R.C, R.C)
– Worried-Woman Woman ( 3 child.Man)
Note que U,E,N,C,Q e interseção são
construtores de classes!
Classificação
Colocar um conceito/papel no devido lugar
dentro da hierarquia, de forma a que
– Abaixo dele, esteja o conceito mais geral que
é mais específico que ele
– Acima dele, esteja o conceito mais específico
que é mais geral que ele
Verifica estas relações por subsunção
– Quais conceitos “cabem”dentro de quais
Sobre o Raciocínio
Basicamente por subsunção (herança)
– Checar se um conceito/papel é contido por outro
Hipótese do Mundo Aberto
– Em contraste com quase todos os outros formalismos de
representação (Mundo Fechado)
– Em Frames, Presidente tem cardinalidade 1
– Presidente(Lula), Presidente(Líder-Sindical) dará erro
– Em DL, Lula e Líder-Sindical são a mesma pessoa
Tipos de Raciocínio em DLs
Consultas à ontologia
Conseqüência Lógica
Satisfatibilidade
Checagem de consistência
Checagem de instância
Checagem de equivalência
Raciocínios com instâncias
Consultas à ontologia
– Recuperar instâncias que obedecem a expressões
?Aluno
– Daniel, Carol, Zé...
Checagem de instância
– Determina se um indivíduo é instância de um
conceito ou papel
– Se a asserção C(a) satisfaz todos os modelos da
ontologia
Ver exemplo de conseqüência lógica
Raciocínios com conceitos
Checagem de consistência
– Checar se um conceito ou papel é vazio
– Senão, é satisfatível
Student Person
Checagem de equivalência
– Dois conceitos são equivalentes se todas as
instâncias dos dois forem comuns aos dois
– Duas instâncias podem ser a mesma
Ciclos em definições
Conseqüência Lógica
Se todo modelo da BC A é também
modelo da BC B, então B é Conseqüência
Lógica de A
– TBox:
teaches.Course Undergrad U Professor
– ABox:
teaches ( john , cs415 ) ; Course ( cs415 ) ;
Undergrad ( john )
– Professor ( john )?
Satisfatibilidade
Checa se existe algum modelo que satisfaz
um axioma
Student Person
Complexidades das DLs
OWL: Construtores de Classes e
Axiomas
Referências
The Description Logic Handbook. F.
Baader et al. 2003. Cambridge Press.
Curso de DL. Enrico Franconi, Univ.
Bozen-Bolzano, Itália.
Curso de Ontologias. Virgínia Brilhante,
UFAM.