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