Upload
joaovitor-montes
View
215
Download
0
Embed Size (px)
Citation preview
Lógica de DescriçõesLógica de DescriçõesFred FreitasFred FreitasCIn - 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 desenvolvedor Raciocínio depende do que o desenvolvedor
pretendepretende– Definições semelhantes levam a raciocínios bem Definições semelhantes levam a raciocínios bem
diferentesdiferentes 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 sem Fragmento de L2, Lógica de Predicados sem
funções, com até 2 variáveisfunçõ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 a lugar dentro da hierarquia, de forma a que 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 da Se a asserção C(a) satisfaz todos os modelos da ontologiaontologia 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 todas Dois conceitos são equivalentes se todas as instâncias dos dois forem comuns aos as instâncias dos dois forem comuns aos doisdois
– 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.