A Structure-preserving Clause Form Translation
Journal of Symbolic Computation
Journal of the ACM (JACM)
GRASP—a new search algorithm for satisfiability
Proceedings of the 1996 IEEE/ACM international conference on Computer-aided design
A Computing Procedure for Quantification Theory
Journal of the ACM (JACM)
A machine program for theorem-proving
Communications of the ACM
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Feasibly constructive proofs and the propositional calculus (Preliminary Version)
STOC '75 Proceedings of seventh annual ACM symposium on Theory of computing
Exploiting multivalued knowledge in variable selection heuristics for SAT solvers
Annals of Mathematics and Artificial Intelligence
Another look at graph coloring via propositional satisfiability
Discrete Applied Mathematics
Efficient symmetry breaking for boolean satisfiability
IJCAI'03 Proceedings of the 18th international joint conference on Artificial intelligence
Extended resolution proofs for conjoining BDDs
CSR'06 Proceedings of the First international computer science conference on Theory and Applications
Exact DFA identification using SAT solvers
ICGI'10 Proceedings of the 10th international colloquium conference on Grammatical inference: theoretical results and applications
Symmetry and satisfiability: an update
SAT'10 Proceedings of the 13th international conference on Theory and Applications of Satisfiability Testing
Hi-index | 0.00 |
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.