Dynamic Symmetry Breaking by Simulating Zykov Contraction

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.

[1]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[2]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[3]  Armin Biere,et al.  Extended Resolution Proofs for Conjoining BDDs , 2006, CSR.

[4]  Stephen A. Cook,et al.  Feasibly constructive proofs and the propositional calculus (Preliminary Version) , 1975, STOC.

[5]  Steven David Prestwich,et al.  Local Search on SAT-encoded Colouring Problems , 2003, SAT.

[6]  Matthew W. Moskewicz,et al.  Cha : Engineering an e cient SAT solver , 2001, DAC 2001.

[7]  Alasdair Urquhart,et al.  Formal Languages]: Mathematical Logic--mechanical theorem proving , 2022 .

[8]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[9]  Ian P. Gent Arc Consistency in SAT , 2002, ECAI.

[10]  Igor L. Markov,et al.  Efficient symmetry breaking for Boolean satisfiability , 2003, IEEE Transactions on Computers.

[11]  Carlos Ansótegui,et al.  Exploiting multivalued knowledge in variable selection heuristics for SAT solvers , 2007, Annals of Mathematics and Artificial Intelligence.

[12]  Karem A. Sakallah,et al.  Symmetry and Satisfiability , 2021, Handbook of Satisfiability.

[13]  D. Shmoys,et al.  Completing Quasigroups or Latin Squares: A Structured Graph Coloring Problem , 2002 .

[14]  Stephen A. Cook,et al.  A short proof of the pigeon hole principle using extended resolution , 1976, SIGA.

[15]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[16]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[17]  Allen Van Gelder,et al.  Another look at graph coloring via propositional satisfiability , 2008, Discret. Appl. Math..

[18]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[19]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[20]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .