Symmetry- -breaking for SAT: breaking for SAT: Symmetry The Mysteries of Logic Minimization The Mysteries of Logic Minimization Fadi A. A. Aloul Aloul, Igor L. Markov , Igor L. Markov Fadi and Karem Karem A. A. Sakallah Sakallah and University of Michigan, EECS University of Michigan, EECS
Outline Outline � Motivation and Goals Motivation and Goals � � Mathematical Background Mathematical Background � � Previous work Previous work � � New Constructions for Single Perms New Constructions for Single Perms � � Symmetry Symmetry- -breaking for Multiple Generators breaking for Multiple Generators � � Conclusions and On Conclusions and On- -going work going work �
Motivation Motivation � Exponential gap in proof lengths Exponential gap in proof lengths � � The pigeon The pigeon- -hole principle (as a SAT instance) hole principle (as a SAT instance) � � Exponential lower bounds for Exponential lower bounds for resolution resolution proofs proofs � Ω (2 , 2002: Ω � Beame Beame, Karp and , Karp and Pitassi Pitassi, 2002: (2 n/20 n/20 ) ) � → poly Resolution + reasoning by symmetry → � Resolution + reasoning by symmetry poly- -sized proofs sized proofs � � Krishnamurthy, 1988 Krishnamurthy, 1988 � � Lower bounds on resolution proofs Lower bounds on resolution proofs apply apply � to the behavior of DP/DLL SAT solvers to the behavior of DP/DLL SAT solvers � One must also capture the complexity of symmetry One must also capture the complexity of symmetry � extraction and the size of symmetry representation extraction and the size of symmetry representation
Goals of This Work Goals of This Work � Push the envelope of constraint satisfaction Push the envelope of constraint satisfaction � � Problem instances from apps have Problem instances from apps have symms symms � � Develop generic methods for Develop generic methods for CSPs CSPs � � For now, our focus is on Boolean For now, our focus is on Boolean Satisfiability Satisfiability � � This problem is fundamental to Math & CS This problem is fundamental to Math & CS � � Yet, we feel our work applies beyond SAT Yet, we feel our work applies beyond SAT � � 0 0- -1 ILP and generic ILP are natural extensions 1 ILP and generic ILP are natural extensions � � High High- -performance, competitive performance, competitive methods methods � � Must minimize overhead of dealing w symmetry Must minimize overhead of dealing w symmetry �
How We Do It How We Do It Graph CNF Graph symmetries CNF Pre-processed symmetries CNF instance Call generic SAT solver
Benchmarking Benchmarking � Take a strong SAT solver, e.g., Chaff Take a strong SAT solver, e.g., Chaff � � Run it on a CNF benchmark Run it on a CNF benchmark � � Run the proposed flow Run the proposed flow � � Compare runtimes Compare runtimes � � Plain SAT solver Plain SAT solver versus versus � � Pre Pre- -processing + SAT solver processing + SAT solver � � No assumption about “symmetries being No assumption about “symmetries being � known” – – this enables many applications this enables many applications known”
Why Pre- -processing? processing? Why Pre � Alternative: hack some SAT solver Alternative: hack some SAT solver � � More sophisticated strategies possible More sophisticated strategies possible � � Ditto for publications Ditto for publications ☺ ☺ � � Can potentially capture “partial symmetries” Can potentially capture “partial symmetries” � � Additional overhead Additional overhead: is this really worth doing? : is this really worth doing? � � Li and Li and Purdom Purdom, SAT 2002: , SAT 2002: in some cases, yes in some cases, yes � � Do you really want to hack Chaff ? Do you really want to hack Chaff ? � � Perhaps, but that does not prevent Perhaps, but that does not prevent � applying pre- -processing first ! processing first ! applying pre
Our Experience Our Experience � Our DAC 2002 paper shows that Our DAC 2002 paper shows that � � Pre Pre- -processing + Chaff processing + Chaff beats beats plain Chaff plain Chaff � ( or is very close) or is very close) on realistic benchmarks on realistic benchmarks ( � Symmetry extraction time is significant Symmetry extraction time is significant � � In some cases In some cases that that limits competitiveness limits competitiveness � � Sometimes there are very few symmetries Sometimes there are very few symmetries � → Symmety → Symmety extraction isn’t very useful extraction isn’t very useful and therefore must be fast and therefore must be fast � There may be more room for improvement There may be more room for improvement �
Mathematical Background(1) Mathematical Background(1) � A symmetry (in a broad sense) of an object A symmetry (in a broad sense) of an object � � Is a transformation that preserves its properties Is a transformation that preserves its properties � � From Abstract Algebra From Abstract Algebra � � A A group group is a set with a binary operation on it is a set with a binary operation on it � � Must be associative Must be associative � � Must have a neutral element (unit) Must have a neutral element (unit) � � Every element must have a (unique) inverse Every element must have a (unique) inverse � � A A subgroup subgroup is a subset closed under the op is a subset closed under the op � � Is a group by itself Is a group by itself �
Mathematical Background(2) Mathematical Background(2) � The Lagrange Theorem The Lagrange Theorem � � The size of a finite group The size of a finite group � is divisible by the size of its subgroups is divisible by the size of its subgroups � Corollary: Corollary: proper subgroups are ½ size or less proper subgroups are ½ size or less � � A A set of generators set of generators of a group of a group � � Every group element is a product of generators Every group element is a product of generators � � For a group of size For a group of size N N , , an irredundant set of an irredundant set of � generators has no more than log 2 N elements elements generators has no more than
Relevant History Relevant History � Felix Klein studied symmetries Felix Klein studied symmetries � of geometric shapes in the XIX century of geometric shapes in the XIX century � Group Theory Group Theory was developed in XIX century was developed in XIX century � as a formalism for capturing symmetries as a formalism for capturing symmetries � Used much earlier, e.g., by Galois Used much earlier, e.g., by Galois � � Today is one of the major branches of Mathematics Today is one of the major branches of Mathematics � � Ref: Ref: M. Hall Jr. “The Theory of Groups”, 1959 M. Hall Jr. “The Theory of Groups”, 1959 � � Symmetries are fundamental to modern physics Symmetries are fundamental to modern physics � � Quantum Mechanics and Relativity Quantum Mechanics and Relativity � deal with groups of symmetries deal with groups of symmetries � It is seems natural to try using Group Theory in CS! It is seems natural to try using Group Theory in CS! �
More Definitions More Definitions � Symmetries of a graph Symmetries of a graph � � Permutations of vertices that preserve edges Permutations of vertices that preserve edges � � Symmetries of a SAT formula Symmetries of a SAT formula � � Permutations of variables that Permutations of variables that preserve clauses preserve clauses � � Simultaneous negations of sets of Simultaneous negations of sets of vars vars that that � � “phase “phase- -shift” symmetries (auto shift” symmetries (auto- -symmetries) symmetries) � � Compositions of the two types Compositions of the two types � � Can talk about Can talk about the symmetry group the symmetry group of of � (i) a graph, (ii) a CNF formula (i) a graph, (ii) a CNF formula
Computational Group Theory( Theory(CGT CGT) ) Computational Group � Finite (and some infinite!) Finite (and some infinite!) groups groups routinely routinely � represented by generators represented by generators � The The CGT CGT was in the works since 1900s, was in the works since 1900s, � and flourished since 1960s and flourished since 1960s � Reasonably efficient algorithms for perm groups Reasonably efficient algorithms for perm groups � (Sims, Knuth, Babai Babai, others) , others) (Sims, Knuth, � Excellent implementations available today (GAP) Excellent implementations available today (GAP) � � Graph Graph Automorphism Automorphism programs (NAUTY) programs (NAUTY) �
Using Symmetries in SAT Using Symmetries in SAT Graph CNF Graph symmetries Symmetry-breaking CNF Pre-processed symmetries CNF instance Call generic SAT solver
Recommend
More recommend