previous up next contents
Précédent : Contraintes associatives-commutatives Remonter : Contraintes Suivant : Contraintes sur les

Contraintes diophantiennes linéaires

Participants : Farid Ajili, Eric Domenjoud, Claude Kirchner, Hendrik Lock

Les contraintes diophantiennes linéaires consistent en formules du premier ordre dont les atomes sont des équations ou des inéquations linéaires sur les entiers naturels. Bien que la décidabilité de ce type de formules soit établie depuis longtemps, on manque toujours d'algorithmes efficaces pour la recherche de leurs solutions. Nous étudions depuis plusieurs années ce type de contraintes et plus particulièrement la recherche d'une base de l'ensemble des solutions d'une conjonction finie d'équations linéaires sur les entiers naturels. Cette étude a été motivée au départ par l'unification et le filtrage en présence d'opérateurs associatifs et commutatifs, domaine dans lequel ce type de contraintes joue un rôle central. Les applications des contraintes diophantiennes linéaires dépassent cependant largement ce cadre (équations sur les mots, accessibilité dans les réseaux de Petri, parallélisme...).

Dans ce cadre, nous avons poursuivi l'étude d'un algorithme décrit en 1994 par Eric Domenjoud pour résoudre une conjonction finie d'équations, d'inéquations et de diséquations . Le principe de cet algorithme consiste à choisir deux variables x et y dans le problème et à effectuer un branchement basé sur le choix ou . L'algorithme s'arrête lorsque dans chaque feuille de l'arbre de recherche, la contrainte est soit résolue, soit insatisfaisable. Après élimination des contraintes insatisfaisables, la disjonction des contraintes restantes fournit une représentation paramétrée de l'ensemble des solutions dont une base peut être extraite immédiatement. L'inconvénient de cette méthode est qu'elle engendre plusieurs fois le même élément de la base. Pour résoudre ce problème, nous avons proposé, en collaboration avec Ana Paula Tomás de l'université de Porto, une méthode [21] qui supprime les branchements dans l'algorithme. La terminaison est alors assurée en gardant la trace des paires de variables déjà sélectionnées.

=msbm10

=msbm10

=msbm10

En collaboration avec Evelyne Contejean (LRI, Orsay), nous avons proposé une nouvelle approche de résolution [15] de systèmes Diophantiens linéaires d'équations et d'inéquations de la forme , où X est un vecteur d'entiers naturels, qui calcule une base finie de l'ensemble des solutions. La méthode est une extension de l'algorithme de Contejean & Devie (1991) de résolution d'un système linéaire Diophantien d'équations homogènes. La méthode a l'avantage d'éviter les handicaps de la transformation coûteuse qui consiste à ajouter des variables auxiliaires et résoudre le système Diophantien équationnel ainsi obtenu. La méthode conserve toutes les bonnes propriétés de la méthode originale. En particulier, elle est incrémentale et peut être implantée avec une pile de taille bornée. Une extension similaire à celle de T. Guckenbiehl & A. Herold (1995) a été présentée pour pouvoir résoudre des systèmes hétérogènes de la forme , où a,b sont des vecteurs d'entiers relatifs non tous nuls. De plus, la méthode permet de décider si une contrainte linéaire c est impliquée ou non par un système Diophantien linéaire . En effet, c est impliqué par si et seulement si c est satisfait par les vecteurs de la base de l'ensemble des solutions de . La possibilité de tester l'implication des contraintes par cette méthode et son incrémentalité ne peuvent que faciliter son intégration dans le cadre de la programmation logique avec contraintes.


previous up next contents
Précédent : Contraintes associatives-commutatives Remonter : Contraintes Suivant : Contraintes sur les