Projet : PROTHEO

previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Réécriture et stratégies


Sous-sections


   
Contraintes

 

Mots clés : problèmes de satisfaction de contraintes, contraintes sur les entiers, collaboration de résolveurs de contraintes, contraintes ensemblistes, contraintes d'ordre, complexité de l'unification .

Résumé :

Nos travaux sur la résolution et la satisfaisabilité de contraintes couvrent un large éventail de problèmes engendrés lors d'un processus de déduction (avec contraintes). Nos résultats principaux portent sur la modélisation des problèmes de satisfaction de contraintes, la résolution de contraintes sur les entiers ainsi que sur la collaboration de résolveurs de contraintes, les contraintes ensemblistes, les contraintes d'ordre et la complexité de certains problèmes d'unification. Cette année a vu la parution d'articles [[18],[20]] montrant l'intérêt de la programmation par réécriture et stratégies dans le cadre de la programmation de résolveurs de contraintes et de la programmation avec contraintes.

Une approche déductive pour la satisfaction de contraintes



Participants : Carlos Castro, Claude Kirchner.

La thèse de Carlos Castro a porté sur la modélisation de la résolution de problèmes de satisfaction de contraintes (CSP) comme un processus de déduction [[30],[18],[15]].

Nous formalisons les techniques de résolution de CSP sur des domaines finis en utilisant des règles de réécriture et des stratégies. Les règles expriment les transformations réalisées par ces techniques sur les contraintes et les stratégies contrôlent l'application de ces règles. Cette approche permet de vérifier facilement des propriétés telles que la correction, la complétude et la terminaison d'un résolveur. L'utilisation d'un langage de stratégies puissant permet de décrire les heuristiques d'une manière très abstraite et flexible. Afin de valider ces idées, nous avons implanté le système Colette dans le langage ELAN (voir Section 5.2).

Nous avons étudié tout d'abord le problème de la résolution d'un ensemble de contraintes élémentaires combinées par des opérateurs de conjonction, puis la résolution de problèmes d'optimisation en utilisant des techniques de résolution de CSP. Le langage de contraintes a été ensuite étendu afin de considérer la combinaison des contraintes élémentaires avec les connecteurs logiques de disjonction, d'implication et d'équivalence. Finalement, nous avons étudié la coopération de résolveurs. En utilisant les opérateurs de stratégies concurrents du langage ELAN, nous avons décrit de manière abstraite des schémas de coopération séquentiels et concurrents [[25]]. Pour d'autres types de coopération, nous avons utilisé des primitives de bas niveau, disponibles en ELAN, pour la communication entre processus.

Résolution et propagation de contraintes sur les entiers



Participants : Farid Ajili, Claude Kirchner.

La thèse de Farid Ajili [[12]] a porté sur l'amélioration et l'intégration de résolveurs de contraintes Diophantiennes linéaires.

Le succès des techniques de propagation de contraintes nous a conduit à les intégrer dans le résolveur complet d'équations Diophantiennes que nous avons développé, dans le but de réduire l'espace de recherche. Ce travail, réalisé en collaboration avec H. C. R. Lock (Université de Karlsruhe, Allemagne), consiste à enrichir un noeud de l'espace de recherche des solutions par des informations locales et partielles. La méthode permet d'intégrer des heuristiques de recherche de solutions en choisissant à chaque noeud l'heuristique qui lui convient, et d'exploiter l'historique de la recherche. Le résolveur ainsi étendu est toujours complet et offre de plus la possibilité d'avoir des variables à domaines infinis (non majorées).

Nous avons par ailleurs proposé et étudié un formalisme de combinaison d'un langage de contraintes symboliques, telles que des équations sur des termes, avec un langage de contraintes prédéfinies sur un domaine numérique comme les entiers positifs. Le cas où les deux langages interfèrent par des fonctions qui sont des homomorphismes des structures sous-jacentes (par exemple la fonction qui retourne la taille d'un terme) a été résolu de façon modulaire, en réutilisant deux résolveurs qui coopèrent par l'intermédiaire d'une interface de propagation.

Collaboration de résolveurs de contraintes



Participant : Christophe Ringeissen.

 Notre problématique est de faire collaborer des algorithmes de résolution élémentaires afin d'en construire de nouveaux capables de résoudre des contraintes qui ne pouvaient l'être par aucun de ces algorithmes utilisés seuls. Par le passé, notre intérêt avait d'abord porté sur la combinaison de résolveurs de contraintes équationnelles (égalité, filtrage, unification) pour le mélange de théories équationnelles disjointes. Certains de ces algorithmes de combinaison, qui s'expriment par des règles de transformation et font appel à des résolveurs développés par ailleurs, sont implantés en ELAN (voir section 5.2). Une description détaillée a été faite dans [[20]].

Nous continuons également à nous intéresser aux mélanges de théories non disjointes et nous avons en particulier poursuivi, en collaboration avec Cesare Tinelli (Université d'Urbana-Champaign), l'étude du problème de la satisfaisabilité dans une union de théories non disjointes et non nécessairement équationnelles [TR98] dans le prolongement des travaux de Nelson et Oppen, qui ont résolu le cas disjoint au début des années 80.

En collaboration avec Eric Monfroy (CWI), nous avons proposé un cadre formel indépendant du domaine [[38]], nommé SoleX, qui permet d'étendre un résolveur par le traitement de nouvelles contraintes faisant intervenir de nouveaux symboles de fonctions. SoleX consiste en un ensemble de règles de transformation. Le rôle de ces règles est d'effectuer un pré-traitement, et un post-traitement rendant admissible, pour un résolveur, des contraintes qu'il ne pouvait pas traiter auparavant. Les règles agissent par ajout d'informations relatives aux nouvelles fonctions, par complément du domaine de calcul et par abstraction. Chacune des règles peut être vue comme un résolveur élémentaire, et SoleX comme une collaboration de résolveurs. Il est donc possible de rendre ce schéma de résolution directement exécutable grâce au système BALI, développé par Eric Monfroy durant sa thèse, pour décrire et réaliser des collaborations de résolveurs de contraintes.

Contraintes ensemblistes



Participants : Nicolas Hermann, Gernot Salzer.

Nous avons étudié, en collaboration avec Gernot Salzer (Université de Vienne), les problèmes d'égalité, de subsomption et de complément dans le cadre de la recherche sur les contraintes ensemblistes récurrentes, connues aussi sous la dénomination des schématisations récurrentes. Nous avons prouvé que les problèmes d'égalité et de subsomption sont décidables et peuvent être résolus avec l'aide d'un algorithme d'unification déjà connu. Par contre, le complément d'un ensemble schématisé ne peut pas être en général présenté comme une union finie d'ensembles schématisés [[36]].

Contraintes d'ordre



Participants : Thomas Genet, Isabelle Gnaedig, Hélène Kirchner, Michaël Rusinowitch.

La résolution de contraintes d'ordre dans le cadre des preuves de terminaison de la réécriture est étudiée dans la thèse de Thomas Genet [[16]]. A partir d'un système de réécriture dont on veut prouver la terminaison, la procédure de résolution de contraintes d'ordre GPO (General Path Ordering), proposé l'année dernière, construit, lorsque c'est possible, une instance adéquate du GPO souvent utilisée en terminaison : le LPO (Lexicographic Path Ordering). TIPI, le prototype implantant cette procédure et réalisé en ECLIPSE, fournit à l'heure actuelle la procédure de décision la plus efficace pour prouver la terminaison par l'ordre LPO de systèmes de grande taille.

Afin de compléter la procédure de résolution de contraintes d'ordre GPO pour en faire une procédure de décision également pour le RPO (Recursive Path Ordering), nous avons, cette année, donné une nouvelle définition de l'ordre multiensemble : elle fournit une extension de cet ordre à un préordre et donne un ordre plus puissant que les définitions existantes. Nous avons également proposé une procédure de résolution de contraintes d'ordres multiensemble, construisant un ordre à partir de deux multiensembles que l'on veut comparer. L'efficacité de cette procédure est assurée grâce à une structure de données partagée représentant les multiensembles. Enfin, le prototype TIPI a été enrichi pour fournir des indications à l'utilisateur afin de construire un ordre adéquat lorsqu'il n'existe pas de LPO pour un système donné : il propose un ensemble de contraintes d'ordre sur les fonctions de base du GPO, pour permettre de trouver ensuite une instance adéquate de ce dernier, isolant ainsi la partie indécidable de la preuve, qui est laissée à l'utilisateur.

Par ailleurs, nous avons montré que le problème de la résolution des contraintes d'ordre RPO est dans la classe NP [[40]].

Complexité de l'unification



Participants : Nicolas Hermann, Florent Jacquemard, Laurent Juban.

Comptage de la base de Hilbert.

En collaboration avec Phokion Kolaitis, nous nous sommes orientés vers le problème de comptage de la base de Hilbert d'un système d'équations Diophantiennes linéaires. La résolution de ce problème est indispensable pour, entre autres, déterminer la complexité de l'énumération de toutes les solutions des problèmes d'unification équationnelle dans les théories comme les semigroupes commutatifs et les monoïdes commutatifs. Pour le problème général, nous avons obtenu l'appartenance à la classe #NP (la classe des fonctions qui comptent le nombre de solutions des problèmes dans NPNP) et la borne inférieure #P-difficile, ce qui témoigne de l'intractabilité du problème. Si chaque variable est limitée à trois occurrences, la complexité du problème reste inchangée lorsque le problème est présenté en notation unaire, ce qui est le cas pour les problèmes en déduction automatique en général. Par contre, la limitation de chaque variable à deux occurrences fait descendre la borne supérieure à #P mais, en contrepartie, on perd la borne inférieure non triviale. Finalement, si chaque variable n'apparaît qu'une seule fois dans le système, le calcul de la base de Hilbert est simple : il se fait en temps polynomial [[48]].

Accessibilité rigide.

L'unification rigide, introduite par Gallier, Raatz et Snyder en 1987, joue un rôle important dans les méthodes de déduction automatique en logique équationnelle du premier ordre basées sur le théorème de Herbrand. Nous étudions avec H. Ganzinger et M. Veanes (MPI, Sarrebruck) la généralisation orientée (non symétrique) de cette propriété, l'accessibilité rigide, où l'on considère des systèmes de réécriture au lieu de systèmes équationnels. Une conclusion de [GJV98] pourrait être que l'absence de symétrie dans les règles de réécriture rend le problème beaucoup plus difficile. En effet, le problème de la résolution d'une contrainte d'unification rigide qui est NP-complet, devient indécidable dans le cas non symétrique, même dans des cas très restreints de système de réécriture clos. De ce résultat, on infère l'indécidabilité d'une forme restrictive d'unification du second ordre. La résolution de plusieurs contraintes d'unification simultanément se fait en temps polynomial sous certaines conditions, alors que le problème correspondant de l'accessibilité rigide simultanée (sous les mêmes conditions) est EXPTIME-complet.

En revanche, dans le cas de la réécriture de mots avec des systèmes de réécriture clos, nous donnons un algorithme de décision PSPACE dans le cas simultané, résolvant une conjecture de Gurevitch et Voronkov.



previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Réécriture et stratégies