1 / 27

Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

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

ima
Download Presentation

Shatter : Efficient Symmetry-Breaking for Boolean Satisfiability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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.

  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 shiftsymmetries 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:

  5. SAT assignments Symmetries in Search Space SAT Solver

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

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

  8. 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)

  9. 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)

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

  11. 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

  12. 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

  13. Let , Introduce bit predicates : Linear-Sized PPs PP() size:5n clauses0.5n2 + 13.5n literals PP() size:4n clauses14n 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. 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

  21. Experimental Results % ofbits thatmap tothemselves Generators consisted of cycles of size 2 only

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

  23. Experimental Results 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 statistics for various symmetry-breaking candidatesusing 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!

More Related