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