# Logique de description

Les logiques de description aussi appelées logiques descriptives (LD) sont une famille de langages de représentation de connaissance qui peuvent être utilisés pour représenter la connaissance terminologique d'un domaine d'application d'une manière formelle et structurée. Le nom de logique de description se rapporte, d'une part à la description de concepts utilisée pour décrire un domaine et d'autre part à la sémantique basée sur la logique qui peut être donnée par une transcription en logique des prédicats du premier ordre. La logique de description a été développée comme une extension des langages à cadres, une famille de langage de programmation pour l'intelligence artificielle, et des réseaux sémantiques, qui ne possédaient pas de sémantique formelle basée sur la logique.

## Origine et applications

Les logiques de description ont été conçues à partir des réseaux sémantiques de Quillian (ref) qui sont des graphes orientés étiquetés dans lesquels on associe des concepts aux nœuds et des relations aux arcs, et de la sémantique des cadres de Minsky (ref) où l'on a des concepts représentés par des cadres qui sont caractérisés par un certain nombre d'attributs (appelés aussi slots) qui contiennent de l'information sur leur contenu.
Les logiques de description forment une famille de langages de représentation de connaissances qui peuvent être utilisés pour représenter la connaissance terminologique d'un domaine d'application d'une façon structurée et formelle. Le nom « logique de description » peut être interprété de deux manières. D'une part, ces langages ont été élaborés pour écrire la « description » des concepts pertinents d'un domaine d'application. D'autre part, une caractéristique cruciale de ces langages est qu'ils ont une sémantique formelle définie en logique du premier ordre (à la différence des propositions précédentes comme les cadres de Minsky). Dans ce sens, nous pouvons dire que les LDs ont une sémantique « descriptive » formelle.
Les logiques de description sont utilisées pour de nombreuses applications (voir International Workshop on Description Logics et Workshop on Applications of Description Logics). Sans être exhaustifs, nous pouvons dire que ces applications font partie des domaines suivants :
* le web sémantique (par exemple représentation d'ontologies, et recherche d'information basée sur la logique)
* médecine/bio-informatique (par exemple pour représenter et gérer des ontologies biomédicales)
* traitement automatique des langues et représentation de la connaissance
* Ingénierie de processus (par exemple pour représenter des descriptions de service)
* Ingénierie de la connaissance (par exemple pour représenter des ontologies)
* Ingénierie logicielle (par exemple pour représenter la sémantique des diagrammes de classe UML)

## Principe

La plupart des logiques de description divisent la connaissance en deux parties :
* les informations terminologiques: définition des notions basiques ou dérivées et de la façon dont elles sont reliées entre elles. Ces informations sont « génériques » ou « globales », vraies dans tous les modèles et pour tous les individus.
* les informations sur les individus: ces informations sont « spécifiques » ou « locales », vraies pour certains individus particuliers.
Toutes les informations connues sont alors modélisées comme un couple $\langle T,A\rangle$, où $T$ est un ensemble de formules relatives aux informations terminologiques (la T-Box) et où $A$ est un ensemble de formules relatives aux informations sur les assertions (la A-Box).
Une autre manière de voir la séparation entre ces informations est d'associer la T-Box aux règles qui régissent notre monde (par exemple la physique, la chimie, la biologie, etc.), et d'associer les individus de notre monde à la A-Box (par exemple Jean, Marie, un chat, etc.).

### Sémantique

Les logiques de description utilisent les notions de concept, de rôle et d'individu. Un concept correspond à une « classe d'éléments » et est interprété comme un ensemble dans un univers donné. Les rôles correspondent aux « liens entre les éléments » et sont interprétés comme des relations binaires sur un univers donné. Les individus correspondent aux éléments d'un univers donné. La sémantique des logiques de description est définie comme suit :
Définition 1 :
    Soit $CON=\lbrace C1,C2,\dots \rbrace$ un ensemble fini de concepts atomiques, $ROL=\lbrace R1,R2,\dots \rbrace$ un ensemble fini de rôles atomiques et $IND=\lbrace a1,a2,\dots \rbrace$ un ensemble fini d'individus. Si $CON$, $ROL$, $IND$ sont disjoints deux à deux, ${\mathcal {S}}=\langle CON,ROL,IND\rangle$ est une signature. Une fois qu'une signature ${\mathcal {S}}$ est fixée, une interprétation ${\mathcal {I}}$ pour ${\mathcal {S}}$ est un couple ${\mathcal {I}}=\langle \Delta ^{\mathcal {I}},\cdot ^{\mathcal {I}}\rangle$, où :
   * $\Delta ^{\mathcal {I}}$ est un ensemble non vide, le domaine de l'interprétation.
   * $\cdot ^{\mathcal {I}}$ est une fonction affectant :
   ** un élément $a_{i}^{\mathcal {I}}\in \Delta ^{\mathcal {I}}$ à chaque individu $a_{i}\in IND$;
   ** un sous-ensemble $C_{i}^{\mathcal {I}}\subseteq \Delta ^{\mathcal {I}}$ à chaque concept atomique $C_{i}\in CON$;
   ** et une relation $R_{i}^{\mathcal {I}}\subseteq \Delta ^{\mathcal {I}}\times \Delta ^{\mathcal {I}}$ à chaque rôle atomique $R_{i}\in ROL$.
En d'autres termes, une interprétation de la logique de description n'est rien de plus qu'un modèle pour un type particulier de signature du premier ordre, où seuls les prédicats unaires et binaires sont autorisés, et où l'ensemble des symboles de fonction est vide.

### Base de connaissances

Typiquement, la base de connaissances standard utilisée par les logiques de description est définie de la manière suivante :
Définition 2 :
    Étant donné un langage de description ${\mathcal {L}}$ et une signature ${\mathcal {S}}$, une base de connaissances $\Sigma$ dans ${\mathcal {L}}$ est une paire $\Sigma =\langle T,A\rangle$ telle que :
   * $T$ est la T(erminologique)-Box, un ensemble fini, qui peut être vide, d'expressions appelées GCI (General Concept Inclusion) de la forme $C_{1}\sqsubseteq C_{2}$ où $C_{1}$ et $C_{2}$ sont des concepts sans restriction. $C_{1}{\dot {=}}C_{2}$ est une notation pour $C_{1}\sqsubseteq C_{2}$ et $C_{2}\sqsubseteq C_{1}$. Les formules de $T$ sont appelées axiomes terminologiques.
   * $A$ est la A(ssertion)-Box, un ensemble fini, qui peut être vide, d'expressions de la forme $a:C$ ou $(a,b):R$, où $C$ est un concept sans restriction, $R$ est un rôle qui n'est pas nécessairement atomique, et $a$,$b$ appartiennent à $IND$. Les formules de $A$ sont appelées des assertions.
Les axiomes terminologiques ont été pensés à l'origine comme des définitions, et nombre de conditions plus restrictives leur ont été imposées. Les deux restrictions les plus importantes sont les suivantes :
* simplicité des axiomes terminologiques : dans tous les axiomes terminologiques $C_{1}\sqsubseteq C_{2}$, $C_{1}$ est un concept atomique dans $CON$, et chaque concept atomique dans $CON$ apparaît au plus une fois dans la partie gauche d'un axiome terminologique de la T-Box.
* acyclicité des définitions : le graphe obtenu en affectant un nœud $n_{A}$ à chaque concept atomique $A$ de la T-Box, et en créant un arc orienté entre deux nœuds $n_{A}$ et $n_{B}$ s'il existe un axiome terminologique $C_{1}\sqsubseteq C_{2}$ dans $T$ tel que $A$ apparaisse dans $C_{1}$ et $B$ dans $C_{2}$, ne doit pas contenir de cycle.
Ces restrictions sont liées à l'idée de considérer les axiomes terminologiques comme des définitions de concepts.

### Différentes logiques de description

Les logiques de descriptions ont une base commune enrichie de différentes extensions (voir tableau ci-dessous). On peut dès lors avoir des concepts complexes composés de concepts atomiques, et de même pour les rôles.
| Lettre | Constructeur | Syntaxe | Sémantique |
| ${\mathcal {AL}}$ | nom de concept | $C$ | $C^{\mathcal {I}}$ |
| ${\mathcal {AL}}$ | nom de rôle | $R$ | $R^{\mathcal {I}}$ |
| ${\mathcal {AL}}$ | top | $\top$ | $\Delta ^{\mathcal {I}}$ |
| ${\mathcal {AL}}$ | conjonction | $C_{1}\sqcap C_{2}$ | $C_{1}^{\mathcal {I}}\cap C_{2}^{\mathcal {I}}$ |
| ${\mathcal {AL}}$ | quantificateur universel | $\forall R.C$ | $\lbrace d_{1}\in \Delta ^{\mathcal {I}}\mid \forall d_{2}\in \Delta ^{\mathcal {I}}.(R^{\mathcal {I}}(d_{1},d_{2})\rightarrow d_{2}\in C^{\mathcal {I}})\rbrace$ |
| ${\mathcal {C}}$ | négation de concepts non nécessairement primitifs | $\neg C$ | $\Delta ^{\mathcal {I}}\setminus C^{\mathcal {I}}$ |
| ${\mathcal {U}}$ | disjonction | $C_{1}\sqcup C_{2}$ | $C_{1}^{\mathcal {I}}\cup C_{2}^{\mathcal {I}}$ |
| ${\mathcal {E}}$ | quantificateur existentiel typé | $\exists R.C$ | $\lbrace d_{1}\in \Delta ^{\mathcal {I}}\mid \exists d_{2}\in \Delta ^{\mathcal {I}}.(R^{\mathcal {I}}(d_{1},d_{2})\wedge d_{2}\in C^{\mathcal {I}})\rbrace$ |
| ${\mathcal {N}}$ | restriction de cardinalité | $(\geq n~R)$ $(\leq n~R)$ | $\lbrace d_{1}\in \Delta ^{\mathcal {I}}\mid \lbrace d_{2}\vert R^{\mathcal {I}}(d_{1},d_{2})\rbrace \vert \geq n\rbrace$ $\lbrace d_{1}\in \Delta ^{\mathcal {I}}\mid \lbrace d_{2}\vert R^{\mathcal {I}}(d_{1},d_{2})\rbrace \vert \leq n\rbrace$ |
| ${\mathcal {Q}}$ | restriction de cardinalité qualifiée | $(\geq n~R.C)$ $(\leq n~R.C)$ | $\lbrace d_{1}\in \Delta ^{\mathcal {I}}\mid \lbrace d_{2}\vert R^{\mathcal {I}}(d_{1},d_{2}),d_{2}\in C^{\mathcal {I}}\rbrace \vert \geq n\rbrace$ $\lbrace d_{1}\in \Delta ^{\mathcal {I}}\mid \lbrace d_{2}\vert R^{\mathcal {I}}(d_{1},d_{2}),d_{2}\in C^{\mathcal {I}}\rbrace \vert \leq n\rbrace$ |
| ${\mathcal {O}}$ | un-de | $\lbrace a_{1},\dots ,a_{n}\rbrace$ | $\lbrace d\in \Delta ^{\mathcal {I}}\mid d=a_{i}^{\mathcal {I}}{\texttt {~pour~un~}}a_{i}\rbrace$ |
| ${\mathcal {B}}$ | role filler | $\exists R.\lbrace a\rbrace$ | $\lbrace d\in \Delta ^{\mathcal {I}}\mid R^{\mathcal {I}}(d,a^{\mathcal {I}})\rbrace$ |
| ${\mathcal {R}}$ | conjonction de rôles | $R_{1}\sqcap R_{2}$ | $R_{1}^{\mathcal {I}}\cap R_{2}^{\mathcal {I}}$ |
| ${\mathcal {I}}$ | rôles inverses | $R^{-1}$ | $\lbrace (d_{1},d_{2})\in \Delta ^{\mathcal {I}}\times \Delta ^{\mathcal {I}}\mid R^{\mathcal {I}}(d_{2},d_{1})\rbrace$ |
| ${\mathcal {H}}$ | hiérarchie des rôles | $R_{1}\sqsubseteq R_{2}$ | $R_{1}^{\mathcal {I}}\subseteq R_{2}^{\mathcal {I}}$ |
| ${\mathcal {R^{+}}}$ | transitivité des rôles | $R^{+}$ | Plus petite relation transitive contenant $R^{\mathcal {I}}$ |
L'une des premières logiques de description est le langage ${\mathcal {FL^{-}}}$ [Brachman and Levesque, 1984], qui est défini comme une logique de description permettant l'utilisation des quantificateurs universels, de la conjonction, et des quantificateurs existentiels de la forme $\exists R.\top$. Le langage ${\mathcal {FL^{-}}}$ a été proposé comme un formalisme pour la sémantique des cadres de Minsky. La conjonction de concepts est implicite dans la structure d'un cadre, qui requiert un ensemble de conditions pour être satisfait. La quantification des rôles permet de caractériser les slots.
La logique ${\mathcal {AL}}$ [Schmidt-Schauss and Smolka, 1991] a étendu la logique ${\mathcal {FL^{-}}}$ en y ajoutant la négation des concepts atomiques. Cette logique peut être considérée comme la logique de base des autres logiques de description.
Les logiques de description qui existent sont des combinaisons des différents éléments du tableau ci-dessus. Par exemple, si l'on rajoute la négation complète ${\mathcal {C}}$ à la logique ${\mathcal {AL}}$, on obtient la logique ${\mathcal {ALC}}$.
Certaines logiques sont équivalentes, notamment ${\mathcal {ALC}}$ et ${\mathcal {ALUE}}$. Ces deux logiques augmentées par ${\mathcal {R}}^{+}$sont notées ${\mathcal {S}}$. Les langages utilisés par OWL en sont une extension, respectivement ${\mathcal {SHIF}}$ pour OWL-Lite et ${\mathcal {SHOIN}}$ pour OWL-DL.

### Inférences

En LD, la notion d'inférence est décrite comme ci-dessous:
Définition 3 :
    Soit ${\mathcal {I}}$ une interprétation et $\varphi$ un axiome terminologique ou une assertion. Alors ${\mathcal {I}}$ modélise $\varphi$ (notation ${\mathcal {I}}\models \varphi$) si :
   * $\varphi =C_{1}\sqsubseteq C_{2}$ et $C_{1}^{\mathcal {I}}\subseteq C_{2}^{\mathcal {I}}$, ou
   * $\varphi =a:C$ et $a^{\mathcal {I}}\in C^{\mathcal {I}}$, ou
   * $\varphi =(a,b):R$ et $(a^{\mathcal {I}},b^{\mathcal {I}})\in R^{\mathcal {I}}$.
Soit $\Sigma =\langle T,A\rangle$ une base de connaissance et ${\mathcal {I}}$ une interprétation, alors ${\mathcal {I}}$ est un modèle de $\Sigma$ (notation, ${\mathcal {I}}\models \Sigma$) si pour tous $\varphi \in T\cup A,{\mathcal {I}}\models \varphi$. Nous disons dans ce cas que ${\mathcal {I}}$ est un modèle de la base de connaissance $\Sigma$. Étant donné une base de connaissance $\Sigma$ et un axiome terminologique ou une assertion $\varphi$, $\Sigma \models \varphi$ si pour tout modèle ${\mathcal {I}}$ de $\Sigma$ nous avons ${\mathcal {I}}\models \varphi$.

## Tâches de raisonnement

En LD, l'expression raisonnement sur la T-Box fait référence à la capacité de réaliser des inférences depuis une base de connaissance $\Sigma =\langle T,A\rangle$ où $T$ est non-vide, et d'une manière similaire, raisonnement sur la A-Box est l'implication pour une A-Box non vide.
Définition 4 :
    Soit $\Sigma$ une base de connaissances, $C_{1},C_{2}\in CON,R\in ROL$ et $a,b\in IND$, nous définissons les tâches de déduction suivantes :
   * Subsomption, $\Sigma \models C_{1}\sqsubseteq C_{2}$ Vérifie si pour toutes les interprétations ${\mathcal {I}}$ tel que ${\mathcal {I}}\models \Sigma$, nous avons $C_{1}^{\mathcal {I}}\subseteq C_{2}^{\mathcal {I}}$.
   * Vérification d'instance, $\Sigma \models a:C$ Vérifie si pour toutes les interprétations ${\mathcal {I}}$ tel que ${\mathcal {I}}\models \Sigma$, nous avons $a^{\mathcal {I}}\in C^{\mathcal {I}}$.
   * Vérification de relations $\Sigma \models (a,b):R$ Vérifie si pour toutes les interprétations ${\mathcal {I}}$ tel que ${\mathcal {I}}\models \Sigma$, nous avons $(a^{\mathcal {I}},b^{\mathcal {I}})\in R^{\mathcal {I}}$.
   * Cohérence de concept, $\Sigma \not \models C{\dot {=}}\bot$ Vérifie si pour toutes les interprétations ${\mathcal {I}}$ tel que ${\mathcal {I}}\models \Sigma$, nous avons $C^{\mathcal {I}}\not =\lbrace \rbrace$.
   * Cohérence de la base de connaissances, $\Sigma \not \models \bot$ Vérifie s'il existe ${\mathcal {I}}$ tel que, ${\mathcal {I}}\models \Sigma$.
Les tâches de déduction de base peuvent être utilisées pour définir des tâches plus complexes. En particulier:
* Recherche : étant donné un concept, trouver les individus mentionnés dans la base de connaissance qui sont des instances de ce concept.
* Réalisation : étant donné un individu mentionné dans la base de connaissance, trouver le concept le plus spécifique, en accord avec les relations de subsomption, duquel l'individu est une instance.
La saturation de la A-Box sert à compléter les informations de la A-Box en accord avec les connaissances de la T-Box, on obtient donc: Définition 5 :
    Étant donné une base de connaissance $\langle T,A\rangle$, nous disons que $A$ est saturé si pour chaque individu $a\in IND$, concept atomique $C\in CON$ et rôle $R\in REL$:
   * l'assertion $a:C$ si et seulement si $\langle T,A\rangle \models a:C$
   * l'assertion $(a,b):R$ si et seulement si $\langle T,A\rangle \models (a,b):R$
Exemple
    Soit $\Sigma$ une base de connaissance $\langle T,A\rangle$ où:
   * $T=\lbrace {\texttt {ETALON}}{\dot {=}}{\texttt {CHEVAL}}\sqcap \forall {\texttt {Sexe.MASCULIN}}\rbrace$
   * $A=\lbrace {\texttt {shadowfax}}:{\texttt {ETALON}}\rbrace$
La formule de $T$ dit que les chevaux de sexe masculin sont des étalons, et la formule de $A$ dit que le cheval shadowfax est un étalon. La sémantique formelle que nous donnons dans la définition 3 nous permet de vérifier que $\Sigma$ a au moins un modèle (i.e., il est cohérent). Et à partir de $\Sigma$ nous pouvons déduire plusieurs informations, par exemple que le concept ${\texttt {CHEVAL}}$ est cohérent avec $\Sigma$ (il existe une certaine interprétation satisfaisant $\Sigma$ qui assigne une extension non-vide à ${\texttt {CHEVAL}}$ :
$\Sigma \not \models {\texttt {CHEVAL}}{\dot {=}}\bot$
Notons qu'à cause des limitations syntaxiques dans la définition de base des assertions, il n'est pas possible de représenter les implications fortes (qui proviennent de $\langle T,A\rangle$) telle que par exemple le fait que dans tous les modèles de $\langle T,A\rangle$, l'extension de ${\texttt {CHEVAL}}$ est non-vide:
$\Sigma \models \neg ({\texttt {CHEVAL}}{\dot {=}}\bot$
Avec $\Sigma =\langle T,A\rangle$ comme connaissance de base on a la A-Box saturé :
$A=\lbrace {\texttt {shadowfax}}:{\texttt {ETALON}}\sqcap {\texttt {CHEVAL}}\rbrace$