Dynamic Symmetry Breaking by Simulating Zykov Contraction

  • Authors:
  • Bas Schaafsma;Marijn J. Heule;Hans Maaren

  • Affiliations:
  • Department of Software Technology, Delft University of Technology,;Department of Software Technology, Delft University of Technology,;Department of Software Technology, Delft University of Technology,

  • Venue:
  • SAT '09 Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new method to break symmetry in graph coloring problems. While most alternative techniques add symmetry breaking predicates in a pre-processing step, we developed a learning scheme that translates each encountered conflict into one conflict clause which covers equivalent conflicts arising from any permutation of the colors. Our technique introduces new Boolean variables during the search. For many problems the size of the resolution refutation can be significantly reduced by this technique. Although this is shown for various hand-made refutations, it is rarely used in practice, because it is hard to determine which variables to introduce defining useful predicates. In case of graph coloring, the reason for each conflicting coloring can be expressed as a node in the Zykov-tree, that stems from merging some vertices and adding some edges. So, we focus on variables that represent the Boolean expression that two vertices can be merged (if set to true), or that an edge can be placed between them (if set to false). Further, our algorithm reduces the number of introduced variables by reusing them. We implemented our technique in the state-of-the-art solver minisat. It is competitive with alternative SAT based techniques for graph coloring problems. Moreover, our technique can be used on top of other symmetry breaking techniques. In fact, combined with adding symmetry breaking predicates, huge performance gains are realized.