Generic SBDD Using Computational Group Theory
We introduce a novel approach for symmetry breaking by dominance detection (SBDD). The essence of SBDD is to perform ‘dominance checks’ at each node in a search tree to ensure that no symmetrically equivalent node has been visited before. While a highly effective technique for dealing with symmetry in constraint programs, SBDD forces a major overhead on the programmer, of writing a dominance checker for each new problem to be solved. Our novelty here is an entirely generic dominance checker. This in itself is new, as are the algorithms to implement it. It can be used for any symmetry group arising in a constraint program. A constraint programmer using our system merely has to define a small number (typically 2–6) of generating symmetries, and our system detects and breaks all resulting symmetries. Our dominance checker also performs some propagation, again generically, so that values are removed from variables if setting them would lead to a successful dominance check. We have implemented this generic SBDD and report results on its use. Our implementation easily handles problems involving 1036 symmetries, with only four permutations needed to direct the dominance checks during search.
KeywordsSymmetry Breaking Symmetry Group Search Tree Permutation Group Constraint Program
Unable to display preview. Download preview PDF.
- 1.Backofen, R., Will, S.: Excluding symmetries in constraint-based search. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 73–87. Springer, Heidelberg (1999)Google Scholar
- 2.Brown, C.A., Finkelstein, L., Purdom Jr., P.W.: Backtrack searching in the presence of symmetry. In: Mora, T. (ed.) AAECC 1988. LNCS, vol. 357, pp. 99–110. Springer, Heidelberg (1988)Google Scholar
- 8.The GAP Group. GAP – Groups, Algorithms, and Programming, Version 4.2 (2000), http://www.gap-system.org
- 10.Gent, I.P., Harvey, W., Kelsey, T., Linton, S.: Generic SBDD using computational group theory, Tech. Report APES-57a-2003, APES Research Group (January 2003), available from http://www.dcs.st-and.ac.uk/~apes/apesreports.html
- 11.Gent, I.P., Smith, B.M.: Symmetry breaking in constraint programming. In: Horn, W. (ed.) Proceedings of ECAI 2000, pp. 599–603. IOS Press, Amsterdam (2000)Google Scholar
- 12.Harvey, W.: Symmetry breaking and the social golfer problem. In: Flener, P., Pearson, J. (eds.) Proceedings, SymCon 2001: Symmetry in Constraints, pp. 9–16 (2001)Google Scholar
- 13.Harvey, W., Kelsey, T., Petrie, K.: Symmetry group generation for CSPs, Tech. Report APES-60-2003, APES Research Group (July 2003), available from http://www.dcs.st-and.ac.uk/~apes/apesreports.html
- 14.Van Hentenryck, P.: Constraint satisfaction in logic programming. Logic Programming Series. MIT Press, Cambridge (1989)Google Scholar
- 15.McDonald, I.: Symmetry breaking systems, Tech. Report APES-61-2003, APES Research Group (July 2003), available from http://www.dcs.st-and.ac.uk/~apes/apesreports.html
- 19.Seress, A.: Permutation group algorithms. Cambridge tracts in mathematics, vol. 152. Cambridge University Press, Cambridge (2002)Google Scholar
- 20.Wallace, M.G., Novello, S., Schimpf, J.: ECLiPSe: A platform for constraint logic programming. ICL Systems Journal 12(1), 159–200 (1997)Google Scholar