Stratégies de parcours d'un graphe de dépendance de règles

Voir tous les sujets RCR

 

Type de sujet : implémentation (++), algorithmique (+)

Prérequis : graphes conceptuels (projection, règles), programmation (C/C++)

Encadrement : Jean-François Baget (INRIA, Rhône Alpes) baget@lirmm.fr

    Les graphes conceptuels, munis de règles, sont un langage de représentation de connaissances dont le mécanisme de raisonnement peut être décrit de la façon suivante: étant données un graphe G (une base de faits) et un ensemble de règles {R1, ..., Rk} (où les règles sont de la forme "si A, alors B", avec A et B étant des graphes), peut-on déduire un graphe Q (une requête).

    Le mécanisme de raisonnement en marche avant consiste à compléter la base de faits avec toutes les informations que l'on peut déduire de l'application des règles, et-ce jusqu'à obtention d'un graphe qui satisfait la requête (ou à l'infini éventuellement si un tel graphe n'existe pas).

    Afin d'éviter de tester l'application de règles qui n'ont aucune chance d'être applicables, nous avons défini un graphe de dépendance de règles: il existe un arc de la règle Ri à la règle Rj si et seulement si il existe un graphe pour lequel l'application de la règle Ri crée une nouvelle application de la règle Rj. Il est aussi possible d'inclure la requête dans un tel graphe (comme une règle à conclusion vide).

    Plusieurs stratégies de parcours de ce graphe sont donc possibles pour tenter d'arriver au résultat (profondeur, largeur, plus court chemin vers la réponse, ...), et le but de ce stage est :

  1. d'implémenter ce mécanisme d'optimisation sur la plateforme CoGITaNT

  2. d'étudier et de tester plusieurs stratégies de parcours de ce graphe.