Lógicas Descritivas & CARIN
Jacques Robin & Thiago Santos
Histórico
Redes Semânticas
Nós e associações;
Herança;
Confusão entre classe/sub-classe e classe/instâncias;
Falta de semântica clara das associações;
Nível do conhecimento diretamente mapeado para o nível da
implementação, sem nível lógico intermediário.
Frames
Redes Semânticas aumentadas com:
Valores default (raciocínio não monótono);
Procedimentos.
Mesmos problemas que redes semânticas.
Lógica Descritivas: emergiram para superar as limitações
destes.
Filosofia
Usar lógica para definir formalmente semântica de
formalismos de representação de conhecimento OO.
Estudar computabilidade e complexidade das
linguagens e serviços de inferência antes de
implementá-los.
Limitar expressividade para garantir esses serviços
sejam computacionalmente tratáveis.
SPIV invade a IA.
Lógicas Descritivas (LDs)
Formalismos lógicos para representação das informações sobre
classes de indivíduos e suas descrições.
Subconjunto da lógica de primeira ordem, trata de:
Relações unárias (conceitos)
Exemplo: Student
Relações binárias (papéis);
Exemplo: SUPERVISED
{(x,y) | SUPERVISED(x,y) }
Possui também:
Construtores sobre os conceitos (,, outros)
Exemplo: PdhStudent = Student SUPERVISED.AcademicStaff
{ x | Student(x) y.SUPERVISED(x,y) AcademicStaff(y) }
Indivíduos, e instâncias dos conceitos
{x | Student(x)}
franklin, jacques, thiago;
Student(thiago), PhdStudent(franklin), Researcher(jacques)
Trade-offs entre expressividade e complexidade computacional
conhecidos.
Construtores
Semântica
Baseada na teoria dos conjuntos;
Semântica definida por uma interpretação (I,I);
Conjunto não-vazio, domínio I;
Função de interpretação I que mapeia:
I
Todo conceito em um subconjunto de ;
I
I
Todo papel em um subconjunto de x ;
Unicidade de nome
I
I
Se a b então a b
Um modelo para C é uma interpretação onde CI é
não-vazio
Um conceito é satisfiable se ele possui pelo menos
um modelo.
Semântica dos construtores
Bases de conhecimento em LD
KB = Tbox + Abox
Tbox (Terminological part) = Descrições
Exemplos:
Student = Person STUDIESAT.University
PhdStudent Student Researcher
Abox (Assertional part) = Instâncias
Exemplos:
PdhStudent (franklin)
STUDIESAT (franklin,UFPE)
Serviços de inferência
Dada uma base de conhecimento = <Tbox,Abox>,
dois conceitos C e D, e um indivíduo a, chamamos:
Satisfiability: |= C
Subsumption: |= C D
Verificar se C é subsumed por D. CI DI em todo modelo I de
Exemplo: Employee Person Student ?
Consistência: |=
Verificar se há um modelo I de tal que CI
Exemplo: Student Person ?
Verificar se a própria base tem um modelo.
Exemplo: Student = Person ?
Classificação de instância: |= C(a)
Verificar se uma dada asserção é válida.
Exemplo: Person(franklin)
Raciocínio na Tbox
Tbox:
Syntax-based reasoning: Structural Comparison
Semantic-based reasoning: Constraint Systems
Expressividade Vs Complexidade
Expressividade é diretamente proporcional à complexidade
computacional.
Exemplo: Estrutura Acadêmica
LD para o exemplo
= <Tbox,Abox>
Tbox – Conceitos
Student Person
STUDIESAT Student University
Student =
Person STUDIESAT.University
Employee Person
AFILIATEDTO Employee Organization
Employee =
Person AFILIATEDTO.Organization
AcademicSaff Employee
SUPERVISES AcademicStaff PhdStudent
AcademicSaff =
Employee SUPERVISES.PdhStudent
Researcher AcademicStaff
PhdStudent Student Researcher
SUPERVISED PhdStudent AcademicStaff
PdhStudent =
Student SUPERVISED.AcademicStaff
Abox – Instâncias
Student(thiago)
STUDIESAT(thiago,UFPE)
PhdStudent(franklin)
STUDIESAT(franklin,UFPE)
Researcher(jacques)
SUPERVISED(franklin,jacques)
AFILIATEDTO(jacques,UFPE)
Exemplos de serviços (1/4) |= C
|= Student Person ?
Equivalente a:
Se já temos x Student(x) Person(x)
Student Person = ?
x Student(x) Person(x) x Person(x) Person(x) que é
impossível.
Logo o conjunto formado pela conjunção Student Person é
. Não satisfiable.
Person
e1
e2
Student
e5
...
en
e14
Exemplos de serviços (2/4) |= C D
|= AcademicStaff Researcher ?
AcademicStaff Researcher
Equivalente a: x Researcher(x) AcademicStaff(x)
O conjunto de indivíduos do tipo Researcher está contido no do
conjunto de AcademicStaff.
AcademicStaff
e1
e2
Research
e5
...
en
e14
Exemplos de serviços (3/4) |=
A base contém asserções/definições contraditórias?
Adicionando Person(franklin) mantém a base consistente ?
Raciocinando com as instâncias da Abox e conceitos da Tbox, temos:
Ao término das expansões da Abox temos:
PhdStudent(franklin) : Abox
Student(franklin)
: Regra PhdStudent Student da Tbox
Person(franklin)
: Regra Person Student da Tbox
Abox = Abox0 , Student(franklin), Person(franklin)
Ao adicionarmos Person(franklin) teríamos uma KB com contradições,
isto é, inconsistente onde franklin é Student e franklin não é Student.
Conclusão:
Uma KB que possua a Tbox anterior, não pode ter Abox com asserções do
tipo PhdStudent(franklin) e Person(franklin) pois se torna uma base
inconsistente.
Exemplos de serviços (4/4) |= C(a)
|= Person(franklin) ?
Raciocínio sobre a hierarquia definida na Tbox, gera:
Student(franklin)
Person(franklin)
Assim, Person(franklin) pode ser deduzido como uma instância
válida dentro da KB.
Aplicações
Ontologias
Terminologia médica;
Taxonomia biológica;
Baseadas na Web (OIL, DAML+OIL).
Configuração de sistemas
Bancos de dados
Modelagem de esquemas;
Otimização de consultas;
Interoperabilidade;
Verificação de consistência dos dados.
CARIN
Linguagem que combina:
Lógicas descritivas ( ALCNR )
Cláusulas de Horn ( Regras dedutivas)
KB = <T,R,A>
Uma Tbox da lógica descritiva (T);
Um conjunto de regras (R);
Um conjunto fatos para os conceitos, papéis e predicados que
estão em T e R (A).
Contribuições
Um mecanismo de inferência completo para declarações
não-recursivas em ALCNR;
Um algoritmo para determinar subsumption em ALCNR.
CARIN – Regras e Restrições
Lógica descritiva
Sejam C e D conceitos, pode-se:
Criar definições
Descrever inclusões
C=D
CD
Regras
X[p1(X1) pn(Xn) q(Y)], onde:
Y {X1,,Xn)
p1,,pn são conceitos, papéis, expressões, ou ainda
predicados que não constam na Tbox.
q não pode ser um conceito ou papel. O raciocínio sobre
a estrutura deve estar na Tbox, não nas regras.
Um predicado q é dito dependente de um predicado p se
p é precedente em uma regra que gera q.
Regras em CARIN
Considerando a Tbox e Abox já apresentadas.
Adicionando ao componente de regras:
AcademicStaff(X) 7 SUPERVISES(X) Overloaded(X)
Student(X) AcademicStaff(Y) SUPERVISED(X,Y)
SpecialStudent(X)
Poderíamos responder as perguntas:
Overloaded(jacques)?
Jacques está sobrecarregado? R: não
SpecialStudant(franklin)?
Franklin é um aluno especial? R: não
Referências
Curso de Lógicas Descritivas
Enrico Franconi, Department of Computer
Science, University of Manchester, UK
http://www.cs.man.ac.uk/~franconi/dl/course
Referências da aula “Ontologias na
Web”
http://www.cin.ufpe.br/~compint/aulas-IAS/mci2/taias-012