Tools for Dynamic Analysis and Debugging of Constraint Programs
Outils pour l'Analyse Dynamique et la mise au Point
de
Programmes avec Contraintes
Classical Examples: n-queens
Description du problème :
place n safe queens on a chessboard nxn. Strategy: first-fail / minimum value first (naiv alldiff constraint).
Interest : n=4, trivial case (1
backtrack before the first solution). The visualisation variable/value with discovery is well adaptad (chessboard vue).
GNU-Prolog traces with no symetry breaking :
[Source]
[4 queens.xml (2 sol, 420 events .gz 7K)]
- [8 queens full trace (39686 events).xml 20,5M .gz: 725K]
GNU-Prolog traces with symmetry breaking:
Symmetry breaking software gprolog-sbds
has been used. In this example first all symmetries are broken (8 geometric
symmetries) and then only the vertical, horizontal and 180° rotational
(by composition of two firsts) symmetries.
Propagation tree snapshot:
These snapshots are obtained with Pavot 1.2
[8 queens.gif] -
Traces CHIP :
[8 queens.xml] (first sol, 76 events, non compliant trace, to be changed)]