Sie sind auf Seite 1von 57

Logique de description

Smahi Mohammed Ismail

2014/2015
Master I: Système d’Information et de Connaissance
Master II: Génie Logiciel
Sommaire
› Introduction
› Niveaux de description
› Familles de logiques descriptives
› Logique descriptive AL
› Sémantique AL
› Logique descriptive ALC
› Autres logiques
› Inférences dans les LD
Introduction
Introduction
› Un ensemble d’instances
(individus , choses, objets , …)
› Des sous ensembles
d’instances ou classes de
concepts :
› Hommes
› Femmes
› Voitures
Introduction
› Un ensemble d’instances
(individus , choses, objets , …)
› Des sous ensembles
d’instances ou classes de
concepts
› Ajout de liens entre des
instances :
› « mariéAvec » : relation
réflexive
› « aEnfant »
› « possèdeVoiture »
Introduction

Personne célibataire ?
Introduction

Personne mariée ?
Introduction

Personne avec enfant ?


Introduction

Personne possédant voiture ?


Introduction

Personne mariée possédant


voiture ?
Introduction
› Personne Père
› Personne Mère
› Personne Parent
› Personne qui a que des filles
› …….

› Comment peut-on formaliser


tout ça pour qu’il puisse être
interprété et traité par une
machine ?
Introduction
› La logique descriptive (LD) est en fait une famille de formalismes
mettant l’accent sur le raisonnement, pour représenter une base de
connaissances d’un domaine d’application.
› L’objectif majeur : raisonner efficacement (temps de réponse minimal)
pour la prise de décision
› Importance du rapport expressivité/performance des différentes
LD
› Ces logiques permettent de représenter des :
› Concepts, aussi appelés classes, d’un domaine
› Relations, aussi appelées rôles, qui peuvent être établies entre les
instances, aussi appelés individus, de ces classes.
Niveaux de description
› Modélisation des connaissances avec les LD à 2 niveaux :
› Niveau terminologique (TBox) :
› décrit les connaissances générales d’un domaine
› définit les concepts(classes) et les rôles(relations)
› Niveau factuel (ABox) :
› décrit les individus en les nommant et en spécifiant leur classes
et attributs (en termes de concepts et de rôles)
› spécifie des assertions portant sur ces individus nommés.
› Plusieurs Abox peuvent être associées à une même TBox :
› chacune représente une configuration constituée d’individus,
› utilise les concepts et rôles de la TBox pour l’exprimer.
Familles de logiques descriptives
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus
Q SHOIN
ALCN (≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)

Source : M. Gagnon
Logique descriptive AL
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive AL
› Les langages de la logique descriptive sont déterminés par la forme
des énoncés qui sont permis. La plupart des langages utilisés
découlent du langage AL (Attributive Language), dont l’expressivité
est plutôt limitée.
› Syntaxe AL :
› Concepts atomiques : Humain, Etre-Vivant, …
› Axiomes : (Humain  Etre-Vivant) axiome qui déclare que les
humains forment un sous ensemble des être-vivants
› Les définitions : tout énoncé de la forme (C  D) est appelé
définition.
› C est un concept atomique
› Humain  Etre-Vivant  Raisonnable
› Une TBox est créée à partir de ce type d’énoncé
Logique descriptive AL
› Syntaxe AL :
› Concepts atomiques
› Axiomes
› Les définitions
› Deux classes spéciales :
› Le concept universel (Т) représente tous les individus du monde
représenté, de ce fait on a l’axiome : C  Т
› Le concept impossible (). Pour exprimer qu’aucun individu
n’appartient à un concept (C), on a l’axiome : C  
› Les restrictions : AL permet de définir un concept par restriction sur
les relations :
›  R.C : Quantification universelle complète
›  R.Т : Quantification existentielle limitée (Pourquoi limité ?)
Logique descriptive AL
› Exemples :
› Définition de la classe des individus dont tous les enfants sont des
femmes
ParentDeFemme  aEnfant.Femme
› Définition de la classe d’individus qui ont au moins un enfant
Parent   aEnfant.Т
› Définition de la classe d’individus qui n’ont pas d’enfants
PersonneSansEnfant  Humain   aEnfant. 
› Définition de la classe des individus Père
Père  Homme  aEnfant.T
› Définition de la classe des individus Mère
Mère  Femme  aEnfant.T
Logique descriptive AL
› Exemples :
› Définition de la classe des individus qui sont des humains ayant au
moins un enfant et dont tous les enfants sont des femmes
Humain  aEnfant.T  aEnfant.Femme
A noter que la définition suivante n’est pas juste :
Humain  aEnfant.Femme
Pour qu’un individu ne fait pas partie de cette définition il suffit de
trouver au moins un de ses enfants qui n’est pas une fille.
Cependant un humain qui n’a pas d’enfant fait partie de cette
définition !!!
Logique descriptive AL
› Syntaxe:
› Soit A un concept atomique, C et D des concepts atomiques ou
complexes, et R une relation (rôle).
Les descriptions possibles dans le langage AL sont :
Sémantique AL
› Interprétation :
Une interprétation terminologique « I » d’une logique de description
(O, C, R) consiste en :
› Un domaine d’interprétation , ensemble non vide, représentant
des entités du monde décrit
› Une fonction d’interprétation « I » associant :
› à tout individu a O, « I » associe un sous-ensemble I(a)  
› à tout concept atomique A  C, « I » associe un sous-ensemble
I(A)  
› à tout rôle atomique R  R, « I » associe une relation binaire I(R)
x
› Les autres descriptions possibles de cette fonction « I » sont
définies par :
Sémantique AL
› Interprétation :
› Les autres descriptions possibles de cette fonction « I » sont
définies par :
Sémantique AL
› Equivalence/ Inclusion de concepts:
› On dit que deux concepts C et D sont équivalents, noté C  D, si on
a I (C) = I(D), quelle que soit l'interprétation I
› Par définition on a les équivalences suivantes :

› On dit que le concept C inclus le concept D, noté C  D , ssi on a


I(C)  I(D), quelle que soit l'interprétation I
Sémantique AL
› Exemple d’interprétation :
›  = {H1, H2, H3, H4, H5, H6, H7, V1
H1
H2 H3
H8, F1, F2, F3, F4, F5, F6, F7, V1, V2, V2
V3, V4} V3
› I(Homme)={H1, H2, H3, H4, H5, H6, H4
H5
H7, H8}
V5 H7
› I(Femme)={F1, F2, F3, F4, F5, F6, F7} V4 H6 H8

› I(Voiture)={V1, V2, V3, V4}


› I(mariéAvec)={(H2,F5),(F5,H2),(H6,F
1),(F1,H6),(H6,F4),(F4,H6),(H5,F7),
(F7,H5)}
› I(aEnfant)={(H2,H3),(H5,H2),(H5,H8) F1 F6
, (H7,F3), (H4,F2), (F1,H1), (F7,H8)}
› I(PossèdeVoiture)={(H4,V1),
(H7,V2), (H2,V3), (F7,V4),(F4,V5)} F4
F2
F5
F3
F7
Sémantique AL
› Exemple d’interprétation :
V1 H2
› Parent   aEnfant.Т V2
H1 H3

› ParentDeFemme V3
H5
ParentaEnfant.  Homme H4
V5
› Célibataire  mariéAvec. 
H7 H8
V4 H6

› HommeMarié
Homme mariéAvec.T
› GrandParentChoyé
F1 F6
aEnfant.(aEnfant.T)
› ParentVéhiculéParent 
possèdeVoiture.T F4
F2
F5
F3
F7
Sémantique AL
› Exemple d’interprétation :
› On notera dans cette interprétation :
› qu’on a plus d’individus dans la classe GrandParentChoyé que ce à
quoi on s’attendait !!!
› les instances de type véhicule font partie des concepts Célibataire
et GrandParentChoyé !!!

 C’est qu’il y a une erreur dans la description de ces concepts.


Logique descriptive ALC
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive ALC
› Le langage AL n’est généralement pas suffisamment expressif pour
représenter les ontologies qu’on utilise en pratique. Il existe donc
plusieurs autres constructeurs que l’on peut ajouter à notre langage
pour le rendre plus expressif. Pour désigner chacun de ces
constructeurs, on utilise un symbole.
› AL est minimale, dans le sens où une logique moins expressive
représente peu d'intérêt.
› ALC est l’extension de la LD de base AL à la :
› Négation sans restriction (C): négation de concept composé (C -
complément)
› Quantification existentielle complète (E)
› Constructeur d’union ()
› ALC est la logique de description la plus importante, car elle constitue
la base de toutes les LD pratiques
Logique descriptive ALC
› Constructeur d’union ()
› Le constructeur «  » représente l’union (ou disjonction) de deux
concepts. C’est l’ensemble des individus membres soit du concept
C ou soit du concept D.
› Exemple
› Définition de la classe qui représente l’ensemble des individus qui
sont étudiants ou enseignants
Etudiant  Enseignant
› Définition de la classe qui représente une librairie qui ne vend que
des Romans ou des manuels scolaires
Librairie  Vend.(Roman  LivreScolaire)
› Interprétation
Logique descriptive ALC
› Quantification existentielle complète (E)
› L’expressivité du langage AL est limité. () permet de spécifier
qu’une entité doit avoir au moins une relation avec un autre objet
(R.T). Impossible de spécifier la classe de cet autre objet
 ALC définie la quantification existentielle complète: R.C
› Exemple
› Définition de la classe des individus dont au moins un enfant est
une femme
Parent  aEnfant.Femme
› Définition de la classe des individus qui qui possèdent au moins
une voiture
Personne  possèdeVoiture.Voiture
› Interprétation
Logique descriptive ALC
› Négation sans restriction (C)
› L’expressivité du langage AL est limité. La négation s’applique
seulement sur un concept atomique (A, avec A concept
atomique)
 ALC possède la négation appliquée à un concept atomique ou
composé
› Exemple
› Définition de la classe des individus qui ne sont pas des être-vivants
raisonnables
(Etre-Vivant  Raisonnable)
› Définition de la classe des individus célibataires
( HommeMarié  FemmeMariée)
Logique descriptive ALCF
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive ALCF
› Constructeur de fonctions (F)
› Un autre ajout utile (dénommé F ) est la possibilité de spécifier
qu’un rôle est en fait une fonction.
C’est-à-dire une relation telle que aucune entité ne peut être reliée
à plus d’une autre entité par cette relation.
› Un axiome de la forme Fun(R) est obligatoirement ajouté à la TBox,
pour dire qu’un rôle R est une fonction
› Exemple
› La relation « mariéAvec », qui nous permettrait de définir le
concept HommeMarié
Homme mariéAvec.T
Fun(mariéAvec)
Logique descriptive ALCN
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive ALCN
› Restriction de cardinalité (N)
› ALC plus un nouveau constructeurs de concept, Number restriction
(d’où le « N » de « ALCN » ).
› L’ajout de (02) constructeurs :
≥ n R il y a au moins n R-successeurs
≤ n R il y a au plus n R-successeurs
› Exemple
› Concept de père qui a exactement 2 enfants
Homme ≤ 2 aEnfant  ≥ 2 aEnfant
› Interprétation
Logique descriptive ALCQ
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive ALCQ
› Restriction de cardinalité qualifiée (Q)
› ALCN présente une limitation, car la restriction s’applique
seulement à la relation. Comment peut-on imposer le nombre
minimal ou maximal d’entités d’une classe spécifique auquel on
peut être lié par une relation !
› L’ajout de (02) constructeurs sur ALC : ≥ n R.C et ≤ n R.C
› Exemple
› Concept de père qui a exactement 2 enfants femmes
Homme  ≤ 2 aEnfant.Femme  ≥ 2 aEnfant.Femme
› Interprétation
Logique descriptive SH
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive SH
› AL + H + S Logique SH
› SH permet de définir les propriétés suivantes :
› Transitivité de rôle
– Tr(R) : Signifie que R est une relation transitive
– Exemple : « a » est le frère de « b » et « b » est le frère de
« c » alors « a » et le frère de « c »
› Hiérarchie de rôles
– R1  R2 : Signifie que R1 est une sous propriété de R2
– Exemple : Si « b » est l’enfant de « a » alors automatiquement
« b » est descendant de « a ».
On note : aEnfant  aDescendant.
Logique descriptive SHIF
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive SHIF
› SH + I + F Logique SHIF
› Constructeur d’inversion (I)
› Dans plusieurs situations, on est intéressé à définir un rôle qui est
l’inverse d’un autre rôle.
› Notation
R2  R1-
› Exemple
› mariéeAvecHomme  mariéAvecFemme-
Donc tout fait de la forme mariéAvecFemme(x,y) implique
nécessairement le fait mariéeAvecHomme(y,x)
› Interprétation
Logique descriptive SHOIN
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Logique descriptive SHOIN
› SH + O + I + N  Logique SHOIN
› Le constructeur énumération ou Individus (O)
› En logique de description, et dans certaines situations, on peut
désigner des individus dans la terminologie.
› Exemple
› Définir la classe « membre permanant du conseil de sécurité de
l’ONU »
MembrePermanantConseilSecurité ={USA,France,Russie,UK,Chine}
› Interprétation
› Le constructeur O nous permet de déclarer des individus dans la
terminologie (Tbox), {a1 , … , an}. Dont la sémantique est
Logique descriptive SHOIN
› On peut aussi définir l’ensemble d’individus qui sont reliés à un
individus spécifique par une relation R :

› Exemple
› Définir le concept citoyen algérien, sachant qu’un citoyen algérien
est une personne née en Algérie ou naturalisée par l’Algérie :
CitoyenAlgerien (LieuNaissance : Algérie ) (naturaliséPar : Algérie)
Logique descriptive SHIQ
U E C Rôles Hiérarchie
CD R.C (¬C) transitifs de rôles

AL ALC SH
N
(≥ n R)
(≤ n R) O
Individus

ALCN
Q SHOIN
(≥ n R.C)
(≤ n R.C) (OWL-DL)

F
ALCQ Fonction SHIQ

I
SHIF Inverse
ALCF
(OWL-Lite)
Complexité LD
› Concept satisfiability

PSpace-complete NExpTime-complete

ALC SHIQ SHOIN SHOIQ

ExpTime-complete NExpTime-complete

› Pour plus de détails : Complexity of reasoning in Description Logics


Inférence en LD (TBox)
› Satisfaisabilité
› Un concept C est satisfaisable (relativement à T) s’il existe une
interprétation I (modèle) tel que I(C) ≠ ∅
› Subsomption
› Un concept C1 est subsumé par un concept C2 relativement à T si
I(C1) ⊆ I(C2) pour tout modèle I de T
› Équivalence
› Deux concepts C1 et C2 sont équivalents relativement à T si
I(C1)=I(C2) pour tout modèle I de T
› Disjointness
› Deux concepts C1 et C2 sont disjoints relativement à T si
I(C1)∩I(C2)=∅ pour tout modèle I de T
Inférence en LD (TBox)
› Réduction à l’insatisfaisabilité

› Un concept C1 est subsumé par un concept C2 c’est équivalent à :


C1 ⊓¬C2 est insatisfaisable
› Les concepts C1 et C2 sont équivalents, revient à dire que :
C1 ⊓¬C2 et ¬C1 ⊓ C2 sont insatisfaisables
› Les concepts C1 et C2 sont disjoints, revient à dire que :
C1 ⊓ C2 est insatisfaisable
Inférence en LD (ABox)
› Détermination de la taxonomie de classes
› Cohérence de la ABox : A une ABox est cohérente par rapport
à T ssi il existe I un modèle de T qui satisfait A
› Exemple
› TBox
– Femme ≡ Personne ⊓ Feminin
– Homme ≡ Personne ⊓ ¬Femme
› ABox
– A = {Homme(anne), Femme(anne)}
› Cohérence de A ?
Raisonnement : CWA vs OWA
› hypothèse du monde fermé (Closed-World Assumption) :
Limitation à ce qui est énoncé. Il n’existe pas d’autres instances de
concepts et de rôles que celles définies dans A
› hypothèse du monde ouvert (Open-World Assumption) :
Pas de limitation à ce qui est énoncé. D’autres instances de concepts
et de rôles que celles définies dans A peuvent exister
› Exemple
› ABox
– A = {aEnfant(ahmed, walid)}
– CWA : Ahmed a un seul enfant
– OWA : Rien n’exclut que ahmed ait d’autres enfants que walid
Dans ce cas il faut spécifier que ahmed a un seul enfant :
(≤ 1aEnfant)(ahmed)
Inférence par méthode des tableaux
› Un calcul de tableau sémantique est une procédure de preuve
formelle, existant dans plusieurs DL, avec les mêmes caractéristiques :
› Un tableau sémantique est un système de réfutation : étant donné
un système initial de contraintes ou tableau T, il tente soit de
montrer que T est non satisfiable, soit de construire une
interprétation satisfaisante
› Un tableau est une suite de séries d'affirmations construites selon
certaines règles d'inférence, et est généralement énoncé sous la
forme d'un arbre
› Exemple:
› Prouver :
∃possede.(Livre ⊓ Antiquite) ⊑ (∃possede.Livre ⊓ ∃possede.Antiquite)
› Démontrer l’insatisfaisabilité de :
∃possede.(Livre ⊓ Antiquite) ⊓ ¬(∃possede.Livre ⊓ ∃possede.Antiquite)
Inférence par méthode des tableaux
› Principe : Pour résoudre le problème: est-ce que le concept C est
satisfiable/consistant ?
› Le tableau initial est nnf(C(a)) un ensemble fini d’assertions en
forme normale négative
› Pour chaque branche, appliquer les règles d’expansion (règles
d’inférence)
› Arrêter d’étendre une branche si :
– Branche fermée :
C(x) ∈ A et ¬C(x) ∈ A
C(x) ∈ A et ¬C(y) ∈ A et (x = y ou y = x)
⊥(x) ∈ A
– Branche complète : Il n’existe plus aucune règle d’expansion
applicable
› Arrêter si une branche complète est trouvée dans le tableau T ou si
toutes les branches sont fermées. Sinon, recommencer à 2.
Inférence par méthode des tableaux
(exemple)
› Prouver ∃possede.(Livre⊓Antiquite) ⊑ (∃possede.Livre⊓∃possede.Antiquite)
1. Prouver que la classe suivante est insatisfaisable :
∃possede.(Livre⊓Antiquite)⊓¬(∃possede.Livre⊓∃possede.Antiquite)
2. Normaliser la formule en forme normale négative (FNN) :
∃possede.(Livre⊓Antiquite)⊓(∀possede.¬Livre⊔∀possède.¬Antiquite)
3. Dénommer « a » un individu arbitraire, qui est une instance de cette
classe :
(∃possede.(Livre⊓Antiquite)⊓(∀possede.¬Livre⊔∀possède.¬Antiquite))(a)
4. Appliquer les règles d’inférence appropriées :
Inférence par méthode des tableaux
(exemple)
4. Appliquer les règles d’inférence appropriées :
1. (∃possede.(Livre⊓Antiquite)⊓(∀possede.¬Livre⊔∀possède.¬Antiquite))(a)
2. (∃possede.(Livre⊓Antiquite)(a) (en appliquant la règle-⊓ sur 1)
3. (∀possede.¬Livre⊔∀possède.¬Antiquite)(a) (en appliquant la règle-⊓ sur 1)
4. Possede(a,b) (à partir de 2)
5. (Livre⊓Antiquite)(b) (à partir de 2)
6. Livre(b) (en appliquant la règle-⊓ sur 5)
7. Antiquite(b) (en appliquant la règle- ⊔ sur 5)
8. (∀possede.¬Livre)(a) (en appliquant la règle- ⊔ sur 3)
9. (∀possede.¬Antiquite)(a) (en appliquant la règle- ⊔ sur 3)
10. ¬Livre(b) (à partir de 8) Contradiction avec 6
11. ¬Antiquité(b) (à partir de 9) Contradiction avec 7
Inférence par méthode des tableaux
(exemple)
(∃possede.(Livre⊓Antiquite)⊓(∀possede.¬Livre⊔∀possède.¬Antiquite))(a)
(∃possede.(Livre⊓Antiquite)(a)
(∀possede.¬Livre⊔∀possède.¬Antiquite)(a)
possede(a,b)
(Livre⊓Antiquite)(b)
Livre(b)
Antiquite(b)

(∀possede.¬Livre)(a) (∀possede.¬Antiquite)(a)
¬Livre(b) ¬Antiquité(b)
□ □
Règles d’Inférence (logique ALNC)
Liens utiles

› Le meilleur des liens

Avertissement : cette présentation est régulièrement mise à jour et corrigée, ne


vous étonnez pas si vous découvrez des erreurs. Merci de me les communiquer.
Toutes les remarques ou questions permettant d’en améliorer la présentation
peuvent être envoyées à l'adresse : i_smahi@mail.univ-tlemcen.dz, ou sur le site
Web du cours : elearn.univ-tlemcen.dz/course/view.php?id=211

Das könnte Ihnen auch gefallen