A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Raciocínio em Lógica de Descrições

Apresentações semelhantes


Apresentação em tema: "Raciocínio em Lógica de Descrições"— Transcrição da apresentação:

1 Raciocínio em Lógica de Descrições
Clique para adicionar texto Menandro Ribeiro Santana

2 Roteiro Introdução Raciocínio em DL
Otimizações em Sistemas de Raciocínio

3 INTRODUÇÃO

4 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. As Lógicas de Descrições, ou DL’s (do inglês Description Logics), são uma evolução dos formalismos de representação do conhecimento baseados em objeto (redes semânticas e frames), ao qual corresponde um subconjunto estruturado da lógica de primeira ordem. Em termos gerais as Lógicas de Descrições são formalismos utilizados na representação do conhecimento, que possibilitam a realização de inferências sobre este conhecimento, através da utilização de sistemas de raciocínio. Isso significa que a sintaxe deste formalismo foi definida para ter grande capacidade de expressar informações sobre o domínio do problema analisado, e também de facilitar o raciocínio realizado sobre estas informações. Essa formalização das DL’s torna o processo de inferência computacionalmente menos custoso, além de possibilitar a validação das bases de conhecimento geradas a partir dessas lógicas.

5 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 II Instâncias para elementos de I A sintaxe das Lógicas de Descrições é formada por símbolos representando conceitos, papéis, construtores e quantificadores. Os conceitos são representações de classes, conjuntos de indivíduos que apresentam as mesmas características gerais. Os construtores são operadores que permitem a criação de conceitos complexos, dando um significado especial à interpretação do conceito. Os papéis são propriedades dos conceitos. Eles representam relacionamentos entre os elementos da base do conhecimento (conceitos e instâncias). Os quantificadores são operadores que quantificam os papéis. Uma interpretação de um conceito A, representada por AI, pode ser definida como o conjunto de valores que tornam este conceito verdadeiro. Uma interpretação é um par <I, I>, onde I é i universo de discurso e I é uma função de interpretação, que mapeia conceitos para subconjuntos de I, papéis para subconjuntos do produto cartesiano IxI (Isto é relaciona elementos do domínio entre si) e instâncias para elementos de I.

6 Sintaxe e Semântica das DL’s

7 Sintaxe e Semântica das DL’s

8 Famílias de DL’s S = FL- +AL*+ papéis transitivos SHIQ
Existem vários tipos de Lógicas de Descrições e estas são caracterizadas pelos construtores que possuem e quais propriedades podem ser atribuídas aos papéis, como por exemplo, simetria, inversão, transitividade, etc. A lógica mais simples é chamada de FL-, que é composta de quantificação universal, conjunção, Verdade (T), Falso () e a quantificação existencial não qualificada ($P. T). A lógica AL é a lógica FL- mais a negação de conceitos atômicos. Ao adicionar outros construtores (E,U,C,N) podem ser criadas lógicas com mais expressividade que estas duas, como ALCN, ALUE, etc. As letras que compõem os nomes das lógicas são representações dos construtores e das propriedades que ela possui. A lógica composta de FL- +AL*+ Papéis transitivos é chamada de S.

9 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. Uma base de conhecimento contém as informações de um determinado domínio, ou seja, ela é a representação de um conhecimento específico. Para melhor representar este conhecimento, é necessário dividir a base em duas partes Conhecimento Intensional (Intensional Knowledge): conhecimento geral sobre o domínio do problema. Representa o conhecimento sobre os grupos (conjuntos) de indivíduos que apresentam as mesmas características. Conhecimento Extensional (Extensional Knowledge): especifica um problema particular. Representa o conhecimento sobre cada indivíduo que faz parte de um conjunto.  Em Lógicas de Descrições, o conhecimento intensional é chamado de TBox e o extensional de ABox.

10 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 O TBox contém o conhecimento intensional na forma de terminologia. Ele representa as características gerais dos conceitos, que são grupos de indivíduos semelhantes. A forma básica de declaração em um TBox é a definição de conceito, que é a definição de um novo conceito em termos de outros conceitos definidos previamente. Os conceitos são representações de classes, conjuntos de indivíduos que apresentam as mesmas características gerais. Podem ser conceitos base (conceitos primitivos), que não dependem de outros conceitos ou relacionamento para serem definidos, ou conceitos complexos, que são formados a partir da utilização de outros conceitos previamente declarados. Exemplo: Os conceitos Pessoa e Fêmea definidos apenas pelo próprio nome, são chamados de conceitos base. O conceito Mulher é declarado como o conceito resultante da interseção entre as interpretações dos conceitos Pessoa e Fêmea, ou seja, o conceito Mulher é formado pelos indivíduos que pertencem aos conceitos Pessoa e Fêmea simultaneamente. Este conceito é dito complexo, pois precisa de outros para ter um significado.

11 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. As declarações do TBox são representadas como equivalências lógicas (condições necessárias e suficientes, denotado por ≡ ) ou como uma inclusão (condições necessárias, denotado por ≡). Estas declarações possuem as seguintes características: Somente é permitida uma definição para cada nome de conceito. (Evitando assim ambigüidade) É recomendado que as definições sejam acíclicas no sentido de que elas não podem ser definidas em termos delas mesmas e nem de outros conceitos que indiretamente se referem a elas. (Evitando recursividade e não terminação dos algoritmos de raciocínio).

12 TBox - Exemplo Um exemplo de um TBox é mostrado na figura deste slide. Temos dois conceitos primitivos (Pessoa e Fêmea) e vários conceitos complexos, definidos com base em outros conceitos e/ou relacionamentos.

13 ABox Conhecimento extensional, que especifica os indivíduos do domínio. Instanciação da estrutura de conceitos. O ABox contém o conhecimento extensional, que especifica os indivíduos do domínio. Ele é a instanciação da estrutura de conceitos.

14 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) Existem dois tipos de declarações no ABox: Declaração de Conceitos: C(a). Declara que “a” é um indivíduo do conceito C. Por exemplo, 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. Por exemplo, temFilho(Ana,João).

15 ABox - Exemplo No exemplo são criadas instâncias dos conceitos Mulher e Homem. Além disso, são feitos relacionamentos entre indivíduos das duas classes, utilizando a propriedade temFilho, para expressar o grau de parentesco entre eles.

16 Raciocínio em DL

17 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

18 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. Com relação ao serviço satisfatibilidade, um conceito é dito 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. Para que um conceito seja satisfatível deve ser possível criar pelo menos uma instância dele, ou seja, o conceito não pode ter uma contradição na sua definição.

19 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) Neste exemplo, um teste de satisfatibilidade é exemplificado para o conceito Mãe. Para isso são criadas instâncias genéricas para este conceito (Mãe(a)) e para os relacionamentos desta instância (temFilho(a,b)). A partir disso, observa-se se durante a expansão do TBox ocorre alguma contradição. Como nenhuma contradição é verificada, o conceito Mãe é satisfatível. Posteriormente veremos a utilização do algoritmo Tableau na realização do teste de satisfatibilidade.

20 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) Neste exemplo, um teste de satisfatibilidade é exemplificado para o conceito Hermafrodita. Para isso é criada uma instância genérica deste conceito (Hermafrodita(a)). A partir disso, observa-se na expansão do TBox a ocorrência de uma contradição na definição deste conceito (¬Mulher(a) ┌┐ Mulher(a)). Devido a isto, este conceito não pode ter nenhuma instância válida, logo ele é insatisfatível.

21 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. Para o serviço de 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. Isto quer dizer que todas as instâncias de C também são instâncias de D. O conceito D é chamado classificador e o conceito C é chamado classificado.

22 Relacionamento entre os conceitos
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 Neste exemplo, podemos perceber que Mãe é um tipo especial de mulher, pois este conceito é composto pelas instâncias do conceito Mulher que tem um relacionamento através da propriedade temFilho com a classe Pessoa. Como todos os indivíduos do conceito Mãe fazem parte do conceito Mulher pode-se concluir que Mãe  Mulher. Logo, o conceito Mulher é o classificador e o conceito Mãe é o classificado.

23 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 )? Se todo modelo da BC A é também modelo da BC B, então B é Conseqüência Lógica de A. Por exemplo, do TBox: (teaches.Course  Undergrad U Professor) e do ABox: teaches ( john , cs415 ) ; Course ( cs415 ) ; Undergrad ( john ), é possível concluir Professor ( john ). Sim, pois john ensina uma disciplina e ele não é graduado. Logo, de acordo com o TBox, ele deve ser um professor para que tanto o TBox, quanto o Abox sejam consistentes.

24 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 . Com relação ao serviço de equivalência, dois conceitos C e D são ditos 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 . Isto quer dizer que ambos os conceitos tem as mesmas instâncias.

25 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 No exemplo, após fazer a expansão e simplificação do conceito Homem, pode-se observar que ele e o conceito Masculino são definidos da mesma maneira, logo estes dois conceitos são equivalentes.

26 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. Para o serviço 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. A é consistente se ele é consistente com respeito ao TBox vazio. Isto quer dizer que se existir uma instância que torne tanto o TBox quanto o ABox verdadeiros, o ABox será consistente.

27 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) Neste exemplo, foi criado um TBox contendo as definições dos conceitos Mulher, Homem e Pai. Este TBox é consistente, pois não apresenta contradições em suas definições. Para este TBox, foi criado um ABox onde uma mesma instância é atribuída a classe Mulher e Pai. Isso torna o ABox inconsistente, pois para que uma instância seja Pai é necessário que ela seja Homem e para ser Homem é necessário que ela não seja Mulher, logo o Abox se torna inconsistente por apresentar Mulher(Jaguaraci) e ¬Mulher(Jaguaraci). Isso faz com que a base de conhecimento seja reprovada na checagem de consistência, pois não existe uma interpretação que é modelo do ABox e do TBox ao mesmo tempo.

28 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 O serviço de checagem de instância verifica se um dado indivíduo é uma instância de um conceito específico. No exemplo, desejasse saber se o indivíduo Maria faz parte do conceito Mãe. Como ela é instância do conceito Mulher e possui um relacionamento através da propriedade temFilho com o indivíduo Pedro, pode-se concluir que Maria atende as condições necessárias e suficientes para pertencer a classe Mãe.

29 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 O serviço Consulta a Ontologia encontra os indivíduos na base de conhecimento que são instâncias de um dado conceito. No exemplo, ao aplicar o serviço no conceito Homem e no conceito Mulher, obtém-se como resultado os indivíduos que fazem parte destes conceitos.

30 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. Ao invés de implementar separadamente todos os serviços de raciocínio para o TBox, é possível reduzir todos eles ao serviço da satisfatibilidade ou da subclassificação através da aplicação de regras de equivalência. Essa possibilidade de redução depende dos construtores da Lógica de Descrições utilizada. Algumas regras de redução são declaradas a seguir:

31 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)  ┴ .; Para conceitos C e D temos: C é insatisfatível, se e somente se, C está contido no conjunto vazio. C e D são equivalentes, se e somente se, C está contido em D e D está contido em C. C e D são disjuntos, se e somente se, a interseção de C e D está contida no conjunto vazio.

32 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)  ┴ Para conceitos C e D temos: C está contido em D, se e somente se, a interseção de C e ¬D é instatísfativel. C e D são equivalentes, se e somente se, a interseção de C e ¬D é instatísfativel e a interseção de D e ¬C também é instatísfativel. C e D são disjuntos, se e somente se, a interseção de C e D é instatísfativel.

33 C  D se somente se C ┌┐ ¬D é INSAT
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 O Algoritmo Tableau é um método refutacional de prova de teoremas, ou seja, ao invés de provar um teorema diretamente, ele prova que a sua negação é falsa (insatisfatível). Isso é feito através da aplicação de regras específicas para a Lógica de Descrições que dependem dos construtores presentes na lógica em questão. Nesta seção será apresentado o algoritmo tableau para lógica ALCNR+, que é composta de quantificação universal, conjunção, Verdade (T), Falso (), a quantificação existencial não qualificada (P. T), a negação de conceitos atômicos, restrição de número não qualificada (N), negação (C) e propriedades transitivas. Utilizando tableau, para verificar se um conceito C é subclasse de um conceito D (C  D) temos que provar que C ┌┐ ¬D é insatisfatível.

34 C  D se somente se (C ┌┐ ¬D)  ┴
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 A prova que C ┌┐ ¬D é a negação de C  D é demonstrada neste slide. (C  D) é equivalente a (C → D) (C → D) é equivalente a (¬C└┘D) Para realizar o algoritmo tableau é necessário negar a expressão (¬C └┘ D) e chegar a insatisfatibilidade. ¬(¬C └┘ D) é equivalente a C ┌┐ ¬D C ┌┐ ¬D é insatisfatível

35 C0 = (R.A) ┌┐ (R.B) ┌┐ R.(¬A └┘ ¬B))
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)) Neste exemplo tentamos provar que (R.A) ┌┐ (R.B) é subclasse de R.(A ┌┐ B), sendo A e B nomes de conceitos e R o nome de um papel. Para isso, cria-se um conceito C = (R.A) ┌┐ (R.B) ┌┐ (¬ R.(A ┌┐ B)), de acordo com a prova refutacional. Se C for insatisfatível, significa que (R.A) ┌┐ (R.B) é subclasse de R.(A ┌┐ B). Inicialmente, cria-se um conceito C0 = (R.A) ┌┐ (R.B) ┌┐ R.(¬A └┘ ¬B)), onde C0 corresponde a C na forma normal de negação, isto é, o sinal de negação está presente somente na frente de conceitos base e não de conceitos complexos.

36 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 . É necessário construir uma interpretação finita I tal que C0I  , ou seja, verificar se existe um modelo que satisfaz 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 .

37 Conclusão: 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) 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 . Com essa prova, é possível observar que existe um modelo que torna C0 satisfatível. Logo C é satisfatível. Disso, pode-se concluir que (R.A) ┌┐ (R.B) não é subclasse de R.(A ┌┐ B).

38 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.

39 Regras – Lógica Proposicional
R1=H ┌┐ G R2=H └┘ G R3=HG H G H G H G R4=HG R5=H R6=(H ┌┐ G) H┌┐G H┌┐G H G R7=(H └┘ G) R8=(HG) R9=(HG) H H G G H┌┐G H┌┐G Regras – Lógica Proposicional

40 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) Regras – DL (ALC) onde y é um nome de indivíduo que não ocorre em A

41 Regras – DL (N) R6= (nR)(x) R7= (nR)(x) R(x,z1) R(x,z1)
: : R(x,zn) R(x, zn) R(x, zn+1) zi≠zj não está em KB (com i≠j) zi=zj Regras – DL (N)

42 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 Regras – DL (R+)

43 Regras – DL (R+)

44 Regras – DL (R+)

45 Regras – DL (R+)

46 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.

47 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)) 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). O primeiro passo é negar a expressão dada, ou seja, colocá-la na forma C ┌┐ ¬D, onde C equivale a (R.A) ┌┐ (R.B) e D equivale a (¬ R.(A ┌┐ B)). Após a negação obtêm-se a expressão (R.A) ┌┐ (R.B) ┌┐ R.(¬A └┘ ¬B)). Os outros passos da prova são representados na próxima figura.

48 Após aplicar todas as possíveis regras do algoritmo de Tableau, pode-se perceber que um dos ramos do Tableau é verdadeiro, o que significa que existe uma interpretação que torna a expressão verdadeira, ou seja, satisfatível. Com isso, provasse que (R.A) ┌┐ (R.B) não é subclasse de R.(A ┌┐ B).

49 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)) 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). O primeiro passo é negar a expressão dada, ou seja, colocá-la na forma C ┌┐ ¬D, onde C equivale a (R.A) ┌┐ (R.B) ┌┐  1 R e D equivale a (¬ R.(A ┌┐ B)). Após a negação obtêm-se a expressão (R.A) ┌┐ (R.B) ┌┐  1 R ┌┐ R.(¬A └┘ ¬B)). Os outros passos da prova são representados na próxima figura.

50 Após aplicar todas as possíveis regras do algoritmo de Tableau, pode-se perceber que todos os ramos do Tableau são falsos, o que significa que não existe uma interpretação que torna a expressão verdadeira, ou seja, é insatisfatível. Com isso, provasse que (R.A) ┌┐ (R.B) ┌┐  1 R é subclasse de R.(A ┌┐ B).

51 Aplicação do Tableau : Exemplo 3
Seja a BC Conference  progChair.Person progChair.T  Event Conference (eswc) Provar Event(eswc) Verificar se Conference (eswc) ┌┐ ¬Event(eswc) é insatisfatível

52 Aplicação do Tableau : Exemplo 3

53 OTIMIZAÇÕES EM SISTEMAS DE RACIOCÍNIO
Para que as Lógicas de Descrições possam representar problemas reais, é necessário ter uma expressividade adequada ao domínio em questão. Mesmo lógicas com pouca expressividade podem ter problemas provenientes da complexidade necessária para processar suas informações. Devido a isso, os sistemas de raciocínio precisam implementar uma série de otimizações, com o objetivo de facilitar o processamento e obter os resultados necessários em tempo hábil.

54 Expansão do TBox - Unfold
Pode-se reduzir os problemas de raciocínio com relação a um TBox acíclico T para problemas com respeito ao TBox vazio. TBox vazio: TBox no qual todos os conceitos complexos são definidos apenas com a utilização de conceitos primitivos. Necessário expandir as definições de conceitos armazenados no TBox. Permite encontrar mais facilmente as semelhanças entre conceitos, contradições, etc. Para facilitar o desenvolvimento de procedimentos de raciocínio, pode-se reduzir os problemas de raciocínio com relação a um TBox acíclico T para problemas com respeito ao TBox vazio. Um TBox vazio é um TBox no qual todos os conceitos complexos são definidos apenas com a utilização de conceitos base. Isto permite que os algoritmos consigam encontrar mais facilmente as semelhanças entre conceitos, contradições, etc. Para se obter este TBox é necessário expandir as definições de conceitos armazenados no TBox até que os conceitos complexos sejam definidos apenas por conceitos primitivos. Ou seja, conceitos onde cada definição que esteja na forma A ≡ D, D contém somente conceitos primitivos (base)

55 Expansão do TBox Cada definição está na forma A ≡ D onde D contém somente símbolos base. OBS: A  D pode ser substituído por A ≡ Ā ┌┐ D , sendo que Ā é um novo símbolo base. Para cada conceito C, definimos a expansão de C com respeito a T como o conceito C’ que é obtido de C pela substituição de cada ocorrência de um nome de símbolo A em C pelo conceito D. Em um TBox vazio cada definição está na forma A ≡ D onde D contém somente símbolos base, mas não nomes de símbolos. Na expansão do TBox, para cada conceito C, definimos a expansão de C com respeito a T como o conceito C’ que é obtido de C pela substituição de cada ocorrência de um nome de símbolo A em C pelo conceito D. Se D não for composto apenas por conceitos primitivos, esse processo será executado recursivamente nos conceitos que definem D, até que o conceito C seja definido apenas por conceitos base. Esse procedimento pode ser chamado de unfolding (“desdobramento”)

56 Expansão do TBox - Exemplo
Mulher ≡ Pessoa ┌┐ Fêmea Homem ≡ Pessoa ┌┐ ¬Mulher Mãe ≡ Mulher ┌┐  temFilho. Pessoa Pai ≡ Homem ┌┐  temFilho. Pessoa Pais ≡ Pai └┘ Mãe

57 Expansão do TBox - Exemplo
Mulher ≡ Pessoa ┌┐ Fêmea Homem ≡ Pessoa ┌┐ ¬ (Pessoa ┌┐ Fêmea) Mãe ≡ (Pessoa ┌┐ Fêmea) ┌┐  temFilho. Pessoa Pai ≡ (Pessoa ┌┐ ¬ (Pessoa ┌┐ Fêmea)) ┌┐  temFilho. Pessoa Pais ≡ ((Pessoa ┌┐ ¬ (Pessoa ┌┐ Fêmea)) ┌┐  temFilho. Pessoa) └┘ ((Pessoa ┌┐ Fêmea) ┌┐  temFilho. Pessoa)

58 Otimizações de pré-processamento
Normalização Absorção Uma Base de Conhecimento (BC) pode conter redundâncias consideráveis, que podem dificultar ou até impossibilitar o seu processamento através de sistemas de raciocínio. Métodos de pré-processamento são utilizados na resolução deste problema, através de simplificações sintáticas e manipulações na base de conhecimento. Esses métodos são a normalização e a absorção.

59 Normalização Simplificação da BC identificando :
Equivalências sintáticas Contradições e Tautologias Todos os conceitos devem ser modificados para se adequar a um formato padrão Utiliza apenas o conjunto completo de conectivos ¬ e ┌┐. A normalização tenta simplificar a BC identificando equivalências sintáticas, contradições e tautologias. Para facilitar a análise da base de conhecimento, todos os conceitos devem ser modificados para se adequar a um formato padrão. Neste formato só são permitidos os operadores ¬ e ┌┐. Os outros operadores são eliminados pela transformação deles em uma combinação de ¬ e ┌┐, utilizando as leis de DeMorgan. Por exemplo, (¬D └┘ ¬C) pode ser transformado em ¬(D ┌┐ C). A normalização pode incluir também simplificações para que contradições sintáticas óbvias e tautologias possam ser detectadas. Por exemplo, ∃ R.⊥ poderia ser simplificado para ⊥.

60 Normalização Exemplos: (¬D └┘ ¬C) é transformado em ¬(D ┌┐ C).
∃ R.⊥ é simplificado para ⊥.

61 Absorção Eliminação de axiomas gerais aumentando a definição destes axiomas. Axiomas gerais na forma C ⊆ D, C é um conceito não atômico São manipulados até chegar em A ⊆ D’, onde A é atômico. Este axioma pode então ser fundido dentro de uma definição primitiva existente A ⊆ C’, para resultar em A ⊆ C’ ┌┐ D’. A idéia básica é que axiomas gerais na forma C ⊆ D, onde C pode ser um conceito não atômico, seja manipulado até que tenha a forma de uma definição primitiva A ⊆ D’, onde A é o nome de um conceito atômico. Este axioma pode então ser fundido dentro de uma definição primitiva existente A ⊆ C’, para resultar em A ⊆ C’ ┌┐ D’.

62 Regras de Absorção A ┌┐ B ⊆ D, A atômico A ⊆ D └┘ ¬ B.

63 Absorção Exemplo: (Homem ┌┐ ∃ temFilho.Pessoa ⊆ Pai) resulta em
(Homem ⊆ Pai └┘ ¬∃ temFilho.Pessoa) Homem ⊆ ¬ Mulher Absorção: Homem ⊆ ¬ Mulher ┌┐ (Pai └┘ ¬∃ temFilho.Pessoa) A idéia básica é que axiomas gerais na forma C ⊆ D, onde C pode ser um conceito não atômico, seja manipulado até que tenha a forma de uma definição primitiva A ⊆ D’, onde A é o nome de um conceito atômico. Este axioma pode então ser fundido dentro de uma definição primitiva existente A ⊆ C’, para resultar em A ⊆ C’ ┌┐ D’. Por exemplo, um axioma declara que um homem que tem Filho é um pai, isto é, Homem ┌┐ ∃temFilho.Pessoa ⊆ Pai. A declaração anterior poderia ser transformada em um axioma que diz que para ser um homem a pessoa pode ou não ser pai, isto é, Homem ⊆ Pai └┘ ¬∃temFilho.Pessoa. Pode-se observar uma falha nessa definição de homem, pois o termo (¬∃temFilho.Pessoa) além de representar um homem sem filhos, representa também uma mulher sem filhos, tornando essa declaração de homem errada. Por isso é necessário que essa nova definição seja absorvida por uma declaração primitiva da classe homem para corrigir a abrangência da nova definição. A classe homem poderia ser absorvida por uma declaração primitiva de homem, como por exemplo, Homem ⊆ ¬ Mulher, resultando no seguinte axioma: Homem ⊆ ¬ Mulher ┌┐ (Pai └┘ ¬∃ temFilho.Pessoa)

64 Otimizações de Classificação
Hierarquia de conceitos representada por um grafo acíclico direto Nós são rotulados com os nomes dos conceitos Arcos correspondem a relações de classificação Um conceito A classifica um conceito B se: Ambos A e B estão no rótulo do mesmo nó x A está no rótulo de algum nó x, e existe um arco (x,y) no grafo e um conceito (s) no rótulo do nó y, que classifica B.

65 Otimizações de Classificação
Hierarquia de conceitos representada por um grafo acíclico direto Nós são rotulados com os nomes dos conceitos Arcos correspondem a relações de classificação Um conceito A classifica um conceito B se: Ambos A e B estão no rótulo do mesmo nó x A está no rótulo de algum nó x, e existe um arco (x,y) no grafo e um conceito (s) no rótulo do nó y, que classifica B. Uma das utilizações dos sistemas de raciocínio é a classificação hierárquica das bases de conhecimento, isto é, identificar a ordem dos nomes de conceitos baseados na classificação dos relacionamentos da BC. É muito importante assegurar que o teste de classificação faça o menor número de testes, pois ele é um processo muito custoso e pode prejudicar a performance dos sistemas de raciocínio. A hierarquia de conceitos é usualmente representada por um grafo acíclico direto no qual os nós são rotulados com os nomes dos conceitos e os arcos correspondem a relações de classificação. A relação de classificação é transitiva e reflexiva então um conceito A classifica um conceito B se: Ambos A e B estão no rótulo do mesmo nó x, ou A está no rótulo de algum nó x, e existe um arco (x,y) no grafo e um conceito (s) no rótulo do nó y, que classifica B.

66 Otimizações de Classificação
Minimização do número de testes de classificação através de algoritmos de busca que percorrem o grafo: Da base para o topo: encontra conceitos classificados Do topo para a base: encontra conceitos classificadores. São encontradas as classificações óbvias, diminuindo o custo de processamento causado pelo teste de classificação. Para minimizar o número de testes de subclassificação são utilizados algoritmos de busca que percorrem o grafo da base (bottom) para o topo (top) e do topo para a base. A primeira busca visa encontrar os conceitos sub-classificados por outro e a segunda os subclassificadores de conceitos. Dessa forma são encontradas sub-classificações mais aparentes (óbvias) reduzindo o processamento da base por métodos mais complexos.

67 Otimizações de Classificação
Transitividade da relação de subsunção: Se A não é subclasse de B, então ele não pode ser subclasse de nenhum outro conceito que seja subclasse de B. Busca do topo: testa se A classifica B somente quando se sabe que B é subclasse de todos os conceitos que classificam A. Busca da base: testa se A classifica B somente quando se sabe que A classifica todos os conceitos que são subclasse de B. Durante a classificação de um conceito A, a busca do topo se aproveita da transitividade da relação de subclassificação para propagar resultados falhos para baixo da hierarquia. Ela conclui, sem realizar testes de subclassificação, que se A não é subclassificado por B, então ele não pode ser classificado por nenhum outro conceito que seja classificado por B. Para maximizar o efeito desta estratégia, uma busca em largura modificada é usada, na qual garantimos que o teste para descobrir se B sub-classifica A nunca é feito até ter sido estabelecido que A é sub-classificado por todos conceitos conhecidos que subclassificam B. A busca da base usa uma técnica correspondente, que testa se A sub-classifica B somente quando se sabe que A sub-classifica todos os conceitos sub-classificados por B. Informações da busca do topo também são usadas para limitar a busca da base a aqueles conceitos que são sub-classificados por todos os sub-classificadores de A.

68 Otimizações do Teste de Subsunção
Detecta não-classificações óbvias. Baseia-se no armazenamento das árvores de expansão construídas anteriormente para evitar repetições futuras. Exemplo: A ≡ C ┌┐ R1C1 ┌┐ R2C2 B ≡ ¬D └┘ R3C3. Provar que A não é subclasse de B A┌┐¬B é satisfatível Enquanto a otimização de classificação detecta subclassificações óbvias, a otimização de testes de subclassificação detecta não-subclassificações óbvias, que é um processo mais complexo que o anterior. Ele se baseia no armazenamento dos testes de tableau feitos anteriormente para evitar repetições futuras. Por exemplo, dados dois conceitos A e B definidos pelos axiomas A ≡ C ┌┐ R1C1 ┌┐ R2C2 e B ≡ ¬D └┘ R3C3. Ao tentar provar que A não é sub-classificado por B, é necessário observar se A┌┐¬B é satisfatível.

69 Otimizações do Teste de Subsunção
Se as árvores de expansão desses dois conceitos estiverem armazenadas, a satisfatibilidade da conjunção pode ser provada pela conjunção das árvores de A e ¬B, através da junção das raízes das mesmas, como mostrado na figura. Sendo as duas árvores completamente expandidas e livres de contradições, a junção destas através da união dos seus nós raiz, será uma árvore totalmente expandida e livre de contradições ao provar que o nó raiz resultante não contém uma contradição imediata.

70 Otimizações do Teste de Satisfatibilidade
Teste realizado após a execução de todas as otimizações. Diminuição de custo computacional. Algoritmo Tableau Padrão: Ramos Sintáticos Otimizado: Ramos Semânticos O teste de satisfatibilidade usando o Tableau só deve ser realizado depois que todas as otimizações anteriores tiverem sido executadas, pois isto diminui o custo deste procedimento. Além disso, existem algumas técnicas que otimizam o teste de satisfatibilidade, permitindo uma melhora na sua performance. Dentre elas, podemos citar a Busca Semântica de Ramos. Enquanto no algoritmo padrão é utilizada a Busca Sintática de Ramos, no tableau otimizado se utiliza Busca Semântica de Ramos.

71 Ramos Semânticos Ramos sintáticos
Ao expandir um nó do grafo (árvore), escolhe-se uma disjunção não expandida e inicia-se a busca pelos diferentes modelos gerados pela adição de cada um dos membros da disjunção. Não há uma prevenção de recorrência de um conceito insatisfatível em ramos diferentes. Alto custo dependendo da dificuldade encontrada para provar a insatisfatibilidade deste conceito disjunto. A técnica utilizada no algoritmo tableau padrão é baseada em ramos sintáticos. Ao expandir um nó do grafo (árvore), escolhe-se uma disjunção não expandida e inicia-se a busca pelos diferentes modelos gerados pela adição de cada um dos membros da disjunção. Como os ramos alternativos da árvore de busca não são disjuntos, não há uma prevenção de recorrência de um conceito insatisfatível em ramos diferentes, o quê pode gerar um alto custo dependendo da dificuldade encontrada para provar a insatisfatibilidade deste conceito disjunto.

72 Ramos Semânticos Ramos semânticos:
Ao expandir um nó do grafo (árvore), escolhe-se um dos membros isolados da disjunção não expandida e gerasse dois novos ramos, adicionando em um ramo o conceito escolhido e no outro a sua negação. Não ocorrem buscas desnecessárias como na busca por ramos sintáticos, pois os ramos são estritamente disjuntos. Uma maneira de evitar este problema é a utilização de uma técnica baseada em ramos semânticos. Ao invés de escolher uma disjunção não expandida, escolhe-se um dos membros isolados da disjunção não expandida e gerasse dois novos ramos, adicionando em um ramo o conceito escolhido anteriormente e no outro a sua negação. Como estes dois ramos são estritamente disjuntos não ocorrem buscas desnecessárias como na busca por ramos sintáticos.

73 Ramos Semânticos Busca Sintática de Ramos Busca Semântica de Ramos
Por exemplo, a expansão por tableau de um nó x, no qual A é um conceito insatisfatível e {(A└┘B),(A└┘C)}  L(x), onde L(x) é a representação do rótulo do nó x (o conjunto formado por todos os conceitos que fazem parte deste nó), poderia ser realizada utilizando-se busca sintática ou semântica. Na busca sintática ocorrerá a repetição do teste de satisfatibilidade do conceito A, o qual já sabia ser insatisfatível devido ao primeiro teste (Figura 1). Na busca semântica essa repetição não ocorre, pois os dois ramos gerados são estritamente disjuntos (Figura2). Busca Semântica de Ramos

74 Bibliografia Nardi, D.; Brachman, R. “An Introduction to Description Logics”. In: The Description Logic Handbook – Theory, Implementation and Applications. Editedy by Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi and Peter Patel-Schneider, 2003. Baader, F.; Nutt, W. “Basic Description Logics”. In: The Description Logic Handbook – Theory, Implementation and Applications. Editedy by Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi and Peter Patel-Schneider, 2003. Baader, F. “Description Logic Terminology”. In: The Description Logic Handbook – Theory, Implementation and Applications. Editedy by Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi and Peter Patel-Schneider, 2003.

75 Bibliografia HORROCKS, I. “Implementation and Optimisation Techniques”. In: The Description Logic Handbook – Theory, Implementation and Applications. Editedy by Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi and Peter Patel-Schneider, 2003a. VIEIRA, R.; ABDALLA, D.; SILVA, D. M.; SANTANA, M. R. “Web Semântica: Ontologias, Lógicas de Descrições e Inferências”. In: Web e Multimídia: Desafios e Soluções. PUC Minas, 2005.


Carregar ppt "Raciocínio em Lógica de Descrições"

Apresentações semelhantes


Anúncios Google