Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan.

Similar presentations


Presentation on theme: "Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan."— Presentation transcript:

1 Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan

2 Motivation … 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. Instance Chaff – Search runtime (sec) OriginalWith symmetry-breaking Hole12.cnf>10000.02

3 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 shift symmetries and their composition with permutational symmetries

4 Symmetries in SAT Permutations of variables that preserve clauses e.g., symmetries of  = (a + b + c)(d + e + f) include: PermutationFormula (ab)(b + a + c)(d + e + f) (ad)(be)(cf)(d + e + f)(a + b + c)

5 Symmetries in Search Space SAT Solver SAT assignments

6 Symmetries in Search Space SAT Solver Classes of symmetric truth assignments

7 Symmetries in Search Space SAT Solver Classes of symmetric truth assignments

8 Symmetry Detection and Breaking Flow CNF instance Colored Graph Graph Automorphism Tool e.g. GAP/Nauty Graph Symmetries Preprocessed CNF instance SAT Solver CNF Symmetries  = (a+b)(b+c)(c+a) a b c c’ b’ a’  1 = (ab)(a’b’)  2 = (bc)(b’c’)  = (a+b)(b+c)(c+a) (a’+b)(b’+c) Detect Symmetries Break Symmetries

9 Symmetry Detection and Breaking Flow CNF instance Colored Graph Graph Automorphism Tool e.g. GAP/Nauty Graph Symmetries Preprocessed CNF instance SAT Solver CNF Symmetries Detect Symmetries Break Symmetries  = (a+b)(b+c)(c+a) a b c c’ b’ a’  1 = (ab)(a’b’)  2 = (bc)(b’c’)  = (a+b)(b+c)(c+a) (a’+b)(b’+c)

10 Outline Basic definitions Symmetry-Breaking Predicate (SBP) construction by Crawford et al. Efficient SBP constructions Experimental results Conclusions

11 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 Generators All Permutations

12 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 x i under  Introduce auxiliary variables PP(  ) size: 5n clauses 0.5n 2 + 13.5n literals

13 Linear-Sized PPs Let, Introduce bit predicates : PP(  ) size: 4n clauses 14n literals PP(  ) size: 5n clauses 0.5n 2 + 13.5n literals

14 Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. ) lead to: Assume maps to itself:

15 Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. ) lead to: Assume maps to itself:

16 Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. ) lead to: Assume maps to itself:

17 Linear-Sized Tautology-Free PPs Variables that map to themselves (i.e. ) lead to: Assume maps to itself:

18 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

19 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

20 Group of symmetries Partial Symmetry-Breaking (2) Instead of breaking all symmetries, break only: Generators Generators and their powers Generators and their pair-wise compositions Generators Generators & their powers Generators & their compositions

21 Experimental Results % of bits that map to themselves Generators consisted of cycles of size 2 only

22 Experimental Results* Crawford et al. ‘96 Aloul et al. ‘02 * Break generators only

23 Experimental Results Quadratic constructionLinear construction All-bitsTautology-FreeAll-bitsTautology-Free Var120K8.6K120K8.6K Cl599K44K478K34K Lit36M404K1.7M119K Total size of generator-only SBPs using various SBP constructions

24 Experimental Results Total search runtimes for all instances when only k bits are considered from each generator (using linear tautology-free construction)

25 Experimental Results SBP Candidates # Perm. SBP Size Solve time #Var#Cl#Lit Generators3728.6K34K119K3.4 Generators & their Powers 3728.6K34K119K3.4 Generators & their Comp. 5402326K1.3M4.5M29 SBP statistics for various symmetry-breaking candidates using linear tautology-free construction

26 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/

27 Thank You!


Download ppt "Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan."

Similar presentations


Ads by Google