280 likes | 411 Views
Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability. Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan. Motivation …. Many powerful SAT solvers are currently available Yet, many EDA instances remain hard to solve
E N D
Shatter: Efficient Symmetry-Breaking for Boolean Satisfiability Fadi A. AloulIgor L. Markov, Karem A. Sakallah The University of Michigan
Motivation … • Many powerful SAT solvers are currently available • Yet, many EDA instancesremainhard to solve • Recent work pointed out that breaking symmetries can speed up search • E.g.
Previous Work • In 1996, Crawford et al.: • Laid theoretical foundation for detecting and breaking symmetries in CNF formulas • In 2002, Aloul et al.: • Extended the framework to handle phase shiftsymmetries and their composition with permutational symmetries
Symmetries in SAT • Permutations of variables that preserve clauses • e.g., symmetries of = (a + b + c)(d + e + f)include:
SAT assignments Symmetries in Search Space SAT Solver
Classes of symmetric truth assignments Symmetries in Search Space SAT Solver
Classes of symmetric truth assignments Symmetries in Search Space SAT Solver
Colored Graph Graph Automorphism Toole.g. GAP/Nauty Graph Symmetries CNF Symmetries a’ Preprocessed CNF instance a b c SAT Solver b’ c’ Symmetry Detection and Breaking Flow CNF instance = (a+b)(b+c)(c+a) DetectSymmetries 1 = (ab)(a’b’)2 = (bc)(b’c’) BreakSymmetries = (a+b)(b+c)(c+a) (a’+b)(b’+c)
Colored Graph Graph Automorphism Toole.g. GAP/Nauty Graph Symmetries CNF Symmetries a’ Preprocessed CNF instance a b c SAT Solver b’ c’ Symmetry Detection and Breaking Flow CNF instance = (a+b)(b+c)(c+a) DetectSymmetries 1 = (ab)(a’b’)2 = (bc)(b’c’) BreakSymmetries = (a+b)(b+c)(c+a) (a’+b)(b’+c)
Outline • Basic definitions • Symmetry-Breaking Predicate (SBP) construction by Crawford et al. • Efficient SBP constructions • Experimental results • Conclusions
All Permutations Generators Permutations and Generators • Number of symmetries can be exponentially large • Represent the group of symmetries implicitly • Elementary group theory proves: • If redundant generators are avoided • A group with N elements can be represented by at most log2(N) generators • Generators provide exponential compression of solution space
Introduce auxiliary variables Full Symmetry Breaking • Lex-leader formula [Crawford et al. 96]: • Given a group of symmetries defined over totally-ordered variables : • For each symmetry , construct a permutation predicate : Image of variable xi under PP() size:5n clauses0.5n2 + 13.5n literals
Let , Introduce bit predicates : Linear-Sized PPs PP() size:5n clauses0.5n2 + 13.5n literals PP() size:4n clauses14n literals
Linear-Sized Tautology-Free PPs • Variables that map to themselves (i.e. )lead to: • Assume maps to itself:
Linear-Sized Tautology-Free PPs • Variables that map to themselves (i.e. )lead to: • Assume maps to itself:
Linear-Sized Tautology-Free PPs • Variables that map to themselves (i.e. )lead to: • Assume maps to itself:
Linear-Sized Tautology-Free PPs • Variables that map to themselves (i.e. )lead to: • Assume maps to itself:
Partial Symmetry-Breaking (1) • Full symmetry breaking may not speed up search because: • Exponential number of symmetries • Their SBPs may be redundant • Partial symmetry breaking provides a better trade-off • Consider first k-variables from each permutation • e.g. if k=1
Partial Symmetry-Breaking (1) • Full symmetry breaking may not speed up search because: • Exponential number of symmetries • Their SBPs may be redundant • Partial symmetry breaking provides a better trade-off • Consider first k-variables from each permutation • e.g. if k=1
Generators & their powers Group of symmetries Generators Generators & their compositions Partial Symmetry-Breaking (2) • Instead of breaking all symmetries, break only: • Generators • Generators and their powers • Generators and their pair-wise compositions
Experimental Results % ofbits thatmap tothemselves Generators consisted of cycles of size 2 only
Crawford et al. ‘96 Aloul et al. ‘02 Experimental Results* * Break generators only
Experimental Results Total size of generator-only SBPs using various SBP constructions
Experimental Results Total search runtimes for all instances when only k bits are considered from each generator(using linear tautology-free construction)
Experimental Results SBP statistics for various symmetry-breaking candidatesusing linear tautology-free construction
Conclusions • Introduced more efficient CNF constructions of symmetry-breaking predicates • Constructions lead to: • Empirical speedups • Smaller memory requirements • Described options for partial symmetry-breaking http://vlsicad.eecs.umich.edu/BK/Slots/shatter/