750 likes | 849 Views
Raciocínio em Lógica de Descrições. Menandro Ribeiro Santana. Roteiro. Introdução Raciocínio em DL Otimizações em Sistemas de Raciocínio. Introdução. Lógicas de Descrições. Família de formalismos de representação do conhecimento baseados na Lógica Matemática.
E N D
Raciocínio em Lógica de Descrições Menandro Ribeiro Santana
Roteiro • Introdução • Raciocínio em DL • Otimizações em Sistemas de Raciocínio
Lógicas de Descrições • Família de formalismos de representação do conhecimento baseados na Lógica Matemática. • Descrevem o domínio em termos de conceitos, propriedades e indivíduos. • Possuem semântica formal • Provêem serviços de inferência.
Sintaxe e Semântica das DL’s • 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 • Instâncias para elementos de I
Famílias de DL’s S = FL- +AL*+ papéis transitivos • SHIQ
Base de Conhecimento em DL • Par <TBox, ABox> onde: • TBox (Terminological Box) • Conhecimento Intensional: conhecimento geral sobre o domínio do problema. • ABox (Assertional Box) • Conhecimento Extensional: especifica um problema particular.
TBox • Conhecimento intensional na forma de terminologia. • Construído através de declarações que descrevem as propriedades gerais dos conceitos. • Conceito primitivo (base) Pessoa Fêmea • Conceito complexo Mulher ≡ Pessoa ┌┐ Fêmea
TBox • As declarações do TBox são representadas como: • Equivalências lógicas (condições necessárias e suficientes) : ≡ • Inclusão (condições necessárias) : • Características das declarações: • Somente é permitida uma definição para cada nome de conceito. • É recomendado que as definições sejam acíclicas, isto é, não podem ser definidas em termos de: • Elas mesmas • Outros conceitos que indiretamente se referem a elas.
ABox • Conhecimento extensional, que especifica os indivíduos do domínio. • Instanciação da estrutura de conceitos.
Tipos de Declarações no ABox • Declaração de Conceitos : C(a) • Declara que “a” é um indivíduo do conceito C. • Ex : Pessoa(Ana) • Declaração de Papel : R(a,b) • Declara que o indivíduo “a” está relacionado com o indivíduo “b” através da propriedade R. • Ex : temFilho(Ana,João)
Raciocínio em DL • Satisfatibilidade • Subsunção • Conseqüência Lógica • Checagem de Equivalência • Checagem de Consistência • Checagem de Instância • Consulta a Ontologia
Satisfatibilidade • Um conceito é satisfatível com respeito a um TBox T se existe uma interpretação I de T tal que CIé não vazio. Neste caso dizemos que I é um modelo de T.
Satisfatibilidade - Exemplo TBox • Mulher ≡ Pessoa ┌┐ Fêmea • Mãe ≡ Mulher ┌┐ temFilho. Pessoa Teste de Satisfatibilidade • Mãe(a) ≡ Mulher(a) ┌┐ temFilho(a,b) • Mãe(a) ≡ (Pessoa(a) ┌┐ Fêmea(a)) ┌┐ temFilho(a,b)
Insatisfatibilidade - Exemplo TBox • Mulher ≡ Pessoa ┌┐ Fêmea • Homem ≡ Pessoa ┌┐ ¬Mulher • Hermafrodita ≡ Homem ┌┐ Mulher Teste de Satisfatibilidade • Hermafrodita(a) ≡ Homem(a) ┌┐ Mulher(a) • Hermafrodita(a) ≡ Pessoa(a) ┌┐ ¬Mulher(a) ┌┐Mulher(a)
Subsunção • Um conceito C é classificado por um conceito D com respeito a um TBox T se CI DI para toda interpretação I de T. Neste caso escrevemos C T D ou T ╞ C D . • O conceito D é chamado classificador • O conceito C é chamado classificado.
Subsunção - Exemplo TBox • Mulher ≡ Pessoa ┌┐ Fêmea • Mãe ≡ Mulher ┌┐ temFilho. Pessoa Relacionamento entre os conceitos • Mãe Mulher • Classificador : Mulher • Classificado : Mãe
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 └┘ Professor • ABox: • teaches ( john , cs415 ) ; Course ( cs415 ) ; • Undergrad ( john ) • Professor ( john )?
Checagem de Equivalência • Dois conceitos C e D são equivalentes com respeito a um TBox T se CI= DI para toda interpretação I de T. Neste caso escrevemos C ≡T D ou T ╞ C ≡ D .
Checagem de Equivalência - Exemplo TBox • Mulher ≡ Pessoa ┌┐ Fêmea • Homem ≡ Pessoa ┌┐ ¬Mulher • Masculino ≡ Pessoa ┌┐ ¬Fêmea Expansão do TBox e Simplificação • Homem ≡ Pessoa ┌┐ ¬ Mulher • Homem ≡ Pessoa ┌┐ ¬(Pessoa ┌┐ Fêmea) • Homem ≡ Pessoa ┌┐ (¬Pessoa └┘ ¬Fêmea) • Homem ≡ (Pessoa ┌┐ ¬Pessoa) └┘(Pessoa ┌┐ ¬Fêmea) • Homem ≡ Pessoa ┌┐ ¬Fêmea Relacionamento entre os conceitos • HomemI= MasculinoI
Checagem de Consistência • Um ABox A é consistente com relação a um TBox T se existe uma interpretação que é modelo de ambos, A e T.
Checagem de Consistência - Exemplo TBox • Mulher ≡ Pessoa ┌┐ Fêmea • Homem ≡ Pessoa ┌┐ ¬Mulher • Pai ≡ Homem ┌┐ temFilho. Pessoa ABox • Mulher(Jaguaraci) • Pai(Jaguaraci) • temFilho(Jaguaraci, Ana) • Mulher(Jaguaraci) ≡ Pessoa(Jaguaraci) ┌┐ Fêmea(Jaguaraci) • Pai(Jaguaraci) ≡ Homem(Jaguaraci) ┌┐temFilho(Jaguaraci, Ana) • Homem(Jaguaraci) ≡ Pessoa(Jaguaraci) ┌┐ ¬Mulher(Jaguaraci)
Checagem de Instância • Verifica se um dado indivíduo é uma instância de um conceito específico. • Exemplo: TBox Mulher ≡ Pessoa ┌┐ Fêmea Mãe ≡ Mulher ┌┐ temFilho. Pessoa ABox Mulher(Maria) temFilho(Maria,Pedro) Checagem de Instância Mãe(Maria) Mãe(Maria) ≡ Mulher(Maria) ┌┐ temFilho. Pessoa
Consulta a Ontologia • Encontra os indivíduos na base de conhecimento que são instâncias de um dado conceito. • Exemplo: ABox Mulher(Maria) Homem(João) Homem(Pedro) Resposta da Consulta Homem → João, Pedro Mulher → Maria
Redução • É possível implementar os serviços de raciocínio para o TBox a partir da satisfatibilidade ou da subsunção dependendo da lógica de descrições utilizada. • Interseção (┌┐) e conceito de insatisfatibilidade (┴) : Redução a Subsunção. • Interseção (┌┐) e negação (¬) : Redução a Satisfatibilidade.
Redução a Subsunção • Proposição (Redução a Subsunção) Para conceitos C e D temos: (i) C é INSAT C ┴ ; (ii) C = D (C D) ┌┐ (D C); (iii) C e D disjuntos (C ┌┐ D) ┴ .;
Redução a Satisfatibilidade • Proposição ( Redução a Satisfatibilidade ) Para conceitos C e D temos: (i) C D (C ┌┐ ¬D) ┴ . (ii) C = D (( C ┌┐ ¬D) ┴) ┌┐ ((¬C ┌┐ D ) ┴); (iii) C e D disjuntos (C ┌┐ D) ┴
Algoritmo Tableau • Ao invés de testar diretamente a subsunção dos conceitos, este algoritmo usa a negação para reduzir a subsunção a (in)satisfatibilidade dos conceitos. C D se somente se C ┌┐¬D é INSAT
Algoritmo Tableau C D se somente se (C ┌┐¬D) ┴ • C D ≡ C → D • C → D ≡ ¬C└┘D • Para realizar o algoritmo tableau é necessário negar a expressão (¬C └┘D) e chegar a insatisfatibilidade. • ¬(¬C └┘D) ≡ C ┌┐¬D • C ┌┐¬D é insatisfatível
Exemplo • Sejam A e B nomes de conceitos e R o nome de um papel. Analisar se (R.A) ┌┐(R.B) é subclasse de R.(A ┌┐ B). • C = (R.A) ┌┐(R.B) ┌┐(¬ R.(A ┌┐ B)) • Forma normal de negação: C0 = (R.A) ┌┐(R.B) ┌┐R.(¬A └┘¬B))
Construir uma interpretação finita I tal que C0I . • Gerar um indivíduo b tal que b C0I . • b (R.A)I, b (R.B)I , b R.(¬A └┘¬B)I. • b (R.A)I deve existir um indivíduo c tal que (b,c) RI e c AI . • b (R.B)I deve existir um indivíduo d tal que (b,d) RI e d BI .
b R.(¬A └┘¬B)I. • c (¬A └┘¬B)I e d (¬A └┘¬B)I . • c (¬A └┘¬B)I c (¬A)I ou c (¬B)I . • d (¬A └┘¬B)I d (¬A)I ou d (¬B)I . • Conclusão: (R.A) ┌┐(R.B) não é subclasse de R.(A ┌┐ B)
Algoritmo Tableau • As restrições são expressadas como declarações do ABox. • Seja C0 um conceito ALCN na forma de negação normal. • O algoritmo inicia com o ABox A0 = {C0(x0)}. • Utilizar as Regras de transformação do algoritmo de satisfatibilidade, até que nenhuma delas possa ser usada. • ABox Completo – ABox onde todos os ramos possíveis foram expandidos.
Regras – Lógica Proposicional R1=H ┌┐ G R2=H └┘ G R3=HG H G H G H G R4=HG R5=H R6=(H ┌┐ G) H H┌┐G H┌┐G H G R7=(H └┘ G) R8=(HG) R9=(HG) H H G G H┌┐G H┌┐G
Regras – DL (ALC) R1=(H ┌┐ G)(x) R2=(H └┘ G)(x) H(x) G(x) H(x) G(x) R3= (R.C)(x) C(y) R(x,y) R4= (R.C)(x) e R(x,y) C(y) onde y é um nome de indivíduo que não ocorre em A
Regras – DL (N) R6= (nR)(x)R7= (nR)(x) R(x,z1) R(x,z1) R(x,z2) R(x,z2) : : R(x,zn) R(x, zn) R(x, zn+1) zi≠zj não está em KB (com i≠j) zi=zj
Regras – DL (R+) R8= (R.C)(x) e R+ C(y) (R.C)(x) onde C não é atômico Problema - Regra gera recursividade Solução - Bloqueio, após perceber que nada de novo está sendo gerado
Algoritmo Tableau • Um conceito C é insatisfatível sse KB ┌┐ C = ┴ em todas as interpretações • Cada ramo do Abox contém uma contradição (clash) de um dos seguintes tipos: 1. {┴ (x)} KB para algum nome de indivíduo x; 2. {A(x), ¬A(x)} KB para algum nome de indivíduo x e algum nome de conceito A; 3. (nR)(x) R(x,yi) | 1 i n+1} {yi yj | 1 i j n+1} KB para nomes de indivíduos x, y1,..., yn+1 , um inteiro não negativo n e um nome de papel R.
Aplicação do Tableau : Exemplo 1 • Sejam A e B nomes de conceitos e R o nome de um papel. Analisar se (R.A) ┌┐ (R.B) é subclasse de R.(A ┌┐ B). • C = (R.A) ┌┐ (R.B) ┌┐ (¬ R.(A ┌┐ B)) Forma normal de negação: • C0 = (R.A) ┌┐ (R.B) ┌┐R.(¬A └┘ ¬B))
Aplicação do Tableau : Exemplo 2 • Sejam A e B nomes de conceitos e R o nome de um papel. Analisar se (R.A) ┌┐ (R.B) ┌┐ 1 R é subclasse de R.(A ┌┐ B). • C = (R.A)┌┐(R.B)┌┐( 1 R)┌┐(¬ R.(A┌┐ B)) Forma normal de negação: • C0 = (R.A)┌┐(R.B)┌┐( 1 R)┌┐R.(¬A└┘ ¬B))