SlideShare uma empresa Scribd logo
1 de 143
Baixar para ler offline
Nuno Miguel Cerqueira Costa
Licenciado em Engenharia Informática
OWL QL e Regras Não Monótonas
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática
Orientadores : João Leite, Prof. Associado,
Universidade Nova de Lisboa
Matthias Knorr, Pós-Doc,
Universidade Nova de Lisboa
Júri:
Presidente: Prof. Doutor Pedro Medeiros
Arguente: Prof. Doutor Paulo Quaresma
Vogal: Prof. Doutor João Leite
Março, 2015
Resumo
Na representação de conhecimento, as lógicas de descrição e a programação em ló-
gica tornaram-se as linguagens padrão para muitos contextos. A Web Semântica reflecte
isso mesmo. Na sua pilha tecnológica já figura uma camada ontológica fundamentada
nas lógicas de descrição, a linguagem OWL, e uma camada de regras, o RIF, que su-
porta programação em lógica. Enquanto que as lógicas de descrição são monótonas e
permitem inferir subsunções, a programação em lógica permite não monotonia e assim,
a Assunção do Mundo Fechado - e limita as consequências lógicas a factos. A combina-
ção das duas permite uma maior expressividade, indispensável para representar certos
domínios. Para esse propósito já foram definidos alguns formalismos, entre os quais se
destaca o MKNF híbrido, que permite estender a semântica de ambas simultaneamente.
Com base nesse formalismo foi desenvolvido um sistema de processamento de queries
a bases de conhecimento constituídas por uma ontologia OWL e um programa em ló-
gica com semântica bem fundada, o NoHR. O sistema está integrado com o Protégé –
um editor ontológico importante – sob a forma de plug-in, e suporta, na sua versão ori-
ginal apenas o perfil EL do OWL 2. O propósito da presente dissertação é extensão do
sistema para OWL 2 QL. Ambos os perfis suportam raciocínio polinomial; o OWL 2 EL
é particularmente útil para em aplicações onde sejam necessárias ontologias com grande
número de axiomas; e o OWL 2 QL para aplicações que usem grandes volumes de dados
de instância, e onde responder a queries seja a tarefa de raciocínio mais importante.
Palavras-chave: representação de conhecimento; web semântica; lógicas de descrição;
programação em lógica; DL-LiteR ; OWL QL; regras não monótonas; MKNF; bases de
conhecimento híbridas MKNF.
ii
Abstract
In knowledge representation, description logics and the logic programing became the
standard languages in many contexts. The Semantic Web reflects that. In its technology
stack is already included an ontological layer, the OWL language, and a layer of rules,
the RIF, which supports logic programing. Whereas descriptions logics are monotonic
and can entail subsumption, logic programing support non monotonic reasoning – and
so, the Close World Assumption – and only entail facts. The combination of the two
allows for greater expressiveness, indispensable to represent certain domains. For this
purpose were defined some formalisms, among which stands out the hybrid MKNF, that
allows to extend the semantics of both simultaneously. Based on this formalism, a query
system to knowledge bases formed by an OWL ontology and a logic program with well
founded semantic was developed. The system is integrated with Protégé - an important
ontological editor - in the form of plug-in, and supports, in its original version, only
the OWL 2 EL profile. The propose of this dissertation is to extend the system to OWL
2 QL. Both profiles support polynomial reasoning; OWL 2 EL is particularly useful for
applications where it is necessary ontologies with large number of axioms; and the OWL
2 QL to applications that use large volumes of instance data, and where querying is the
most important reasoning task.
Keywords: Knowledge Representation; Semantic Web; Description Logics; Logic Pro-
graming; DL-LiteR ; OWL QL; Non-monotonic rules; MKNF; MKNF Hybrid Knowledge
Bases.
iii
Conteúdo
I Introdução 1
II Revisão de Literatura 11
1 Lógicas de Descrição 12
1.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3 Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 EL+
⊥ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Programação em Lógica 19
2.1 Modelos estáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Modelos bem fundados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Bases de Conhecimento MKNF 24
3.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 SLG(O) 32
4.1 SLG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 NoHR 39
5.1 Redução da TBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
iv
CONTEÚDO v
6 Raciocínio em DL-LiteR 47
6.1 Interpretação canónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Fecho negativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3 Satisfazibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
III Abordagem Teórica 56
7 Tradução com redução 57
7.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.1.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.1.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8 Tradução directa 76
8.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.2.1 Derivações positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2.2 Propriedades do grafo . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.2.3 Derivações negativas . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.2.4 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.3 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
IV Abordagem Prática 108
9 Implementação 109
9.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.2 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10 Avaliação 115
10.1 Experiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.3 Discussão de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
V Conclusões 121
11 Conclusões e Trabalho Futuro 122
CONTEÚDO vi
A Normalizações 131
A.1 Expressões normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
A.2 Expressões ignoradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
A.3 Expressões normais em DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . 133
A.4 Normalizações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Parte I
Introdução
1
chapterEnquadramento, Objectivos e Contribuições
Representação de conhecimento e raciocínio é uma área da inteligência artificial cujo o
objectivo é determinar como se pode representar conhecimento simbolicamente e manipulá-
lo automaticamente com programas de raciocínio. Por outra palavras, é o ramo da inte-
ligência artificial relacionado com o pensamento, e com o seu contributo para o compor-
tamento inteligente [7].
Muitas das linguagens de representação de conhecimento desenvolvidas até agora
podem ser classificadas em uma das duas seguintes famílias, que têm sido desenvolvidas
nos últimos 30 anos quase independentemente uma da outra [37]:
• a primeira inclui formalismos que tentam reconstruir abordagens populares como
os sistemas baseados em estruturas e redes semânticas, entre os quais as lógicas de
descrição são os mais proeminentes;
• a segunda família é centrada na ideia de modelar o conhecimento com regras e o
seu formalismo fundamental é fornecido pela programação em lógica.
O estudo das lógicas de descrição (DL) tem coberto não só os fundamentos teóri-
cos como também a implementação de sistemas de representação de conhecimento e o
desenvolvimento de aplicações em várias áreas, e tem-se revelado bem sucedido. O ele-
mento chave para esse sucesso é a metodologia de investigação baseada numa interação
próxima entre teoria e prática, havendo, por um lado, várias implementações de sis-
temas baseados em lógicas de descrição, que oferecem uma paleta de formalismos de
descrição com diferentes poderes expressivos, e aplicados em vários domínios, e por ou-
tro lado, um estudo detalhado das propriedades formais e computacionais do raciocínio
nesses formalismos. Esses estudos são normalmente motivados pelo uso de certos tipos
de construtores em sistemas implementados ou pela necessidade desses construtores em
aplicações específicas [4].
As lógicas de descrição representam o domínio de interesse em termos de conceitos,
que denotam conjuntos de objectos, e relações entre conceitos, sobre esses conjuntos de
objectos. Oferecem um conjunto de construtores para combinar conceitos, expressando,
desse modo, novos conceitos. As propriedades dos conceitos e relações são descritas
através axiomas de subsunção, que estabelecem que cada instância de um dado conceito
(resp., relação) é também instância de um outro conceito (resp., relação). As proprieda-
des dos objectos expressam-se recorrendo a asserções de pertença, que indicam de que
conceito um dado objecto é instância ou em que relações participa com outros objectos.
Em geral, são fragmentos da lógica de primeira ordem [9]. Os sistemas de representação
de conhecimento baseados em lógicas de descrição, podem suportar, além de queries, di-
versos serviços de raciocínio, como a classificação, na qual se estrutura o conjunto dos
axiomas da ontologia, numa hierarquia de subsunções, onde as subsunções implícitas,
i.e. implicadas por outras, são tornadas explicitas; ou verificação de consistência, no qual
se verifica se não existem conjuntos de axiomas e asserções contraditórios entre si.
2
Relativamente à programação em lógica, embora também lhe possa ser atribuída a se-
mântica da lógica de primeira ordem, semânticas não monótonas – onde adicionar nova
informação pode invalidar conclusões previamente derivadas – como a dos modelos es-
táveis e a dos modelos bem fundados, são habitualmente mais vantajosas. Ambas as
semânticas se baseiam no conceito de modelo canónico, onde a resposta para uma dada
query a um programa em lógica é determinada por um modelo canónico do programa,
que é seleccionado de acordo com uma certa definição de semântica, que pode, dessa
forma, estabelecer uma certa noção senso comum – algo essencial ao ser humano, que
o permite raciocinar com base em conhecimento incompleto ou ambíguo, e rever esse
conhecimento quando na presença de nova informação.
As lógicas de descrição e a programação em lógica exibem certas limitações, e as
limitações de uma podem ser compensadas pelas potencialidades de outra. Desta forma,
problemas de representação complexos requerem, frequentemente, ambas.
As limitações das lógicas de descrição são duas. Primeira, as restrições sintáticas
usadas para garantir decidibilidade no raciocínio, impedem axiomatizar certas relações
que contenham ciclos. Em segundo lugar, como a maioria das lógicas de descrição são
fragmentos da lógica de primeira ordem, não permitem introspecção nem inferências não
monótonas, o que as impede de:
• axiomatizar a assunção do mundo fechado, i.e. a assunção de que todos os factos rele-
vantes são conhecidos e que os que não o são são falsos, inerente às bases de dados
e formalizada, nesse contexto, por Reiter [40];
• suportar raciocínio com base em assunções por omissão, i.e. assumindo que algo é
verdadeiro, a menos que contradiga os factos conhecidos.
Quanto às regras, as limitações devem-se maioritariamente à impossibilidade de raci-
ocinar com domínios ilimitados ou infinitos, i.e. não é possível inferir conclusões acerca
de elementos arbitrários (ex.: de “todos os A são B e todos os B são C” derivar “todos
os A são C”). Sendo, consequentemente, tipicamente usadas em problemas centrados em
dados, como consultas, mas não para raciocinar acerca de esquematizações conceptuais
[37].
Os potenciais benefícios de integrar lógicas de descrição com regras tem sido reco-
nhecidos desde o inicio, e um corpo de investigação significativo tem-se dedicado a essa
problemática [37].
Uma combinação efectiva de regras não monótonas com ontologias em lógicas de des-
crição é vantajosa em vários cenários reais. Por exemplo, nos serviços fronteiriços a avali-
ação de factores de riscos das cargas importadas, como terrorismo, drogas, segurança de
consumidores e violação de tarifas, envolve conhecimento sobre matérias-primas, enti-
dades empresariais, sobre o comércio, as politicas governamentais e acordos comerciais.
Nesse cenário, a classificação das importações ou exportações de acordo com o conheci-
mento taxonómico inerente a esse domínio poderia processar-se recorrendo aos serviços
de raciocínio fornecidos pelas lógicas de descrição; as leis, regulamentos, e políticas de
3
classificação poderiam ser representadas com regras não monótonas. Em geral, qualquer
domínio em que a integração e acesso inteligente a dados e a representação e avaliação
de politicas de negócios, regulamentos, ou mapeamentos entre fontes de informação se-
jam necessários, pode beneficiar do uso dessa combinação de ontologias com regras – e
em alguns casos, essa poderá vir a ser a melhor solução.
Outro exemplo (adaptado de [30]), simplificado mas concreto, que será usado ao
longo da presente exposição para elucidar vários conceitos, é o seguinte.
Exemplo 1. Considere-se uma loja online de venda de música. Com o intuito de atrair
mais utilizadores e aumentar as vendas, decidiu-se introduzir ferramentas mais sofisti-
cadas para as recomendar e procurar.
Para esse propósito, foi usada uma ontologia para estruturar e manter os dados das
músicas. Cada uma tem um identificador único e pode ser associada com o artista, o
compositor, o género, e a origem da música.
Além disso, o sistema deve permitir expressar directrizes, tanto baseadas num critério
geral como nas especificações do utilizador. Por exemplo, a loja pode recomendar a todos
os clientes músicas que são mais vendidos. Ou algum cliente pode desejar que lhe se-
jam recomendados músicas que ainda não tenha e que, de acordo com algum critério de
preferência, provavelmente goste. Enquanto que a primeira directriz pode ser represen-
tada na ontologia, a segunda requer assunção do mundo fechado (e.g., para inferir "por
omissão", i.e., na ausência de evidencias em contrário, que o cliente não tem a música) e
podem ser representadas através de regras não monótonas.
Actualmente, foram já definidos alguns formalismos que permitem, de forma mais
ou menos limitada, essa combinação. Destacam-se, entre eles, pelas suas propriedades
ou meramente por motivos históricos, os seguintes: SWRL [23, 25], DLP [20], AL-log [11],
CARIN [34], DL + log [41], Horn-SHIQ [26], MKNF hibrido [30, 37], programas dl [13,
14], programas dl disjuntivos [16], lógica de equilíbrio quantificado para bases de conhecimento
híbridas [16], grafos de descrição [36] , esquemas nominais [31], regras híbridas sob semântica
bem fundada [12] e programas HEX [15]. O MKNF 1 híbrido apresenta algumas vantagens
importantes sobre as outras abordagens.
Motik e Rosati discutem em [37] essa proeminência do MKNF híbrido face às outras
abordagens, defendendo que um tal formalismo, que integre ontologias DL e programas
em lógica, deve satisfazer certos critérios, e constatando que, de entre os formalismos
na altura conhecidos, o MKNF híbrido é o único que os satisfaz a todos. Os critérios que
enunciou foram os seguintes:
1. fidelidade – a integração entre DL e regras deve preservar a semântica de ambos os
formalismos, i.e. a semântica de uma base de conhecimento híbrida na qual um dos
componentes é vazia deve ser a mesma que a do outro componente;
1
Do inglês, Minimal Knowledge and Negation as Failure
4
2. estreiteza – as regras não devem constituir uma camada sobre as DL nem o contrário;
em vez disso, a integração entre as duas deve ser estreita, no sentido que ambas
devem poder contribuir com consequências para o outro componente;
3. flexibilidade – o formalismo híbrido deve ser flexível e permitir que o mesmo predi-
cado seja visto sob a perspectiva do mundo aberto e do mundo fechado, enriquecendo
assim as DL com consequências não monótonas e as regras com capacidades de ra-
ciocínio taxonómico;
4. decidibilidade – o formalismo deve ser decidível, e, de preferência, de baixa comple-
xidade.
Além dessas propriedades, já de si vantajosas face às obtidas nas outras abordagens
a bases de conhecimento híbridas, é de notar, e é particularmente relevante no contexto
desta dissertação, a existência de um algoritmo, o SLG(O) (ver capítulo 4), para a semân-
tica a três valores de verdade apresentada em [30], que permite interrogar tais bases de
conhecimento com complexidade de dados polinomial, no caso de DLs onde as consul-
tas sejam polinomiais – como é o caso do OWL 2 QL. Esse algoritmo opera directamente
sobre as regras da base de conhecimento e delega o raciocínio relativo à ontologia a me-
canismos de inferência DL externos. Como as bases de conhecimento híbridas MKNF são
paramétricas quanto à DL usada, esse mecanismo de inferência é visto como um oráculo
– uma abstração dos referidos mecanismos, que define as propriedades que estes tem de
satisfazer para garantir a correcção e completude do algoritmo.
Embora quase todas as alternativas mencionadas alcancem, com algumas restrições,
a decidibilidade, os critérios da fidelidade, estreiteza, e flexibilidade, não são satisfeitos si-
multaneamente. Em traços gerais, as abordagens à combinação de ontologias DL com
regras, actualmente conhecidas, passam por: manter os dois componentes, ontologias
e regras, separados tanto sintática como semanticamente, i.e. os dois componentes se-
rem expressos em termos de vocabulários disjuntos e atribuir-se-lhes semânticas distin-
tas, integrando-se apenas por meio de uma interface (ex., introduzindo, no componente
das regras, predicados especiais que permitam consultar a ontologia, como é o caso nos
programas dl), o que impede que os critérios da estreiteza e da flexibilidade se verifiquem;
ter-se uma semântica unificadora, o que se traduz em estreiteza na integração, mas ter-se
ainda vocabulários disjuntos, não se verificando assim a flexibilidade; e finalmente, uma
integração completa, tendo-se um só vocabulário e uma só semântica para (a combinação
de) os dois componentes, onde esses critérios da estreiteza e flexibilidade são satisfeitos.
Entre as últimas, o MKNF híbrido é a única que garante fidelidade.
Um interesse renovado na integração das lógicas de descrição com regras tem sido im-
pulsionado pelo advento da Web Semântica [37]. De acordo com um dos seus principais
precursores, Tim Berners-Lee et al., a Web Semântica é uma extensão da Web onde se as-
socia à informação um significado preciso, i.e. inteligível não só para o utilizador como
para as próprias máquinas, de modo a permitir uma melhor cooperação entre computa-
dores e pessoas, e a proporcionar um ambiente onde agentes de software, transitando de
5
página em página, possam realizar tarefas sofisticadas para os seus utilizadores [5].
Desde o seu inicio até aos dias de hoje, essa concepção de Web Semântica tem vindo a
ser refinada, sendo actualmente possível mapeá-la numa arquitectura bem definida, em
que alguns dos componentes já foram desenvolvidos e já são recomendação da W3C 2
(ver figura 1).
Figura 1: Pilha tecnológica da Web Semântica (adaptado de [8])
Um dos componentes já desenvolvidos é o relativo às ontologias – i.e., colecções de
informação que especificam, formalmente, conceptualizações partilhadas, ou, por ou-
tras palavras, vocabulários de termos, definidos através das suas relações, mantidas em
documentos acessíveis na Web [5]. É nesta componente que as lógicas de descrição de-
sempenham um papel crucial, dando suporte teórico à linguagem OWL Web Ontology
Language – actual recomendação da W3C para a representação de ontologias.
A semântica formal e a existência de ferramentas de raciocínio eficientes e compro-
vadamente correctas, como Pellet, FaCT++ e RACER, têm feito da OWL a linguagem de
escolha para aplicação prática em diversos campos como biologia, medicina, geografia,
astronomia, agricultura e defesa. Essa extensiva experiência prática tem confirmado os
benefícios do uso das lógicas de descrição para a representação de conhecimento, mas
também tem realçado as suas limitações, já discutidas neste documento [37].
No que diz respeito às regras, cujo papel é descrever consequências de dadas infor-
mações, que tanto podem ser a derivação de planos de acção como a de novas informa-
ções [5], existem também alguns raciocinadores como os interpretadores Prolog, o XSB 3,
o clasp 4, o cmodels 5 e o DLV-complex 6. Há também um formato padrão, recomendado
2
http://www.w3.org/
3
http://xsb.sourceforge.net/
4
http://www.cs.uni-potsdam.de/clasp/
5
http://www.cs.utexas.edu/users/tag/cmodels/
6
https://www.mat.unical.it/dlv-complex/
6
pela W3C, para as representar, o RIF, que suporta ambos os tipos de regras mencionados
[6]. No entanto, ainda não existem muitas ferramentas de raciocínio que as suportem
de forma integrada com a camada ontológica. Uma dessas ferramentas, e aquela que
se considera a que apresenta melhores propriedades, precisamente por adoptar como
fundamento teórico o MKNF híbrido e implementar a resolução SLG(O), beneficiando
assim das vantagens já discutidas, é o NoHR.
Na sua versão original, o NoHR suporta apenas o perfil 7 OWL 2 EL do OWL. Definiu-
se em [28], para esse efeito, um oráculo SLG(O) para EL+
⊥
8, que se baseia na tradução
da ontologia para regras equivalentes, quanto às repostas obtidas para as queries, e res-
pectiva avaliação recorrendo ao próprio SLG(O). Deste modo, elimina-se a necessidade
de recorrer raciocinadores DL externos e reduz-se o SLG(O) a um algoritmo já imple-
mentado, de forma comprovadamente efectiva – o SLG, aplicado no XSB. A ontologia de
entrada é reduzida de modo a que os construtores que não podem ser expressos, ou não
têm significado, sob a forma de regras, possam ser ignorados, sem que se percam deri-
vações relevantes – para o que se recorre ao serviço de classificação do raciocinador DL
ELK 9; depois traduzida para regras Prolog, as quais são posteriormente utilizadas no
XSB Prolog, para responder se às queries.
Além do OWL 2 EL, é importante que o NoHR suporte os vários perfis do OWL, um
vez que, cada um deles se adequa a contextos distintos. Entre os três perfis da OWL 2
DL [19], merece particular destaque o OWL 2 QL, que tem suporte teórico na lógica de
descrição DL-LiteR (ver Secção 1.5), pelas seguintes características:
• suporta mecanismos de interrogação completos e consistentes com complexidade
LOGSPACE (AC0) quanto aos dados 10;
• permite expressar os principais elementos de modelos conceptuais como Diagra-
mas de Classes UML e Diagramas de Entidades e Relações;
• torna possível armazenar os dados em Bases de Dados relacionais padrão e poste-
riormente interrogá-los, através da ontologia, por meio de um simples mecanismo
de reescrita, em que a query é traduzida para SQL para ser lançada a um Sistema
de Gestão de Bases de Dados, sem qualquer mudança nos dados.
Tais características fazem dele um perfil adequado a grande parte das aplicações Web
actuais, e outras, que lidam com grandes volumes de dados e onde responder a queries
seja a tarefa de raciocínio mais importante.
Uma aplicação relevante do OWL 2 QL é o Acesso a Dados Baseado em Ontologias
(OBDA), que corresponde a uma combinação de uma camada de dados, como Bases de
7
Os perfis do OWL são versões reduzidas que sacrificam alguma da expressividade original para permitir
um raciocínio mais eficiente.
8
Um fragmento importante do EL++
.
9
Note-se que o raciocinador DL só é necessário na fase de tradução da ontologia; após traduzida, todas
as queries podem ser respondidas sem ele, recorrendo apenas ao XSB Prolog.
10
Isto é, quanto à ABox (ver secção 1.1)
7
Dados padrão ou documentos xml, e uma camada ontológica sobre a primeira, que abs-
trai o acesso a esses dados, permitindo assim um interação de mais alto nível com eles, e
ainda, integrar, de forma transparente, dados de várias fontes.
O propósito da presente dissertação é a extensão NoHR de modo a suportar o perfil
OWL 2 QL do OWL 2 11. Com isso espera-se dar um contributo relevante para a Web
Semântica, uma vez que, desse modo, se lhe fornecem ferramentas com as vantagens
decorrentes combinação do OWL 2 QL com regras não monótonas, que se discutiram ao
longo da presente introdução.
Tal propósito implica, num plano teórico, a definição de um oráculo SLG(O) para
DL-LiteR ; e, num plano prático, a implementação desse oráculo, a sua adaptação ao
OWL 2 QL, que embora não seja mais expressivo que o DL-LiteR , acrescenta alguns
construtores, e a sua integração com o NoHR.
Definem-se, na presente dissertação, dois oráculos SLG(O) distintos, ambos baseados
na tradução da ontologia para regras não monótonas, à semelhança do que acontece
no oráculo para EL+
⊥usado no NoHR. Num deles, a ontologia é reduzida, tal como no
oráculo para EL+
⊥, de modo a se eliminarem os construtores que não são directamente
expressáveis sob a forma de regras, e só depois traduzida. No outro oráculo, não se pro-
cede a qualquer redução, a ontologia é directamente traduzida, recorrendo a predicados
auxiliares – não fazem parte dos que são definidos na base de conhecimento, e não têm
significado no contexto da programação em lógica – para representar os construtores que
de outro modo não são expressáveis sob a forma de regras.
Na primeira abordagem, da tradução indirecta, como a classificação da ontologia é
essencial para a sua redução, torna-se indispensável recorrer a um raciocinador DL que
suporte classificação. Como não existe nenhum raciocinador dedicado ao DL-LiteR , que
escale bem quanto tamanho dos dados e que forneça a OWL API – necessária no NoHR e
no Protégé – ainda, de forma completa, a classificação de ontologias DL-LiteR , definem-
se algumas reduções preliminares, de modo a que ontologia possa ser convenientemente
tratada pelos raciocinadores existentes. 12 Na segunda abordagem, da tradução directa,
não há necessidade de recorrer a qualquer raciocinador DL, nem de se efectuar quaisquer
reduções, o que a torna, à partida, mais eficiente na fase tradução. Por esse motivo, foi
essa a abordagem adoptada na implementação.
Assim, os contributos da dissertação são, não só a extensão do NoHR para o perfil
OWL 2 QL, como a definição de dois oráculos SLG(O) para DL-LiteR ; e ainda a defi-
nição de uma redução da classificação em DL-LiteR à classificação em EL++
– a qual é
suportada de forma bastante efectiva em raciocinadores existentes, como o ELK, quando
comparada com o que acontece com outras DL, e em particular, com o DL-LiteR .
11
Esta dissertação foi elaborada no contexto do projecto ERRO: Efficient Reasoning with Rules and Onto-
logies (PTDC/EIA-CCO/121823/2010)
12
A definição e implementação de tais reduções é, em termos de custo (tempo necessário à concepção de
um algoritmo e à sua implementação) vs efectividade (eficácia e eficiência do resultado final), preferível à
implementação de um serviço de classificação completo para DL-LiteR .
8
O presente documento é constituído por cinco partes. A primeira, a presente introdu-
ção, apresenta o propósito da dissertação, as suas motivações e contribuições. A segunda
parte, apresenta todo o contexto necessário à sua compreensão. Apresentam-se também
alguns trabalhos científicos e tecnológicos com propósitos aproximados ao da presente
dissertação, e comparam-se com o formalismo adoptado, MKNF híbrido, e o sistema
estendido, o NoHR. 13 Na terceira parte, apresentam-se os resultados teóricos obtidos –
os dois oráculos SLG(O) e a redução aplicada no primeiro deles – bem como a sua ava-
liação analítica. Na quarta parte apresentam-se os resultados práticos – o sistema NoHR
estendido de modo a suportar OWL 2 QL – e a sua avaliação empírica. Na última parte,
discutem-se todos os resultados, tanto teóricos como práticos, e as suas implicações.
Detalhadamente, as contribuições da presente dissertação são as seguintes:
• apresentação do estado da arte relativamente às bases de conhecimento híbridas, e
dos conceitos a elas subjacentes (Capítulos 1-6);
• definição de uma redução da classificação DL-LiteR à classificação EL++
(Secção 7.1.1);
• demonstração da correcção dessa redução (Secção 7.2.1);
• definição de uma tradução (indirecta) de ontologias DL-LiteR reduzidas, i.e. sem
axiomas com existenciais do lado direito, para regras não monótonas (Secção 7.1.2);
• demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto
às respostas a queries (Secção 7.2.2), i.e. que as regras por ela obtidas, quando ava-
liadas sobre a semântica bem fundada, derivam as mesmas respostas a queries que
a ontologia original;
• definição de um oráculo SLG(O) DL-LiteR baseado na tradução (indirecta) de on-
tologias reduzidas para regras não monótonas (Secção 7.1.2);
• demonstração da correcção desse oráculo SLG(O) (Secção 7.2.2);
• definição de uma tradução (directa) de ontologias DL-LiteR (não reduzidas) para
regras não monótonas (Secção 8.1);
• demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto
às respostas a queries (Secção 8.2);
• definição de um oráculo SLG(O) DL-LiteR baseado na tradução (directa) de onto-
logias para regras não monótonas (Secção 8.1);
• demonstração da correcção desse oráculo (Subsecção 8.2.4);
13
Esse tópico não é abordado de forma mais aprofundada, por não se considerar que tal seja necessário
para a compreensão das decisões tomadas quanto às técnicas adoptadas; e por os trabalhos mencionados
serem, apesar de afins quanto aos propósitos gerais – visam também integrar, de alguma forma, ontologias
DL (em geral, e não DL-LiteR em particular) e programas em lógica – são pouco relacionados quanto aos
métodos aplicados e aos resultados obtidos.
9
• implementação da extensão do NoHR com suporte para OWL 2 QL (Capítulo 9);
• avaliação empírica dessa implementação (Capítulo 10).
O documente prossegue com os seguintes conteúdos. Na segunda parte introduzem-
se os conceitos preliminares subjacentes às lógicas de descrição (Capítulo 1) e à progra-
mação em lógica (Capítulo 2) – os principais formalismos estudados em representação
de conhecimento, e que se pretende combinar nesta dissertação. De seguida introduzem-
se as bases de conhecimento híbridas MKNF (Capítulo 3) e a resolução SLG(O) (Capítulo 4).
Depois, descreve-se o sistema NoHR (Capítulo 5), e o oráculo SLG(O) que se utiliza para
EL+
⊥. Finalmente, apresentam-se os resultados relativos ao raciocínio na lógica de des-
crição DL-LiteR (Capítulo 6), que serão utilizados para corroborar os resultados teóricos
apresentados na segunda parte.
Na terceira parte é elaborado o oráculo DL-LiteR indirecto, baseado na tradução com
redução da ontologia (Capítulo 7). É também ai elaborada a redução da classificação
DL-LiteR à classificação EL+
⊥ (Subsecção 7.1.1). Começa-se por apresentar os resultados
obtidos (Secção 7.1); apresentado-se posteriormente a avaliação analítica desses resulta-
dos (Secção 7.2). Depois, é elaborado o oráculo DL-LiteR directo, baseado na tradução
sem redução da ontologia (Capítulo 8). Mais uma vez, começa-se pelos resultados obti-
dos (Secção 8.1); que são seguidos pela sua avaliação analítica (Secção 8.2).
Na quarta parte, apresenta-se a implementação da extensão do NoHR para OWL 2 QL
(Capítulo 9), descrevendo-se a sua arquitectura (Secção 9.1), funcionamento (Secção 9.2),
e mostrado-a a sua utilização (Capítulo 9). Depois (Capítulo 10), descreve-se uma ex-
periência executada com essa implementação com o intuito de a avaliar (Secção 10.1);
apresentam-se os resultados dessa experiência (Secção 10.2); e discutem-se as virtudes e
deficiências que esses resultados sugerem (Secção 10.3).
Por fim, na última parte, descreve-se todo o trabalho efectuado; sugere-se algum tra-
balho futuro que poderá ser conduzido na mesma linha; e mencionam-se alguns traba-
lhos relacionados relevantes (Parte V).
10
Parte II
Revisão de Literatura
11
1
Lógicas de Descrição
As Lógicas de Descrição (DL) [4] são uma família de formalismos de representação de
conhecimento que representam o conhecimento de um domínio definindo, em primeiro
lugar, os conceitos do domínios (a sua terminologia), e depois usando esses conceitos
para especificar propriedades de objectos ou indivíduos do domínio (a “descrição do
mundo”). As Lógicas de Descrição suportam os padrões de inferência que ocorrem em
muitas aplicações de sistemas de processamento inteligente de informação, e que são
também usados pelos humanos para entender e estruturar o mundo: a classificação de
conceitos e indivíduos.
A classificação de conceitos determina as relações de subconceito/superconceito (ha-
bitualmente chamadas de subsunção, neste contexto) entre os conceitos da terminologia,
permitindo assim estruturá-los numa hierarquia de subsunções – o que não só fornece
informação útil sobre a relação entre esses conceitos, como contribui para outros servi-
ços de inferência. A classificação de indivíduos determina se um dado individuo é ne-
cessariamente instância de um certo conceito, i.e. se, da informação explicitada, se pode
concluir que o individuo é instância desse conceito, em todos os cenários que se coadu-
nem com essa informação, fornecendo assim novo conhecimento sobre as propriedades
desses indivíduos.
A decidibilidade e complexidade dos serviços de inferência, classificação e outros,
depende do poder expressivo da DL em causa. Por um lado, DLs demasiado expressivas
podem tornar tais serviços intratáveis, ou até mesmo indecidíveis. Por outro lado, DLs
com muito pouco poder expressivo – e assim, com serviços de raciocínio mais eficientes
– podem não ser suficientemente expressivas para representar conceitos importantes de
determinados domínios. Assim, o compromisso entre a expressividade das DLs e com-
plexidade dos respectivos serviços de inferência tem sido um dos aspectos mais centrais
12
1. LÓGICAS DE DESCRIÇÃO 1.1. Sintaxe
no estudo desses formalismos.
Uma base de conhecimento (KB), neste contexto, é constituída por dois elementos,
uma TBox e uma ABox. A TBox introduz a terminologia, i.e. é vocabulário do domínio,
e a ABox contém asserções sobre indivíduos, em termos dessa terminologia. A Secção 1.1
descreve com mais detalhe as bases de conhecimento DL.
O vocabulário é constituído por conceitos, que denotam conjuntos de indivíduos, e
relações, que denotam relações binárias entre esses conjuntos. Além dos conceitos e re-
lações atómicas (nomes de conceitos e de relações), todas as Lógicas de Descrição per-
mitem construir descrições complexas de novos conceitos ou relações. A TBox pode ser
usada precisamente para atribuir nomes a descrições dessa natureza. A linguagem para
construir tais descrições difere em cada DL. A semântica das Lógicas de Descrição é de-
finida em teoria de modelos. Os axiomas e asserções na TBox e ABox, respectivamente,
podem ser identificados com fórmulas de primeira ordem (ou ligeiras extensões dela). A
secção 1.2 descreve a semântica das Lógicas de Descrição.
Um sistema DL não só armazena terminologias e asserções, como também fornece
serviços para raciocinar sobre elas. Uma tarefa de raciocínio típica para uma ontologia
é a de determinar se é satisfazível, i.e. não contraditória e admite modelos. Outra tarefa,
sobre a TBox, é a de determinar se uma descrição é mais geral que outra – por outras pa-
lavras, se subsume outra. Quanto à ABox, os serviços habitualmente suportados são o de
determinar se o conjunto das asserções que contém é consistente, e o de testar se elas im-
plicam que um indivíduo particular é instância de um dado conceito. A verificação de
satisfazibilidade e de consistência são úteis para determinar se a base de conhecimento
têm algum significado inteligível. Com os testes de subsunção, podem organizar-se os
conceitos da terminologia numa hierarquia, de acordo com a sua generalidade - o que,
como se referiu, se entende por classificação. Uma descrição de conceito pode também
ser concebida como query, descrevendo o conjunto de objectos nos quais se está interes-
sado. Assim, com testes de instância pode obter-se os indivíduos que as satisfazem (ver
secção 1.3).
Entre as várias lógicas de descrição existentes, merecem particular destaque nesta
dissertação o EL+
⊥ e DL-LiteR . A primeira porque, como já se mencionou, é aquela que
é suportada na versão original do NoHR; a segunda porque é aquela que se pretendeu
suportar na extensão do NoHR a que a presente dissertação se propõe. As secções 1.4
e 1.5, respectivamente, apresentam essas duas lógicas de descrição.
1.1 Sintaxe
Como referido, uma ontologia DL representa o domínio de interesse em termos de duas
partes: uma TBox, habitualmente denotada por T , especificando o conhecimento in-
tencional, e uma ABox, habitualmente denotada por A, especificando o conhecimento
extensional.
13
1. LÓGICAS DE DESCRIÇÃO 1.1. Sintaxe
Uma TBox é formada por um conjunto finito de axiomas de subsução da forma:
C1 C2 (1.1)
R1 R2 (1.2)
que denotam que todas as instâncias de C1 também são instâncias de C2 e que todos os
pares (a, b) pertencentes à relação R1 também pertencem à relação R2, respectivamente.
Ci são conceitos – que denotam conjuntos de objectos – atómicos ou complexos. Os conceitos
complexos podem ser o complemento de um conceito, ¬C; a intersecção de dois conceitos,
C1 C2; a união de dois conceitos, C1 C2; uma quantificação existencial, ∃R.C; uma quan-
tificação existencial reflexiva, ∃R.self; uma quantificação universal, ∀R.C; ou uma restrição de
cardinalidade, ≤ nR.C ou ≥ nR.C (ver tabela 1.1). Ri são relações – denotam relações biná-
rias entre conceitos – atómicas ou complexas. As relações complexas podem ser: o inverso
de um relação, R−; a composição de duas relações, R1 ◦ R2; ou o complemento de uma rela-
ção, ¬R.
Uma ABox é formada por um conjunto finito de asserções de pertença da forma:
C(a) (1.3)
R(a, b) (1.4)
que denotam que o objecto representado pela constante a é uma instância de C e que
o par de objectos denotados pelo par de constantes (a, b) é uma instância da relação R,
respectivamente.
Exemplo 2. Considere-se novamente o senário da loja online do Exemplo 1. Os seguintes
axiomas e asserções poderiam ser parte da ontologia que a loja usa:
Piece ∃HasArtist (1.5)
∃HasArtist−
Artist (1.6)
∃HasComposed−
Piece (1.7)
HasComposed−
HasArtist (1.8)
Composer ∃HasComposed (1.9)
TopSeller Recommend (1.10)
LessSold ¬Recommend (1.11)
Artist ¬Piece (1.12)
HasArtist(BlueTrain, JohnColtrane) (1.13)
HasComposed(GeorgeGershwin, RhapsodyInBlue) (1.14)
Composer(GustavMahler) (1.15)
TopSeller(BlueTrain) (1.16)
14
1. LÓGICAS DE DESCRIÇÃO 1.2. Semântica
O axioma 1.5 assegura que cada música tem pelo menos um artista, enquanto que
o 1.6 restringe o contradomínio da relação HasArtist para Artist, e 1.7 o contradomínio de
HasComposed para Piece. O axioma 1.8 indica que se algo foi composto por um certo
indivíduo, essa composição tem-no como artista. O axioma 1.9 define Composer como
subconjunto dos indivíduos que compuseram algo.
Os axiomas 1.6-1.9, por si só, já permitem derivar que um compositor é um artista.
É de notar que essa conclusão é possível mesmo sem a presença de nenhum compositor
ou música. Tal é o efeito que se pretende quando se raciocina, com esquemas de conhe-
cimento, em domínios infinitos. Não obstante, é evidente que havendo informação espe-
cífica é possível usá-la para derivações acerca de indivíduos específicos. Por exemplo, na
presença da asserção 1.14 é possível derivar que GeorgeGershwin é um artista.
O axioma 1.10 expressa uma directiva de recomendação geral: CDs que sejam mais
vendidos são automaticamente recomendados aos clientes. O axioma 1.11 garante que
um CD entre os menos vendidos nunca é recomendado. Tal é particularmente útil para
restringir as recomendações específicas para cada cliente.
O axioma 1.12 é uma restrição de integridade, que garante que algum engano na
introdução dos dados em que um peça fique classificada como artista ou vice-versa é
detectado 1.
As asserções 1.13-1.16 indicam que Blue Train tem John Coltrane como artista, que
George Gershwin compôs Rhapsody In Blue, que Gustav Mahler é compositor, e que Blue
Train é um CD dos mais vendidos, respectivamente.
1.2 Semântica
A semântica das Lógicas de Descrição é dada em termos de interpretações, I = ∆I , .I ,
que consistem num domínio de interpretação não vazio ∆I e uma função de interpreta-
ção .I , que atribui a cada conceito C um subconjunto CI de ∆I , e a cada relação R uma
relação binária RI sobre ∆I – as extensões do conceito ou relação, respectivamente.
A tabela 1.1 2 especifica as principais expressões permitidas em Lógicas de Descrição
e respectiva semântica. As expressões permitidas em descrições de conceitos, aqui deno-
tados por C, e as descrições de relações, denotados por R, estão incluídas nessa tabela.
Uma interpretação I é um modelo de uma axioma de subsunção C1 C2 (resp.,
R1 R2), se C1
I
⊆ C2
I
(resp., R1
I
⊆ R2
I
).
1
É discutível o quão realista se poderia considerar a inclusão de um tal axioma numa ontologia aplicada
ao contexto prático descrito. O proposito deste axioma é principalmente permitir expor certas propriedades
em exemplos subsequentes (ver exemplo 60).
2
As expressões apresentadas nessa tabela, com a excepção do complemento de relações (¬R), correspon-
dem aquelas que são permitidas em SROIQ, [24] a DL na qual a linguagem OWL 2 DL se fundamenta [38].
Além dessas expressões também são permitidos axiomas de simetria, assimetria, transitividade, reflexivi-
dade, irreflexividade, e disjunção para as relações. São também impostas certas restrições nos axiomas de
subsunção de relações, de modo a preservar decidibilidade. Tal não é, no entanto, relevante para a presente
exposição.
15
1. LÓGICAS DE DESCRIÇÃO 1.2. Semântica
Tabela 1.1: Expressões permitidas nas Lógicas de Descrição
Expressão Semântica Tradução para Lógica de Primeira Ordem
C ou R π(C, x) ou π(R, x, y)
descrições de conceitos (C)
∆I
⊥ ∅ ⊥
A AI ⊆ ∆I A(x)
¬C ∆I  CI ¬π(C, x)
C1 C2 C1
I ∩ C2
I π(C1, x) ∧ π(C2, x)
C1 C2 C1
I ∪ C1
I π(C1, x) ∨ π(C2, x)
∃R.C {o | ∃o .(o, o ) ∈ RI ∧ o ∈ CI } ∃z(π(R, x, z) ∧ π(C, z))
∃R.Self {o | (o, o) ∈ RI } (π(R, x, x))
∀R.C {o | ∀o ((o, o ) ∈ RI ⇒ o ∈ CI )} ∀z(π(R, x, z) ⊃ π(C, z))
≥ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≥ n} ∃y1, . . . , yn( i=j yi = yj ∧ i(π(R, x, yi) ∧ π(C, yi)))
≤ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≤ n} ∃y1, . . . , yn+1( i=j yi = yj ⊃ i ¬(π(R, x, yi) ∧ π(C, yi)))
descrições de relações (R)
P PI ⊆ ∆I × ∆I P(x, y)
R− {(o2, o1) | (o1, o2) ∈ RI } π(R, y, x)
R1 ◦ R2 RI
1 ◦ RI
2 ∃z(π(R1, x, z) ∧ π(R2, z, y))
¬R1 ∆I × ∆I  R1
I ¬π(R1, x, y)
axiomas de subsunção
C1 C2 C1
I ⊆ C2
I ∀x(π(C1, x) ⊃ π(C2, x))
R1 R2 R1
I ⊆ R2
I ∀x, y(π(R1, x, y) ⊃ π(R2, x, y))
asserções de pertença
C(a) aI ∈ CI π(C, a)
R(a, b) (aI , bI ) ∈ RI π(R, a, b)
16
1. LÓGICAS DE DESCRIÇÃO 1.3. Queries
Para especificar a semântica das asserções de pertença, estende-se a função de in-
terpretação para constantes, atribuindo a cada constante a um objecto aI ∈ ∆I . Uma
interpretação I é um modelo de uma asserção C(a) (resp., R(a, b)), se aI ∈ CI (resp.,
(aI , bI ) ∈ RI ).
Dado um axioma de subsunção ou uma asserção de pertença α, e uma interpretação
I, denota-se por I |= α o facto de I ser um modelo de α. Dado um conjunto (finito) de
asserções K, denota-se por I |= K o facto de I ser um modelo de todas as asserções em
K. Um modelo de uma KB O = T , A é uma interpretação I tal que I |= T e I |= A.
Diz-se que uma KB é satisfazível se tiver pelo menos um modelo; e que uma asserção
α é consequência lógica de uma KB K, o que se denota por O |= α, se todos os modelos
de K forem também modelos de α.
1.3 Queries
Define-se união de queries conjuntivas q do seguinte modo
q = {x |
i=1,...,n
∃yi. conji(x, yi)} (1.17)
onde cada conji(x, yi) é uma conjunção de átomos e igualdades, com variáveis livres x e
variáveis fechadas yi. Dada uma interpretação I, qI é o conjunto de tuplos de elementos
do domínio que, quando atribuídos às variáveis livres da fórmula i=1,...,n ∃yi. conji(x, yi),
a tornam verdadeira em I. Uma união de queries conjuntivas sobre uma ontologia O é uma
união de queries conjuntivas cujos os átomos são da forma A(z) ou P(z1, z2), onde A e P
denotam, respectivamente, um conceito atómico e uma relação atómica de O, e z, z1, z2
são constantes em O ou variáveis.
1.4 EL+
⊥
O EL+
⊥ é um fragmento da lógica de descrição EL++ [3], na qual o perfil OWL 2 EL se
baseia [19]. O conjunto de expressões permitidas em EL+
⊥é dado pela seguinte gramática:
C → A | | ⊥ | C C | ∃R.C
R → P | R ◦ R
T → C C | R P
U → C(a) | R(a, b)
onde A denota um conceito atómico; P uma relação atómica; C uma descrição de conceito; R
uma descrição de relação; T um axioma de subsunção; e U uma asserção de pertença.
Um dos resultados interessantes da DL EL++
– e assim, do EL+
⊥– é o da subsunção
17
1. LÓGICAS DE DESCRIÇÃO 1.5. DL-LiteR
poder ser decidida em tempo polinomial, o que a torna adequada a problemas onde a
hierarquização de muitos conceitos é necessária.
1.5 DL-LiteR
O conjunto de expressões permitidas em DL-LiteR é dado pela seguinte gramática:
B → A | ∃Q (1.18)
C → B | ¬B (1.19)
Q → P | P−
(1.20)
R → Q | ¬Q (1.21)
T → B C | Q R (1.22)
U → A(a) | P(a, b) (1.23)
onde A denota um conceito atómico; P uma relação atómica; P− o inverso de uma relação
atómica P; B um conceito básico, i.e. um conceito que pode ser um conceito atómico ou
uma quantificação existencial não qualificada ∃Q 3; ¬B o complemento de um conceito básico
B; Q uma relação básica, i.e. uma relação que pode ser uma relação atómica ou o inverso
de uma relação atómica; ¬Q o complemento de um relação básica Q; C um conceito geral,
que pode ser um conceito básico ou o seu complemento; R uma relação geral, que pode
ser uma relação básica ou o seu complemento; T um axioma de subsunção de conceitos
ou relações; e U uma asserção de pertença. Além disso, denota-se por Q− a relação P, se
Q = P−, e a relação P−, se Q = P. Designam-se por axiomas de subsunção positivos os
axiomas da forma B1 B2 ou Q1 Q2, onde B1 e B2 são conceitos básicos e Q1 e Q2
são relações básicas; e por axiomas de subsunção negativos os axiomas da forma B1 ¬B2
ou Q1 ¬Q2. Designa-se também TBox positiva uma TBox que só contenha axiomas
positivos e TBox negativa uma TBox que só contenha axiomas negativos. No que se segue,
e sempre que se trate da lógica de descrição DL-LiteR , serão adoptadas as definições e a
notação apresentadas.
3
Equivale a ∃Q. .
18
2
Programação em Lógica
Programação em Lógica é um paradigma de programação declarativo – de que o Prolog
é, talvez, a linguagem mais conhecida – e também um formalismo de representação de
conhecimento importante.
Um programa em lógica é um conjunto de regras da forma 1
H ← A1, · · · , Am, not Bm+1, · · · , not Bn (2.1)
com 0 ≤ m ≤ n, onde H e cada Ai e Bj são átomos 2, e a cada not Bj se chama literal. H é
o consequente da regra, e A1, · · · , Am, not Bm+1, · · · , not Bn o antecedente. Informalmente,
uma regra (na forma de 2.1) pode ser lida como “tem-se H se se tem A1,..., e Am e não
se tem Bm+1,..., e Bn”.
A avaliação de um programa em lógica pode ser definida de uma forma operacional,
como acontece no Prolog, ou atribuindo-lhe uma semântica bem definida. Tal semântica
pode ser dada em teoria de modelos, tendo como universo os termos formados pelos
símbolos de função e constantes que ocorrem no programa – o universo de Herbrand 3, e,
como função de interpretação, uma que mapeie cada termo em si mesmo. Partindo de tais
estruturas de interpretação é possível definir, de diversas formas, quais são os modelos
do programa – os modelos de Herbrand. Assim, torna-se útil definir um modelo canónico
– o modelo, entre os vários possíveis, que captura o significado exacto pretendido para
o programa. Duas semânticas, intimamente relacionadas entre si, e definidas de acordo
1
Esta não é a forma mais geral ou a única para regras em programação em lógica, mas para o propósito
da presente exposição é suficiente.
2
Neste contexto átomo tem o mesmo significado que na lógica de primeira ordem.
3
Se a aridade das funções não for superior a 0 o universo de Herbrand é finito, e é contável infinito caso
contrário, pelo que, em aplicações práticas restringe-se os termos às constantes.
19
2. PROGRAMAÇÃO EM LÓGICA 2.1. Modelos estáveis
com essa ideia de modelo canónico, são apresentadas nas secções 2.1 e 2.2.
2.1 Modelos estáveis
Como mencionado, o universo de Herbrand de um programa em lógica P é o conjunto, HP,
de todos os termos formados pelos símbolos de função que ocorrem nesse programa
(incluindo constantes). Um átomo (resp., regra ou programa) instanciado obtém-se subs-
tituindo todas as variáveis livres desse átomo (resp., regra ou programa) por termos
do universo de Herbrand. A base de Herbrand de P é o conjunto, ˆHP, dos átomos ins-
tanciados, P(t1, · · · , tn), formados por um símbolo de predicado, P, que ocorrem no
programa e os termos, t1, · · · , tn, pertencentes a HP. Uma interpretação de Herbrand,
I, de um programa P é um subconjunto de ˆHP, e associa a cada símbolo de predi-
cado n-ário em P uma única relação n-ária em HP – para um predicado P, a relação
{(t1, . . . , tn) | P(t1, . . . , tn) ∈ I}.
Uma interpretação de Herbrand, I, é modelo de Herbrand de α, denotado por I |= α,
se:
1. α é um átomo instanciado P(t1, · · · , tn) e P(t1, · · · , tn) ∈ I;
2. α é um literal instanciado negativo not A e A ∈ I;
3. α é uma regra instanciada H ← A1, · · · , Am, not Bm+1, · · · , not Bn e I não é modelo
de algum literal Ai ou not Bj ou I é modelo de H; ou
4. α é um programa instanciado P e I é modelo de todas as regras contidas em P.
Define-se ainda modelo mínimo de Herbrand de um programa P, least(P): um modelo
de Herbrand de P, M, tal que, para qualquer modelo de Herbrand M de P, M ⊆
M . Um programa positivo, i.e. no qual não ocorrem literais negativos, tem um único
modelo mínimo de Herbrand. Por causa dessa univocidade, e por ser um modelo que
atribui uma semântica compatível com o senso comum – é razoável assumir que com um
programa, assim como com outras formas de representação de conhecimento, se pretende
expressar apenas o que é necessariamente verdadeiro, em vez de tudo o que pode, ou não,
ser verdadeiro – é esse o modelo canónico para programas positivos.
Já num programa negativo, tal não possível, uma vez que este pode ter vários mode-
los mínimos de Herbrand. Assim, em [18] define-se, para um dado programa instanciado
P e um subconjunto M, de ˆHP, o programa PM, obtido de P removendo:
1. cada regra na qual ocorra um literal negativo not B no seu antecedente, se B ∈ M;
2. todos os literais negativos nos antecedentes das restantes regras.
Assim definido, PM é um programa positivo, pelo que tem um único modelo minimo
de Herbrand, least(PM). Se least(PM) = M então M é o conjunto estável ou modelo
estável de P.
20
2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados
Os conjuntos estáveis de um dado programa P podem ser entendidos como “os pos-
síveis conjuntos de crenças que um agente racional pode ter se lhe são dadas como pre-
missas o programa P” [18].
Se M é o conjunto de factos que se considera verdadeiros, então qualquer regra que
contenha no antecedente um literal not B tal que B ∈ M, é nesse ponto e vista, inútil; e
que contenha no antecedente not B com B ∈ M, trivial. Assim, as premissas de P podem
ser substituídas por PM. Se um conjunto de átomos M escolhido é precisamente aquele
que segue logicamente do conjunto simplificado de premissas PM, então essa escolha é
racional.
A semântica dos modelos estáveis é definida para um program P, se P tem exacta-
mente um modelo estável, e estabelece esse modelo como o modelo canónico de P.
Esta semântica dos modelos estáveis é aplicada na Answer Set Programming – um pa-
radigma de programação orientado para problemas de procura.
2.2 Modelos bem fundados
Em [17] desenvolve-se o conceito de conjuntos infundados. Define-se do seguinte modo.
Seja P um programa em lógica, com base de Herbrand ˆHP, e I uma interpretação de P.
U ⊆ ˆHP é um conjunto infundado (de P) relativamente a I se cada regra instanciada r de
P, cujo o átomo do consequente, H, está contido em U, H ∈ U, satisfaz uma das seguintes
condições:
(i) I |= A ou I |= not B, para algum A ou not B do antecedente de r; ou
(ii) algum literal positivo do antecedente de r, A, pertence a U, A ∈ U.
Intuitivamente, I corresponde ao que é conhecido de antemão acerca do modelo pre-
tendido para P. As regras que satisfazem a condição (i) não permitem novas derivações,
uma vez que as suas hipóteses já são conhecidas como falsas. A condição (ii) é a condição
de não fundamentação: a derivação de um dado literal, A, de U depende da derivação
de outros literais também contidos em U, pelo que, nenhum literal em U pode ser esta-
belecido como verdadeiro pelas regras de P, e partindo de I, em primeiro lugar. Deste
modo, se se estabelecer como falsos todos os átomos em U, não há nenhuma forma de
derivar posteriormente a sua verdade.
21
2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados
Exemplo 3. Considere-se o programa consistindo nas seguintes regras (instanciadas) [17]:
p(a) ← p(c), not p(b). (2.2)
p(b) ← not p(a). (2.3)
p(e) ← not p(d). (2.4)
p(c). (2.5)
p(d) ← q(a), not q(b). (2.6)
p(d) ← q(b), not q(c). (2.7)
q(a) ← p(d). (2.8)
q(b) ← q(a). (2.9)
Os átomos {p(d), q(a), q(b), q(c)} formam um conjunto infundado relativamente ao
conjunto ∅. Em particular, {q(c)} é infundado pela condição (i) – não existe nenhuma re-
gra que possa ser usada para estabelecer a sua verdade. O conjunto {p(d), q(a), q(b)} é
infundado pela condição (ii) – não há forma de estabelecer p(d) sem primeiro estabelecer
q(a) ou q(b) (embora se possa estabelecer ¬q(b), para suportar a primeira regra com con-
sequente p(d), tal é irrelevante quanto à obtenção dos conjuntos infundados). De modo
similar, não existe forma de estabelecer q(a) sem primeiro estabelecer p(d), e não existe
forma de estabelecer q(b) sem primeiro estabelecer q(a). Claramente q(c) nunca pode ser
provado, mas além disso, pode também constatar-se que entre p(d), q(a), e q(b), nenhum
pode ser provado em primeiro lugar.
Contrariamente, {p(a), p(b)} não constitui um conjunto infundado apesar de cada ele-
mento depender do outro, pois as dependências dão-se apenas "através"da negação. Se-
ria tentador afirmar que tentativas de provar p(a) e p(b) também falhariam, mas tal afir-
mação é errónea.
A diferença entre os conjuntos {p(d), q(a), q(b)} e {p(a), p(b)} é a seguinte: declarar
um dos átomos p(d), q(a), q(b) como falso não permite provar a verdade de nenhum dos
outros atámos. Contudo, uma vez que um dos átomos p(a) ou p(b) se declare falso,
torna-se possível provar que o outro é verdadeiro; e se ambos foram declarados como
falsos, tem-se uma inconsistência.
A semântica bem fundada usa as condições (i) e (ii) para obter as conclusões negati-
vas: estabelece todos os átomos em U como negativos.
A semântica bem fundada de um dado programa é definida pelo menor ponto fixo
de uma sequência transfinita obtida pela aplicação sucessiva de uma transformação de
conjuntos de literais. Essa transformação é definida do seguinte modo. Considere-se
um programa P. Seja TP(I) o conjunto dos átomos dos consequentes das regras cujos
literais do antecedente são verdadeiros em I e UP(I) o maior conjunto infundado de P
relativamente a I, i.e. a união de todos os conjuntos que são infundados relativamente a
I. A transformação é definida por WP(I) = TP(I) ∪ {not B | B ∈ UP(I)}; e a sequência
22
2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados
por:
I0 = ∅ (2.10)
In+1 = WP(In) (2.11)
Iδ =
α<δ
Iα (2.12)
Denote-se por M o menor ponto fixo dessa sequência. A semântica bem fundada de um
programa P é o “significado” representado por M. A ∈ M denota que A é verdadeiro;
not B ∈ M, que B é falso. Para os literais da base de Herbrand para os quais nenhuma
dessas condições se verifique, a semântica não atribui nenhum valor de verdade (ou atri-
bui o valor indefinido). Se M inclui todos os átomos da base de Herbrand, então é um
modelo total e é designado modelo bem fundado; caso contrário é designado modelo parcial
bem fundado.
Dois resultados importantes, que relacionam os modelos bem fundados com os mo-
delos estáveis são os seguintes: se um dado program P tem um modelo total bem fun-
dado então esse modelo é o único modelo estável; e, um modelo parcial bem fundado de
um programa P é um subconjunto de qualquer o modelo estável de P.
A semântica bem fundada tem complexidade de dados, i.e. complexidade computa-
cional de decidir uma resposta para uma query atómica instanciada (neste caso, decidir
qual o valor de verdade de um dado átomo, de acordo com o modelo parcial bem fun-
dado), em função do número de factos, PTIME.
Entre os vários algoritmos existentes para avaliação de queries a programas em lógica,
merece particular destaque o SLG [10] (Linear resolution with Selection function for Gene-
ral logic programs), uma vez que este permite computar a semântica bem fundada com
complexidade temporal de dados polinomial, havendo, contrariamente a outros, a ga-
rantia de terminação 4; e é independente da estratégia de controlo, i.e. a ordem pela qual
os literais surgem nas regras não afecta o resultado – opostamente ao que acontece com o
SLD, que é, nesse aspecto, menos declarativo. O SLG é definido com base numa série de
transformações que transformam, passo a passo, cada query num conjunto de regras de
resposta (ver capitulo 4). Este algoritmo é aplicado no XSB [10] – um sistema dedutivo
para programas em lógica, comprovadamente efectivo.
4
Em programas limitados na profundidade dos termos.
23
3
Bases de Conhecimento MKNF
MKNF (Minimal Knowledge and Negation as Failure) é uma lógica epistêmica não monótona
que estende a lógica de primeira ordem com um operador de introspecção – permite fazer
referência ao que é conhecido, i.e. à própria KB – e o operador de negação por omissão.
Essa lógica permite representar teorias de primeira ordem e programas em lógica não
monótona, preservando a sua semântica – a dos modelos estáveis ou a modelos bem
fundados, no caso dos programas em lógica.
Baseando-se nessas características da lógica MKNF, em [37] Motik e Rosati definem
bases de conhecimento híbridas MKNF. Tais bases de conhecimento integram completa-
mente ontologias DL e programas em lógica não monótonas, e, além de satisfazerem
os critérios da estreiteza, e da flexibilidade, satisfazem o da fidelidade – a semântica que lhes
é atribuída preserva a semântica clássica, na componente da ontologia DL, e dos mode-
los estáveis, na componente das regras. Com algumas restrições (segurança DL), que não
afectam significativamente a expressividade, garante-se a decidibilidade.
Em [30] estende-se a semântica originalmente definida para as bases de conhecimento
híbridas MKNF de [37], com modelos a dois valores de verdade, para uma de mode-
los a três valores. Essa semântica permite não só aproximar a semântica dos modelos
estáveis como também aplicar a noção de modelos bem fundados da programação em
lógica às bases de conhecimento híbridas. Além disso, o seu modelo canónico – o mo-
delo MKNF bem fundado – é computável com complexidade de dados menor ou igual à
modelos MKNF a dois valores.
Além dos quatro critérios enumerados anteriormente a abordagem das bases de co-
nhecimento híbridas MKNF tem algumas propriedades importantes. Em bases de conhe-
cimento consistentes, é coerente no sentido de [39], i.e. se uma fórmula ϕ é falsa clas-
sicamente na ontologia, então a interpretação não monótona de ϕ nas regras é forçada
24
3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe
a ser também falsa; permite detectar inconsistências sem nenhum esforço de computa-
ção adicional substancial, além da verificação de consistência da ontologia apenas; e, a
complexidade computacional de dados da abordagem depende da complexidade da DL
aplicada, sendo que, se a DL tiver complexidade polinomial, a combinação com as regras
mantém-se polinomial.
Nas próximas secções deste capitulo introduz-se a lógica MKNF e definem-se bases de
conhecimento híbridas MKNF (Secção 3.1) e a sua semântica (Secção 3.2).
3.1 Sintaxe
A lógica de conhecimento mínimo e negação por falha (MKNF) [30] estende a lógica de pri-
meira ordem com os operadores modais K e not . Informalmente, K ϕ pode ser lido
como “sabe-se ϕ” e not ϕ como “não se sabe ϕ”. O operador not permite inferências
com base em ausência de informação, de forma semelhante à negação por omissão da
programação em lógica.
As fórmulas MKNF são definidas do seguinte modo. Seja Σ = (Σc, Σf , Σp) uma assi-
natura de primeira ordem, onde Σc é um conjunto de constantes, Σf é o conjunto de sím-
bolos de função, e Σp é o conjunto de predicados contendo o predicado de igualdade ≈.
Um átomo de primeira ordem P(t1, · · · , tn), onde P é um predicado e ti são termos de pri-
meira ordem, é uma fórmula MKNF. Se ϕ é uma fórmula MKNF, então ¬ϕ, ∃x : ϕ, K ϕ
e not ϕ são fórmulas MKNF, assim como ϕ1 ∧ ϕ2, para fórmulas MKNF ϕ1 e ϕ2. Além
disso, ϕ1 ∨ ϕ2, ϕ1 ⊃ ϕ2, ϕ1 ≡ ϕ2, ∀x : ϕ, t, f, t1 ≈ t2, e t1 ≈ t2 são abreviações, respecti-
vamente, para ¬(¬ϕ1 ∧ ϕ2), ¬ϕ1 ∨ ϕ2, (ϕ1 ⊃ ϕ2) ∧ (ϕ2 ⊃ ϕ1), ¬(∃x : ¬ϕ), a ∨ ¬a, a ∧ ¬a,
≈ (t1, t2), e ¬(t1 ≈ t2).
As bases de conhecimento hibridas MKNF são essencialmente fórmulas MKNF res-
tritas e consistem em dois componentes: uma ontologia DL expressável em lógica de
primeira ordem e um conjunto finito de regras. Constituem, desse modo, uma possí-
vel abordagem à combinação de Lógicas de Descrição com programas em lógica, e são
aplicáveis a qualquer lógica de descrição DL que seja um fragmento de primeira ordem
e satisfaça as seguintes condições 1:
1. cada base de conhecimento O ∈ DL pode ser traduzida (ver tabela 1.1) para uma
fórmula π(O) de primeira ordem sem funções com igualdade;
2. DL suporta asserções de pertença da forma P(a1, · · · , an), onde P é um predicado
e cada ai é uma constante de DL; e
3. a verificação de satisfazibilidade e verificação de instanciação (i.e verificação de
consequências lógicas da forma O |= P(a1, ..., an)) são decidíveis.
Uma regra MKNF r, com átomos de primeira ordem sem funções H, Ai e Bi, tem a
1
As lógicas de descrição subjacentes à OWL satisfazem estas condições.
25
3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe
forma 2 :
K H ← K A1, · · · , K An, not B1, · · · , not Bm (3.1)
onde K H, K A1, · · · , K An, e not B1, · · · , not Bm são denominados consequente, antece-
dente positivo e antecedente negativo, respectivamente. Uma regra MKNF é positiva se m = 0
e é um facto se n = m = 0; é DL-segura se toda a variável que nela ocorre, ocorre em
pelo menos um átomo não DL, i.e. que não ocorre na ontologia DL em causa, do seu
antecedente positivo. Um programa MKNF P é um conjunto finito de regras MKNF.
Uma base de conhecimento híbrida MKNF K é um par (O, P), onde O é uma ontolo-
gia DL expressável em lógica de primeira ordem e P um programa MKNF. K diz-se
DL-segura se todas as regras em K são DL-seguras. A semântica das bases de conheci-
mento MKNF híbridas é dada pela semântica das fórmulas MKNF com as quais se pode
representá-las, havendo a garantia que, se forem MKNF-consistentes e DL-seguras, têm
um e um só modelo bem fundado MKNF (ver secção 3.2).
Para expressar uma base de conhecimento híbrida K = (O, P), tal como definida,
numa fórmula MKNF válida, estende-se a transformação π do seguinte modo, onde r é
uma regra MKNF na forma 3.1 e x é o vector de variáveis livres de r:
π(r) = ∀x : (K A1 ∧ · · · ∧ K An ∧ not B1 ∧ · · · ∧ not Bm ⊃ K H) (3.2)
π(P) =
r∈P
π(r) (3.3)
π(K) = K π(O) ∧ π(P) (3.4)
As bases de conhecimento hibridas MKNF, mesmo sem símbolos de função, são, em
geral, indecidíveis, a menos que restringidas de alguma forma. Isto acontece porque as
regras podem ser aplicadas a todos os objectos de um domínio infinito. Para recuperar
a decidibilidade, basta então restringir a aplicação das regras a apenas indivíduos que
apareçam na base de conhecimento, respeitando a segurança DL, anteriormente definida.
Enquanto que a segurança DL garante que as regras são aplicadas apenas aos indivíduos
que ocorrem numa dada base de conhecimento hibrida MKNF, a sua instanciação (abaixo
definida) garante que são aplicadas a todos eles.
A instanciação3 de uma base de conhecimento hibrida MKNF K = (O, P), é a KB
KG = (O, PG) onde PG é obtido de P por substituição de cada regra r de P com o
conjunto de regras obtido substituindo cada variável em r com constantes de K, de todas
as maneiras possíveis.
Exemplo 4. Considere-se novamente o cenário do Exemplo 1, juntamente com os axio-
mas e asserções do Exemplo 2. Esses axiomas podem ser parte de uma ontologia O de
uma base de conhecimento híbrida MKNF (O, P). Em P pode expressar-se directivas de
recomendação adicionais, em particular aquelas que requeiram a assunção do mundo
2
Apenas se consideram regras não disjuntivas, i.e. sem disjunções no consequente, porque é para essas
que os resultados de tratabilidade computacional de [30] se verificam.
3
Em Inglês, ground instantiation.
26
3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe
fechado. Por exemplo, imagine-se que se pretende recomendar aos clientes CDs inte-
ressantes que não possuam e cuja avaliação não seja baixa. Tal pode ser representado
através das seguintes regras 4:
K Recommend(x) ←K Piece(x), not owns(x), not LowEval(x),
K interesting(x). (3.5)
K interesting(x) ←K Piece(x), K Piece(y), K owns(y)
not owns(x), K similar(x, y) (3.6)
K similar(x, y) ←K Piece(x), K Piece(y), K Artist(z),
K HasArtist(x, z), K HasArtist(y, z).
(3.7)
K HasArtist(EnConcert, JackJohnson) ← (3.8)
K HasArtist(ToTheSea, JackJohnson) ← (3.9)
K HasArtist(Summertime, GeorgeGershwin) ← (3.10)
K onwns(EnConcert) ← (3.11)
K onwns(Summertime) ← (3.12)
Note-se que a assunção do mundo fechado é aplicada aos predicados owns e LowEval
– recorde-se que este último na ontologia só poderia ser visto sob a perspectiva do mundo
aberto. No caso do predicado owns, é razoável assumir que o conhecimento sobre as
músicas possuídas está completamente disponível. Assim, se não existe nenhum facto
assertando que se possui uma dada música, pode assumir-se que não se a possui. No
caso do predicado LowEval pode acontecer que não exista ainda nenhuma avaliação, e
no entanto, pretende-se a recomendação na mesma: uma música não é considerada para
recomendação apenas quando realmente existe uma avaliação (conhecida) baixa para ela.
Uma tal avaliação pode ter sido atribuída por outros clientes ou pode estar disponível
numa página web de crítica. Por simplicidade, mantém-se essa parte do processo de
raciocínio implícita.
Pelas regras anteriores, uma música é interessante se o cliente possui outro que é
similar 3.6, e duas músicas são similares se tem em comum um mesmo artista 3.7. Note-se
que o predicado Piece é usado para assegurar segurança DL.
Com isto, ao adicionarem-se os factos 3.8- 3.12, pode derivar-se Recommend(ToTheSea),
pois não é conhecida nenhuma avaliação baixa para ToTheSea. Além disso, pode igual-
mente derivar-se, aplicando a regra 3.5, Recommend(RhapsodyInBlue). Note-se como a
componente ontológica contribui com as suas derivações; neste caso, com a derivação de
HasArtist(GeorgeGershwin, RhapsodyInBlue).
Este exemplo mostra que as bases de conhecimento híbridas MKNF permitem obter
4
Assume-se, por simplicidade, que a parte das regras da base de conhecimento são especificas para cada
cliente. Desse modo evita-se a representação explicita de vários clientes, da relação que expressa que CDs
são possuídos por que clientes
27
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
consequências dos predicados “definidos” tanto na ontologia como nas regras. O resul-
tado pode ainda ser aplicado para derivar consequências subsequentes e acrescentá-las
em qualquer uma das partes da base de conhecimento.
3.2 Semântica
Embora a lógica MKNF tenha sido originalmente definida em [35], e as bases de conheci-
mento híbridas MKNF em [35], com uma semântica com dois valores de verdade, para o
propósito da dissertação interessa apenas, tal como discutido no início do presente capí-
tulo, a semântica apresentada em [30], com três valores de verdade, pelo que, apenas se
apresenta a semântica ai definida 5. À semelhança do que acontece da programação em
lógica, quando se adoptam modelos a três valores de verdade no lugar de dois obtêm-se
modelos mais "cépticos", no sentido em que há menos compromisso com a verdade ou
falsidade dos factos, e portanto, mais fracos do ponto de vista do conhecimento derivá-
vel, mas, em contrapartida, o raciocínio torna-se computacionalmente menos complexo.
De acordo com a referida semântica, o valor de verdade de uma fórmula MKNF é
definido com base numa estrutura de avaliação. Os valores possíveis são t, f ou u, e
têm a ordenação f < u < t 6. Uma estrutura MKNF é um triplo (I, M, N) constituído
por uma interpretação de primeira ordem I e dois pares M = M, M1 e N = N, N1 de
conjuntos de interpretações de primeira ordem, onde M1 ⊆ M e N1 ⊆ N. Tal estrutura
MKNF diz-se total se M = M, M e N = N, N e parcial caso contrário. Uma dada
estrutura MKNF avalia uma fórmula MKNF de acordo com a figura 3.1.
Note-se que é ao impor-se M1 ⊆ M e N1 ⊆ N na definição de estrutura MKNF
garante-se que nenhum fórmula MKNF é avaliada por nenhuma estrutura MKNF como
verdadeira e falsa simultaneamente.
É de notar também, que, embora as estruturas MKNF permitam avaliar fórmulas
MKNF com três valores de verdade, isso só acontece com as que não sejam de primeira
ordem, i.e. nas quais ocorram os operadores modais K ou not . As restantes são avali-
adas apenas com dois valores de verdade, e exactamente com o mesmo valor com que
seriam valoradas na lógica de primeira ordem, dada a interpretação I. Tal é desejável,
uma vez que se pretende satisfazer o critério da fidelidade e, consequentemente, preservar
a semântica das lógicas de descrição, que, como mencionado, são geralmente fragmentos
da lógica de primeira ordem.
Uma interpretação MKNF consiste num par (M, N) de conjuntos não vazios de inter-
pretações de primeira ordem, M e N, com ∅ ⊂ N ⊆ M. Se M = N, então a interpretação
5
Todas as definições subsequentes dizem-lhe respeito, pelo que não se faz a distinção entre modelos a
dois valores e modelos a três valores, que se faz no artigo original.
6
Do Inglês, true, false e undefined, respectivamente. Subsequentemente denota-se por max(C) e min(C),
de acordo com essa ordenação, como o maior, menor, respectivamente, valor de verdade contido em C.
28
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
(I, M, N)(P(t1, · · · , tn)) =
t sse (tI
1 , · · · , tI
n) ∈ PI
f sse (tI
1 , · · · , tI
n) ∈ PI
(3.13)
(I, M, N)(¬ϕ) =



t sse (I, M, N)(ϕ) = f
u sse (I, M, N)(ϕ) = u
f sse (I, M, N)(ϕ) = t
(3.14)
(I, M, N)(ϕ1 ∧ ϕ2) = min{(I, M, N)(ϕ1), (I, M, N)(ϕ2)} (3.15)
(I, M, N)(ϕ1 ⊃ ϕ2) =
t sse (I, M, N)(ϕ2) ≥ (I, M, N)(ϕ1)
f caso contrário
(3.16)
(I, M, N)(∃x : ϕ) = max{(I, M, N)(ϕ[α/x]|α ∈ ∆)} (3.17)
(I, M, N)(K ϕ) =



t sse (J, M, M1 , N)(ϕ) = t para todo J ∈ M
f sse (J, M, M1 , N)(ϕ) = f para algum J ∈ M1
u caso contrário
(3.18)
(I, M, N)(not ϕ) =



t sse (J, M, N, N1 )(ϕ) = f para algum J ∈ N1
f sse (J, M, N, N1 )(ϕ) = t para todo J ∈ N
u caso contrário
(3.19)
Figura 3.1: Avaliação das fórmula MKNF
(M, N) é denominada total, caso contrário, parcial. Uma interpretação MKNF (M, N) sa-
tisfaz uma fórmula fechada7 ϕ, o que se denota por (M, N) |= ϕ, se e só se:
(I, M, N , M, N )(ϕ) = t
para todo I ∈ M. Se existe uma interpretação que satisfaça ϕ, então ϕ diz-se consistente.
Uma interpretação MKNF é um modelo MKNF de um dada fórmula MKNF fechada ϕ
se:
(i) (M, N) |= ϕ e
(ii) para cada interpretação MKNF (M , N ) com M ⊆ M e N ⊆ N , onde pelos menos
uma das inclusões é estrita e (M , N ) é total se (M, N) é total, existe I ∈ M tal
que (I , M , N , M, N )(ϕ) = t.
Intuitivamente, pode considerar-se uma interpretação MKNF como uma avaliação
hipotética da fórmula considerada, e que a condição (ii) verifica, tendo fixado a avaliação
dos átomos modais not , se a avaliação dos átomos modais K é mínima relativamente à
ordenação dos valores de verdade. Ilustra-se no exemplo seguinte como essa minimiza-
ção é obtida [30].
7
Sem variáveis livres, i.e. não quantificadas.
29
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
Exemplo 5. Considere-se a fórmula MKNF ϕ (correspondente a duas regras):
(not p ⊃ K q) ∧ (not q ⊃ K p)
Um par de interpretação MKNF (M, N) que satisfaça a condição (i) da definição an-
terior tem de avaliar ambas os conjunctures como verdadeiros. O par de interpreta-
ção MKNF ({{p}, {p, q}}, {{p, q}}) que avalia K p como t e K q como u satisfaz a pri-
meira condição mas não é um modelo MKNF de ϕ uma vez que não satisfaz a condi-
ção (ii) (considere-se (M , N ) = ({∅, {p}, {q}, {p, q}}, {{p, q}}), por exemplo – na ver-
dade, esse par de interpretação MKNF é um modelo MKNF). O operador not é sem-
pre avaliado relativamente ao par de interpretação MKNF (M, N), mesmo quando se
considera a condição (ii). Portanto, para N = {{p, q}}, as duas implicações são, de qual-
quer forma, verdadeiras; e M tem de ser o conjunto de todas as interpretações possíveis,
{{∅, {p}, {q}, {p, q}}, para satisfazer a condição (ii). Assim, obtém-se o par de interpreta-
ção MKNF que avalia K p e K q como u. Tal mostra que o par de interpretação MKNF
inicial não era minimal relativamente à avaliação dos átomos K . De modo similar à mi-
nimização da avaliação de K p de t para u, mudanças de u para f também são possíveis:
mantém-se M = {{p}, {p, q}} e coloca-se N = M. Agora a avaliação de K q é minimi-
zada de u para f, e é fácil verificar que o par de interpretação MKNF resultante é de facto
um modelo MKNF de ϕ.
Uma dada fórmula MKNF fechada ϕ diz-se MKNF-consistente se admite modelo MKNF
e MKNF-inconsistente caso contrário.
Uma fórmula MKNF fechada ψ é consequência lógica de outra fórmula MKNF fechada
ϕ se, para todos os modelos MKNF (M, N) de ϕ, (I, M, N , M, N )(ψ) = t, o que se
denota por ϕ |=3
MKNF ψ.
Em [30] define-se também um modelo canónico, o modelo MKNF bem fundado, que,
similarmente ao que é habitual na programação em lógica, corresponde ao menor modelo
relativamente ao conhecimento derivável.
Um modelo MKNF (M, N) de uma dada fórmula fechada MKNF ϕ é o modelo MKNF
bem fundado de ϕ, se M1 ⊆ M e N1 ⊇ N, para todos os modelos MKNF de (M1, N1) de ϕ.
Como numa base de conhecimento híbrida MKNF arbitrária com domínio contável
infinito existem infinitos modelos MKNF, trabalhar directamente sobre os eles torna-se
inexequível. Portanto, é necessária uma representação finita. A solução, apresentada
em [30], é representar o modelo MKNF através de uma fórmula de primeira ordem cujo
conjunto de modelos (de primeira ordem) correspondem ao próprio modelo MKNF. In-
tuitivamente, uma tal fórmula é obtida primeiro dividindo os átomos modais ocorrendo
na base de conhecimento híbrida MKNF instanciada em átomos verdadeiros e falsos, e
depois construindo a fórmula de primeira ordem com base nos átomos verdadeiros e na
ontologia. Parte-se do conjunto dos átomos K da base de conhecimento instanciada, que
corresponde ao menor conjunto contendo todos os átomos K ocorrendo nela, e, para
30
3. BASES DE CONHECIMENTO MKNF 3.2. Semântica
cada átomo modal not ϕ, um átomo K ϕ. Uma partição parcial (T, F) desse conjunto con-
siste em dois subconjuntos disjuntos entre si, onde, intuitivamente, T contém todos os
átomos modais verdadeiros, F todos os átomos modais falsos, e um terceiro conjunto,
formado pelos elementos do conjunto dos átomos K que não estão nem em T nem em
F, habitualmente denotado por U, corresponde ao que é considerado indefinido. A cada
interpretação MKNF (M, N) pode fazer-se corresponder uma partição parcial (T, F), a
partição parcial induzida por essa interpretação, de acordo com o seguinte:
1. K ϕ ∈ T implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = t;
2. K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = f; e
3. K ϕ ∈ T e K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) =
u.
As fórmulas de primeira ordem correspondentes à ontologia e aos átomos em T são satis-
feitas exactamente pelas interpretações de M; as fórmulas correspondentes à ontologia e
aos elementos do conjunto de átomos K que não estão em F são satisfeitas exactamente
pelas interpretações de N. É por tal se verificar que é possível representar qualquer mo-
delo MKNF por meio de uma partição parcial.
Em [30] é apresentada uma computação bottom-up sobre os átomos K de uma dada
KB que permite obter a partição parcial correspondente ao seu modelo MKNF bem fun-
dado. Nessa computação são aplicados, sucessivamente, e de forma cumulativa, dois
operadores – um que faz derivações com base na ontologia e outro com base nas regras
– a duas transformações da KB instanciada, que à semelhança do que acontecia com a
transformação apresentada na Secção 2.1, a tornam positiva – uma similar a essa última e
outra que na qual se tem adicionalmente em conta a negação clássica, de modo a garantir
coerência com a negação por omissão. Em [2] é apresentada uma computação bottom-up
alternativa na qual se aplica uma só transformação a uma versão duplicada da base de
conhecimento (ver Secção 4.2), na qual o algoritmo top-down SLG(O) se baseia.
31
4
SLG(O)
Em [1] é apresentada uma extensão do SLG para bases de conhecimento híbridas MKNF
consistente com a semântica bem fundada, o SLG(O) . No caso de queries DL-seguras, é
decidível com complexidade de dados PC, onde C é a complexidade de responder a uma
query na DL usada na KB em causa.
O algoritmo SLG é introduzido, através de um exemplo, na Secção 4.1. Uma defini-
ção detalhada das operações do SLG pode ser consultada em [42]. A Secção 4.2 descreve
a operação que estende o SLG para bases de conhecimento híbridas MKNF, a Resolução
com Oráculo , que incorpora as derivações da ontologia por meio de um oráculo – um
função que, para uma dada query, um dado conjunto de factos, anteriormente derivados,
devolve um conjunto de factos que em conjunto com os anteriores e a ontologia, é sufici-
ente para provar a query. Além disso, essa secção descreve também uma transformação
de duplicação da base de conhecimento – toda a ontologia e cada regra – que é necessá-
ria aplicar previamente à avaliação SLG(O) de modo a garantir coerência, e para permitir
detectar possíveis inconsistências.
4.1 SLG
Uma avaliação SLG corresponde a uma sequência de florestas de árvores de derivação,
obtidas pela aplicação sucessiva de uma conjunto de operações que criam um novo nó,
uma nova árvore, ou marcam uma certa árvore como completamente avaliada. O se-
guinte exemplo clarifica a ideia exposta [1].
32
4. SLG(O) 4.1. SLG
Exemplo 6. Considere-se a seguinte base de conhecimento híbrida MKNF com O vazio:
p(b) ← (4.1)
p(c) ← not p(a) (4.2)
p(X) ← t(X, Y, Z), not p(Y ), not p(Z) (4.3)
p(a) ← p(b), p(a) (4.4)
t(a, a, b) ← (4.5)
t(a, b, a) ← (4.6)
Figura 4.1: Floresta final para a query p(c) a P1. [1]
Considere-se uma query p(c) a K na qual nenhum dos átomos é DL, i.e. nenhum orá-
culo necessita ser usado. A figura 6 mostra a floresta SLG no fim da avaliação. Nela, cada
nó é etiquetado com um número indicando a ordem no qual foi criado na avaliação SLG.
Um nó consiste ou no símbolo fail, ou numa regra formada por um consequente que re-
presenta um dado subgolo atómico e as substituições nele efectuas e por um antecedente
constituído por um conjunto de Adiamentos, seguidos do símbolo |, seguido pelos Golos
ainda a serem examinados. A avaliação começa com a criação da árvore inicial da query
com raiz p(C) ← |p(C) no nó 1. Filhos de nós raiz são criados através da operação Resolu-
ção de Clausulas do Programa tal com na resolução SLD do Prolog. Assim, a avaliação usa a
33
4. SLG(O) 4.2. Oráculo
regra 4.2 para criar o nó 2. O (único possível) literal not p(a) no nó 2 é seleccionado. Este
literal tem um nó subjacente p(a) que não corresponde à raiz de nenhuma árvore na flo-
resta. Assim, a operação SLG Novo Subgolo cria a nova árvore para p(a) (nó 3), cujo filho,
nó 4, é criado por Resolução de Clausulas do Programa usando a regra 4.3. A operação Novo
Subgolo é novamente usada para criar a nova árvore para o literal seleccionado t(a, X, Y )
(nó 5), e nós filhos 6 e 7 são criados pela Resolução de Clausulas do Programa partindo das
regras 4.5 e 4.6. Os últimos nós não têm Golos e são denominadas respostas; além disso,
como também não têm Adiamentos, são respostas incondicionais. Qualquer átomo na ins-
tanciação de uma resposta incondicional é verdadeiro no modelo MKNF bem fundado.
A operação SLG Retorno Positivo é usada para resolver a primeira destas respostas com
o literal seleccionado do nó 4, produzindo o nó 9. O literal seleccionado deste último nó
tem p(a) como seu subgolo subjacente, mas ainda existe uma árvore para p(a) na floresta
e não existem respostas para p(a) retornar. Como existe outra resposta incondicional para
t(a, X, Y ) (nó 7), Retorno Positivo pode ser usado para produzir o nó 10. O subgolo sub-
jacente p(b) é seleccionado, por Novo Subgolo a árvore para p(b) é criada, e determina-se a
certo momento que o subgolo p(b) tem uma resposta incondicional (nó 12); assim, usando
a operação Falha de Negação , o nó falha, nó 14, é criado. Então, a computação, através
de Resolução de Clausulas do Programa e a regra 4.4, produz outro filho para p(a), nó 15,
e resolve p(b) (nó 16). Nesta fase o subgolo p(a) não é nem verdadeiro, já que nenhum
resposta incondicional foi derivada para ele, nem é falso, pois uma das suas possíveis
derivações, nó 9, efectivamente tem um ciclo através da negação. Contudo, no SLG é
possível aplicar a operação Atraso ao literal negativo seleccionado, movendo-o dos Golos
para a direita do símbolo | para os Adiamentos à esquerda do símbolo |. Essa operação
de Atraso produz o nó 17, que é designado resposta condicional, e tem Adiamentos mas não
Golos. Atraso também produz o nó 18 cujo novo literal not p(b) agora falha (dada a res-
posta incondicional do nó 12), produzindo o nó falha 19. Nesta fase, todas as possíveis
operações para nós não reposta em p(a) e nas árvores na qual ele depende foram efec-
tuadas, pelo que esse literal p(a) pode marcar-se como completo (passo 20). O subgolo
completo P(a) não tem respostas, e é então dito falhado e é falso no modelo MKNF bem
fundado de K. Este literal falhado pode ser movido da lista de adiamentos do nó 18 pela
operação de Simplificação produzindo a resposta incondicional nó 21.
O SLG não difere particularmente de outros formalismos de tabulação do tipo Prolog
no caso de programs que não usam negação por omissão (not). Contudo, para a negação
ele introduz o conceito de adiar literais de modo a ser possível encontrar testemunhas
de falha em qualquer parte de uma regra, juntamente com o conceito de simplificar esses
literais adiados sempre que o seu valor de verdade se torna conhecido.
4.2 Oráculo
Como o SLG(O) é aplicado a bases de conhecimento que contém, além de um programa
em lógica, uma ontologia DL, é necessário ter em conta certos aspectos que não são tidos
34
4. SLG(O) 4.2. Oráculo
em conta no SLG. Um deles é a coerência: ao introduzir-se a negação clássica com a com-
ponente ontológica, têm de garantir-se que a negação por omissão é coerente com ela. Se
uma KB têm como consequência lógica que um dado átomo A é falso, então deve inferir-
se também que a sua negação por omissão, not A, é verdadeira. Assim, o SLG(O) tem
de proceder de modo a que a derivação de not A não assente apenas na falha em derivar
A, como acontece na programação em lógica. Para isso, transforma-se a base de conheci-
mento, duplicando-a com novos predicados, de modo a ter-se a verdade e a não falsidade
dos predicados originais representadas por predicados distintos, garantindo-se que os
que representam a não falsidade não são deriváveis quando a negação clássica dos pre-
dicados originais que lhes correspondem o for.
Essa transformação é definida do seguinte modo. Seja K = (O, P) uma base de conhe-
cimento hibrida MKNF. Introduz-se um novo predicado Ad e NA para cada predicado A
que ocorre em K e construtivamente define-se:
1. Od substituindo cada predicado A em O por Ad; e
2. Pd transformando cada regra
K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not B1(tB1 ), · · · , not Bm(tBm ) (4.7)
ocorrendo em P em duas regras:
(i)
K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not Bd
1(tB1 ), · · · , not Bd
m(tBm )
e
(ii) (a)
K Hd
(tH) ← K Ad
1(tA1 ), · · · , K Ad
n(tAn ), not B1(tB1 ), · · · , not Bm(tBm ),
not NH(tH), se H(tH) é um átomo DL;
(b)
K Hd
(tH) ← K Ad
1(tA1 ), · · · , K Ad
n(tAn ), not B1(tB1 ), · · · , not Bm(tBm )
se H(tH) é um átomo não DL.
Define-se a base de conhecimento híbrida MKNF duplicada Kd = (O, Od, Pd).
Intuitivamente, na base de conhecimento duplicada A representa a verdade de A na
base de conhecimento original, enquanto que Ad representa a não falsidade de A na base
de conhecimento original. Os átomos da forma NH(tH) são introduzidos para distinguir
as regras que podem ser afectadas pela derivação da negação clássica do seu consequente
35
4. SLG(O) 4.2. Oráculo
das que não podem. Todas as operações SLG(O) anteriormente apresentadas são apli-
cáveis às bases de conhecimento híbridas MKNF duplicadas (e não às bases de conheci-
mento originais a que correspondem).
Outro aspecto em que SLG(O) difere do SLG é o de que para suportar bases de co-
nhecimento híbridas MKNF (em vez de apenas programas em lógica), a avaliação tem de
aplicar não só as regras do programa como também os axiomas e asserções da ontologia.
Para isso, o SLG(O) recorre a mecanismos de inferência DL exteriores, aos quais lança as
queries que se revelem necessárias. Como as bases de conhecimento hibridas MKNF são
paramétricas quanto à DL usada, esse mecanismo de inferência é visto em SLG(O) como
um oráculo. Sempre que o SLG(O) seleccione um literal que esteja definido na ontolo-
gia, o mecanismo de inferência do oráculo é chamado se esse literal não for consequência
das regras isoladamente. Como pode dar-se o caso de um tal literal também não ser
consequência da ontologia isoladamente, mas sim da combinação da ontologia com as
regras, define-se o oráculo de modo a devolver um conjunto de factos cuja derivação seja
suficiente para o provar, dados os factos anteriormente derivados.
Numa base de conhecimento híbrida MKNF, um átomo S é verdadeiro se é derivável
das regras ou da ontologia DL. O SLG define uma operação Resolução de Clausulas do
Programa que trata o primeiro caso. Agora introduz-se a operação Resolução com Oráculo
que trata o último.
A próxima definição caracteriza o comportamento de um oráculo abstracto, que com-
puta derivações de acordo com a ontologia DL O, ao qual a operação Resolução com Orá-
culo recorre. Define-se uma função de transição oráculo que, dada a interpretação indu-
zida pela floresta SLG(O) , computa num único passo todos os átomos possivelmente re-
queridos para provar um golo S. Por outras palavras, um tal oráculo, quando perante S
e a floresta F, não deterministicamente devolve num passo um conjunto de átomos ins-
tanciados L tal que: para cada L ∈ L existe pelo menos uma regra com L no consequente
no programa instanciado PG, e se L for adicionado a O aumentado com IF , a teoria es-
tendida imediatamente deriva S. Apenas se tem de ter em conta interrogar, apropriada-
mente, O ou o seu duplicado Od na base de conhecimento híbrida MKNF duplicada, e
estender O apenas com a parte positiva de IF .
Definição 7. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli-
cada, S um subgolo instanciado, L um conjunto de átomos instanciados tal que cada
L ∈ L é unificável com pelo menos um consequente de uma regra em Pd, e I+
F =
IF  {not A | not A ∈ IF }. O oráculo completo para O, denotado por compTO, é defi-
nido por
compTO(IF , S, L)
se e se se
O ∪ I+
F ∪ L |= S, ou
Od
∪ I+
F ∪ L |= S
36
4. SLG(O) 4.2. Oráculo
Considere-se uma base de conhecimento híbrida MKNF K contendo a ontologia O =
{C F E}, {C(a)} . Assuma-se que IF é vazia, e que existe pelo menos uma regra cujo
consequente unifica com F(a). Considere-se a query a E(a). Assim, compTO(∅, E(a), {F(a)})
verifica-se porque O ∪ {F(a)} |= E(a). Portanto, derivar F(a) das regras seria suficiente
para concluir que E(a) é verdadeiro em todos os modelos MKNF bem fundados.
Os oráculos completos são usados para definir a operação Resolução com Oráculo ,
que não tem correspondência no SLG. Seja Kd = (O, Od, Pd) uma base de conhecimento
híbrida MKNF duplicada. Dada uma floresta Fn de uma avaliação SLG(O) de Kd, Fn+1
pode ser produzido do seguinte modo.
Definição 8. Contenha Fn uma árvore com nó raiz N = S ← |S, e suponha-se que se tem
compTO(IFn
, S, G). Assuma-se que N não contém nenhum filho N = S ← |G em Fn.
Então adicione-se N como filho de N.
O conjunto O ∪ I+
F ∪ L (e, de modo semelhante, Od ∪ I+
F ∪ L) pode ser inconsistente
mesmo que o modelo MKNF bem fundado de K exista. Consequentemente, um tal orá-
culo completo potencialmente permite obter grande número de derivações inúteis para
derivar S se K é MKNF-consistente. Veja-se o seguinte exemplo [1].
Exemplo 9. Considere-se a base de conhecimento híbrida MKNF contendo a ontologia
O = {C ¬D, E F}, {C(a)} . Assuma-se que IF é vazio e considere-se a query
E(a). Se O fosse estendida com D(a), O ficaria inconsistente, e assim, todos as afirmações
seriam deriváveis de O, inclusivamente E(a). Ou seja, tem-se compTO(∅, E(a), {D(a)})
por O ∪ {D(a)} ser inconsistente. Contudo, como K é MKNF-consistente, D(a) não pode
ser derivada, pelo que a árvore correspondente acaba por falhar em qualquer avaliação
SLG(O) .
A complexidade de todo o procedimento SLG(O) depende da complexidade do orá-
culo e do número de resultados devolvidos por cada chamada ao oráculo. Mesmo que
computação de um resultado do oráculo, i.e. a chamada ao mecanismo exterior de raci-
ocínio DL, seja tratável, a complexidade (de dados) do SLG(O) pode ainda ser exponen-
cial, se a quantidade soluções geradas pelo oráculo for exponencial (e.g. se se retornam
todos os superconjuntos de uma solução). Tal sucede porque a definição de oráculo,
anteriormente apresentada, é demasiado geral. Para se obterem resultados de complexi-
dade mais interessantes, algumas assunções tem de ser feitas relativamente ao oráculo.
Define-se, de acordo com isso, o oráculo parcial correcto.
Definição 10. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli-
cada, S um subgolo, e L um conjunto de átomos instanciados tal que cada L ∈ L é unifi-
cável com pelo menos um consequente de regra em Pd (designados átomos do programa).
Um oráculo parcial para O, denotado por pTO, é a relação pTO(IF , S, L) tal que se
pTO(IF , S, L)
37
4. SLG(O) 4.2. Oráculo
então
O ∪ I+
F ∪ L |= S e O ∪ I+
F ∪ L consistente, ou
O ∪ I+
F ∪ L |= S e Od
∪ I+
F ∪ L consistente.
Um oráculo parcial pTO é correcto relativamente a compTO se e só se, para qualquer KB
MKNF-consistente Kd, ao se substituir compTO por pTO, o SLG(O) sucede exactamente
para o mesmo conjunto de queries.
Note-se que, como mencionado, o oráculo completo gera muitas respostas desneces-
sárias, e pode ser substituído por um oráculo parcial que assegure correcção. Por exem-
plo, considere-se o oráculo que não devolva superconjuntos de de outros resultados. Um
tal oráculo parcial é evidentemente correcto. Uma outra melhoria na eficiência, seria a
restrição a conjuntos consistentes O ∪ I+
Fn
∪ L e a Od ∪ I+
Fn
∪ L. Se a base de conheci-
mento é MKNF-consistente, então procurar por derivações baseadas em inconsistências
é, de qualquer modo, inútil: apenas se criam, nas árvores da floresta de avaliação, um
número potencialmente grande de filhos que não resultam em respostas incondicionais.
Nesse sentido, os oráculos parciais estão limitados a apenas derivação que façam sentido.
Fazendo assunções na complexidade e número de resultados de um oráculo, o se-
guinte resultado de complexidade é obtido. Seja Kd uma base de conhecimento híbrida
MKNF duplicada, e pTO um oráculo parcial correcto para O, tal que para cada golo S,
a cardinalidade de pTO(IF , S, L) é limitada por um número polinomial de átomos do
programa. Além disso, assuma-se que computar cada elemento de pTO é decidível com
complexidade de dados C. Então, a avaliação SLG(O) de uma query a Kd é decidível com
complexidade de dados PC.
38
5
NoHR
Embora já tenham sido formalizadas várias outras abordagens às bases de conhecimento
híbridas além do MKNF híbrido, poucas delas foram implementadas. Entre as menciona-
das na introdução, apenas para programas dl, programas HEX e regras híbridas sob semântica
bem fundada se conhecem implementações: NLP-DL 1 e DReW [43], dlhex 2, e HD-rules 3,
respectivamente.
O NLP-DL implementa os programas dl sob a semântica dos modelos estáveis e bem
fundados. A ideia essencial dos programas dl é incluir queries à ontologia nas regras,
sendo o fluxo de informação entre os dois componentes, ontologia e programa, bidirec-
cional – pode fornecer-se dados de entrada às queries e as respostas às queries afectam o
que pode ser inferido nas regras. A implementação integra os raciocinadores DLV [33] e
RACER [22] – a utilização do RACER, torna-a compatível com o OWL, e permite raciocí-
nio sobre os construtores da DL SHIQ.
O DReW reescreve um programa dl sobre uma ontologia expressável em Datalog 4 num
programa Datalog com negação e chama um raciocinador baseado em regras, o DLV, para
efectuar o raciocínio. Deste modo mitiga-se o custo adicional de se recorrer a um racioci-
nador DL externo. Nesse aspecto, é similar ao NoHR, que também reescreve a ontologia
em regras e recorre ao um raciocinador de regras para as avaliar. Note-se contudo que a
abordagem dos programas dl está entre as que mantém os dois componentes da KB sepa-
rados tanto sintática como semanticamente, i.e. são expressos em termos de vocabulários
1
http://www.kr.tuwien.ac.at/research/systems/semweblp/
2
http://www.kr.tuwien.ac.at/research/systems/dlvhex/
3
http://www.ida.liu.se/hswrl/
4
Tal é o caso do EL+
⊥e DL-LiteR .
39
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas
OWL QL e Regras Não Monótonas

Mais conteúdo relacionado

Semelhante a OWL QL e Regras Não Monótonas

Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaJooMarcos614503
 
Conceitos básicos de Software R
Conceitos básicos de Software RConceitos básicos de Software R
Conceitos básicos de Software RThais Amaral
 
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...Vagner Nogueira
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação MestradoJoel Carvalho
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petriuern
 
Fortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdfFortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdfMarcosSilva130534
 
2013 artur bontempolima
2013 artur bontempolima2013 artur bontempolima
2013 artur bontempolimaJosh Santos
 
SistemasOperacionais-peter-jandl-jr.pdf
SistemasOperacionais-peter-jandl-jr.pdfSistemasOperacionais-peter-jandl-jr.pdf
SistemasOperacionais-peter-jandl-jr.pdfJoelManuel8
 
Linguagem c
Linguagem cLinguagem c
Linguagem cTiago
 
Python
PythonPython
PythonTiago
 
Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Daniel Brandão
 
Dissertação de Mestrado - Planejamento para Serviços Web Semânticos
Dissertação de Mestrado - Planejamento para Serviços Web SemânticosDissertação de Mestrado - Planejamento para Serviços Web Semânticos
Dissertação de Mestrado - Planejamento para Serviços Web SemânticosJuliana Chahoud
 

Semelhante a OWL QL e Regras Não Monótonas (20)

Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Poojava
PoojavaPoojava
Poojava
 
Conceitos básicos de Software R
Conceitos básicos de Software RConceitos básicos de Software R
Conceitos básicos de Software R
 
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação Mestrado
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petri
 
Fortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdfFortran_95_curso_basico_Editora_XXX.pdf
Fortran_95_curso_basico_Editora_XXX.pdf
 
2013 artur bontempolima
2013 artur bontempolima2013 artur bontempolima
2013 artur bontempolima
 
Introdução ao SciLab
Introdução ao SciLabIntrodução ao SciLab
Introdução ao SciLab
 
20220093 scilab-manual
20220093 scilab-manual20220093 scilab-manual
20220093 scilab-manual
 
SistemasOperacionais-peter-jandl-jr.pdf
SistemasOperacionais-peter-jandl-jr.pdfSistemasOperacionais-peter-jandl-jr.pdf
SistemasOperacionais-peter-jandl-jr.pdf
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
mech-course.pdf
mech-course.pdfmech-course.pdf
mech-course.pdf
 
Perl
PerlPerl
Perl
 
Python
PythonPython
Python
 
Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais Notas sobre Sistemas Operacionais
Notas sobre Sistemas Operacionais
 
Apostila latex
Apostila latexApostila latex
Apostila latex
 
Estruturas dados
Estruturas dadosEstruturas dados
Estruturas dados
 
Estruturas dados
Estruturas dadosEstruturas dados
Estruturas dados
 
Dissertação de Mestrado - Planejamento para Serviços Web Semânticos
Dissertação de Mestrado - Planejamento para Serviços Web SemânticosDissertação de Mestrado - Planejamento para Serviços Web Semânticos
Dissertação de Mestrado - Planejamento para Serviços Web Semânticos
 

OWL QL e Regras Não Monótonas

  • 1. Nuno Miguel Cerqueira Costa Licenciado em Engenharia Informática OWL QL e Regras Não Monótonas Dissertação para obtenção do Grau de Mestre em Engenharia Informática Orientadores : João Leite, Prof. Associado, Universidade Nova de Lisboa Matthias Knorr, Pós-Doc, Universidade Nova de Lisboa Júri: Presidente: Prof. Doutor Pedro Medeiros Arguente: Prof. Doutor Paulo Quaresma Vogal: Prof. Doutor João Leite Março, 2015
  • 2. Resumo Na representação de conhecimento, as lógicas de descrição e a programação em ló- gica tornaram-se as linguagens padrão para muitos contextos. A Web Semântica reflecte isso mesmo. Na sua pilha tecnológica já figura uma camada ontológica fundamentada nas lógicas de descrição, a linguagem OWL, e uma camada de regras, o RIF, que su- porta programação em lógica. Enquanto que as lógicas de descrição são monótonas e permitem inferir subsunções, a programação em lógica permite não monotonia e assim, a Assunção do Mundo Fechado - e limita as consequências lógicas a factos. A combina- ção das duas permite uma maior expressividade, indispensável para representar certos domínios. Para esse propósito já foram definidos alguns formalismos, entre os quais se destaca o MKNF híbrido, que permite estender a semântica de ambas simultaneamente. Com base nesse formalismo foi desenvolvido um sistema de processamento de queries a bases de conhecimento constituídas por uma ontologia OWL e um programa em ló- gica com semântica bem fundada, o NoHR. O sistema está integrado com o Protégé – um editor ontológico importante – sob a forma de plug-in, e suporta, na sua versão ori- ginal apenas o perfil EL do OWL 2. O propósito da presente dissertação é extensão do sistema para OWL 2 QL. Ambos os perfis suportam raciocínio polinomial; o OWL 2 EL é particularmente útil para em aplicações onde sejam necessárias ontologias com grande número de axiomas; e o OWL 2 QL para aplicações que usem grandes volumes de dados de instância, e onde responder a queries seja a tarefa de raciocínio mais importante. Palavras-chave: representação de conhecimento; web semântica; lógicas de descrição; programação em lógica; DL-LiteR ; OWL QL; regras não monótonas; MKNF; bases de conhecimento híbridas MKNF. ii
  • 3. Abstract In knowledge representation, description logics and the logic programing became the standard languages in many contexts. The Semantic Web reflects that. In its technology stack is already included an ontological layer, the OWL language, and a layer of rules, the RIF, which supports logic programing. Whereas descriptions logics are monotonic and can entail subsumption, logic programing support non monotonic reasoning – and so, the Close World Assumption – and only entail facts. The combination of the two allows for greater expressiveness, indispensable to represent certain domains. For this purpose were defined some formalisms, among which stands out the hybrid MKNF, that allows to extend the semantics of both simultaneously. Based on this formalism, a query system to knowledge bases formed by an OWL ontology and a logic program with well founded semantic was developed. The system is integrated with Protégé - an important ontological editor - in the form of plug-in, and supports, in its original version, only the OWL 2 EL profile. The propose of this dissertation is to extend the system to OWL 2 QL. Both profiles support polynomial reasoning; OWL 2 EL is particularly useful for applications where it is necessary ontologies with large number of axioms; and the OWL 2 QL to applications that use large volumes of instance data, and where querying is the most important reasoning task. Keywords: Knowledge Representation; Semantic Web; Description Logics; Logic Pro- graming; DL-LiteR ; OWL QL; Non-monotonic rules; MKNF; MKNF Hybrid Knowledge Bases. iii
  • 4. Conteúdo I Introdução 1 II Revisão de Literatura 11 1 Lógicas de Descrição 12 1.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3 Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4 EL+ ⊥ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.5 DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Programação em Lógica 19 2.1 Modelos estáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Modelos bem fundados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 Bases de Conhecimento MKNF 24 3.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Semântica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 SLG(O) 32 4.1 SLG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5 NoHR 39 5.1 Redução da TBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 iv
  • 5. CONTEÚDO v 6 Raciocínio em DL-LiteR 47 6.1 Interpretação canónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.2 Fecho negativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.3 Satisfazibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 III Abordagem Teórica 56 7 Tradução com redução 57 7.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.1.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 7.1.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.1 Redução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.2 Tradução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 8 Tradução directa 76 8.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.2 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.2.1 Derivações positivas . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.2.2 Propriedades do grafo . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2.3 Derivações negativas . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 8.2.4 Oráculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.3 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 IV Abordagem Prática 108 9 Implementação 109 9.1 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 9.2 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10 Avaliação 115 10.1 Experiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.3 Discussão de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 V Conclusões 121 11 Conclusões e Trabalho Futuro 122
  • 6. CONTEÚDO vi A Normalizações 131 A.1 Expressões normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 A.2 Expressões ignoradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 A.3 Expressões normais em DL-LiteR . . . . . . . . . . . . . . . . . . . . . . . 133 A.4 Normalizações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
  • 8. chapterEnquadramento, Objectivos e Contribuições Representação de conhecimento e raciocínio é uma área da inteligência artificial cujo o objectivo é determinar como se pode representar conhecimento simbolicamente e manipulá- lo automaticamente com programas de raciocínio. Por outra palavras, é o ramo da inte- ligência artificial relacionado com o pensamento, e com o seu contributo para o compor- tamento inteligente [7]. Muitas das linguagens de representação de conhecimento desenvolvidas até agora podem ser classificadas em uma das duas seguintes famílias, que têm sido desenvolvidas nos últimos 30 anos quase independentemente uma da outra [37]: • a primeira inclui formalismos que tentam reconstruir abordagens populares como os sistemas baseados em estruturas e redes semânticas, entre os quais as lógicas de descrição são os mais proeminentes; • a segunda família é centrada na ideia de modelar o conhecimento com regras e o seu formalismo fundamental é fornecido pela programação em lógica. O estudo das lógicas de descrição (DL) tem coberto não só os fundamentos teóri- cos como também a implementação de sistemas de representação de conhecimento e o desenvolvimento de aplicações em várias áreas, e tem-se revelado bem sucedido. O ele- mento chave para esse sucesso é a metodologia de investigação baseada numa interação próxima entre teoria e prática, havendo, por um lado, várias implementações de sis- temas baseados em lógicas de descrição, que oferecem uma paleta de formalismos de descrição com diferentes poderes expressivos, e aplicados em vários domínios, e por ou- tro lado, um estudo detalhado das propriedades formais e computacionais do raciocínio nesses formalismos. Esses estudos são normalmente motivados pelo uso de certos tipos de construtores em sistemas implementados ou pela necessidade desses construtores em aplicações específicas [4]. As lógicas de descrição representam o domínio de interesse em termos de conceitos, que denotam conjuntos de objectos, e relações entre conceitos, sobre esses conjuntos de objectos. Oferecem um conjunto de construtores para combinar conceitos, expressando, desse modo, novos conceitos. As propriedades dos conceitos e relações são descritas através axiomas de subsunção, que estabelecem que cada instância de um dado conceito (resp., relação) é também instância de um outro conceito (resp., relação). As proprieda- des dos objectos expressam-se recorrendo a asserções de pertença, que indicam de que conceito um dado objecto é instância ou em que relações participa com outros objectos. Em geral, são fragmentos da lógica de primeira ordem [9]. Os sistemas de representação de conhecimento baseados em lógicas de descrição, podem suportar, além de queries, di- versos serviços de raciocínio, como a classificação, na qual se estrutura o conjunto dos axiomas da ontologia, numa hierarquia de subsunções, onde as subsunções implícitas, i.e. implicadas por outras, são tornadas explicitas; ou verificação de consistência, no qual se verifica se não existem conjuntos de axiomas e asserções contraditórios entre si. 2
  • 9. Relativamente à programação em lógica, embora também lhe possa ser atribuída a se- mântica da lógica de primeira ordem, semânticas não monótonas – onde adicionar nova informação pode invalidar conclusões previamente derivadas – como a dos modelos es- táveis e a dos modelos bem fundados, são habitualmente mais vantajosas. Ambas as semânticas se baseiam no conceito de modelo canónico, onde a resposta para uma dada query a um programa em lógica é determinada por um modelo canónico do programa, que é seleccionado de acordo com uma certa definição de semântica, que pode, dessa forma, estabelecer uma certa noção senso comum – algo essencial ao ser humano, que o permite raciocinar com base em conhecimento incompleto ou ambíguo, e rever esse conhecimento quando na presença de nova informação. As lógicas de descrição e a programação em lógica exibem certas limitações, e as limitações de uma podem ser compensadas pelas potencialidades de outra. Desta forma, problemas de representação complexos requerem, frequentemente, ambas. As limitações das lógicas de descrição são duas. Primeira, as restrições sintáticas usadas para garantir decidibilidade no raciocínio, impedem axiomatizar certas relações que contenham ciclos. Em segundo lugar, como a maioria das lógicas de descrição são fragmentos da lógica de primeira ordem, não permitem introspecção nem inferências não monótonas, o que as impede de: • axiomatizar a assunção do mundo fechado, i.e. a assunção de que todos os factos rele- vantes são conhecidos e que os que não o são são falsos, inerente às bases de dados e formalizada, nesse contexto, por Reiter [40]; • suportar raciocínio com base em assunções por omissão, i.e. assumindo que algo é verdadeiro, a menos que contradiga os factos conhecidos. Quanto às regras, as limitações devem-se maioritariamente à impossibilidade de raci- ocinar com domínios ilimitados ou infinitos, i.e. não é possível inferir conclusões acerca de elementos arbitrários (ex.: de “todos os A são B e todos os B são C” derivar “todos os A são C”). Sendo, consequentemente, tipicamente usadas em problemas centrados em dados, como consultas, mas não para raciocinar acerca de esquematizações conceptuais [37]. Os potenciais benefícios de integrar lógicas de descrição com regras tem sido reco- nhecidos desde o inicio, e um corpo de investigação significativo tem-se dedicado a essa problemática [37]. Uma combinação efectiva de regras não monótonas com ontologias em lógicas de des- crição é vantajosa em vários cenários reais. Por exemplo, nos serviços fronteiriços a avali- ação de factores de riscos das cargas importadas, como terrorismo, drogas, segurança de consumidores e violação de tarifas, envolve conhecimento sobre matérias-primas, enti- dades empresariais, sobre o comércio, as politicas governamentais e acordos comerciais. Nesse cenário, a classificação das importações ou exportações de acordo com o conheci- mento taxonómico inerente a esse domínio poderia processar-se recorrendo aos serviços de raciocínio fornecidos pelas lógicas de descrição; as leis, regulamentos, e políticas de 3
  • 10. classificação poderiam ser representadas com regras não monótonas. Em geral, qualquer domínio em que a integração e acesso inteligente a dados e a representação e avaliação de politicas de negócios, regulamentos, ou mapeamentos entre fontes de informação se- jam necessários, pode beneficiar do uso dessa combinação de ontologias com regras – e em alguns casos, essa poderá vir a ser a melhor solução. Outro exemplo (adaptado de [30]), simplificado mas concreto, que será usado ao longo da presente exposição para elucidar vários conceitos, é o seguinte. Exemplo 1. Considere-se uma loja online de venda de música. Com o intuito de atrair mais utilizadores e aumentar as vendas, decidiu-se introduzir ferramentas mais sofisti- cadas para as recomendar e procurar. Para esse propósito, foi usada uma ontologia para estruturar e manter os dados das músicas. Cada uma tem um identificador único e pode ser associada com o artista, o compositor, o género, e a origem da música. Além disso, o sistema deve permitir expressar directrizes, tanto baseadas num critério geral como nas especificações do utilizador. Por exemplo, a loja pode recomendar a todos os clientes músicas que são mais vendidos. Ou algum cliente pode desejar que lhe se- jam recomendados músicas que ainda não tenha e que, de acordo com algum critério de preferência, provavelmente goste. Enquanto que a primeira directriz pode ser represen- tada na ontologia, a segunda requer assunção do mundo fechado (e.g., para inferir "por omissão", i.e., na ausência de evidencias em contrário, que o cliente não tem a música) e podem ser representadas através de regras não monótonas. Actualmente, foram já definidos alguns formalismos que permitem, de forma mais ou menos limitada, essa combinação. Destacam-se, entre eles, pelas suas propriedades ou meramente por motivos históricos, os seguintes: SWRL [23, 25], DLP [20], AL-log [11], CARIN [34], DL + log [41], Horn-SHIQ [26], MKNF hibrido [30, 37], programas dl [13, 14], programas dl disjuntivos [16], lógica de equilíbrio quantificado para bases de conhecimento híbridas [16], grafos de descrição [36] , esquemas nominais [31], regras híbridas sob semântica bem fundada [12] e programas HEX [15]. O MKNF 1 híbrido apresenta algumas vantagens importantes sobre as outras abordagens. Motik e Rosati discutem em [37] essa proeminência do MKNF híbrido face às outras abordagens, defendendo que um tal formalismo, que integre ontologias DL e programas em lógica, deve satisfazer certos critérios, e constatando que, de entre os formalismos na altura conhecidos, o MKNF híbrido é o único que os satisfaz a todos. Os critérios que enunciou foram os seguintes: 1. fidelidade – a integração entre DL e regras deve preservar a semântica de ambos os formalismos, i.e. a semântica de uma base de conhecimento híbrida na qual um dos componentes é vazia deve ser a mesma que a do outro componente; 1 Do inglês, Minimal Knowledge and Negation as Failure 4
  • 11. 2. estreiteza – as regras não devem constituir uma camada sobre as DL nem o contrário; em vez disso, a integração entre as duas deve ser estreita, no sentido que ambas devem poder contribuir com consequências para o outro componente; 3. flexibilidade – o formalismo híbrido deve ser flexível e permitir que o mesmo predi- cado seja visto sob a perspectiva do mundo aberto e do mundo fechado, enriquecendo assim as DL com consequências não monótonas e as regras com capacidades de ra- ciocínio taxonómico; 4. decidibilidade – o formalismo deve ser decidível, e, de preferência, de baixa comple- xidade. Além dessas propriedades, já de si vantajosas face às obtidas nas outras abordagens a bases de conhecimento híbridas, é de notar, e é particularmente relevante no contexto desta dissertação, a existência de um algoritmo, o SLG(O) (ver capítulo 4), para a semân- tica a três valores de verdade apresentada em [30], que permite interrogar tais bases de conhecimento com complexidade de dados polinomial, no caso de DLs onde as consul- tas sejam polinomiais – como é o caso do OWL 2 QL. Esse algoritmo opera directamente sobre as regras da base de conhecimento e delega o raciocínio relativo à ontologia a me- canismos de inferência DL externos. Como as bases de conhecimento híbridas MKNF são paramétricas quanto à DL usada, esse mecanismo de inferência é visto como um oráculo – uma abstração dos referidos mecanismos, que define as propriedades que estes tem de satisfazer para garantir a correcção e completude do algoritmo. Embora quase todas as alternativas mencionadas alcancem, com algumas restrições, a decidibilidade, os critérios da fidelidade, estreiteza, e flexibilidade, não são satisfeitos si- multaneamente. Em traços gerais, as abordagens à combinação de ontologias DL com regras, actualmente conhecidas, passam por: manter os dois componentes, ontologias e regras, separados tanto sintática como semanticamente, i.e. os dois componentes se- rem expressos em termos de vocabulários disjuntos e atribuir-se-lhes semânticas distin- tas, integrando-se apenas por meio de uma interface (ex., introduzindo, no componente das regras, predicados especiais que permitam consultar a ontologia, como é o caso nos programas dl), o que impede que os critérios da estreiteza e da flexibilidade se verifiquem; ter-se uma semântica unificadora, o que se traduz em estreiteza na integração, mas ter-se ainda vocabulários disjuntos, não se verificando assim a flexibilidade; e finalmente, uma integração completa, tendo-se um só vocabulário e uma só semântica para (a combinação de) os dois componentes, onde esses critérios da estreiteza e flexibilidade são satisfeitos. Entre as últimas, o MKNF híbrido é a única que garante fidelidade. Um interesse renovado na integração das lógicas de descrição com regras tem sido im- pulsionado pelo advento da Web Semântica [37]. De acordo com um dos seus principais precursores, Tim Berners-Lee et al., a Web Semântica é uma extensão da Web onde se as- socia à informação um significado preciso, i.e. inteligível não só para o utilizador como para as próprias máquinas, de modo a permitir uma melhor cooperação entre computa- dores e pessoas, e a proporcionar um ambiente onde agentes de software, transitando de 5
  • 12. página em página, possam realizar tarefas sofisticadas para os seus utilizadores [5]. Desde o seu inicio até aos dias de hoje, essa concepção de Web Semântica tem vindo a ser refinada, sendo actualmente possível mapeá-la numa arquitectura bem definida, em que alguns dos componentes já foram desenvolvidos e já são recomendação da W3C 2 (ver figura 1). Figura 1: Pilha tecnológica da Web Semântica (adaptado de [8]) Um dos componentes já desenvolvidos é o relativo às ontologias – i.e., colecções de informação que especificam, formalmente, conceptualizações partilhadas, ou, por ou- tras palavras, vocabulários de termos, definidos através das suas relações, mantidas em documentos acessíveis na Web [5]. É nesta componente que as lógicas de descrição de- sempenham um papel crucial, dando suporte teórico à linguagem OWL Web Ontology Language – actual recomendação da W3C para a representação de ontologias. A semântica formal e a existência de ferramentas de raciocínio eficientes e compro- vadamente correctas, como Pellet, FaCT++ e RACER, têm feito da OWL a linguagem de escolha para aplicação prática em diversos campos como biologia, medicina, geografia, astronomia, agricultura e defesa. Essa extensiva experiência prática tem confirmado os benefícios do uso das lógicas de descrição para a representação de conhecimento, mas também tem realçado as suas limitações, já discutidas neste documento [37]. No que diz respeito às regras, cujo papel é descrever consequências de dadas infor- mações, que tanto podem ser a derivação de planos de acção como a de novas informa- ções [5], existem também alguns raciocinadores como os interpretadores Prolog, o XSB 3, o clasp 4, o cmodels 5 e o DLV-complex 6. Há também um formato padrão, recomendado 2 http://www.w3.org/ 3 http://xsb.sourceforge.net/ 4 http://www.cs.uni-potsdam.de/clasp/ 5 http://www.cs.utexas.edu/users/tag/cmodels/ 6 https://www.mat.unical.it/dlv-complex/ 6
  • 13. pela W3C, para as representar, o RIF, que suporta ambos os tipos de regras mencionados [6]. No entanto, ainda não existem muitas ferramentas de raciocínio que as suportem de forma integrada com a camada ontológica. Uma dessas ferramentas, e aquela que se considera a que apresenta melhores propriedades, precisamente por adoptar como fundamento teórico o MKNF híbrido e implementar a resolução SLG(O), beneficiando assim das vantagens já discutidas, é o NoHR. Na sua versão original, o NoHR suporta apenas o perfil 7 OWL 2 EL do OWL. Definiu- se em [28], para esse efeito, um oráculo SLG(O) para EL+ ⊥ 8, que se baseia na tradução da ontologia para regras equivalentes, quanto às repostas obtidas para as queries, e res- pectiva avaliação recorrendo ao próprio SLG(O). Deste modo, elimina-se a necessidade de recorrer raciocinadores DL externos e reduz-se o SLG(O) a um algoritmo já imple- mentado, de forma comprovadamente efectiva – o SLG, aplicado no XSB. A ontologia de entrada é reduzida de modo a que os construtores que não podem ser expressos, ou não têm significado, sob a forma de regras, possam ser ignorados, sem que se percam deri- vações relevantes – para o que se recorre ao serviço de classificação do raciocinador DL ELK 9; depois traduzida para regras Prolog, as quais são posteriormente utilizadas no XSB Prolog, para responder se às queries. Além do OWL 2 EL, é importante que o NoHR suporte os vários perfis do OWL, um vez que, cada um deles se adequa a contextos distintos. Entre os três perfis da OWL 2 DL [19], merece particular destaque o OWL 2 QL, que tem suporte teórico na lógica de descrição DL-LiteR (ver Secção 1.5), pelas seguintes características: • suporta mecanismos de interrogação completos e consistentes com complexidade LOGSPACE (AC0) quanto aos dados 10; • permite expressar os principais elementos de modelos conceptuais como Diagra- mas de Classes UML e Diagramas de Entidades e Relações; • torna possível armazenar os dados em Bases de Dados relacionais padrão e poste- riormente interrogá-los, através da ontologia, por meio de um simples mecanismo de reescrita, em que a query é traduzida para SQL para ser lançada a um Sistema de Gestão de Bases de Dados, sem qualquer mudança nos dados. Tais características fazem dele um perfil adequado a grande parte das aplicações Web actuais, e outras, que lidam com grandes volumes de dados e onde responder a queries seja a tarefa de raciocínio mais importante. Uma aplicação relevante do OWL 2 QL é o Acesso a Dados Baseado em Ontologias (OBDA), que corresponde a uma combinação de uma camada de dados, como Bases de 7 Os perfis do OWL são versões reduzidas que sacrificam alguma da expressividade original para permitir um raciocínio mais eficiente. 8 Um fragmento importante do EL++ . 9 Note-se que o raciocinador DL só é necessário na fase de tradução da ontologia; após traduzida, todas as queries podem ser respondidas sem ele, recorrendo apenas ao XSB Prolog. 10 Isto é, quanto à ABox (ver secção 1.1) 7
  • 14. Dados padrão ou documentos xml, e uma camada ontológica sobre a primeira, que abs- trai o acesso a esses dados, permitindo assim um interação de mais alto nível com eles, e ainda, integrar, de forma transparente, dados de várias fontes. O propósito da presente dissertação é a extensão NoHR de modo a suportar o perfil OWL 2 QL do OWL 2 11. Com isso espera-se dar um contributo relevante para a Web Semântica, uma vez que, desse modo, se lhe fornecem ferramentas com as vantagens decorrentes combinação do OWL 2 QL com regras não monótonas, que se discutiram ao longo da presente introdução. Tal propósito implica, num plano teórico, a definição de um oráculo SLG(O) para DL-LiteR ; e, num plano prático, a implementação desse oráculo, a sua adaptação ao OWL 2 QL, que embora não seja mais expressivo que o DL-LiteR , acrescenta alguns construtores, e a sua integração com o NoHR. Definem-se, na presente dissertação, dois oráculos SLG(O) distintos, ambos baseados na tradução da ontologia para regras não monótonas, à semelhança do que acontece no oráculo para EL+ ⊥usado no NoHR. Num deles, a ontologia é reduzida, tal como no oráculo para EL+ ⊥, de modo a se eliminarem os construtores que não são directamente expressáveis sob a forma de regras, e só depois traduzida. No outro oráculo, não se pro- cede a qualquer redução, a ontologia é directamente traduzida, recorrendo a predicados auxiliares – não fazem parte dos que são definidos na base de conhecimento, e não têm significado no contexto da programação em lógica – para representar os construtores que de outro modo não são expressáveis sob a forma de regras. Na primeira abordagem, da tradução indirecta, como a classificação da ontologia é essencial para a sua redução, torna-se indispensável recorrer a um raciocinador DL que suporte classificação. Como não existe nenhum raciocinador dedicado ao DL-LiteR , que escale bem quanto tamanho dos dados e que forneça a OWL API – necessária no NoHR e no Protégé – ainda, de forma completa, a classificação de ontologias DL-LiteR , definem- se algumas reduções preliminares, de modo a que ontologia possa ser convenientemente tratada pelos raciocinadores existentes. 12 Na segunda abordagem, da tradução directa, não há necessidade de recorrer a qualquer raciocinador DL, nem de se efectuar quaisquer reduções, o que a torna, à partida, mais eficiente na fase tradução. Por esse motivo, foi essa a abordagem adoptada na implementação. Assim, os contributos da dissertação são, não só a extensão do NoHR para o perfil OWL 2 QL, como a definição de dois oráculos SLG(O) para DL-LiteR ; e ainda a defi- nição de uma redução da classificação em DL-LiteR à classificação em EL++ – a qual é suportada de forma bastante efectiva em raciocinadores existentes, como o ELK, quando comparada com o que acontece com outras DL, e em particular, com o DL-LiteR . 11 Esta dissertação foi elaborada no contexto do projecto ERRO: Efficient Reasoning with Rules and Onto- logies (PTDC/EIA-CCO/121823/2010) 12 A definição e implementação de tais reduções é, em termos de custo (tempo necessário à concepção de um algoritmo e à sua implementação) vs efectividade (eficácia e eficiência do resultado final), preferível à implementação de um serviço de classificação completo para DL-LiteR . 8
  • 15. O presente documento é constituído por cinco partes. A primeira, a presente introdu- ção, apresenta o propósito da dissertação, as suas motivações e contribuições. A segunda parte, apresenta todo o contexto necessário à sua compreensão. Apresentam-se também alguns trabalhos científicos e tecnológicos com propósitos aproximados ao da presente dissertação, e comparam-se com o formalismo adoptado, MKNF híbrido, e o sistema estendido, o NoHR. 13 Na terceira parte, apresentam-se os resultados teóricos obtidos – os dois oráculos SLG(O) e a redução aplicada no primeiro deles – bem como a sua ava- liação analítica. Na quarta parte apresentam-se os resultados práticos – o sistema NoHR estendido de modo a suportar OWL 2 QL – e a sua avaliação empírica. Na última parte, discutem-se todos os resultados, tanto teóricos como práticos, e as suas implicações. Detalhadamente, as contribuições da presente dissertação são as seguintes: • apresentação do estado da arte relativamente às bases de conhecimento híbridas, e dos conceitos a elas subjacentes (Capítulos 1-6); • definição de uma redução da classificação DL-LiteR à classificação EL++ (Secção 7.1.1); • demonstração da correcção dessa redução (Secção 7.2.1); • definição de uma tradução (indirecta) de ontologias DL-LiteR reduzidas, i.e. sem axiomas com existenciais do lado direito, para regras não monótonas (Secção 7.1.2); • demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto às respostas a queries (Secção 7.2.2), i.e. que as regras por ela obtidas, quando ava- liadas sobre a semântica bem fundada, derivam as mesmas respostas a queries que a ontologia original; • definição de um oráculo SLG(O) DL-LiteR baseado na tradução (indirecta) de on- tologias reduzidas para regras não monótonas (Secção 7.1.2); • demonstração da correcção desse oráculo SLG(O) (Secção 7.2.2); • definição de uma tradução (directa) de ontologias DL-LiteR (não reduzidas) para regras não monótonas (Secção 8.1); • demonstração, para a semântica bem fundada, da fidelidade dessa tradução quanto às respostas a queries (Secção 8.2); • definição de um oráculo SLG(O) DL-LiteR baseado na tradução (directa) de onto- logias para regras não monótonas (Secção 8.1); • demonstração da correcção desse oráculo (Subsecção 8.2.4); 13 Esse tópico não é abordado de forma mais aprofundada, por não se considerar que tal seja necessário para a compreensão das decisões tomadas quanto às técnicas adoptadas; e por os trabalhos mencionados serem, apesar de afins quanto aos propósitos gerais – visam também integrar, de alguma forma, ontologias DL (em geral, e não DL-LiteR em particular) e programas em lógica – são pouco relacionados quanto aos métodos aplicados e aos resultados obtidos. 9
  • 16. • implementação da extensão do NoHR com suporte para OWL 2 QL (Capítulo 9); • avaliação empírica dessa implementação (Capítulo 10). O documente prossegue com os seguintes conteúdos. Na segunda parte introduzem- se os conceitos preliminares subjacentes às lógicas de descrição (Capítulo 1) e à progra- mação em lógica (Capítulo 2) – os principais formalismos estudados em representação de conhecimento, e que se pretende combinar nesta dissertação. De seguida introduzem- se as bases de conhecimento híbridas MKNF (Capítulo 3) e a resolução SLG(O) (Capítulo 4). Depois, descreve-se o sistema NoHR (Capítulo 5), e o oráculo SLG(O) que se utiliza para EL+ ⊥. Finalmente, apresentam-se os resultados relativos ao raciocínio na lógica de des- crição DL-LiteR (Capítulo 6), que serão utilizados para corroborar os resultados teóricos apresentados na segunda parte. Na terceira parte é elaborado o oráculo DL-LiteR indirecto, baseado na tradução com redução da ontologia (Capítulo 7). É também ai elaborada a redução da classificação DL-LiteR à classificação EL+ ⊥ (Subsecção 7.1.1). Começa-se por apresentar os resultados obtidos (Secção 7.1); apresentado-se posteriormente a avaliação analítica desses resulta- dos (Secção 7.2). Depois, é elaborado o oráculo DL-LiteR directo, baseado na tradução sem redução da ontologia (Capítulo 8). Mais uma vez, começa-se pelos resultados obti- dos (Secção 8.1); que são seguidos pela sua avaliação analítica (Secção 8.2). Na quarta parte, apresenta-se a implementação da extensão do NoHR para OWL 2 QL (Capítulo 9), descrevendo-se a sua arquitectura (Secção 9.1), funcionamento (Secção 9.2), e mostrado-a a sua utilização (Capítulo 9). Depois (Capítulo 10), descreve-se uma ex- periência executada com essa implementação com o intuito de a avaliar (Secção 10.1); apresentam-se os resultados dessa experiência (Secção 10.2); e discutem-se as virtudes e deficiências que esses resultados sugerem (Secção 10.3). Por fim, na última parte, descreve-se todo o trabalho efectuado; sugere-se algum tra- balho futuro que poderá ser conduzido na mesma linha; e mencionam-se alguns traba- lhos relacionados relevantes (Parte V). 10
  • 17. Parte II Revisão de Literatura 11
  • 18. 1 Lógicas de Descrição As Lógicas de Descrição (DL) [4] são uma família de formalismos de representação de conhecimento que representam o conhecimento de um domínio definindo, em primeiro lugar, os conceitos do domínios (a sua terminologia), e depois usando esses conceitos para especificar propriedades de objectos ou indivíduos do domínio (a “descrição do mundo”). As Lógicas de Descrição suportam os padrões de inferência que ocorrem em muitas aplicações de sistemas de processamento inteligente de informação, e que são também usados pelos humanos para entender e estruturar o mundo: a classificação de conceitos e indivíduos. A classificação de conceitos determina as relações de subconceito/superconceito (ha- bitualmente chamadas de subsunção, neste contexto) entre os conceitos da terminologia, permitindo assim estruturá-los numa hierarquia de subsunções – o que não só fornece informação útil sobre a relação entre esses conceitos, como contribui para outros servi- ços de inferência. A classificação de indivíduos determina se um dado individuo é ne- cessariamente instância de um certo conceito, i.e. se, da informação explicitada, se pode concluir que o individuo é instância desse conceito, em todos os cenários que se coadu- nem com essa informação, fornecendo assim novo conhecimento sobre as propriedades desses indivíduos. A decidibilidade e complexidade dos serviços de inferência, classificação e outros, depende do poder expressivo da DL em causa. Por um lado, DLs demasiado expressivas podem tornar tais serviços intratáveis, ou até mesmo indecidíveis. Por outro lado, DLs com muito pouco poder expressivo – e assim, com serviços de raciocínio mais eficientes – podem não ser suficientemente expressivas para representar conceitos importantes de determinados domínios. Assim, o compromisso entre a expressividade das DLs e com- plexidade dos respectivos serviços de inferência tem sido um dos aspectos mais centrais 12
  • 19. 1. LÓGICAS DE DESCRIÇÃO 1.1. Sintaxe no estudo desses formalismos. Uma base de conhecimento (KB), neste contexto, é constituída por dois elementos, uma TBox e uma ABox. A TBox introduz a terminologia, i.e. é vocabulário do domínio, e a ABox contém asserções sobre indivíduos, em termos dessa terminologia. A Secção 1.1 descreve com mais detalhe as bases de conhecimento DL. O vocabulário é constituído por conceitos, que denotam conjuntos de indivíduos, e relações, que denotam relações binárias entre esses conjuntos. Além dos conceitos e re- lações atómicas (nomes de conceitos e de relações), todas as Lógicas de Descrição per- mitem construir descrições complexas de novos conceitos ou relações. A TBox pode ser usada precisamente para atribuir nomes a descrições dessa natureza. A linguagem para construir tais descrições difere em cada DL. A semântica das Lógicas de Descrição é de- finida em teoria de modelos. Os axiomas e asserções na TBox e ABox, respectivamente, podem ser identificados com fórmulas de primeira ordem (ou ligeiras extensões dela). A secção 1.2 descreve a semântica das Lógicas de Descrição. Um sistema DL não só armazena terminologias e asserções, como também fornece serviços para raciocinar sobre elas. Uma tarefa de raciocínio típica para uma ontologia é a de determinar se é satisfazível, i.e. não contraditória e admite modelos. Outra tarefa, sobre a TBox, é a de determinar se uma descrição é mais geral que outra – por outras pa- lavras, se subsume outra. Quanto à ABox, os serviços habitualmente suportados são o de determinar se o conjunto das asserções que contém é consistente, e o de testar se elas im- plicam que um indivíduo particular é instância de um dado conceito. A verificação de satisfazibilidade e de consistência são úteis para determinar se a base de conhecimento têm algum significado inteligível. Com os testes de subsunção, podem organizar-se os conceitos da terminologia numa hierarquia, de acordo com a sua generalidade - o que, como se referiu, se entende por classificação. Uma descrição de conceito pode também ser concebida como query, descrevendo o conjunto de objectos nos quais se está interes- sado. Assim, com testes de instância pode obter-se os indivíduos que as satisfazem (ver secção 1.3). Entre as várias lógicas de descrição existentes, merecem particular destaque nesta dissertação o EL+ ⊥ e DL-LiteR . A primeira porque, como já se mencionou, é aquela que é suportada na versão original do NoHR; a segunda porque é aquela que se pretendeu suportar na extensão do NoHR a que a presente dissertação se propõe. As secções 1.4 e 1.5, respectivamente, apresentam essas duas lógicas de descrição. 1.1 Sintaxe Como referido, uma ontologia DL representa o domínio de interesse em termos de duas partes: uma TBox, habitualmente denotada por T , especificando o conhecimento in- tencional, e uma ABox, habitualmente denotada por A, especificando o conhecimento extensional. 13
  • 20. 1. LÓGICAS DE DESCRIÇÃO 1.1. Sintaxe Uma TBox é formada por um conjunto finito de axiomas de subsução da forma: C1 C2 (1.1) R1 R2 (1.2) que denotam que todas as instâncias de C1 também são instâncias de C2 e que todos os pares (a, b) pertencentes à relação R1 também pertencem à relação R2, respectivamente. Ci são conceitos – que denotam conjuntos de objectos – atómicos ou complexos. Os conceitos complexos podem ser o complemento de um conceito, ¬C; a intersecção de dois conceitos, C1 C2; a união de dois conceitos, C1 C2; uma quantificação existencial, ∃R.C; uma quan- tificação existencial reflexiva, ∃R.self; uma quantificação universal, ∀R.C; ou uma restrição de cardinalidade, ≤ nR.C ou ≥ nR.C (ver tabela 1.1). Ri são relações – denotam relações biná- rias entre conceitos – atómicas ou complexas. As relações complexas podem ser: o inverso de um relação, R−; a composição de duas relações, R1 ◦ R2; ou o complemento de uma rela- ção, ¬R. Uma ABox é formada por um conjunto finito de asserções de pertença da forma: C(a) (1.3) R(a, b) (1.4) que denotam que o objecto representado pela constante a é uma instância de C e que o par de objectos denotados pelo par de constantes (a, b) é uma instância da relação R, respectivamente. Exemplo 2. Considere-se novamente o senário da loja online do Exemplo 1. Os seguintes axiomas e asserções poderiam ser parte da ontologia que a loja usa: Piece ∃HasArtist (1.5) ∃HasArtist− Artist (1.6) ∃HasComposed− Piece (1.7) HasComposed− HasArtist (1.8) Composer ∃HasComposed (1.9) TopSeller Recommend (1.10) LessSold ¬Recommend (1.11) Artist ¬Piece (1.12) HasArtist(BlueTrain, JohnColtrane) (1.13) HasComposed(GeorgeGershwin, RhapsodyInBlue) (1.14) Composer(GustavMahler) (1.15) TopSeller(BlueTrain) (1.16) 14
  • 21. 1. LÓGICAS DE DESCRIÇÃO 1.2. Semântica O axioma 1.5 assegura que cada música tem pelo menos um artista, enquanto que o 1.6 restringe o contradomínio da relação HasArtist para Artist, e 1.7 o contradomínio de HasComposed para Piece. O axioma 1.8 indica que se algo foi composto por um certo indivíduo, essa composição tem-no como artista. O axioma 1.9 define Composer como subconjunto dos indivíduos que compuseram algo. Os axiomas 1.6-1.9, por si só, já permitem derivar que um compositor é um artista. É de notar que essa conclusão é possível mesmo sem a presença de nenhum compositor ou música. Tal é o efeito que se pretende quando se raciocina, com esquemas de conhe- cimento, em domínios infinitos. Não obstante, é evidente que havendo informação espe- cífica é possível usá-la para derivações acerca de indivíduos específicos. Por exemplo, na presença da asserção 1.14 é possível derivar que GeorgeGershwin é um artista. O axioma 1.10 expressa uma directiva de recomendação geral: CDs que sejam mais vendidos são automaticamente recomendados aos clientes. O axioma 1.11 garante que um CD entre os menos vendidos nunca é recomendado. Tal é particularmente útil para restringir as recomendações específicas para cada cliente. O axioma 1.12 é uma restrição de integridade, que garante que algum engano na introdução dos dados em que um peça fique classificada como artista ou vice-versa é detectado 1. As asserções 1.13-1.16 indicam que Blue Train tem John Coltrane como artista, que George Gershwin compôs Rhapsody In Blue, que Gustav Mahler é compositor, e que Blue Train é um CD dos mais vendidos, respectivamente. 1.2 Semântica A semântica das Lógicas de Descrição é dada em termos de interpretações, I = ∆I , .I , que consistem num domínio de interpretação não vazio ∆I e uma função de interpreta- ção .I , que atribui a cada conceito C um subconjunto CI de ∆I , e a cada relação R uma relação binária RI sobre ∆I – as extensões do conceito ou relação, respectivamente. A tabela 1.1 2 especifica as principais expressões permitidas em Lógicas de Descrição e respectiva semântica. As expressões permitidas em descrições de conceitos, aqui deno- tados por C, e as descrições de relações, denotados por R, estão incluídas nessa tabela. Uma interpretação I é um modelo de uma axioma de subsunção C1 C2 (resp., R1 R2), se C1 I ⊆ C2 I (resp., R1 I ⊆ R2 I ). 1 É discutível o quão realista se poderia considerar a inclusão de um tal axioma numa ontologia aplicada ao contexto prático descrito. O proposito deste axioma é principalmente permitir expor certas propriedades em exemplos subsequentes (ver exemplo 60). 2 As expressões apresentadas nessa tabela, com a excepção do complemento de relações (¬R), correspon- dem aquelas que são permitidas em SROIQ, [24] a DL na qual a linguagem OWL 2 DL se fundamenta [38]. Além dessas expressões também são permitidos axiomas de simetria, assimetria, transitividade, reflexivi- dade, irreflexividade, e disjunção para as relações. São também impostas certas restrições nos axiomas de subsunção de relações, de modo a preservar decidibilidade. Tal não é, no entanto, relevante para a presente exposição. 15
  • 22. 1. LÓGICAS DE DESCRIÇÃO 1.2. Semântica Tabela 1.1: Expressões permitidas nas Lógicas de Descrição Expressão Semântica Tradução para Lógica de Primeira Ordem C ou R π(C, x) ou π(R, x, y) descrições de conceitos (C) ∆I ⊥ ∅ ⊥ A AI ⊆ ∆I A(x) ¬C ∆I CI ¬π(C, x) C1 C2 C1 I ∩ C2 I π(C1, x) ∧ π(C2, x) C1 C2 C1 I ∪ C1 I π(C1, x) ∨ π(C2, x) ∃R.C {o | ∃o .(o, o ) ∈ RI ∧ o ∈ CI } ∃z(π(R, x, z) ∧ π(C, z)) ∃R.Self {o | (o, o) ∈ RI } (π(R, x, x)) ∀R.C {o | ∀o ((o, o ) ∈ RI ⇒ o ∈ CI )} ∀z(π(R, x, z) ⊃ π(C, z)) ≥ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≥ n} ∃y1, . . . , yn( i=j yi = yj ∧ i(π(R, x, yi) ∧ π(C, yi))) ≤ nR.C {o | #{o | (o, o ) ∈ RI ∧ o ∈ CI } ≤ n} ∃y1, . . . , yn+1( i=j yi = yj ⊃ i ¬(π(R, x, yi) ∧ π(C, yi))) descrições de relações (R) P PI ⊆ ∆I × ∆I P(x, y) R− {(o2, o1) | (o1, o2) ∈ RI } π(R, y, x) R1 ◦ R2 RI 1 ◦ RI 2 ∃z(π(R1, x, z) ∧ π(R2, z, y)) ¬R1 ∆I × ∆I R1 I ¬π(R1, x, y) axiomas de subsunção C1 C2 C1 I ⊆ C2 I ∀x(π(C1, x) ⊃ π(C2, x)) R1 R2 R1 I ⊆ R2 I ∀x, y(π(R1, x, y) ⊃ π(R2, x, y)) asserções de pertença C(a) aI ∈ CI π(C, a) R(a, b) (aI , bI ) ∈ RI π(R, a, b) 16
  • 23. 1. LÓGICAS DE DESCRIÇÃO 1.3. Queries Para especificar a semântica das asserções de pertença, estende-se a função de in- terpretação para constantes, atribuindo a cada constante a um objecto aI ∈ ∆I . Uma interpretação I é um modelo de uma asserção C(a) (resp., R(a, b)), se aI ∈ CI (resp., (aI , bI ) ∈ RI ). Dado um axioma de subsunção ou uma asserção de pertença α, e uma interpretação I, denota-se por I |= α o facto de I ser um modelo de α. Dado um conjunto (finito) de asserções K, denota-se por I |= K o facto de I ser um modelo de todas as asserções em K. Um modelo de uma KB O = T , A é uma interpretação I tal que I |= T e I |= A. Diz-se que uma KB é satisfazível se tiver pelo menos um modelo; e que uma asserção α é consequência lógica de uma KB K, o que se denota por O |= α, se todos os modelos de K forem também modelos de α. 1.3 Queries Define-se união de queries conjuntivas q do seguinte modo q = {x | i=1,...,n ∃yi. conji(x, yi)} (1.17) onde cada conji(x, yi) é uma conjunção de átomos e igualdades, com variáveis livres x e variáveis fechadas yi. Dada uma interpretação I, qI é o conjunto de tuplos de elementos do domínio que, quando atribuídos às variáveis livres da fórmula i=1,...,n ∃yi. conji(x, yi), a tornam verdadeira em I. Uma união de queries conjuntivas sobre uma ontologia O é uma união de queries conjuntivas cujos os átomos são da forma A(z) ou P(z1, z2), onde A e P denotam, respectivamente, um conceito atómico e uma relação atómica de O, e z, z1, z2 são constantes em O ou variáveis. 1.4 EL+ ⊥ O EL+ ⊥ é um fragmento da lógica de descrição EL++ [3], na qual o perfil OWL 2 EL se baseia [19]. O conjunto de expressões permitidas em EL+ ⊥é dado pela seguinte gramática: C → A | | ⊥ | C C | ∃R.C R → P | R ◦ R T → C C | R P U → C(a) | R(a, b) onde A denota um conceito atómico; P uma relação atómica; C uma descrição de conceito; R uma descrição de relação; T um axioma de subsunção; e U uma asserção de pertença. Um dos resultados interessantes da DL EL++ – e assim, do EL+ ⊥– é o da subsunção 17
  • 24. 1. LÓGICAS DE DESCRIÇÃO 1.5. DL-LiteR poder ser decidida em tempo polinomial, o que a torna adequada a problemas onde a hierarquização de muitos conceitos é necessária. 1.5 DL-LiteR O conjunto de expressões permitidas em DL-LiteR é dado pela seguinte gramática: B → A | ∃Q (1.18) C → B | ¬B (1.19) Q → P | P− (1.20) R → Q | ¬Q (1.21) T → B C | Q R (1.22) U → A(a) | P(a, b) (1.23) onde A denota um conceito atómico; P uma relação atómica; P− o inverso de uma relação atómica P; B um conceito básico, i.e. um conceito que pode ser um conceito atómico ou uma quantificação existencial não qualificada ∃Q 3; ¬B o complemento de um conceito básico B; Q uma relação básica, i.e. uma relação que pode ser uma relação atómica ou o inverso de uma relação atómica; ¬Q o complemento de um relação básica Q; C um conceito geral, que pode ser um conceito básico ou o seu complemento; R uma relação geral, que pode ser uma relação básica ou o seu complemento; T um axioma de subsunção de conceitos ou relações; e U uma asserção de pertença. Além disso, denota-se por Q− a relação P, se Q = P−, e a relação P−, se Q = P. Designam-se por axiomas de subsunção positivos os axiomas da forma B1 B2 ou Q1 Q2, onde B1 e B2 são conceitos básicos e Q1 e Q2 são relações básicas; e por axiomas de subsunção negativos os axiomas da forma B1 ¬B2 ou Q1 ¬Q2. Designa-se também TBox positiva uma TBox que só contenha axiomas positivos e TBox negativa uma TBox que só contenha axiomas negativos. No que se segue, e sempre que se trate da lógica de descrição DL-LiteR , serão adoptadas as definições e a notação apresentadas. 3 Equivale a ∃Q. . 18
  • 25. 2 Programação em Lógica Programação em Lógica é um paradigma de programação declarativo – de que o Prolog é, talvez, a linguagem mais conhecida – e também um formalismo de representação de conhecimento importante. Um programa em lógica é um conjunto de regras da forma 1 H ← A1, · · · , Am, not Bm+1, · · · , not Bn (2.1) com 0 ≤ m ≤ n, onde H e cada Ai e Bj são átomos 2, e a cada not Bj se chama literal. H é o consequente da regra, e A1, · · · , Am, not Bm+1, · · · , not Bn o antecedente. Informalmente, uma regra (na forma de 2.1) pode ser lida como “tem-se H se se tem A1,..., e Am e não se tem Bm+1,..., e Bn”. A avaliação de um programa em lógica pode ser definida de uma forma operacional, como acontece no Prolog, ou atribuindo-lhe uma semântica bem definida. Tal semântica pode ser dada em teoria de modelos, tendo como universo os termos formados pelos símbolos de função e constantes que ocorrem no programa – o universo de Herbrand 3, e, como função de interpretação, uma que mapeie cada termo em si mesmo. Partindo de tais estruturas de interpretação é possível definir, de diversas formas, quais são os modelos do programa – os modelos de Herbrand. Assim, torna-se útil definir um modelo canónico – o modelo, entre os vários possíveis, que captura o significado exacto pretendido para o programa. Duas semânticas, intimamente relacionadas entre si, e definidas de acordo 1 Esta não é a forma mais geral ou a única para regras em programação em lógica, mas para o propósito da presente exposição é suficiente. 2 Neste contexto átomo tem o mesmo significado que na lógica de primeira ordem. 3 Se a aridade das funções não for superior a 0 o universo de Herbrand é finito, e é contável infinito caso contrário, pelo que, em aplicações práticas restringe-se os termos às constantes. 19
  • 26. 2. PROGRAMAÇÃO EM LÓGICA 2.1. Modelos estáveis com essa ideia de modelo canónico, são apresentadas nas secções 2.1 e 2.2. 2.1 Modelos estáveis Como mencionado, o universo de Herbrand de um programa em lógica P é o conjunto, HP, de todos os termos formados pelos símbolos de função que ocorrem nesse programa (incluindo constantes). Um átomo (resp., regra ou programa) instanciado obtém-se subs- tituindo todas as variáveis livres desse átomo (resp., regra ou programa) por termos do universo de Herbrand. A base de Herbrand de P é o conjunto, ˆHP, dos átomos ins- tanciados, P(t1, · · · , tn), formados por um símbolo de predicado, P, que ocorrem no programa e os termos, t1, · · · , tn, pertencentes a HP. Uma interpretação de Herbrand, I, de um programa P é um subconjunto de ˆHP, e associa a cada símbolo de predi- cado n-ário em P uma única relação n-ária em HP – para um predicado P, a relação {(t1, . . . , tn) | P(t1, . . . , tn) ∈ I}. Uma interpretação de Herbrand, I, é modelo de Herbrand de α, denotado por I |= α, se: 1. α é um átomo instanciado P(t1, · · · , tn) e P(t1, · · · , tn) ∈ I; 2. α é um literal instanciado negativo not A e A ∈ I; 3. α é uma regra instanciada H ← A1, · · · , Am, not Bm+1, · · · , not Bn e I não é modelo de algum literal Ai ou not Bj ou I é modelo de H; ou 4. α é um programa instanciado P e I é modelo de todas as regras contidas em P. Define-se ainda modelo mínimo de Herbrand de um programa P, least(P): um modelo de Herbrand de P, M, tal que, para qualquer modelo de Herbrand M de P, M ⊆ M . Um programa positivo, i.e. no qual não ocorrem literais negativos, tem um único modelo mínimo de Herbrand. Por causa dessa univocidade, e por ser um modelo que atribui uma semântica compatível com o senso comum – é razoável assumir que com um programa, assim como com outras formas de representação de conhecimento, se pretende expressar apenas o que é necessariamente verdadeiro, em vez de tudo o que pode, ou não, ser verdadeiro – é esse o modelo canónico para programas positivos. Já num programa negativo, tal não possível, uma vez que este pode ter vários mode- los mínimos de Herbrand. Assim, em [18] define-se, para um dado programa instanciado P e um subconjunto M, de ˆHP, o programa PM, obtido de P removendo: 1. cada regra na qual ocorra um literal negativo not B no seu antecedente, se B ∈ M; 2. todos os literais negativos nos antecedentes das restantes regras. Assim definido, PM é um programa positivo, pelo que tem um único modelo minimo de Herbrand, least(PM). Se least(PM) = M então M é o conjunto estável ou modelo estável de P. 20
  • 27. 2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados Os conjuntos estáveis de um dado programa P podem ser entendidos como “os pos- síveis conjuntos de crenças que um agente racional pode ter se lhe são dadas como pre- missas o programa P” [18]. Se M é o conjunto de factos que se considera verdadeiros, então qualquer regra que contenha no antecedente um literal not B tal que B ∈ M, é nesse ponto e vista, inútil; e que contenha no antecedente not B com B ∈ M, trivial. Assim, as premissas de P podem ser substituídas por PM. Se um conjunto de átomos M escolhido é precisamente aquele que segue logicamente do conjunto simplificado de premissas PM, então essa escolha é racional. A semântica dos modelos estáveis é definida para um program P, se P tem exacta- mente um modelo estável, e estabelece esse modelo como o modelo canónico de P. Esta semântica dos modelos estáveis é aplicada na Answer Set Programming – um pa- radigma de programação orientado para problemas de procura. 2.2 Modelos bem fundados Em [17] desenvolve-se o conceito de conjuntos infundados. Define-se do seguinte modo. Seja P um programa em lógica, com base de Herbrand ˆHP, e I uma interpretação de P. U ⊆ ˆHP é um conjunto infundado (de P) relativamente a I se cada regra instanciada r de P, cujo o átomo do consequente, H, está contido em U, H ∈ U, satisfaz uma das seguintes condições: (i) I |= A ou I |= not B, para algum A ou not B do antecedente de r; ou (ii) algum literal positivo do antecedente de r, A, pertence a U, A ∈ U. Intuitivamente, I corresponde ao que é conhecido de antemão acerca do modelo pre- tendido para P. As regras que satisfazem a condição (i) não permitem novas derivações, uma vez que as suas hipóteses já são conhecidas como falsas. A condição (ii) é a condição de não fundamentação: a derivação de um dado literal, A, de U depende da derivação de outros literais também contidos em U, pelo que, nenhum literal em U pode ser esta- belecido como verdadeiro pelas regras de P, e partindo de I, em primeiro lugar. Deste modo, se se estabelecer como falsos todos os átomos em U, não há nenhuma forma de derivar posteriormente a sua verdade. 21
  • 28. 2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados Exemplo 3. Considere-se o programa consistindo nas seguintes regras (instanciadas) [17]: p(a) ← p(c), not p(b). (2.2) p(b) ← not p(a). (2.3) p(e) ← not p(d). (2.4) p(c). (2.5) p(d) ← q(a), not q(b). (2.6) p(d) ← q(b), not q(c). (2.7) q(a) ← p(d). (2.8) q(b) ← q(a). (2.9) Os átomos {p(d), q(a), q(b), q(c)} formam um conjunto infundado relativamente ao conjunto ∅. Em particular, {q(c)} é infundado pela condição (i) – não existe nenhuma re- gra que possa ser usada para estabelecer a sua verdade. O conjunto {p(d), q(a), q(b)} é infundado pela condição (ii) – não há forma de estabelecer p(d) sem primeiro estabelecer q(a) ou q(b) (embora se possa estabelecer ¬q(b), para suportar a primeira regra com con- sequente p(d), tal é irrelevante quanto à obtenção dos conjuntos infundados). De modo similar, não existe forma de estabelecer q(a) sem primeiro estabelecer p(d), e não existe forma de estabelecer q(b) sem primeiro estabelecer q(a). Claramente q(c) nunca pode ser provado, mas além disso, pode também constatar-se que entre p(d), q(a), e q(b), nenhum pode ser provado em primeiro lugar. Contrariamente, {p(a), p(b)} não constitui um conjunto infundado apesar de cada ele- mento depender do outro, pois as dependências dão-se apenas "através"da negação. Se- ria tentador afirmar que tentativas de provar p(a) e p(b) também falhariam, mas tal afir- mação é errónea. A diferença entre os conjuntos {p(d), q(a), q(b)} e {p(a), p(b)} é a seguinte: declarar um dos átomos p(d), q(a), q(b) como falso não permite provar a verdade de nenhum dos outros atámos. Contudo, uma vez que um dos átomos p(a) ou p(b) se declare falso, torna-se possível provar que o outro é verdadeiro; e se ambos foram declarados como falsos, tem-se uma inconsistência. A semântica bem fundada usa as condições (i) e (ii) para obter as conclusões negati- vas: estabelece todos os átomos em U como negativos. A semântica bem fundada de um dado programa é definida pelo menor ponto fixo de uma sequência transfinita obtida pela aplicação sucessiva de uma transformação de conjuntos de literais. Essa transformação é definida do seguinte modo. Considere-se um programa P. Seja TP(I) o conjunto dos átomos dos consequentes das regras cujos literais do antecedente são verdadeiros em I e UP(I) o maior conjunto infundado de P relativamente a I, i.e. a união de todos os conjuntos que são infundados relativamente a I. A transformação é definida por WP(I) = TP(I) ∪ {not B | B ∈ UP(I)}; e a sequência 22
  • 29. 2. PROGRAMAÇÃO EM LÓGICA 2.2. Modelos bem fundados por: I0 = ∅ (2.10) In+1 = WP(In) (2.11) Iδ = α<δ Iα (2.12) Denote-se por M o menor ponto fixo dessa sequência. A semântica bem fundada de um programa P é o “significado” representado por M. A ∈ M denota que A é verdadeiro; not B ∈ M, que B é falso. Para os literais da base de Herbrand para os quais nenhuma dessas condições se verifique, a semântica não atribui nenhum valor de verdade (ou atri- bui o valor indefinido). Se M inclui todos os átomos da base de Herbrand, então é um modelo total e é designado modelo bem fundado; caso contrário é designado modelo parcial bem fundado. Dois resultados importantes, que relacionam os modelos bem fundados com os mo- delos estáveis são os seguintes: se um dado program P tem um modelo total bem fun- dado então esse modelo é o único modelo estável; e, um modelo parcial bem fundado de um programa P é um subconjunto de qualquer o modelo estável de P. A semântica bem fundada tem complexidade de dados, i.e. complexidade computa- cional de decidir uma resposta para uma query atómica instanciada (neste caso, decidir qual o valor de verdade de um dado átomo, de acordo com o modelo parcial bem fun- dado), em função do número de factos, PTIME. Entre os vários algoritmos existentes para avaliação de queries a programas em lógica, merece particular destaque o SLG [10] (Linear resolution with Selection function for Gene- ral logic programs), uma vez que este permite computar a semântica bem fundada com complexidade temporal de dados polinomial, havendo, contrariamente a outros, a ga- rantia de terminação 4; e é independente da estratégia de controlo, i.e. a ordem pela qual os literais surgem nas regras não afecta o resultado – opostamente ao que acontece com o SLD, que é, nesse aspecto, menos declarativo. O SLG é definido com base numa série de transformações que transformam, passo a passo, cada query num conjunto de regras de resposta (ver capitulo 4). Este algoritmo é aplicado no XSB [10] – um sistema dedutivo para programas em lógica, comprovadamente efectivo. 4 Em programas limitados na profundidade dos termos. 23
  • 30. 3 Bases de Conhecimento MKNF MKNF (Minimal Knowledge and Negation as Failure) é uma lógica epistêmica não monótona que estende a lógica de primeira ordem com um operador de introspecção – permite fazer referência ao que é conhecido, i.e. à própria KB – e o operador de negação por omissão. Essa lógica permite representar teorias de primeira ordem e programas em lógica não monótona, preservando a sua semântica – a dos modelos estáveis ou a modelos bem fundados, no caso dos programas em lógica. Baseando-se nessas características da lógica MKNF, em [37] Motik e Rosati definem bases de conhecimento híbridas MKNF. Tais bases de conhecimento integram completa- mente ontologias DL e programas em lógica não monótonas, e, além de satisfazerem os critérios da estreiteza, e da flexibilidade, satisfazem o da fidelidade – a semântica que lhes é atribuída preserva a semântica clássica, na componente da ontologia DL, e dos mode- los estáveis, na componente das regras. Com algumas restrições (segurança DL), que não afectam significativamente a expressividade, garante-se a decidibilidade. Em [30] estende-se a semântica originalmente definida para as bases de conhecimento híbridas MKNF de [37], com modelos a dois valores de verdade, para uma de mode- los a três valores. Essa semântica permite não só aproximar a semântica dos modelos estáveis como também aplicar a noção de modelos bem fundados da programação em lógica às bases de conhecimento híbridas. Além disso, o seu modelo canónico – o mo- delo MKNF bem fundado – é computável com complexidade de dados menor ou igual à modelos MKNF a dois valores. Além dos quatro critérios enumerados anteriormente a abordagem das bases de co- nhecimento híbridas MKNF tem algumas propriedades importantes. Em bases de conhe- cimento consistentes, é coerente no sentido de [39], i.e. se uma fórmula ϕ é falsa clas- sicamente na ontologia, então a interpretação não monótona de ϕ nas regras é forçada 24
  • 31. 3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe a ser também falsa; permite detectar inconsistências sem nenhum esforço de computa- ção adicional substancial, além da verificação de consistência da ontologia apenas; e, a complexidade computacional de dados da abordagem depende da complexidade da DL aplicada, sendo que, se a DL tiver complexidade polinomial, a combinação com as regras mantém-se polinomial. Nas próximas secções deste capitulo introduz-se a lógica MKNF e definem-se bases de conhecimento híbridas MKNF (Secção 3.1) e a sua semântica (Secção 3.2). 3.1 Sintaxe A lógica de conhecimento mínimo e negação por falha (MKNF) [30] estende a lógica de pri- meira ordem com os operadores modais K e not . Informalmente, K ϕ pode ser lido como “sabe-se ϕ” e not ϕ como “não se sabe ϕ”. O operador not permite inferências com base em ausência de informação, de forma semelhante à negação por omissão da programação em lógica. As fórmulas MKNF são definidas do seguinte modo. Seja Σ = (Σc, Σf , Σp) uma assi- natura de primeira ordem, onde Σc é um conjunto de constantes, Σf é o conjunto de sím- bolos de função, e Σp é o conjunto de predicados contendo o predicado de igualdade ≈. Um átomo de primeira ordem P(t1, · · · , tn), onde P é um predicado e ti são termos de pri- meira ordem, é uma fórmula MKNF. Se ϕ é uma fórmula MKNF, então ¬ϕ, ∃x : ϕ, K ϕ e not ϕ são fórmulas MKNF, assim como ϕ1 ∧ ϕ2, para fórmulas MKNF ϕ1 e ϕ2. Além disso, ϕ1 ∨ ϕ2, ϕ1 ⊃ ϕ2, ϕ1 ≡ ϕ2, ∀x : ϕ, t, f, t1 ≈ t2, e t1 ≈ t2 são abreviações, respecti- vamente, para ¬(¬ϕ1 ∧ ϕ2), ¬ϕ1 ∨ ϕ2, (ϕ1 ⊃ ϕ2) ∧ (ϕ2 ⊃ ϕ1), ¬(∃x : ¬ϕ), a ∨ ¬a, a ∧ ¬a, ≈ (t1, t2), e ¬(t1 ≈ t2). As bases de conhecimento hibridas MKNF são essencialmente fórmulas MKNF res- tritas e consistem em dois componentes: uma ontologia DL expressável em lógica de primeira ordem e um conjunto finito de regras. Constituem, desse modo, uma possí- vel abordagem à combinação de Lógicas de Descrição com programas em lógica, e são aplicáveis a qualquer lógica de descrição DL que seja um fragmento de primeira ordem e satisfaça as seguintes condições 1: 1. cada base de conhecimento O ∈ DL pode ser traduzida (ver tabela 1.1) para uma fórmula π(O) de primeira ordem sem funções com igualdade; 2. DL suporta asserções de pertença da forma P(a1, · · · , an), onde P é um predicado e cada ai é uma constante de DL; e 3. a verificação de satisfazibilidade e verificação de instanciação (i.e verificação de consequências lógicas da forma O |= P(a1, ..., an)) são decidíveis. Uma regra MKNF r, com átomos de primeira ordem sem funções H, Ai e Bi, tem a 1 As lógicas de descrição subjacentes à OWL satisfazem estas condições. 25
  • 32. 3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe forma 2 : K H ← K A1, · · · , K An, not B1, · · · , not Bm (3.1) onde K H, K A1, · · · , K An, e not B1, · · · , not Bm são denominados consequente, antece- dente positivo e antecedente negativo, respectivamente. Uma regra MKNF é positiva se m = 0 e é um facto se n = m = 0; é DL-segura se toda a variável que nela ocorre, ocorre em pelo menos um átomo não DL, i.e. que não ocorre na ontologia DL em causa, do seu antecedente positivo. Um programa MKNF P é um conjunto finito de regras MKNF. Uma base de conhecimento híbrida MKNF K é um par (O, P), onde O é uma ontolo- gia DL expressável em lógica de primeira ordem e P um programa MKNF. K diz-se DL-segura se todas as regras em K são DL-seguras. A semântica das bases de conheci- mento MKNF híbridas é dada pela semântica das fórmulas MKNF com as quais se pode representá-las, havendo a garantia que, se forem MKNF-consistentes e DL-seguras, têm um e um só modelo bem fundado MKNF (ver secção 3.2). Para expressar uma base de conhecimento híbrida K = (O, P), tal como definida, numa fórmula MKNF válida, estende-se a transformação π do seguinte modo, onde r é uma regra MKNF na forma 3.1 e x é o vector de variáveis livres de r: π(r) = ∀x : (K A1 ∧ · · · ∧ K An ∧ not B1 ∧ · · · ∧ not Bm ⊃ K H) (3.2) π(P) = r∈P π(r) (3.3) π(K) = K π(O) ∧ π(P) (3.4) As bases de conhecimento hibridas MKNF, mesmo sem símbolos de função, são, em geral, indecidíveis, a menos que restringidas de alguma forma. Isto acontece porque as regras podem ser aplicadas a todos os objectos de um domínio infinito. Para recuperar a decidibilidade, basta então restringir a aplicação das regras a apenas indivíduos que apareçam na base de conhecimento, respeitando a segurança DL, anteriormente definida. Enquanto que a segurança DL garante que as regras são aplicadas apenas aos indivíduos que ocorrem numa dada base de conhecimento hibrida MKNF, a sua instanciação (abaixo definida) garante que são aplicadas a todos eles. A instanciação3 de uma base de conhecimento hibrida MKNF K = (O, P), é a KB KG = (O, PG) onde PG é obtido de P por substituição de cada regra r de P com o conjunto de regras obtido substituindo cada variável em r com constantes de K, de todas as maneiras possíveis. Exemplo 4. Considere-se novamente o cenário do Exemplo 1, juntamente com os axio- mas e asserções do Exemplo 2. Esses axiomas podem ser parte de uma ontologia O de uma base de conhecimento híbrida MKNF (O, P). Em P pode expressar-se directivas de recomendação adicionais, em particular aquelas que requeiram a assunção do mundo 2 Apenas se consideram regras não disjuntivas, i.e. sem disjunções no consequente, porque é para essas que os resultados de tratabilidade computacional de [30] se verificam. 3 Em Inglês, ground instantiation. 26
  • 33. 3. BASES DE CONHECIMENTO MKNF 3.1. Sintaxe fechado. Por exemplo, imagine-se que se pretende recomendar aos clientes CDs inte- ressantes que não possuam e cuja avaliação não seja baixa. Tal pode ser representado através das seguintes regras 4: K Recommend(x) ←K Piece(x), not owns(x), not LowEval(x), K interesting(x). (3.5) K interesting(x) ←K Piece(x), K Piece(y), K owns(y) not owns(x), K similar(x, y) (3.6) K similar(x, y) ←K Piece(x), K Piece(y), K Artist(z), K HasArtist(x, z), K HasArtist(y, z). (3.7) K HasArtist(EnConcert, JackJohnson) ← (3.8) K HasArtist(ToTheSea, JackJohnson) ← (3.9) K HasArtist(Summertime, GeorgeGershwin) ← (3.10) K onwns(EnConcert) ← (3.11) K onwns(Summertime) ← (3.12) Note-se que a assunção do mundo fechado é aplicada aos predicados owns e LowEval – recorde-se que este último na ontologia só poderia ser visto sob a perspectiva do mundo aberto. No caso do predicado owns, é razoável assumir que o conhecimento sobre as músicas possuídas está completamente disponível. Assim, se não existe nenhum facto assertando que se possui uma dada música, pode assumir-se que não se a possui. No caso do predicado LowEval pode acontecer que não exista ainda nenhuma avaliação, e no entanto, pretende-se a recomendação na mesma: uma música não é considerada para recomendação apenas quando realmente existe uma avaliação (conhecida) baixa para ela. Uma tal avaliação pode ter sido atribuída por outros clientes ou pode estar disponível numa página web de crítica. Por simplicidade, mantém-se essa parte do processo de raciocínio implícita. Pelas regras anteriores, uma música é interessante se o cliente possui outro que é similar 3.6, e duas músicas são similares se tem em comum um mesmo artista 3.7. Note-se que o predicado Piece é usado para assegurar segurança DL. Com isto, ao adicionarem-se os factos 3.8- 3.12, pode derivar-se Recommend(ToTheSea), pois não é conhecida nenhuma avaliação baixa para ToTheSea. Além disso, pode igual- mente derivar-se, aplicando a regra 3.5, Recommend(RhapsodyInBlue). Note-se como a componente ontológica contribui com as suas derivações; neste caso, com a derivação de HasArtist(GeorgeGershwin, RhapsodyInBlue). Este exemplo mostra que as bases de conhecimento híbridas MKNF permitem obter 4 Assume-se, por simplicidade, que a parte das regras da base de conhecimento são especificas para cada cliente. Desse modo evita-se a representação explicita de vários clientes, da relação que expressa que CDs são possuídos por que clientes 27
  • 34. 3. BASES DE CONHECIMENTO MKNF 3.2. Semântica consequências dos predicados “definidos” tanto na ontologia como nas regras. O resul- tado pode ainda ser aplicado para derivar consequências subsequentes e acrescentá-las em qualquer uma das partes da base de conhecimento. 3.2 Semântica Embora a lógica MKNF tenha sido originalmente definida em [35], e as bases de conheci- mento híbridas MKNF em [35], com uma semântica com dois valores de verdade, para o propósito da dissertação interessa apenas, tal como discutido no início do presente capí- tulo, a semântica apresentada em [30], com três valores de verdade, pelo que, apenas se apresenta a semântica ai definida 5. À semelhança do que acontece da programação em lógica, quando se adoptam modelos a três valores de verdade no lugar de dois obtêm-se modelos mais "cépticos", no sentido em que há menos compromisso com a verdade ou falsidade dos factos, e portanto, mais fracos do ponto de vista do conhecimento derivá- vel, mas, em contrapartida, o raciocínio torna-se computacionalmente menos complexo. De acordo com a referida semântica, o valor de verdade de uma fórmula MKNF é definido com base numa estrutura de avaliação. Os valores possíveis são t, f ou u, e têm a ordenação f < u < t 6. Uma estrutura MKNF é um triplo (I, M, N) constituído por uma interpretação de primeira ordem I e dois pares M = M, M1 e N = N, N1 de conjuntos de interpretações de primeira ordem, onde M1 ⊆ M e N1 ⊆ N. Tal estrutura MKNF diz-se total se M = M, M e N = N, N e parcial caso contrário. Uma dada estrutura MKNF avalia uma fórmula MKNF de acordo com a figura 3.1. Note-se que é ao impor-se M1 ⊆ M e N1 ⊆ N na definição de estrutura MKNF garante-se que nenhum fórmula MKNF é avaliada por nenhuma estrutura MKNF como verdadeira e falsa simultaneamente. É de notar também, que, embora as estruturas MKNF permitam avaliar fórmulas MKNF com três valores de verdade, isso só acontece com as que não sejam de primeira ordem, i.e. nas quais ocorram os operadores modais K ou not . As restantes são avali- adas apenas com dois valores de verdade, e exactamente com o mesmo valor com que seriam valoradas na lógica de primeira ordem, dada a interpretação I. Tal é desejável, uma vez que se pretende satisfazer o critério da fidelidade e, consequentemente, preservar a semântica das lógicas de descrição, que, como mencionado, são geralmente fragmentos da lógica de primeira ordem. Uma interpretação MKNF consiste num par (M, N) de conjuntos não vazios de inter- pretações de primeira ordem, M e N, com ∅ ⊂ N ⊆ M. Se M = N, então a interpretação 5 Todas as definições subsequentes dizem-lhe respeito, pelo que não se faz a distinção entre modelos a dois valores e modelos a três valores, que se faz no artigo original. 6 Do Inglês, true, false e undefined, respectivamente. Subsequentemente denota-se por max(C) e min(C), de acordo com essa ordenação, como o maior, menor, respectivamente, valor de verdade contido em C. 28
  • 35. 3. BASES DE CONHECIMENTO MKNF 3.2. Semântica (I, M, N)(P(t1, · · · , tn)) = t sse (tI 1 , · · · , tI n) ∈ PI f sse (tI 1 , · · · , tI n) ∈ PI (3.13) (I, M, N)(¬ϕ) =    t sse (I, M, N)(ϕ) = f u sse (I, M, N)(ϕ) = u f sse (I, M, N)(ϕ) = t (3.14) (I, M, N)(ϕ1 ∧ ϕ2) = min{(I, M, N)(ϕ1), (I, M, N)(ϕ2)} (3.15) (I, M, N)(ϕ1 ⊃ ϕ2) = t sse (I, M, N)(ϕ2) ≥ (I, M, N)(ϕ1) f caso contrário (3.16) (I, M, N)(∃x : ϕ) = max{(I, M, N)(ϕ[α/x]|α ∈ ∆)} (3.17) (I, M, N)(K ϕ) =    t sse (J, M, M1 , N)(ϕ) = t para todo J ∈ M f sse (J, M, M1 , N)(ϕ) = f para algum J ∈ M1 u caso contrário (3.18) (I, M, N)(not ϕ) =    t sse (J, M, N, N1 )(ϕ) = f para algum J ∈ N1 f sse (J, M, N, N1 )(ϕ) = t para todo J ∈ N u caso contrário (3.19) Figura 3.1: Avaliação das fórmula MKNF (M, N) é denominada total, caso contrário, parcial. Uma interpretação MKNF (M, N) sa- tisfaz uma fórmula fechada7 ϕ, o que se denota por (M, N) |= ϕ, se e só se: (I, M, N , M, N )(ϕ) = t para todo I ∈ M. Se existe uma interpretação que satisfaça ϕ, então ϕ diz-se consistente. Uma interpretação MKNF é um modelo MKNF de um dada fórmula MKNF fechada ϕ se: (i) (M, N) |= ϕ e (ii) para cada interpretação MKNF (M , N ) com M ⊆ M e N ⊆ N , onde pelos menos uma das inclusões é estrita e (M , N ) é total se (M, N) é total, existe I ∈ M tal que (I , M , N , M, N )(ϕ) = t. Intuitivamente, pode considerar-se uma interpretação MKNF como uma avaliação hipotética da fórmula considerada, e que a condição (ii) verifica, tendo fixado a avaliação dos átomos modais not , se a avaliação dos átomos modais K é mínima relativamente à ordenação dos valores de verdade. Ilustra-se no exemplo seguinte como essa minimiza- ção é obtida [30]. 7 Sem variáveis livres, i.e. não quantificadas. 29
  • 36. 3. BASES DE CONHECIMENTO MKNF 3.2. Semântica Exemplo 5. Considere-se a fórmula MKNF ϕ (correspondente a duas regras): (not p ⊃ K q) ∧ (not q ⊃ K p) Um par de interpretação MKNF (M, N) que satisfaça a condição (i) da definição an- terior tem de avaliar ambas os conjunctures como verdadeiros. O par de interpreta- ção MKNF ({{p}, {p, q}}, {{p, q}}) que avalia K p como t e K q como u satisfaz a pri- meira condição mas não é um modelo MKNF de ϕ uma vez que não satisfaz a condi- ção (ii) (considere-se (M , N ) = ({∅, {p}, {q}, {p, q}}, {{p, q}}), por exemplo – na ver- dade, esse par de interpretação MKNF é um modelo MKNF). O operador not é sem- pre avaliado relativamente ao par de interpretação MKNF (M, N), mesmo quando se considera a condição (ii). Portanto, para N = {{p, q}}, as duas implicações são, de qual- quer forma, verdadeiras; e M tem de ser o conjunto de todas as interpretações possíveis, {{∅, {p}, {q}, {p, q}}, para satisfazer a condição (ii). Assim, obtém-se o par de interpreta- ção MKNF que avalia K p e K q como u. Tal mostra que o par de interpretação MKNF inicial não era minimal relativamente à avaliação dos átomos K . De modo similar à mi- nimização da avaliação de K p de t para u, mudanças de u para f também são possíveis: mantém-se M = {{p}, {p, q}} e coloca-se N = M. Agora a avaliação de K q é minimi- zada de u para f, e é fácil verificar que o par de interpretação MKNF resultante é de facto um modelo MKNF de ϕ. Uma dada fórmula MKNF fechada ϕ diz-se MKNF-consistente se admite modelo MKNF e MKNF-inconsistente caso contrário. Uma fórmula MKNF fechada ψ é consequência lógica de outra fórmula MKNF fechada ϕ se, para todos os modelos MKNF (M, N) de ϕ, (I, M, N , M, N )(ψ) = t, o que se denota por ϕ |=3 MKNF ψ. Em [30] define-se também um modelo canónico, o modelo MKNF bem fundado, que, similarmente ao que é habitual na programação em lógica, corresponde ao menor modelo relativamente ao conhecimento derivável. Um modelo MKNF (M, N) de uma dada fórmula fechada MKNF ϕ é o modelo MKNF bem fundado de ϕ, se M1 ⊆ M e N1 ⊇ N, para todos os modelos MKNF de (M1, N1) de ϕ. Como numa base de conhecimento híbrida MKNF arbitrária com domínio contável infinito existem infinitos modelos MKNF, trabalhar directamente sobre os eles torna-se inexequível. Portanto, é necessária uma representação finita. A solução, apresentada em [30], é representar o modelo MKNF através de uma fórmula de primeira ordem cujo conjunto de modelos (de primeira ordem) correspondem ao próprio modelo MKNF. In- tuitivamente, uma tal fórmula é obtida primeiro dividindo os átomos modais ocorrendo na base de conhecimento híbrida MKNF instanciada em átomos verdadeiros e falsos, e depois construindo a fórmula de primeira ordem com base nos átomos verdadeiros e na ontologia. Parte-se do conjunto dos átomos K da base de conhecimento instanciada, que corresponde ao menor conjunto contendo todos os átomos K ocorrendo nela, e, para 30
  • 37. 3. BASES DE CONHECIMENTO MKNF 3.2. Semântica cada átomo modal not ϕ, um átomo K ϕ. Uma partição parcial (T, F) desse conjunto con- siste em dois subconjuntos disjuntos entre si, onde, intuitivamente, T contém todos os átomos modais verdadeiros, F todos os átomos modais falsos, e um terceiro conjunto, formado pelos elementos do conjunto dos átomos K que não estão nem em T nem em F, habitualmente denotado por U, corresponde ao que é considerado indefinido. A cada interpretação MKNF (M, N) pode fazer-se corresponder uma partição parcial (T, F), a partição parcial induzida por essa interpretação, de acordo com o seguinte: 1. K ϕ ∈ T implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = t; 2. K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = f; e 3. K ϕ ∈ T e K ϕ ∈ F implica que, para toda a interpretação I em M, (I, M, N)(K ϕ) = u. As fórmulas de primeira ordem correspondentes à ontologia e aos átomos em T são satis- feitas exactamente pelas interpretações de M; as fórmulas correspondentes à ontologia e aos elementos do conjunto de átomos K que não estão em F são satisfeitas exactamente pelas interpretações de N. É por tal se verificar que é possível representar qualquer mo- delo MKNF por meio de uma partição parcial. Em [30] é apresentada uma computação bottom-up sobre os átomos K de uma dada KB que permite obter a partição parcial correspondente ao seu modelo MKNF bem fun- dado. Nessa computação são aplicados, sucessivamente, e de forma cumulativa, dois operadores – um que faz derivações com base na ontologia e outro com base nas regras – a duas transformações da KB instanciada, que à semelhança do que acontecia com a transformação apresentada na Secção 2.1, a tornam positiva – uma similar a essa última e outra que na qual se tem adicionalmente em conta a negação clássica, de modo a garantir coerência com a negação por omissão. Em [2] é apresentada uma computação bottom-up alternativa na qual se aplica uma só transformação a uma versão duplicada da base de conhecimento (ver Secção 4.2), na qual o algoritmo top-down SLG(O) se baseia. 31
  • 38. 4 SLG(O) Em [1] é apresentada uma extensão do SLG para bases de conhecimento híbridas MKNF consistente com a semântica bem fundada, o SLG(O) . No caso de queries DL-seguras, é decidível com complexidade de dados PC, onde C é a complexidade de responder a uma query na DL usada na KB em causa. O algoritmo SLG é introduzido, através de um exemplo, na Secção 4.1. Uma defini- ção detalhada das operações do SLG pode ser consultada em [42]. A Secção 4.2 descreve a operação que estende o SLG para bases de conhecimento híbridas MKNF, a Resolução com Oráculo , que incorpora as derivações da ontologia por meio de um oráculo – um função que, para uma dada query, um dado conjunto de factos, anteriormente derivados, devolve um conjunto de factos que em conjunto com os anteriores e a ontologia, é sufici- ente para provar a query. Além disso, essa secção descreve também uma transformação de duplicação da base de conhecimento – toda a ontologia e cada regra – que é necessá- ria aplicar previamente à avaliação SLG(O) de modo a garantir coerência, e para permitir detectar possíveis inconsistências. 4.1 SLG Uma avaliação SLG corresponde a uma sequência de florestas de árvores de derivação, obtidas pela aplicação sucessiva de uma conjunto de operações que criam um novo nó, uma nova árvore, ou marcam uma certa árvore como completamente avaliada. O se- guinte exemplo clarifica a ideia exposta [1]. 32
  • 39. 4. SLG(O) 4.1. SLG Exemplo 6. Considere-se a seguinte base de conhecimento híbrida MKNF com O vazio: p(b) ← (4.1) p(c) ← not p(a) (4.2) p(X) ← t(X, Y, Z), not p(Y ), not p(Z) (4.3) p(a) ← p(b), p(a) (4.4) t(a, a, b) ← (4.5) t(a, b, a) ← (4.6) Figura 4.1: Floresta final para a query p(c) a P1. [1] Considere-se uma query p(c) a K na qual nenhum dos átomos é DL, i.e. nenhum orá- culo necessita ser usado. A figura 6 mostra a floresta SLG no fim da avaliação. Nela, cada nó é etiquetado com um número indicando a ordem no qual foi criado na avaliação SLG. Um nó consiste ou no símbolo fail, ou numa regra formada por um consequente que re- presenta um dado subgolo atómico e as substituições nele efectuas e por um antecedente constituído por um conjunto de Adiamentos, seguidos do símbolo |, seguido pelos Golos ainda a serem examinados. A avaliação começa com a criação da árvore inicial da query com raiz p(C) ← |p(C) no nó 1. Filhos de nós raiz são criados através da operação Resolu- ção de Clausulas do Programa tal com na resolução SLD do Prolog. Assim, a avaliação usa a 33
  • 40. 4. SLG(O) 4.2. Oráculo regra 4.2 para criar o nó 2. O (único possível) literal not p(a) no nó 2 é seleccionado. Este literal tem um nó subjacente p(a) que não corresponde à raiz de nenhuma árvore na flo- resta. Assim, a operação SLG Novo Subgolo cria a nova árvore para p(a) (nó 3), cujo filho, nó 4, é criado por Resolução de Clausulas do Programa usando a regra 4.3. A operação Novo Subgolo é novamente usada para criar a nova árvore para o literal seleccionado t(a, X, Y ) (nó 5), e nós filhos 6 e 7 são criados pela Resolução de Clausulas do Programa partindo das regras 4.5 e 4.6. Os últimos nós não têm Golos e são denominadas respostas; além disso, como também não têm Adiamentos, são respostas incondicionais. Qualquer átomo na ins- tanciação de uma resposta incondicional é verdadeiro no modelo MKNF bem fundado. A operação SLG Retorno Positivo é usada para resolver a primeira destas respostas com o literal seleccionado do nó 4, produzindo o nó 9. O literal seleccionado deste último nó tem p(a) como seu subgolo subjacente, mas ainda existe uma árvore para p(a) na floresta e não existem respostas para p(a) retornar. Como existe outra resposta incondicional para t(a, X, Y ) (nó 7), Retorno Positivo pode ser usado para produzir o nó 10. O subgolo sub- jacente p(b) é seleccionado, por Novo Subgolo a árvore para p(b) é criada, e determina-se a certo momento que o subgolo p(b) tem uma resposta incondicional (nó 12); assim, usando a operação Falha de Negação , o nó falha, nó 14, é criado. Então, a computação, através de Resolução de Clausulas do Programa e a regra 4.4, produz outro filho para p(a), nó 15, e resolve p(b) (nó 16). Nesta fase o subgolo p(a) não é nem verdadeiro, já que nenhum resposta incondicional foi derivada para ele, nem é falso, pois uma das suas possíveis derivações, nó 9, efectivamente tem um ciclo através da negação. Contudo, no SLG é possível aplicar a operação Atraso ao literal negativo seleccionado, movendo-o dos Golos para a direita do símbolo | para os Adiamentos à esquerda do símbolo |. Essa operação de Atraso produz o nó 17, que é designado resposta condicional, e tem Adiamentos mas não Golos. Atraso também produz o nó 18 cujo novo literal not p(b) agora falha (dada a res- posta incondicional do nó 12), produzindo o nó falha 19. Nesta fase, todas as possíveis operações para nós não reposta em p(a) e nas árvores na qual ele depende foram efec- tuadas, pelo que esse literal p(a) pode marcar-se como completo (passo 20). O subgolo completo P(a) não tem respostas, e é então dito falhado e é falso no modelo MKNF bem fundado de K. Este literal falhado pode ser movido da lista de adiamentos do nó 18 pela operação de Simplificação produzindo a resposta incondicional nó 21. O SLG não difere particularmente de outros formalismos de tabulação do tipo Prolog no caso de programs que não usam negação por omissão (not). Contudo, para a negação ele introduz o conceito de adiar literais de modo a ser possível encontrar testemunhas de falha em qualquer parte de uma regra, juntamente com o conceito de simplificar esses literais adiados sempre que o seu valor de verdade se torna conhecido. 4.2 Oráculo Como o SLG(O) é aplicado a bases de conhecimento que contém, além de um programa em lógica, uma ontologia DL, é necessário ter em conta certos aspectos que não são tidos 34
  • 41. 4. SLG(O) 4.2. Oráculo em conta no SLG. Um deles é a coerência: ao introduzir-se a negação clássica com a com- ponente ontológica, têm de garantir-se que a negação por omissão é coerente com ela. Se uma KB têm como consequência lógica que um dado átomo A é falso, então deve inferir- se também que a sua negação por omissão, not A, é verdadeira. Assim, o SLG(O) tem de proceder de modo a que a derivação de not A não assente apenas na falha em derivar A, como acontece na programação em lógica. Para isso, transforma-se a base de conheci- mento, duplicando-a com novos predicados, de modo a ter-se a verdade e a não falsidade dos predicados originais representadas por predicados distintos, garantindo-se que os que representam a não falsidade não são deriváveis quando a negação clássica dos pre- dicados originais que lhes correspondem o for. Essa transformação é definida do seguinte modo. Seja K = (O, P) uma base de conhe- cimento hibrida MKNF. Introduz-se um novo predicado Ad e NA para cada predicado A que ocorre em K e construtivamente define-se: 1. Od substituindo cada predicado A em O por Ad; e 2. Pd transformando cada regra K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not B1(tB1 ), · · · , not Bm(tBm ) (4.7) ocorrendo em P em duas regras: (i) K H(tH) ← K A1(tA1 ), · · · , K An(tAn ), not Bd 1(tB1 ), · · · , not Bd m(tBm ) e (ii) (a) K Hd (tH) ← K Ad 1(tA1 ), · · · , K Ad n(tAn ), not B1(tB1 ), · · · , not Bm(tBm ), not NH(tH), se H(tH) é um átomo DL; (b) K Hd (tH) ← K Ad 1(tA1 ), · · · , K Ad n(tAn ), not B1(tB1 ), · · · , not Bm(tBm ) se H(tH) é um átomo não DL. Define-se a base de conhecimento híbrida MKNF duplicada Kd = (O, Od, Pd). Intuitivamente, na base de conhecimento duplicada A representa a verdade de A na base de conhecimento original, enquanto que Ad representa a não falsidade de A na base de conhecimento original. Os átomos da forma NH(tH) são introduzidos para distinguir as regras que podem ser afectadas pela derivação da negação clássica do seu consequente 35
  • 42. 4. SLG(O) 4.2. Oráculo das que não podem. Todas as operações SLG(O) anteriormente apresentadas são apli- cáveis às bases de conhecimento híbridas MKNF duplicadas (e não às bases de conheci- mento originais a que correspondem). Outro aspecto em que SLG(O) difere do SLG é o de que para suportar bases de co- nhecimento híbridas MKNF (em vez de apenas programas em lógica), a avaliação tem de aplicar não só as regras do programa como também os axiomas e asserções da ontologia. Para isso, o SLG(O) recorre a mecanismos de inferência DL exteriores, aos quais lança as queries que se revelem necessárias. Como as bases de conhecimento hibridas MKNF são paramétricas quanto à DL usada, esse mecanismo de inferência é visto em SLG(O) como um oráculo. Sempre que o SLG(O) seleccione um literal que esteja definido na ontolo- gia, o mecanismo de inferência do oráculo é chamado se esse literal não for consequência das regras isoladamente. Como pode dar-se o caso de um tal literal também não ser consequência da ontologia isoladamente, mas sim da combinação da ontologia com as regras, define-se o oráculo de modo a devolver um conjunto de factos cuja derivação seja suficiente para o provar, dados os factos anteriormente derivados. Numa base de conhecimento híbrida MKNF, um átomo S é verdadeiro se é derivável das regras ou da ontologia DL. O SLG define uma operação Resolução de Clausulas do Programa que trata o primeiro caso. Agora introduz-se a operação Resolução com Oráculo que trata o último. A próxima definição caracteriza o comportamento de um oráculo abstracto, que com- puta derivações de acordo com a ontologia DL O, ao qual a operação Resolução com Orá- culo recorre. Define-se uma função de transição oráculo que, dada a interpretação indu- zida pela floresta SLG(O) , computa num único passo todos os átomos possivelmente re- queridos para provar um golo S. Por outras palavras, um tal oráculo, quando perante S e a floresta F, não deterministicamente devolve num passo um conjunto de átomos ins- tanciados L tal que: para cada L ∈ L existe pelo menos uma regra com L no consequente no programa instanciado PG, e se L for adicionado a O aumentado com IF , a teoria es- tendida imediatamente deriva S. Apenas se tem de ter em conta interrogar, apropriada- mente, O ou o seu duplicado Od na base de conhecimento híbrida MKNF duplicada, e estender O apenas com a parte positiva de IF . Definição 7. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli- cada, S um subgolo instanciado, L um conjunto de átomos instanciados tal que cada L ∈ L é unificável com pelo menos um consequente de uma regra em Pd, e I+ F = IF {not A | not A ∈ IF }. O oráculo completo para O, denotado por compTO, é defi- nido por compTO(IF , S, L) se e se se O ∪ I+ F ∪ L |= S, ou Od ∪ I+ F ∪ L |= S 36
  • 43. 4. SLG(O) 4.2. Oráculo Considere-se uma base de conhecimento híbrida MKNF K contendo a ontologia O = {C F E}, {C(a)} . Assuma-se que IF é vazia, e que existe pelo menos uma regra cujo consequente unifica com F(a). Considere-se a query a E(a). Assim, compTO(∅, E(a), {F(a)}) verifica-se porque O ∪ {F(a)} |= E(a). Portanto, derivar F(a) das regras seria suficiente para concluir que E(a) é verdadeiro em todos os modelos MKNF bem fundados. Os oráculos completos são usados para definir a operação Resolução com Oráculo , que não tem correspondência no SLG. Seja Kd = (O, Od, Pd) uma base de conhecimento híbrida MKNF duplicada. Dada uma floresta Fn de uma avaliação SLG(O) de Kd, Fn+1 pode ser produzido do seguinte modo. Definição 8. Contenha Fn uma árvore com nó raiz N = S ← |S, e suponha-se que se tem compTO(IFn , S, G). Assuma-se que N não contém nenhum filho N = S ← |G em Fn. Então adicione-se N como filho de N. O conjunto O ∪ I+ F ∪ L (e, de modo semelhante, Od ∪ I+ F ∪ L) pode ser inconsistente mesmo que o modelo MKNF bem fundado de K exista. Consequentemente, um tal orá- culo completo potencialmente permite obter grande número de derivações inúteis para derivar S se K é MKNF-consistente. Veja-se o seguinte exemplo [1]. Exemplo 9. Considere-se a base de conhecimento híbrida MKNF contendo a ontologia O = {C ¬D, E F}, {C(a)} . Assuma-se que IF é vazio e considere-se a query E(a). Se O fosse estendida com D(a), O ficaria inconsistente, e assim, todos as afirmações seriam deriváveis de O, inclusivamente E(a). Ou seja, tem-se compTO(∅, E(a), {D(a)}) por O ∪ {D(a)} ser inconsistente. Contudo, como K é MKNF-consistente, D(a) não pode ser derivada, pelo que a árvore correspondente acaba por falhar em qualquer avaliação SLG(O) . A complexidade de todo o procedimento SLG(O) depende da complexidade do orá- culo e do número de resultados devolvidos por cada chamada ao oráculo. Mesmo que computação de um resultado do oráculo, i.e. a chamada ao mecanismo exterior de raci- ocínio DL, seja tratável, a complexidade (de dados) do SLG(O) pode ainda ser exponen- cial, se a quantidade soluções geradas pelo oráculo for exponencial (e.g. se se retornam todos os superconjuntos de uma solução). Tal sucede porque a definição de oráculo, anteriormente apresentada, é demasiado geral. Para se obterem resultados de complexi- dade mais interessantes, algumas assunções tem de ser feitas relativamente ao oráculo. Define-se, de acordo com isso, o oráculo parcial correcto. Definição 10. Seja Kd = (O, Od, Pd) uma base de conhecimento hibrida MKNF dupli- cada, S um subgolo, e L um conjunto de átomos instanciados tal que cada L ∈ L é unifi- cável com pelo menos um consequente de regra em Pd (designados átomos do programa). Um oráculo parcial para O, denotado por pTO, é a relação pTO(IF , S, L) tal que se pTO(IF , S, L) 37
  • 44. 4. SLG(O) 4.2. Oráculo então O ∪ I+ F ∪ L |= S e O ∪ I+ F ∪ L consistente, ou O ∪ I+ F ∪ L |= S e Od ∪ I+ F ∪ L consistente. Um oráculo parcial pTO é correcto relativamente a compTO se e só se, para qualquer KB MKNF-consistente Kd, ao se substituir compTO por pTO, o SLG(O) sucede exactamente para o mesmo conjunto de queries. Note-se que, como mencionado, o oráculo completo gera muitas respostas desneces- sárias, e pode ser substituído por um oráculo parcial que assegure correcção. Por exem- plo, considere-se o oráculo que não devolva superconjuntos de de outros resultados. Um tal oráculo parcial é evidentemente correcto. Uma outra melhoria na eficiência, seria a restrição a conjuntos consistentes O ∪ I+ Fn ∪ L e a Od ∪ I+ Fn ∪ L. Se a base de conheci- mento é MKNF-consistente, então procurar por derivações baseadas em inconsistências é, de qualquer modo, inútil: apenas se criam, nas árvores da floresta de avaliação, um número potencialmente grande de filhos que não resultam em respostas incondicionais. Nesse sentido, os oráculos parciais estão limitados a apenas derivação que façam sentido. Fazendo assunções na complexidade e número de resultados de um oráculo, o se- guinte resultado de complexidade é obtido. Seja Kd uma base de conhecimento híbrida MKNF duplicada, e pTO um oráculo parcial correcto para O, tal que para cada golo S, a cardinalidade de pTO(IF , S, L) é limitada por um número polinomial de átomos do programa. Além disso, assuma-se que computar cada elemento de pTO é decidível com complexidade de dados C. Então, a avaliação SLG(O) de uma query a Kd é decidível com complexidade de dados PC. 38
  • 45. 5 NoHR Embora já tenham sido formalizadas várias outras abordagens às bases de conhecimento híbridas além do MKNF híbrido, poucas delas foram implementadas. Entre as menciona- das na introdução, apenas para programas dl, programas HEX e regras híbridas sob semântica bem fundada se conhecem implementações: NLP-DL 1 e DReW [43], dlhex 2, e HD-rules 3, respectivamente. O NLP-DL implementa os programas dl sob a semântica dos modelos estáveis e bem fundados. A ideia essencial dos programas dl é incluir queries à ontologia nas regras, sendo o fluxo de informação entre os dois componentes, ontologia e programa, bidirec- cional – pode fornecer-se dados de entrada às queries e as respostas às queries afectam o que pode ser inferido nas regras. A implementação integra os raciocinadores DLV [33] e RACER [22] – a utilização do RACER, torna-a compatível com o OWL, e permite raciocí- nio sobre os construtores da DL SHIQ. O DReW reescreve um programa dl sobre uma ontologia expressável em Datalog 4 num programa Datalog com negação e chama um raciocinador baseado em regras, o DLV, para efectuar o raciocínio. Deste modo mitiga-se o custo adicional de se recorrer a um racioci- nador DL externo. Nesse aspecto, é similar ao NoHR, que também reescreve a ontologia em regras e recorre ao um raciocinador de regras para as avaliar. Note-se contudo que a abordagem dos programas dl está entre as que mantém os dois componentes da KB sepa- rados tanto sintática como semanticamente, i.e. são expressos em termos de vocabulários 1 http://www.kr.tuwien.ac.at/research/systems/semweblp/ 2 http://www.kr.tuwien.ac.at/research/systems/dlvhex/ 3 http://www.ida.liu.se/hswrl/ 4 Tal é o caso do EL+ ⊥e DL-LiteR . 39