- all_solutions(+Goal)
- Find all solutions to the given goal
- all_solutions(+Goal, ?NSols)
- Find all solutions to the given goal
- first_solution(+Goal)
- Find the first solution to the given goal
- is_sbds_var(?Var)
- Checks whether a variable is an SBDS variable
- sbds_indomain(?Var)
- Instantiate an integer SBDS variable to an element of its domain
- sbds_initialise(+Array, ++VarDimNames, ++ValueDimSpec, +SymSpecs, +Options)
- Initialises the data structures required by the SBDS algorithm
- sbds_initialise_set(+Array, ++VarDimNames, ++ValueDimSpec, +SymSpecs, +Options)
- Initialises the data structures required by the SBDS algorithm (set version)
- sbds_labeling(?List)
- Instantiate all integer SBDS variables in a list to elements of their domains
- sbds_record(?, ?, ?)
- No description available
- sbds_try(+Var, ++Value)
- Try assigning a value to an SBDS search variable
- sbds_try(+Var, ++Value, ?Success)
- Try assigning a value to an SBDS search variable
- sbds_try_set(+Var, ++Value, ++Bool)
- Try adding/excluding a value to/from an SBDS set search variable
- sbds_try_set(+Var, ++Value, ++Bool, ?Success)
- Try adding/excluding a value to/from an SBDS set search variable
Ian P. Gent, Warwick Harvey and Tom Kelsey. "Groups and Constraints: Symmetry Breaking during Search.". In P. Van Hentenryck, editor, Proceedings of the Eighth International Conference on Principles and Practice of Constraint Programming - CP 2002, LNCS 2470, pages 415-430. Springer-Verlag, 2002.
It has been enhanced by (amongst other things) being integrated with the symmetry expression library described in:
Warwick Harvey, Tom Kelsey and Karen Petrie. "Symmetry Group Expression for CSPs." In Barbara Smith et al., editors, Proceedings of SymCon'03: Third International Workshop on Symmetry in Constraint Satisfaction Problems, a workshop of CP 2003, pages 86-96. September, 2003.
This library is still being developed and is expected to evolve. Feedback, suggestions, problem reports, etc. welcome.
Please note that this library currently does not work on Windows machines due to its dependence on the GAP interface library.