Outils pour l'Analyse Dynamique et la mise au Point
de
Programmes avec Contraintes
Exemples illustratifs
Les séries magiques
Description du problème :
Une séries ``magique'' est une sequence x0, x1,
..., xN-1 telle que chaque xi est le nombre d'occurrences de i dans la sequence
Ce problème cherche les valeurs de n variables mais met en jeu un nombre
quadratique de variables intermédiaires ainsi que des contraintes redondantes.
De plus, à chaque backtrack, des variables intermédiaires sont
"abandonnées" : elles ne sont plus impliquées dans aucune contrainte
et disparaissent de l'état du solveur (mais pas de la visualisation
en général). Les traces de ce prolbème permettent donc
d'avoir une première idée du comportement de la visualisation
vis-à-vis de ces phénomènes, courants en pratique.
Le second intérêt du problème vient de l'absence d'étape
de labelling : les contraintes de départ sont pour la plupart disjonctives
ce qui fait que la pose de ces contraintes et la recherche sont confondues.
Instances disponibles :
* N = 4, deux solutions: [1, 2, 1, 0] et [2, 0, 2, 0] ;
* N = 6, aucune solution ;
* N = 7, une solution : [3, 2, 1, 1, 0, 0, 0]
Intérêt : ce petit puzzle arithmétique
met en lumière l'intérêt de contraintes redondantes, il
présente également un exemple assez complet de propagation (contraintes
arithémtiques et contraintes réifiées). La recherche
n'est pas du labeling pur car il s'accompagne d'ajout de contraintes.
Sources :
Traces :