Abstract
This paper presents a technique for symmetry reduction that adaptively assigns a prefix of variables in a system of constraints so that the generated prefix-assignments are pairwise nonisomorphic under the action of the symmetry group of the system. The technique is based on McKay's canonical extension framework (McKay, 1998). Among key features of the technique are (i) adaptability—the prefix sequence can be user-prescribed and truncated for compatibility with the group of symmetries; (ii) parallelizability—prefix-assignments can be processed in parallel independently of each other; (iii) versatility—the method is applicable whenever the group of symmetries can be concisely represented as the automorphism group of a vertex-colored graph; and (iv) implementability—the method can be implemented relying on a canonical labeling map for vertex-colored graphs as the only nontrivial subroutine. To demonstrate the practical applicability of our technique, we have prepared an experimental open-source implementation of the technique and carry out a set of experiments that demonstrate ability to reduce symmetry on hard instances. Furthermore, we demonstrate that the implementation effectively parallelizes to compute clusters with multiple nodes via a message-passing interface.
Original language | English |
---|---|
Pages (from-to) | 21-49 |
Number of pages | 29 |
Journal | JOURNAL OF SYMBOLIC COMPUTATION |
Volume | 99 |
Early online date | Jul 2019 |
DOIs | |
Publication status | Published - Aug 2020 |
MoE publication type | A1 Journal article-refereed |
Keywords
- Canonical extension
- Constraint programming
- Isomorph rejection
- SAT
- Symmetry breaking
- Symmetry reduction