previous up next top index
Précédent : Unification d'ordre supérieur Remonter : Contraintes Suivant : Unification de termes schématisés


Contraintes diophantiennes linéaires

Participants : Farid Ajili, Eric Domenjoud, Claude Kirchner

Dans le cadre du DEA de E. Petitjean [57], nous avons étudié une amélioration d'un algorithme de résolution d'équations linéaires sur les entiers positifs décrit par E. Domenjoud en 1990. Le principe de cet algorithme consiste à déterminer le cône des solutions rationnelles positives puis à y effectuer une recherche des points entiers. Les améliorations portent sur deux points. Les redondances sont éliminées par une triangulation préalable du cône et les triangles sont ensuites explorés en parallèle. Cette seconde partie est en cours de réalisation au moyen de la bibliothèque MPI.

Nous avons implanté la méthode de résolution complète de contraintes diophantiennes linéaires décrite dans [50]. L'analyse qualitative des performances de la méthode a montré que son efficacité augmente dès que le nombre d'inéquations est important. De plus, nous avons montré que la méthode peut servir au calcul d'une seule solution : elle retourne la solution ayant la plus petite longueur.

Nous avons également étudié la combinaison d'un langage de contraintes symboliques tels que l'unification, qui opère sur les termes avec un langage de contraintes prédéfinies qui opère sur un domaine usuel comme par exemple les entiers positifs [11]. Le cas où les deux langages interfèrent par des homomorphismes (par exemple la taille d'un terme) a été résolu de façon modulaire en réutilisant deux solveurs qui coopèrent par l'intermédiaire d'une interface de propagation. Le rôle de cette interface est de maintenir une consistance entre les calculs des deux solveurs. Ceci permet en particulier de traiter le cas de l'interaction entre des solveurs de contraintes symboliques et des solveurs de contraintes diophantiennes linéaires.