37
Lógica de Lógica de Descrições Descrições Fred Freitas Fred Freitas CIn - UFPE CIn - UFPE

Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

Embed Size (px)

Citation preview

Page 1: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

Lógica de DescriçõesLógica de DescriçõesFred FreitasFred FreitasCIn - UFPECIn - UFPE

Page 2: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 3: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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 .

Page 4: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 5: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 6: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

““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.”

Page 7: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 8: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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]

Page 9: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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]

Page 10: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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)

Page 11: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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é), ...

Page 12: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 13: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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 )

Page 14: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 15: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 16: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

Famílias de DLsFamílias de DLs

S = FL- +AL*+S = FL- +AL*+papéis transitivospapéis transitivos– SHIQSHIQ

Page 17: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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> )> )

Page 18: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 19: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 20: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 21: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

ExemploExemplo

Page 22: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

Exemplo (cont.)Exemplo (cont.)

Page 23: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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…

Page 24: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 25: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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)

Page 26: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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)

Page 27: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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!

Page 28: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre 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

Page 29: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 30: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 31: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 32: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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

Page 33: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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 )?

Page 34: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

SatisfatibilidadeSatisfatibilidade Checa se existe algum modelo que Checa se existe algum modelo que

satisfaz um axiomasatisfaz um axioma Student Student PersonPerson

Page 35: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

Complexidades das DLsComplexidades das DLs

Page 36: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

OWL: Construtores de Classes OWL: Construtores de Classes e Axiomase Axiomas

Page 37: Lógica de Descrições Fred Freitas CIn - UFPE. Problemas com frames: ambigüidade [Brachman 79, Franconi 2003] entre classes e instâncias entre classes

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.