Graphes Conceptuels J.F. Baget Inria
Objectifs Faire de la représentation de connaissance avec des graphes et des opérations de graphes RdC: langage formel, syntaxe, sémantique, mécanisme d’inférence Graphes: syntaxe graphique et mécanismes d’inférences par opérations de graphes (ici homomorphismes)
Plan Prélude Graphes Conceptuels: syntaxe Homomorphismes de graphes Logiques, théorie des modèles Graphes Conceptuels: syntaxe Graphes Conceptuels: sémantique Graphes Conceptuels: projection
Coloration de graphe K-coloration: associer à chaque sommet une des couleurs {1, ..., K} de façon à ce que tous les voisins aient une couleur différente.
Homomorphisme de graphe associer à chaque sommet de H un sommet de G de façon à ce que si x et y sont deux sommets voisins de H, alors leurs images sont voisines dans G. H Exercice: il existe un homomorphisme de H dans G et de G dans H G
Coloration et homomorphismes Propriété: G est K-colorable ssi il existe un homomorphisme de G dans Kn (le graphe complet à n sommets) D’où le terme de classe de coloration: classe(G) = {H | il existe un homomorphisme de H dans G} Exercice: quelle est la classe des graphes suivants?
Une propriété utile Propriété: la composition de deux homomorphismes est un homomorphisme. Exercice: preuve
Logique (version abstraite) Logique L = (F, I, M) F est un ensemble de formules (syntaxe) I est un ensemble d’interprétations M F x I (f, i) M se lit « i est un modèle de f » (la formule f est vraie dans le monde i) f est conséquence sémantique de f’ (f’ ├ f) si tous les modèles de f’ sont des modèles de f. (sémantique)
Exemple 1 Exercice: voir que rectangle vert ├ rectangle forme bleu ovale vert ovale vert ovale bleu rectangle bleu rectangle vert
Exemple 2: Logique des propositions Soit A un ensemble d’atomes SYNTAXE a A est une formule (un atome) si f et f’ sont deux formules, alors (f et f’), (f ou f’), et (non f) sont des formules. SEMANTIQUE Une interprétation est une application de A dans {Vrai, Faux} (f, i) M ssi la substitution des atomes a de f par leur interprétation i(a) a pour valeur Vrai
Mécanismes d’inférences Soit L = (F, I, M) une logique Soit ► une relation sur F x F La relation ►est dite correcte par rapport à L ssi f ► f’ f ├ f’. La relation ►est dite complète par rapport à L ssi f ├ f’ f ► f’. Exercice: dessiner le graphe de la relation ► (i.e. ├) pour la logique de l’exemple 1.
Preuve de correction et complétude Pour calculer la conséquence sémantique, on veut être plus efficace que: « pour chaque modèle de f, voir que c’est aussi un modèle de f’ » (en particulier, ce nombre peut être infini) Donc on exhibe un algorithme pour calculer une relation binaire sur les formules, et on prouve la correction et la complétude de cette relation. Ici, un schéma de preuve qui sera utilisé pour les graphes conceptuels.
Un schéma de preuve Soit L = (F, I, M) une logique Soit C un ensemble (ens. de codage), tf: F → C et ti: I → C Soit ► une relation sur C x C Soient les trois propriétés suivantes: (P1) ► est transitive (P2) (f, i) M ssi ti(i) ► tf(f) (P3) qqsoit f F, il existe un modèle i de f avec tf(f) ► ti(i)
Schéma de preuve (suite) Théorème: si (P1) et (P2) sont vérifiées, alors ► est correct par rapport à L. Si, de plus, (P3) est vérifié, alors ► est complet par rapport à L.
Démonstration (correction) 1) Supposons f, f’ deux formules et tf(f) ► tf(f’) 2) Si f n’a pas de modèle, alors f ├ f’, sinon soit i un modèle de f. 3) On a ti(i) ► tf(f) (P2) 4) Donc ti(i) ► tf(f’) (P1) 5) Donc i est un modèle de f’ (P2) 6) Donc f ├ f’ tf(f’) 1) tf(f) 4) 3) ti(i)
Démonstration (complétude) 1) Supposons f, f’ deux formules et f ├ f’ 2) Tous les modèles de f sont des modèles de f’ 3) En particulier il existe un modèle i de f avec tf(f) ► ti(i) (P3) 4) Comme i est aussi un modèle de f’ (2), alors ti(i) ► tf(f’) (P2) 5) Donc tf(f) ► tf(f’) (P1) tf(f’) 5) tf(f) 4) 3) ti(i)
Graphes conceptuels [Sowa,84] Syntaxe Sémantique Mécanisme d’inférence
Syntaxe (1): Le support Support S = (TC, TR = (TR1, ..., TRk), M, conf) TC, TR1, ..., TRk sont des ensembles partiellement ordonnés, 2 à 2 disjoints TC est l’ensemble des types de concepts TRi est l’ensemble des types de relations d’arité i. M est l’ensemble des marqueurs individuels conf: M → TC est la relation de conformité.
Exemple de support TR2 TC TR3 All animal nourriture croquettes chat souris nourriture croquettes All croquettes de souris mange regarde TR3 apporte M = {Mickey} conf(Mickey) = souris
Syntaxe (2): Graphe conceptuel Graphe conceptuel sur un support S, G = (V, H, , ) avec: V un ensemble de sommets H un ensemble d’hyperarcs : H → V+ associe à chaque hyperarc ses extremités étiquette chaque sommet par un élément de TC x (M {*} ) (type et marqueur – individuel ou générique); et chaque hyperarc d’arité k par un élément de TRk. Notons que si un sommet a un marqueur individuel m, alors son type est conf(m).
Exemple chat: * regarde mange croquettes: * souris: Mickey apporte 2 1 3 2 1 croquettes: * souris: Mickey apporte 2 1
Sémantique (1): interprétation du support Soit S = (TC, TR = (TR1, ..., TRk), M, conf) un support Une interprétation de S est une structure (D, ic, i1, ..., ik, im) où: D est un ensemble (le domaine) im: M → D ic: TC → 2D ij: TRj → 2Dj
Exemple d’interprétation all animal nourriture croquettes Mickey chat souris im ic croquettes de souris D
Exemple d’interprétation (suite) i2(regarde) = {( , ), ( , )} i2(mange) = {( , )} i3(apporte) = {( , , )}
Modèle d’un support Une interprétation (D, ic, i1, ..., ik, im) est un modèle d’un support (TC, TR = (TR1, ..., TRk), M, conf) ssi: t <= t’ i(t) i(t’) (concepts ou relations) i(m) ic(conf(type(m))) Exercice: voir que l’interprétation de l’exemple est un modèle du support.
Modèle d’un graphe conceptuel Une modèle (D, ic, i1, ..., ik, im) d’un support S est un modèle d’un graphe G = (V, H, , ) ssi il existe : V → D tq: si v est un sommet individuel de marqueur m, (v) = im(marqueur(v)) si v est un sommet, (v) ic(type(v)) si (h) = (v1, ..., vk), alors ((v1), ..., (vk)) ik(type(h)) Exercice: voir que l’interprétation de l’exemple est un modèle du graphe conceptuel.
Projection Soient G et H deux graphes conceptuels sur S. Une projection de H dans G est une application : V(H) → V(G) telle que: etiq((v)) <= etiq(v) (ordre produit sur ordre de TC et * plus générique que marqueurs individuels, eux-même 2 à 2 incomparables) Pour tout h de H, avec (h) = (v1, ..., vk), il existe h’ dans G avec (h) = ((v1), ..., (vk)) et type(h’) <= type(h) Exercice: voir que c’est bien une généralisation de Homomorphisme de graphe (d’où NP-complétude).
Exemple: projection chat: * regarde nourriture: * souris: * apporte 2 Exercice: trouver une projection de ce graphe dans l’exemple précédent. chat: * regarde 3 1 nourriture: * souris: * apporte 2 1
Forme normale Un graphe conceptuel est dit sous forme normale si deux sommets individuels distincts ont toujours des marqueurs différents. Un graphe conceptuel G est mis sous sa forme normale nf(G) en fusionnant les sommets individuels ayant même marqueur.
Théorème H est conséquence sémantique de G si et seulement si il existe une projection de H dans nf(G). Preuve: on va utiliser le shéma de preuve précédent. C: graphes et interprétations sont codés par des graphes ►: homomorphisme
Transformations tf et ti C: ensemble de graphes conceptuels tf: c’est l’identité ti: construire le graphe G(i) de la façon suivante associer à chaque élément d de D un sommet s(d). Le type d’un sommet s(d) est la conjonction des types t tels que d ic(t) Le marqueur d’un sommet s(d) est l’ensemble des marqueurs m tels que im(m) = d. pour 1 <= j <= K, pour t TRj, pour chaque (d1, ..., dK) ij(t), rajouter un hyperarc h avec (h) = (s(d1), ..., s(dK)) et type(h) = t.
Exemple: graphe conceptuel d’une interprétation 2 1 chat: * regarde mange 1 regarde 3 2 1 2 croquettes: * souris: Mickey apporte 2 1