Combinatoire et méta-combinatoire

Résumé : Quand on doit résoudre un problème défini par un ensemble de contraintes, on peut lancer une recherche combinatoire en considérant les valeurs possibles des inconnues puis en vérifiant qu'elles satisfont toutes les contraintes. Mais il est aussi possible de faire une recherche méta-combinatoire en appliquant des règles qui modifient la formulation du problème et en ne recourant à une recherche combinatoire que quand il n'est plus possible d'améliorer cette formulation. Je présenterai les travaux faits dans ce cadre pour la réalisation du système CHERCHEUR qui est un chercheur artificiel en Intelligence Artificielle et dont une des spécialités est la résolution de problèmes définis par des contraintes.

Le choix comme domaine de la résolution de problèmes définis par des contraintes est doublement intéressant. D'abord un grand nombre de problèmes sont définis ainsi, ce qui donne un large champ d'application au système. Mais aussi, des méta-problèmes peuvent être définis dans ce formalisme. Un méta-problème est un problème qui n'est pas proposé par l'utilisateur, mais créé par le système lui-même pour aider à résoudre les problèmes qui lui sont donnés. Le système considère deux méta-problèmes : la recherche de certaines symétries dans l'énoncé des problèmes et la création de nouveaux problèmes. Les symétries trouvées sont des permutations de l'ensemble des inconnues qui ne changent pas l'ensemble des contraintes. Quand une symétrie est ainsi trouvée, le système ajoute de nouvelles contraintes pour ne pas engendrer des solutions symétriques de solutions déjà trouvées. Il applique aussi ces symétries à chaque contrainte qu'il déduit pour engendrer rapidement de nouvelles contraintes. La création de nouveaux problèmes est également utile, car il n'y a plus besoin de rechercher ces énoncés dans la littérature puis de rentrer leurs données. De plus, il ne faut pas se contenter des problèmes proposés aux humains qui sont souvent trop faciles ; il est intéressant de pousser le système en lui proposant des problèmes très difficiles.

Nous commencerons par rappeler les travaux de Jean-Louis Laurière sur le système ALICE dont les principes sont à la base de la recherche métacombinatoire. Un langage est associé au système, il sert à définir les problèmes et il est commode pour définir une grande variété de contraintes. Le système comporte aussi un ensemble de règles qui travaillent sur l'énoncé d'un problème pour le modifier. Certaines règles montrent qu'il y a une contradiction, d'autres trouvent la valeur d'une inconnue, enlèvent une valeur possible pour une inconnue, créent une nouvelle contrainte, etc. Dans le cadre du système CHERCHEUR, ces règles sont données déclarativement, indépendamment les unes des autres et sans leur mode d'emploi.

Dans son fonctionnement normal, CHERCHEUR exécute ces règles ; ainsi il modifie l'énoncé ou il réduit la taille de l'espace de recherche tant qu'il peut le faire. Il fait donc une combinatoire sur les règles au lieu de faire une combinatoire sur les valeurs des inconnues, c'est pourquoi je parle de méta-combinatoire. Toutefois, il arrive qu'il ne puisse trouver directement la solution sans faire aucune combinatoire. Dans ce cas, il choisit une inconnue, envisage successivement ses valeurs, mais il repart ensuite dans un cycle de recherche méta-combinatoire.

La recherche méta-combinatoire a un gros avantage sur la recherche combinatoire : pour expliquer une solution, il suffit d'indiquer les règles qui sont nécessaires pour la justifier. Aussi l'explication ne contient qu'une infime partie des essais qui ont été faits. On obtient donc ainsi des explications au moins comparables à celles que donnent les humains, et souvent même plus élégantes. Il devient possible d'expliquer facilement les solutions obtenues. Toutefois l'ordinateur peut passer beaucoup de temps dans des essais inutiles, aussi faut-il s'arranger pour que les règles utiles soient envisagées en priorité et ne pas considérer des règles qui ne serviront certainement à rien.

Le chercheur artificiel doit donc construire une méthode pour utiliser efficacement son ensemble de règles : il doit le procéduraliser. Pour cela il examine les actions et les conditions des règles, il tient compte aussi des résultats de leur utilisation dans les essais qu'il a déjà faits. Une méthode est un ensemble de connaissances découvertes par le chercheur artificiel ; elle permet de choisir les règles. Une méthode définit des conditions qui doivent être satisfaites pour qu'une règle soit envisagée et elle établit aussi des priorités qui indiqueront dans quel ordre les règles sélectionnées seront exécutées. Le chercheur artificiel a ainsi créé une méthode d'utilisation des règles dont la qualité est comparable à la méthode que j'ai moi-même définie.

Dans certains cas, il n'y a pas d'astuces qui permettent d'arriver à une solution simple. Dans ce cas, la meilleure méthode est effectivement de faire une combinatoire classique. Le chercheur artificiel s'en rend compte et écrit un programme combinatoire performant qu'il exécute ensuite. Mais il ne le fait qu'après une étude du problème basée sur une recherche méta-combinatoire. Il ajoute des contraintes utiles et réduit la taille de l'espace de recherche avant d'écrire le programme combinatoire qu'il met ainsi dans les meilleures conditions possibles. Nous examinerons quelques résultats obtenus par le chercheur artificiel.

Type de document :
Communication dans un congrès
Gilles Trombettoni. JFPC 2008 - Quatrièmes Journées Francophones de Programmation par Contraintes, Jun 2008, Nantes, France. 2008
Liste complète des métadonnées

https://hal.inria.fr/inria-00289992
Contributeur : Service Ist Inria Sophia Antipolis-Méditerranée / I3s <>
Soumis le : mardi 24 juin 2008 - 13:52:56
Dernière modification le : mercredi 21 mars 2018 - 18:57:10

Identifiants

  • HAL Id : inria-00289992, version 1

Collections

Citation

Jacques Pitrat. Combinatoire et méta-combinatoire. Gilles Trombettoni. JFPC 2008 - Quatrièmes Journées Francophones de Programmation par Contraintes, Jun 2008, Nantes, France. 2008. 〈inria-00289992〉

Partager

Métriques

Consultations de la notice

33