Recherche

Mes travaux de recherche se situent dans le cadre de la programmation par contraintes, je m'intéresse particulièrement aux Problèmes de Satisfaction de Contraintes (CSP). Voici une brève description des différents axes auxquels je m'intéresse :
Les techniques de filtrages dans les CSP  sont basées sur des propriétés de consistance locale. L'objectif des algorithmes de filtrage est de simplifier le CSP en supprimant des valeurs et/ou des couples de valeurs jugés inutiles pour la résolution. Le filtrage par consistanace locale, notamment par consistance d'arc, a montré son  grand  intérêt dans la résolution.
L'une des techniques utilisées pour améliorer la performance des algorithmes de résolution de CSP est l'exploitation d'heuristiques afin d'éviter d'explorer inutilement certaines parties de l'espace de recherche.  En d'autres termes, l'objectif est d'orienter la recherche vers les parties intéressantes de l'espace de recherche et donc de trouver une solution  (ou de prouver l'inconsistance) le plus rapidement possible.
La stratégie diviser pour mieux régner est utilisée dans cet axe. Il s'agit de décomposer le CSP initial en une collection de sous-problèmes indépendants de taille plus petite (les domaines contiennent moins de valeurs). Par la suite, ces sous-problèmes seront résolus par un algorithme classique de recherche. Ces techniques de décomposition exploitent des propriétés intéressantes (notamment vis-à-vis du problème de la clique) de certaines classes de graphes (graphes triangulés, graphes CSGk). Ces méthodes sont basées sur la recherche des cliques maximales dans la micro-structure associée au CSP.
Cet axe est étroitement lié à l'axe précédent. Il s'agit, de point de vue algorithmique, de mettre en place des algorithmes efficaces permettant une meilleure décomposition. Précisément, ces algorithmes concernent d'une part la triangulation (rendre un graphe quelconque triangulé en ajoutant des arêtes) et la k-triangulation, d'autre part la recherche des cliques maximales dans un graphe triangulé (k-triangulé).