Cours M2 Ontologies et web sémantique : Introduction aux logiques de description



Documents pareils
Utilisation des tableaux sémantiques dans les logiques de description

Bases de données Cours 5 : Base de données déductives

Réalisabilité et extraction de programmes

Fondements de l informatique Logique, modèles, et calculs

Problèmes de Mathématiques Filtres et ultrafiltres

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Grammaires d unification

Information utiles. webpage : Google+ : digiusto/

Algorithmique et Programmation Fonctionnelle

Chap. 3: Le modèle de données entité-association (E.A.)

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

OCL - Object Constraint Language

Programmation linéaire

Bases de données. Chapitre 1. Introduction

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Model checking temporisé

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chapitre 5 : Flot maximal dans un graphe

Algorithmique et Programmation, IMA

Objets Combinatoires élementaires

Conception des bases de données : Modèle Entité-Association

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Chapitre 2. Eléments pour comprendre un énoncé

Logique : ENSIIE 1A - contrôle final

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Raisonnements standard et non-standard pour les systèmes décentralisés de gestion de données et de connaissances

Évaluation et implémentation des langages

1 Définition et premières propriétés des congruences

Chp. 4. Minimisation d une fonction d une variable

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

UML (Diagramme de classes) Unified Modeling Language

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Programmation Par Contraintes

RDF Schema pour les ontologies légères

Algèbre binaire et Circuits logiques ( )

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Cours de mathématiques

Systèmes déductifs DEA D INFORMATIQUE UNIVERSITÉ BORDEAUX 1. Systèmes déductifs (Retoré) Plan Début Fin Préc. Suiv.

Initiation à la Programmation en Logique avec SISCtus Prolog

Chapitre VI- La validation de la composition.

Université de Bangui. Modélisons en UML

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Théorie de la mesure. S. Nicolay

Cours de Master Recherche

Systèmes décisionnels et programmation avancée

Calculabilité Cours 3 : Problèmes non-calculables.

TD 1 - Structures de Traits et Unification

Les diagrammes de modélisation

Logique. Plan du chapitre

Traduction des Langages : Le Compilateur Micro Java

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Intelligence artificielle appliquée à l automatique

Structures algébriques

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calculs de probabilités

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Cours de Génie Logiciel

Rappels sur les suites - Algorithme

Algorithmes d'apprentissage

Probabilités sur un univers fini

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Huitième partie VIII. Logique du premier ordre. Plan. En bref... Avantages et inconvénients de la logique propositionnelle. Avantages.

Tableau 1 : Structure du tableau des données individuelles. INDIV B i1 1 i2 2 i3 2 i4 1 i5 2 i6 2 i7 1 i8 1

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Les ontologies pour l intégration sémantique : enjeux et défis

Ecole Nationale Supérieure de Mécanique et d Aérotechnique Laboratoire d Informatique et d Automatique pour les Systèmes THESE

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Modélisation de bases de données : Le modèle relationnel

1 Introduction et installation

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

CHAPITRE IV. L axiome du choix

Premiers exercices d Algèbre. Anne-Marie Simon

Algorithme. Table des matières

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Algorithmique des Systèmes Répartis Protocoles de Communications


UML et les Bases de Données

Université Paris-Dauphine DUMI2E 1ère année, Applications

par Denis-Charles Cisinski & Georges Maltsiniotis

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

Introduction à la théorie des graphes. Solutions des exercices

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Cours 1 : Qu est-ce que la programmation?

Réseaux de preuves booléens sous-logarithmiques

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Théorie des Langages

Dafoe Présentation de la plate-forme UIMA

Transcription:

Cours M2 Ontologies et web sémantique : Introduction aux logiques de description Andreas Herzig Université de Toulouse et CNRS, IRIT http://www.irit.fr/~andreas.herzig (en partie repris du cours de Nicola Olivetti, Université Paul Cezanne, http://www.lsis.org/olivetti) Master informatique Université de Toulouse 2014-2015 1 / 55

Introduction : resources le livre : Franz Baader, Diego Calvanese, Deborah L. McGuinness, Daniele Nardi and Peter F. Patel-Schneider (eds.) The Description Logic Handbook: Theory, Implementation, and Applications Cambridge University Press, 2003 (reédité en 2007 et 2010) le site web : http://dl.kr.org DL workshop conférences afférantes entrepôt d ontologies 2 / 55

Introduction : mots-clés et sigles DL = description logic = logique de description (avant : logiques terminologiques) description représenter les connaissances but : exprimer plus qu en logique propositionnelle logique raisonner à partir de ces connaissances but : avoir de meilleures propriétés calculatoires que la logique des prédicats KB = knowledge base = base de connaissances KB = TBox ABox ABox = assertion box TBox = connaissances contingentes TBox = terminological box TBox = ontologie TBox = connaissances non contingentes TBox = axiomes 3 / 55

Introduction : la ABox ABox = assertion box vraies à un instant donné dans le temps (qui reste implicite) 1 prédicats unaires : propriétés d individus Féminine(Anne) Masculin(Charles) 2 prédicats binaires : relations entre individus mèrede(anne,charles) pèrede(bob,charles) pèrede(charles,dan) la ABox utilise les axiomes de la TBox... 4 / 55

Introduction : la TBox TBox = terminological box axiomatise les propriétés et les relations terminologie DL: concepts et rôles principalement : inclusion de concepts Mère Parent Mère Parent Féminine Mère mèrede. mèrede. Mère mèrede.( mèrede. ) GrandMère aussi: équivalence de concepts Mère mèrede. et parfois aussi: inclusion de rôles mèrede parentde vrais pour tout instant temporel (qui reste implicite) 5 / 55

Introduction : les concepts un concept dénote un ensemble d individus concept atomique : Parent, Masculin, Féminine, Mère,... 1 concepts atomique primitifs : Parent, Masculin,... 2 concepts atomique non-primitifs : Mère, GrandMère,... définis dans la TBox en termes d autres concepts : Femme Personne Féminine Mère mèrede. concept complexe : Personne Féminine, mèrede., mèrede.( mèrede. ),... constructeurs de concepts complexes : 1 opérateurs booléens : C, C C, C C 2 opérateurs combinant concepts et rôles : R.C, R.C 6 / 55

Introduction : les rôles un rôle dénote un ensemble de couples d individus rôle atomique : mèrede, partiede, mange,... rôle complexe : pèrede grandpèrede constructeurs de rôles complexes: 1 opérateurs booléens : R, R R, R R 2 opérateurs de l algèbre des relations : R R (composition) R (itération, Kleene star) R 1 (converse) R (complément) 7 / 55

Introduction : avantages des DL 1 sémantiques claires et bien définies langage naturel 2 tâches de raisonnement décidables logique du premier ordre plus difficiles que pour la logique propositionnelle 3 applications multiples raison : les DL sont plus expressifs web sémantique bases de données (modèles entité-relation exprimables en DL) génie du logiciel (diagrammes UML exprimables en DL) 4 flexibles hiérarchie des DL chaque DL est déterminée par des restrictions sur les constructeurs de concepts et constructeurs de rôles utilisables expressivité vs. complexité 8 / 55

Introduction : l aspect raisonnement raisonner = extraire de la KB plus que ce qu il y a écrit exemple : KB = T A, où A = {pèrede(bob,charles), pèrede(charles,dan)} T = { pèrede. pèrede. grandpèrede. } KB ne contient pas grandpèrede(bob,dan) KB a comme conséquence logique grandpèrede(bob,dan)! services de raisonnement : 1 inférence de propriétés d individus 2 inférence de relations entre individus 3 subsomption de concepts 4 classification: calculer la hierarchie de subsomption entre concepts 5 consistance 6 non-vacuité de concepts (pas de A tel que KB = A ) 7 non-redondance de concepts (pas de A, A t.q. KB = A A ) 9 / 55

Introduction : complexité vs. expressivité quelle expressivité du langage? quels constructeurs de concepts et rôles? pas de négation ; pas de disjonction ;... pas d inclusion de rôles ; pas de rôles complexes ;... quels restrictions de langage? dans R.C il faut que C = ;... expressivité du langage complexité du raisonnement PTIME = temps polynomial NPTIME = temps polynomial non-détérministe PSPACE = espace polynomial (PSPACE = NPSPACE) EXPTIME = temps exponentiel NEXPTIME = temps exponentiel non-détérministe EXPSPACE = espace exponentiel navigateur de complexité sur http://dl.kr.org 10 / 55

1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 11 / 55

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 12 / 55

Syntaxe ALC = Attributive Concept Language with Complements [Schmidt-Schauß & Smolka, 1991] N.B. : devrait être appelé logique plutôt que langage convention : A, A i,... : concepts atomiques dans les exemples : commence par majuscule (Parent,... ) C, D, C i,... : concepts arbitraires R, R i,... : rôles atomiques dans les exemples : commence par minuscule (parentde,... ) pas de rôles complexes 13 / 55

Syntaxe : lecture des concepts complexes grammaire des concepts ( BNF ) : où : C A C (C C) (C C) ( R.C) ( R.C) C: symbole non-terminal de la grammaire A ConceptsAtomiques, R RolesAtomiques ( symboles terminaux ),,,, : connecteurs logiques lecture officielle : concept universel tout concept vide rien C complément (ou : négation) non C C D intersection (ou : conjonction) C et D C D union (ou : disjonction) C ou D R.C quantification universelle tous les R-successeurs restreinte sont dans C R.C quantification existentielle il existe un R-successeur restreinte qui est dans C 14 / 55

Syntaxe : exemples concepts atomiques : Personne, Masculin, Féminine, Riche,... rôles atomiques : parentde, mèrede, pèrede concepts complexes : 1 Personne Féminine 2 Personne Féminine 3 Personne parentde. 4 Personne parentde. 5 Personne parentde. parentde.féminine 6 Personne (Riche parentde.riche) 7 Personne parentde. parentde. 15 / 55

Syntaxe : exercices étant donné les ensembles ConceptsAtomiques = {Personne, Masculin, Féminine, Riche} RolesAtomiques = {parentde, sœurde, frèrede}, définir les concepts complexes suivants : 1 être une femme 2 être une mère 3 être une mère qui n a que des garçons 4 être un oncle 5 être un grand-oncle 6 être un quelqu un qui a un neveu riche 7 être quelqu un qui a un oncle riche?? pas de converse dans ALC 8 être quelqu un qui n a qu un seul enfant?? pas de restriction de cardinalité dans ALC 16 / 55

Sémantique interprétation: donne du sens aux concepts et rôles atomiques interprétation I = ( I, (.) I ) telle que : I est un ensemble non-vide (domaine d individus) (.) I : ConceptsAtomiques 2 I (interprétation des concepts) (.) I : RolesAtomiques 2 I I (interprétation des rôles) N.B. : la différence avec la logique du premier ordre est qu il y faut en plus interpréter les prédicats 3-aires, 4-aires,... une interprétation I : donne du sens aux concepts et rôles atomiques (A) I I (R) I I I mais comment donner du sens aux concepts complexes? 17 / 55

Sémantique (suite) interprétation de concepts complexes : I = I I = ( C) I = I \ C I (C D) I = C I D I (C D) I = C I D I ( R.C) I = { a I : pour tout b I, si (a, b) R I alors b C I} ( R.C) I = { a I : il existe b I tel que (a, b) R I et b C I} 18 / 55

Sémantique : quelques équivalences équivalences sémantiques : ( C) I = C I ( (C D)) I = ( C D) I ( (C D)) I = ( C D) I ( R.C) I = ( R. C) I ( R.C) I = ( R. C) I Proposition (forme normale négative) Tout concept C peut être transformé en un concept nnf(c) tel que 1 dans nnf(c), la négation apparaît seulement devant des concepts atomiques, 2 pour toute interprétation I, (nnf(c)) I = C I. exemple : parentde. (... il manque une équivalence) 19 / 55

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 20 / 55

Rappel : la logique du premier ordre FOL langage : variables objet x, y,... prédicats : P(t 1,..., t n ) t i : termes, construits à partir de variables et fonctions un prédicat particulier : egal(t 1, t 2 ), écrit t 1 =t 2 formules complexes : construites avec,,,,,, ( y xp(x, y)) ( x yp(x, y)) interprétations I = ( I, (.) I ) : domaine I (non vide) interprétation d une variable: (x) I I interprétation d un prédicat n-aire : (P) I ( I ) n egal I = {(d, d) : d I } conditions de vérité : ( I, (.) I ) FOL P(t 1,..., t n ) ssi ((t 1 ) I,..., (t n ) I ) (P) I ( I, (.) I ) FOL xϕ ssi ( I, (.) I x ) FOL ϕ pour toute variante I x de I en x... formule ϕ est valide ssi ( I, (.) I ) FOL ϕ, pour tout ( I, (.) I ) formule ϕ est satisfiable ssi... 21 / 55

Traduction de ALC en logique du premier ordre concept C formule Φ(C, x) de FOL le résultat de la traduction Φ(C, x) a une seule variable libre : x ( l individu actuel ) définition récursive : Φ(A, x) = A(x) Φ(, x) = Φ(, x) = Φ( C, x) = Φ(C, x) Φ(C D, x) = Φ(C, x) Φ(D, x) Φ(C D, x) = Φ(C, x) Φ(D, x) Φ( R.C, x) = y (R(x, y) Φ(C, y)) Φ( R.C, x) =... 22 / 55

Traduction de ALC en logique du premier ordre (suite) Proposition Pour tout concept C et pour toute interprétation ( I, (.) I ) : C I = { a I : I FOL Φ(C, a) } démonstration par induction sur la forme de C; on montre : pour tout a I : a C I ssi I FOL Φ(C, a) 1 si C est un concept atomique A alors : a A I ssi I FOL A(a) ssi I FOL Φ(A, a) 2 si C est de la forme alors... 3 si C est de la forme alors... 4 si C est de la forme D alors : a ( D) I ssi a D I ssi I FOL Φ(D, a) (par H.I.) ssi I FOL Φ( D, a) 5 si... 23 / 55

Relation avec ALC : exercices Φ(A, x) = A(x) Φ(, x) = Φ(, x) = Φ( C, x) = Φ(C, x) Φ(C D, x) = Φ(C, x) Φ(D, x) Φ(C D, x) = Φ(C, x) Φ(D, x) Φ( R.C, x) = y (R(x, y) Φ(C, y)) Φ( R.C, x) = y (R(x, y) Φ(C, x)) traduire en FOL : 1 Personne parentde. parentde.masculin 2 parentde.masculin parentde. Masculin 3 montrer que la traduction est satisfiable : donner une interprétation de FOL I = ( I, (.) I ) où elle est vraie 24 / 55

Traduction de ALC en logique modale logique multimodale K n : R ϕ = ϕ est vrai dans tous les états accessibles via R = ϕ est nécessaire =... R ϕ = ϕ est vrai dans quelques les états accessibles via R = ϕ est possible =... fonction de traduction : µ(a) = A µ( ) = µ( ) = µ( C) = µ(c) µ(c D) = µ(c) µ(d) µ(c D) = µ(c) µ(d) µ( R.C) = R µ(c) µ( R.C) = R µ(c) si A est un concept atomique 25 / 55

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 26 / 55

Le langage ALCN : ALC + restrictions de cardinalité ALC plus un nouveau constructeurs de concept : restriction de cardinalité ( Number restriction ) grammaire des concepts ( BNF ) : C A C C C C C R.C R.C n R n R où : A ConceptsAtomiques R RolesAtomiques n 0 est un entier naturel lecture : n R = il y a au plus n R-successeurs n R = il y a au moins n R-successeurs exercice : définir le concept =n R ( il y a exactement n R-successeurs ) 27 / 55

ALCN : sémantique les mêmes interprétations que dans ALC : I = ( I,. I ) telle que I est un ensemble non-vide (domaine) (.) I : ConceptsAtomiques 2 I (interprétation des concepts) (.) I : RolesAtomiques 2 I I (interprétation des rôles) interprétation des concepts complexes : ( n R) I = { a I : Card({b : (a, b) R I }) n } ( n R) I =... strictement plus expressif que ALC : les restrictions de cardinalité ne peuvent pas toutes être exprimées dans ALC preuve non triviale (utilise la bisimilation entre interpretations) 28 / 55

ALCN : exercices décrire les concepts suivants : 1 être une personne avec au moins trois enfants 2 être une personne avec exactement trois enfants 3 être un cours avec au plus 15 participants dont tous sont des étudiants de master concepts primitifs : Cours, ÉtudiantEnMaster rôle primitif : aparticipant 4 être une grand-mère avec une fille qui a deux fils comme seuls enfants 5 être une mère qui a deux fils (et peut-être d autres enfants) étendre la définition de la forme normale négative aux restrictions de cardinalité compléter la traduction de ALCN en FOL traduire en FOL 1 Personne 2 parentde Φ( 2 R, x) =... Φ( n R, x) =... Φ( n R, x) =... 29 / 55

Exercice : traduction de ALCN en FOL (solution) Φ( 2 R, x) = y 1 y 2 y 3 ((R(x, y 1 ) R(x, y 2 ) R(x, y 3 ) ) (y 1 =y 2 y 1 =y 3 y 2 =y 3 ) ( Φ( n R, x) = y 1... y n+1 R(x, y1 )... R(x, y n+1 ) ) y i =y j i<j n+1 Φ( n R, x) = y 1... y n R(x, y 1)... R(x, y n ) y i =y j i<j n 30 / 55

ALCQ : restrictions de cardinalité qualifiées grammaire des concepts ( BNF ) : C A C C C C C n R.C n R.C où A ConceptsAtomiques, R RolesAtomiques, n 0 n R.C = au plus n R-successeurs sont dans C n R.C = au moins n R-successeurs sont dans C interprétation : ( n R.C) I = { a I : Card({b : (a, b) R I et b C I }) n } ( n R.C) I =... ALCQ est au moins aussi expressif que ALCN : n R def =... n R def =... R.C def =... R.C def =... ALCQ est strictement plus expressif que ALCN il y a des restrictions de cardinalité qualifiées qui ne peuvent pas être exprimées dans ALCN 31 / 55

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 32 / 55

TBox générale C D: axiome général d inclusion de concept I C D ssi C I D I C D: axiome général d équivalence de concept I C D ssi C I = D I TBox T = ensemble fini d axiomes généraux sémantique : exercices : I T ssi I t pour tout t T 1 exprimer par un axiome que le 2nd argument de la relation R a la propriété C ( restriction du codomaine ) en FOL: x y(r(x, y) C(y)) 2 exprimer par un axiome que le 1er argument de la relation R a la propriété C ( restriction du domaine ) en FOL : x y(r(x, y) C(x)) 33 / 55

TBox acyclique les axiomes d inclusion peuvent être éliminés : remplacer C D par C D D, où D est nouveau équivalent à la TBox d origine T en ce qui concerne le langage de T C D est une définition ssi C est atomique êtreoncle Masculin frèrede. parentde. problème : A A C n est pas vraiment une définition... une TBox générale T est une TBox acyclique ssi 1 T ne contient que des définitions 2 pas de définitions multiples interdit : A C, A C T et C C 3 pas de cycles interdit : A 1... A 2..., A 2... A 3...,..., A n... A 1... si T est acyclique et A C T alors A est un concept non-primitif acyclicité intéressant pour le calcul 34 / 55

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 35 / 55

ABox = assertion box a, b,... : noms d individus Alice, Bob, Charles C(a): instance de concept Masculin(Charles) (Masculin Féminine)(Dominique) (Masculin Personne)(Charles) R(a, b): instance de rôle parentde(alice,charles) ABox A = ensemble fini de C(a) et R(a, b) sémantique: I associe aux noms d individu des éléments du domaine Alice I I, Bob I I,... hypothèse de nom unique : si a b alors a I b I exemple : Bob I Charles I I A ssi 1 pour tout C(a) A : a I C I 2 pour tout R(a, b) A : (a I, b I ) R I 36 / 55

Exemple d une KB généalogique T gen = { Femme Personne Féminine, Homme Personne Masculin, Mère Femme parentde.personne, Père Homme parentde.personne, Parent Mère Père, MèreSansFille Mère parentde. Femme } A gen = { Femme(Alice), Homme(Bob), parentde(alice,charles), parentde(bob,charles),... } 37 / 55

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 38 / 55

Tâches de raisonnement C est satisfaisable ssi il existe une interprétation I tel que C I Mère parentde. est satisfaisable parentde.c parentde. C est insatisfaisable parentde.c parentde. C est satisfaisable (!) subsomption : C D ssi C I D I pour tout interprétation I réductible à un test de consistance C D ssi C D est insatisfaisable équivalence : C et D sont équivalents ssi C I = D I pour tout interprétation I réductible à deux tests de subsomption exclusivité (disjointness) : C et D sont disjoints ssi C I D I = pour tout interprétation I réductible à un test de consistance C et D sont disjoints ssi C D est insatisfaisable 39 / 55

Tâches de raisonnement p.r.à une TBox C est satisfaisable p.r.à T ssi il existe I tel que I T et C I Mère parentde. est insatisfaisable p.r.à T gen subsomption p.r.à T... équivalence p.r.à T... exclusivité (disjointness) p.r.à T... classification = calculer toute hiérarchie de subsomption d une TBox (graphe) tout se réduit à des tests de satisfaisabilité p.r.à T et si la TBox T est acyclique alors on peut faire encore plus simple... 40 / 55

Comment se débarasser d une TBox acyclique C T = expansion de C par T : 1 remplacer chaque concept non-primitif A i dans C par la définition de A i dans T 2 itérer jusqu à ce qu il n y a plus de concepts non-primitifs termine car T est acyclique (point fixe) A T = {C T (a) : C(a) A} {R(a,b) : R(a,b) A} exercice : T gen = { Femme Personne Féminine, Homme Personne Masculin, Mère Femme parentde.personne, Père Homme parentde.personne, Parent Mère Père, MèreSansFille Mère parentde. Femme } 1 identifier les concepts primitifs 2 trouver les expansions de tous les concepts non-primitifs 3 trouver l expansion de Mère parentde. 41 / 55

Comment se débarasser d une TBox acyclique (suite) Proposition Si T est acyclique alors C est satisfaisable p.r.à T ssi C T est satisfaisable. exemple : Mère parentde. satisfaisable p.r.à T gen ssi (Mère parentde. ) T gen = Personne Féminine parentde.personne parentde. est satisfaisable tout court... ce qui n est pas le cas exercice : trouver T et A t.q. A T est exponentiellement plus long que T 42 / 55

satisfaisabilité p.r.à une TBox : A satisfaisable p.r.à T ssi il existe I tel que I T et I A si T est acyclique : A satisfaisable p.r.à T ssi A T satisfaisable subsume la satisfaisabilité d un concept C est satisfaisable ssi {C(a)} est satisfaisable, pour un individu a quelconque inférence de propriétés : T A = C(a) ssi pour tout I, si I T et I A alors I C(a) exemple : T gen {GrandMère(Alice)} = Mère(Alice) T A = C(a) ssi A { C(a)} insatisfaisable p.r.à T requête : trouver tous les a tel que T A = C(a) réalisation : calculer les noms de concept les plus spécifiques de la TBox pour un individu donné (cf. la classification) Bob est instance de Personne, Masculin, Père 43 / 55 Tâches de raisonnement p.r.à une ABox une ABox A est satisfaisable ssi il existe I tel que I A

Outline 1 Le langage ALC 2 Relation avec la logique du premier ordre 3 Les langages ALCN et ALCQ 4 Structure et propriétés des TBox 5 Structure et propriétés des ABox 6 Tâches de raisonnement 7 Mécanismes de raisonnement 44 / 55

Décidabilité et complexité le problème de satisfaisabilité d un concept est décidable : PSPACE complet si la TBox est acyclique EXPTIME complet en général suite : procédure de décision via tableaux pour la satisfaisabilité d une ABox subsume toutes les autres tâches de raisonnement dans le cas d une TBox acyclique 45 / 55

La méthode des tableaux entrée : ABox A sortie : oui si A est satisfiable, non sinon hypothèse : A en forme normale négative négations seulement devant les atomes notions et notations : configuration du tableau = ensemble fini d ABox es S initialisation : S = {A} S, A à la place de S {A} A[X] = X est un sous-ensemble de A format des règles : S, A[X] S, A[Y 1 ],..., A[Y n ] si X A alors ajouter Y i à A applicable si Y 1 A,... et Y n A 46 / 55

Règles de tableau règle pour : règle pour : règle pour : règle pour : S, A[(C D)(a)] S, A[C(a), D(a)] S, A[(C D)(a)] S, A[C(a)], A[D(a)] S, A[( R.C)(a)] S, A[R(a,b), C(b)] ((b) A) S, A[( R.C)(a), R(a,b)] S, A[C(b)] b = nouveau individu 47 / 55

Tableaux : contradictions manifeste Une ABox A contient une contradiction manifeste (clash) si il existe un a tel que (a) A, ou C(a) A et C(a) A Sinon A est ouvert. exemple : A = {Personne ( parentde.personne) parentde. (a)} 1 déjà en forme normale négative 2 {{Personne(a), parentde.personne(a), parentde. (a)}} (règle pour ) 3 {{Personne(a), parentde.personne(a), parentde. (a), Personne(b), parentde(a,b)}} (règle pour ) 4 {{Personne(a), parentde.personne(a), parentde. (a), Personne(b), parentde(a,b), (b)}} (règle pour ) 5 contradiction manifeste : (b) 48 / 55

Raisonnement : exercice complet (1) {A R.B} {A(a)} =? ( R.B)(a) (tâche = inférence de propriétés) 1 transformation en le problème de satisfaisabilité d une ABox : {A(a)} {( R.B)(a)} satisfaisable p.r.à {A R.B}? 2 éliminer : {A(a), ( R.B)(a)} satisfaisable p.r.à {A A R.B}? TBox acyclique! 3 expansion de la ABox par la TBox : A {A A R.B} = A R.B {(A R.B)(a)} {( R.B)(a)} satisfaisable? 4 mise en forme normale négative : {(A R.B)(a), ( R. B)(a)} satisfaisable? 5 construction d un tableau... 49 / 55

Raisonnement : exercice complet (2) {(A R.B)(a), ( R. B)(a)} satisfaisable? construction du tableau : { {(A R.B)(a), ( R. B)(a)} } 1 2 3 4 { {A (a), ( R.B)(a), ( R. B)(a)} } (règle pour ) { {A (a), ( R.B)(a), ( R. B)(a), R(a,b), B(b)} } (règle pour ; b nouveau) { {A (a), ( R.B)(a), ( R. B)(a), R(a,b), B(b), ( B)(b)} } (règle pour ) contradiction manifeste la ABox {(A R.B)(a), ( R. B)(a)} est insatisfaisable de la KB {A A R.B} {A(a)} on peut inférer ( R.B)(a) : {A A R.B} {A(a)} = ( R.B)(a) 50 / 55

Raisonnement : un autre exercice complet (1) {A ( R.B 1 ) ( R.B 2 )} =? A R.(B 1 B 2 ) (tâche = subsomption de concepts p.r.à une TBox) 1 transformation en problème de satisfaisabilité de concept p.r.à une TBox A R.(B 1 B 2 ) satisfaisable p.r.à {A ( R.B 1 ) ( R.B 2 )}? 2 expansion de la ABox par la TBox : ( R.B 1 ) ( R.B 2 ) R.(B 1 B 2 ) satisfaisable? 3 mise en forme normale négative : ( R.B 1 ) ( R.B 2 ) R.( B 1 B 2 ) satisfaisable? 4 construction d un tableau... 51 / 55

Raisonnement : un autre exercice complet (2) ( R.B 1 ) ( R.B 2 ) R.( B 1 B 2 ) satisfaisable? construction du tableau : { 1 {( R.B1 ) ( R.B 2 ) R.( B 1 B 2 )(a)} } { {( R.B1 )(a), ( R.B 2 )(a), ( R.( B 1 B 2 ))(a)} } 2 (règle pour, deux fois) 3 { {( R.B 1 )(a), ( R.B 2 )(a), ( R.( B 1 B 2 ))(a), R(a,b 1 ), B 1 (b 1 ), R(a,b 2 ), B 2 (b 2 )} } (règle pour, deux fois) 4 { {( R.B 1 )(a), ( R.B 2 )(a), ( R.( B 1 B 2 ))(a), R(a,b 1 ), B 1 (b 1 ), R(a,b 2 ), B 2 (b 2 ), ( B 1 B 2 )(b 1 ), ( B 1 B 2 )(b 2 )} } = {A 0 } (règle pour, deux fois) { 5 A0 {( B 1 )(b 1 )}, A 0 {( B 2 )(b 1 )} } (règle pour ) 6 { A 0 {( B 1 )(b 1 )} {( B 1 )(b 2 )}, A 0 {( B 1 )(b 1 )} {( B 2 )(b 2 )}, A 0 {( B 2 )(b 1 )} {( B 1 )(b 2 )}, A 0 {( B 2 )(b 1 )} {( B 2 )(b 2 )} } (règle pour, deux fois) la troisième ABox est ouverte satisfaisable 52 / 55

Tableaux pour ALC : la grande finale La configuration S est satisfaisable ssi il existe une ABox A i S et une interprétation I t.q. I A i. La configuration S est saturée ssi plus aucune règle ne peut être appliquée Proposition (terminaison) Pour toute entrée A, la procédure de construction de tableau termine par une configuration saturée. Proposition (adéquation) Si la ABox A est satisfaisable alors toutes les configurations obtenues à partir de {A} sont ouvertes. Proposition (complétude) Si S est une configuration saturée et ouverte alors il existe une ABox A S tel que A est satisfaisable. 53 / 55

Tableaux pour des extensions de ALC ALCN inclusion de concepts généraux (cycliques) requiert test de boucle EXPTIME complet inclusion de rôles rôles transitifs réstrictions de cardinalité qualifiées indécidable si combiné avec intersection de rôles! indécidable si combiné avec rôles transitifs! constructeur un-parmi a 1,..., a n : {a 1,..., a n } ({a 1,..., a n }) I = {a I 1,..., ai n } exemple : Personne {Alice, Bob, Charles} domaines concrètes nombres entiers : Adulte Personne agede. 18... 54 / 55

Conclusion sur la partie DL DL = représenter + raisonner DL = plusieurs logiques expressivité (quelles réstrictions du langage permis par le domaine?) complexité (P, NP, PSPACE, EXPTIME) DL base de OWL (OWL-DL) recherches actuelles : trouver des langages d interrogation (query languages) à complexité basse restrictions drastiques du langage : DL-lite comment réviser une TBox? comment mettre à jour une ABox? 55 / 55