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.