Title: Shatter: Efficient SymmetryBreaking for Boolean Satisfiability
 1Shatter Efficient Symmetry-Breaking for Boolean 
Satisfiability
- Fadi A. AloulIgor L. Markov, Karem A. Sakallah 
- The University of Michigan
2Motivation 
- Many powerful SAT solvers are currently available 
- Yet, many EDA instances remain hard to solve 
- Recent work pointed out that breaking symmetries 
 can speed up search
- E.g. 
3Previous 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 shift 
 symmetries and their composition with
 permutational symmetries
- Presented efficient construction of 
 symmetry-breaking predicates
4Symmetries in SAT
- Permutations of variables that preserve clauses 
- e.g., symmetries of 
-  ?  (a  b  c)(d  e  
 f)include
5Why Break Symmetries?
SAT Solver 
 6Why Break Symmetries?
SAT Solver 
 7Why Break Symmetries?
SAT Solver 
 8Symmetry Detection and Breaking Flow
CNF instance
Returns Generators which implicitly represents 
the group of symmetries
?  (ab)(bc)(ca)
DetectSymmetries
?1  (ab)(ab)?2  (bc)(bc)
BreakSymmetries
?  (ab)(bc)(ca) (ab)(bc) 
 9Symmetry Detection and Breaking Flow
CNF instance
Returns Generators which implicitly represents 
the group of symmetries
?  (ab)(bc)(ca)
DetectSymmetries
?1  (ab)(ab)?2  (bc)(bc)
BreakSymmetries
?  (ab)(bc)(ca) (ab)(bc) 
 10Outline
- Symmetry-Breaking Predicate (SBP) construction by 
 Crawford et al.
- Efficient SBP constructions 
- Experimental results 
- Conclusions
11Full 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(?) size5n clauses0.5n2  13.5n literals 
 12Linear-Sized PPs
PP(?) size5n clauses0.5n2  13.5n literals
PP(?) size4n clauses14n literals 
 13Linear-Sized Tautology-Free PPs
- Variables that map to themselves (i.e. 
 )lead to
- Assume maps to itself
14Linear-Sized Tautology-Free PPs
- Variables that map to themselves (i.e. 
 )lead to
- Assume maps to itself
15Linear-Sized Tautology-Free PPs
- Variables that map to themselves (i.e. 
 )lead to
- Assume maps to itself
16Linear-Sized Tautology-Free PPs
- Variables that map to themselves (i.e. 
 )lead to
- Assume maps to itself
17Partial 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 k1
18Partial 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 k1
1 
 19Partial Symmetry-Breaking (2)
- Instead of breaking all symmetries, break only 
- Generators 
- Generators and their powers 
- Generators and their pair-wise compositions
Group of symmetries 
 20Experimental Results
 ofbits thatmap tothemselves
Generators consisted of cycles of size 2 only 
 21Experimental Results
 Break generators only 
 22Experimental Results
Total size of generator-only SBPs using various 
SBP constructions 
 23Experimental Results
Total search runtimes for all instances when only 
k bits are considered from each generator(using 
linear tautology-free construction) 
 24Experimental Results
SBP statistics for various symmetry-breaking 
candidatesusing linear tautology-free 
construction 
 25Conclusions
- 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/ 
 26Thank You! 
 27Reduction to Graph Automorphism
- CNF formula ? colored graph 
- Linear time and space 
- Find graphs colored symmetries 
- Worst-case exponential time 
- Interpret graph symmetries found as symmetries of 
 the CNF formula
- Permutational symmetries 
- Phase-shift symmetries
Clauses A (-a ? b ? c) B (a ? -b ? -c) C (-b 
? c)
Symmetry(a -a)(b -c)(-b c) 
 28Identifying Equivalence Classes on Set of Truth 
Assignments 
 29Identifying Equivalence Classes on Set of Truth 
Assignments 
 30Identifying Equivalence Classes on Set of Truth 
Assignments 
 31Identifying Equivalence Classes on Set of Truth 
Assignments
ab
c 
 32Symmetry-Breaking Predicates
- To restrict search 
- Add clauses to the original CNF formula 
-  (symmetry-breaking clauses) 
- They will pick at least one representative 
 (including lex-leaders) from each equivalence
 class and prune search space
ab
c
Lex-leader of equivalence class 
 33Example 
 34Full Symmetry Breaking
- Lex-leader formula Crawford et al. 96.Given a 
 group of symmetries defined
 over totally-ordered variables
 
Impractical
Permutation Predicate quadratic in the number of 
variables n
Number of permutations in symmetry group is 
exponentially large
. . . 
 35Efficient SBP Constructions (1)
- Elimination of tautologies 
- Bits that map to themselves 
- Last bit in each cycle 
- Bits occurring after phase-shift variables
k  eliminated bits Permutation Predicate 
quadratic in n-k
. . . 
 36Efficient SBP Constructions (2)
- Linear construction of permutation predicates 
 through chaining
k  eliminated bits Permutation Predicate 
linear in n-k
. . . 
 37Partial Symmetry Breaking (1)
- To avoid exponential number of clauses 
- Create permutation predicates for subset of 
 permutations
Generators or Powers of Generators or Composition 
of Generators
. . . 
 38Partial Symmetry Breaking (2)
- To avoid exponential number of clauses 
- Consider first k, instead of all, bits in a 
 permutation
e.g. consider only first 5 bits in each 
permutation
. . . 
 39Shatter  Flow Diagram
CNF instance 
 40Symmetries in Search Space 
 41Symmetry Detection and Breaking Flow
CNF instance
?  (ab)(bc)(ca)
Identify Symmetries
Break Symmetries
?1  (ac)(bc)(ca)?2  (ca)(abc)
SAT Solver
Our focus 
 42Symmetry Detection and Breaking Flow
CNF instance
DetectSymmetries
?  (ab)(bc)(ca) (ac)(!bc)
?1  (ac)(bc)(ca)?2  (ca)(abc)
?  (ab)(bc)(ca)
BreakSymmetries
Our focus 
 43Symmetry Detection and Breaking Flow
CNF instance
?  (ab)(bc)(ca)
?1  (ac)(bc)(ca)?2  (ca)(abc)
?  (ab)(bc)(ca) (ac)(!bc) 
 44Linear-Sized Tautology-Free PPs
- Variables that map to themselves (i.e. 
 )lead to
- Assume maps to itself
45Motivation 
- Many powerful SAT solvers are currently available 
- Yet, many EDA instances remain hard to solve 
- Recent work pointed out that breaking symmetries 
 can speed up search
- 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 shift 
 symmetries and their composition with
 permutational symmetries
46Outline
- Basic definitions 
- Symmetry-Breaking Predicate (SBP) construction by 
 Crawford et al.
- Efficient SBP constructions 
- Experimental results 
- Conclusions
47Permutations 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