Tools for Dynamic Analysis and Debugging of Constraint Programs
Outils pour l'Analyse Dynamique et la mise au Point de
Programmes avec Contraintes
Illustrative example: Alldiff-5c 
Problem Description :
5 all_diff constraints over 13 variables are posted according to the
following image
The problem has 1152 solutions and just 48 solutions after breaking
symetries by adding the constraints A2#>A3, B2#>B3,C2#>C4,C4#>C5
Interest :
One constraint only is used and there are several ad-hoc symetries
References :
[1] J.-C. Regin, A filtering Algorithm for Constraints of difference
in CSPs. In AAAI'94, Twelth National Conference on Artificial Intelligence,
362-367, 1994
Sources :
Source code GNU-Prolog
Codeine Traces:
-
trace all (48) solutions with broken
symetries(.xml.gz:48K, .xml:1,5M, 3179 events, verbose)
-
trace all (48) solutions with broken
symetries(.xml.gz:19K, .xml:209K, 3179 events)
-
trace all (1152) solutions (.xml.gz:649K, .xml:29M, 29959 events ; verbose)
-
trace all (1152) solutions (.xml.gz: 221K, .xml:3,7M, 29959 events)
In the verbose trace the vardomains are traced at each search-tree
nodes (this allows to trace variable domain views along the computations)