UM2 : M2RI UMIN310 2005-2006 Examen Module Représentation

publicité
UM2 : M2RI
UMIN310
2005-2006
Examen Module Représentation des Connaissances
Question « Ouverte »
Modalités : l’examen comporte deux parties :
1. une épreuve « classique sur table » d’une durée de 2 heures qui aura lieu le vendredi 4 novembre 2005 à 15h00 dans la
salle habituelle et qui comportera des questions sur les différents cours et sur les documents qui vous ont été remis :
chapitre « Basic Graph » du livre en préparation et rapport de recherche sur la négation (sauf partie lien avec les
bases de données) ;
2. une question « ouverte » nécessitant un travail de réflexion plus long. Pour cette deuxième épreuve, nous vous
proposons ci-dessous deux sujets. Vous devez en traiter 1 seul au choix et nous rendre le jour de l’examen (4/11/2005)
votre travail sur cette question en même temps que la copie de l’épreuve sur table.
Sujets de question « ouverte » : Le sujet 1 concerne l’étude d’une extension du modèle de base des graphes conceptuels :
l’introduction de relations particulières d’égalité et de différence. Le sujet 2 est un sujet d’algorithmique : il s’agit de réfléchir
à différentes améliorations de l’algorithme de « backtrack » vu en cours.
Sujet 1 : Introduction de la différence dans le modèle BG.
Le modèle de base des graphes conceptuels (BG) permet de représenter n’importe quelle relation entre entités (i.e. sommets
concepts). On se pose le problème de la représentation des relations d’égalité et de différence entre entités. On pourrait les
représenter par des sommets relations classiques mais cela ne tiendrait pas compte de leurs spécificités algébriques (réflexivité
et anti-réflexivité, symétrie, transitivité…). On préfère donc les introduire comme de « nouveaux éléments» du modèle et les
représenter graphiquement par des arêtes spécifiques que nous appellerons liens de coréférence (arêtes en pointillés pour
l’égalité) et liens d’anti-coréférence (symbolisés par une arête avec deux barres pour la différence) comme proposé sur la
figure 1. Le graphe de la figure 1 représente le fait suivant : « Paul, who is a child, possesses a small car. Paul and a person,
who is not Paul, play with this car ».
attr
Car
Size : Small
poss
Child : Paul
1
play2
Person
3
Car
2
Figure 1
On peut pour ce nouveau modèle de graphe,
définir une « forme normale » en fusionnant les
sommets concepts « coréférents » (cf. figure 2)
obtenant ainsi un graphe sémantiquement
équivalent au premier ne possédant plus de liens
de coréférence. La relation d’égalité sur
l’ensemble C des sommets concepts d’un graphe
sous cette forme normale est donc réduite à la
relation d’identité sur C (c'est-à-dire que chaque
sommet n'est coréférent qu'avec lui-même).
attr
Size : Small
poss
Car
Child : Paul
1
play2
Person
3
2
Figure 2
L’objectif du travail demandé est l’extension du modèle des BG aux graphes contenant des liens d’anti-coréférence. On ne
s’intéressera pas dans ce travail à l’introduction des liens de coréférence considérant qu’on peut toujours se ramener à une
forme normale. Il vous est donc demandé :
1. De définir l’extension BG≠ :
o définir la syntaxe formelle de ce nouveau modèle BG≠ ;
o étendre les fonctions d’interprétation logique  et ensembliste  à BG≠ ;
o étendre les opérations de spécialisation et de généralisation à BG≠ ;
o étendre la définition de la projection pour BG≠.
UM2 : M2RI
2.
3.
UMIN310
2005-2006
De s’intéresser aux propriétés suivantes (i.e. donner des preuves (au moins des schémas de preuves) ou des contreexemples) :
o équivalence entre spécialisation et projection ;
o adéquation et complétude de la projection par rapport à la déduction logique et/ou par rapport à la
conséquence sémantique définie dans l’interprétation ensembliste.
De discuter des liens entre cette extension et l’extension des BG à la négation telle qu’elle est décrite dans le
rapport de recherche. En particulier, observant que la différence est la négation de l’égalité, pourrait-on proposer
différentes sémantiques de différence ?
Sujet 2 : Amélioration de l’algorithme de backtrack recherchant une projection
Contexte. En cours, nous avons vu un algorithme générique qui, étant donnés deux BGs G et H, retourne une projection de G
dans H s'il en existe une, et un échec dans le cas contraire. Cet algorithme suit le principe classique du backtrack : il tente
successivement d'affecter une image à un noeud de G, en maintenant la propriété suivante : « à un instant donné, les
affectations déjà construites doivent définir une solution partielle ». Si une affectation d'un sommet c est incompatible avec
celles déjà réalisées (on n'a plus une solution partielle), l'algorithme tente d'affecter une autre image à c. Si toutes les images
potentielles de c ont été essayées sans succès, l'algorithme « backtrack » : il revient au noeud traité juste avant c et essaye
d'affecter une autre image à ce noeud, si possible. Cet algorithme peut être vu comme explorant un arbre de recherche
représentant toutes les applications possibles de CG dans CH.
Le sous-algorithme preprocessing() a pour tâche de restreindre a priori la partie de l'arbre de recherche explorée par
l'algorithme. Nous partirons du sous-algorithme suivant :
Pour tout sommet c de CG
1. Calculer poss(c) = { c'  CH | étiq(c)  étiq(c') }
2. Si poss(c) est vide, sortir avec échec
Questions.
1. Donner une définition précise de ce qu'est une « projection partielle ». Comment peut-on vérifier, après affectation
d'une image à c, que l'application Sol' obtenue est une projection partielle?
2.
On appelle filtre une application qui à tout sommet concept de G associe un ensemble non vide de sommets de H ayant
une étiquette inférieure ou égale. Tout filtre vérifie la propriété suivante, appelée consistance d'étiquettes :
pour c  CG, poss(c) n'est pas vide et
pour tout c'  poss(c), {(c,c')} est une projection partielle de G dans H.
Lorsqu'il se termine avec succès, le sous-algorithme précédent calcule le filtre maximal (à tout sommet, il associe
l'ensemble de tous les sommets de H ayant une étiquette inférieure ou égale). Toute projection de G dans H associe forcément
à tout sommet c  CG un élément de poss(c).
A partir du filtre maximal, on veut calculer le plus grand filtre qui vérifie la propriété suivante (appelée consistance de
relation) :
pour tout c  CG, pour tout c' poss(c), pour toute relation r voisine
de c, ayant pour autres voisins c1 ... cp, on peut étendre la projection
partielle {(c,c')} à une projection partielle affectant à tout ci une image
prise dans poss(ci).
Pour G et H donnés, il n'existe pas forcément de filtre vérifiant cette propriété, mais s'il en existe un, il est unique (ce qu'on
ne vous demande pas de démontrer). On l'appelle le filtre relation-consistant.
Remarque : pour assurer cette propriété, il est intéressant d'étendre la notion de filtre aux sommets relations.
o
o
3.
Définir précisément la notion de filtre qui vérifie la consistance de relation.
Proposer un algorithme qui calcule ce filtre lorsqu'il existe. Votre algorithme est-il polynomial ?
Les techniques de filtrage peuvent être utilisées en phase de prétraitement, mais aussi pendant la recherche elle-même,
de façon à propager les conséquences d'une affectation. Expliquez comment vous pouvez tirer parti de votre
algorithme de filtrage dans l'algorithme de backtrack.
Téléchargement