1 / 39

Symmetry and Satisfiability: An Update

Symmetry and Satisfiability: An Update. Hadi Katebi Karem A. Sakallah Igor L. Markov The University of Michigan. SAT’10, Edinburgh, UK, July 11, 2010. Outline. Graph symmetry Implicit representation of permutation sets: Ordered Partition Pairs (OPPs) Basic permutation search tree

pakuna
Download Presentation

Symmetry and Satisfiability: An Update

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. Symmetry and Satisfiability: An Update Hadi Katebi Karem A. Sakallah Igor L. Markov The University of Michigan SAT’10, Edinburgh, UK, July 11, 2010

  2. Outline • Graph symmetry • Implicit representation of permutation sets: Ordered Partition Pairs (OPPs) • Basic permutation search tree • Pruning via partition refinement: • Non-isomorphic OPP pruning • Matching OPP pruning • Group-theoretic pruning: • Coset pruning • Orbit pruning • Algorithm trace • Experimental results • Conclusions

  3. 4 1 2 4 4 2 2 1 2 3 2 3 3 3 3 7 7 7 7 5 5 6 6 5 5 5 6 6 6 4 4 2 3 4 3 2 4 1 4 1 1 1 1 1 8 8 8 8 2 3 7 6 5 4 1 8 Graph Symmetry (1 2 3 4)(5 6) (1 4)(2 3) is not a symmetry! is a symmetry! The set of edges is unchanged. The set of edges is different.

  4. Problem Statement • Given a graph G • with n vertices • and a partition p of its vertices (colors), • with unknown set of symmetries Sym(G)p, • Find a set of symmetries S Sym(G)p • such that S generates Sym(G)p • and |S| ≤n - 1

  5. Graph Symmetry Tools • Nauty (McKay, ’81) • Blazed the trail • Tuned to quickly find the symmetries oflarge sets of small graphs • Saucy (Darga et al, DAC ’04) • Graph symmetry can be fast for large yetsparse graphs • > 1000x speedup over nauty for graphs with tens of thousands of vertices • Bliss (Junttila & Kaski, ’07) • Efficient canonical labeling of sparse graphs • Some improvements on Saucy • Traces (Piperno, ’08) Primarily canonical labeling tools; symmetries produced as a byproduct

  6. Permutations • Permutation: bijection from V to V • Tabular representation • Cycle notation • Graph Symmetry: permutation that preserves edge relation • Permutation Composition: • Symmetric group on m-element set T: Sm(T ) • |Sm(T )| = m !

  7. Ordered Partitions • Unit OP: m = 1 • Discrete OP: m = n

  8. Ordered Partition Pair (OPP) • Isomorphic OPP: m = k and • Non-isomorphic OPP: m ≠ k or • Matching OPP: isomorphic and • Unit OPP: top and bottom ordered partitions are unit • Discrete OPP: top and bottom ordered partitions are discrete

  9. Implicit Representation of Permutations Sets using OPPs Discrete OPP(single permutation)

  10. Implicit Representation of Permutations Sets using OPPs Unit OPP(m ! permutations)

  11. Implicit Representation of Permutations Sets using OPPs Isomorphic OPP

  12. Implicit Representation of Permutations Sets using OPPs Matching OPP

  13. Implicit Representation of Permutations Sets using OPPs Non-isomorphic OPP

  14. 1 2 8 6 7 7 8 7 7 6 5 8 6 6 7 8 6 6 7 67 68 66 3 4 6 8 7 8 8 7 8 6 88 77 78 76 86 77 Basic Search for Symmetries ü ü X X X X

  15. (3) (2,1) (3) (3) (3) 1 2 7 (2,1) (2,1) (2,1) 5 6 (7) (3) (3) 3 4 8 (3) (2,1) (2,1) (2,1) Vertex Partition Refinement • Try to distinguish vertices that are not symmetric 5 • For each vertex v, compute a neighbor-count tuple • Partition the vertices based on these tuples • Repeat until the partition stabilizes R

  16. 7 7 8 6 6 6 8 8 7 78 77 Search-Tree Pruning via Vertex Refinement R ü ü

  17. Isomorphic Refinement 1 1 2 2 7 7 5 5 6 6 3 3 4 4 8 8 12 2 1 1 2 4 3 3 4 Top Bottom ü R

  18. Non-Isomorphic Refinement 1 1 2 2 7 7 5 5 6 6 3 3 4 4 8 8 16 7 1 2 6 8 3 4 Top Bottom û R

  19. 5 Group Generators identity (1 2 4 3) (1 4)(2 3) (1 3 4 2) (1 2)(3 4) (1 3)(2 4) (1 4) (2 3) identity (6 7 8) (6 8 7) (6 7) (6 8) (7 8) 1 2 7 6 3 4 8 • 8 vertices: 8! = 40320 permutations • 48 symmetries8 for square and 6 for triangle • Basic enumeration is inefficient • Fundamental concept: symmetry group can be represented implicitly by an exponentially smaller set of generators

  20. 1 2 7 5 6 3 4 8 Group Generators Generators: g1 = (1 2)(3 4) g2 = (2 3) g3 = (6 7) g4 = (6 8) = g2g1g3g4g3 (1 3 4 2)(7 8) is a symmetry • g4g3 = (6 8) ◦ (6 7) = (6 7 8) g3g4g3 = (6 7) ◦ (6 7 8) = (7 8) g1g3g4g3 = (1 2)(3 4) ◦ (7 8) = (1 2)(3 4)(7 8) g2g1g3g4g3 = (2 3) ◦ (1 2)(3 4)(7 8) = (1 3 4 2)(7 8)

  21. Orbit Partition • Initial partition: {{1,2,3,4,5,6,7,8}} • Orbit partition: {{1,2,3,4},{5},{6,7,8}} • After degree refinement: {{1,2,3,4,6,7,8},{5}} 1 2 7 5 6 3 4 8 • Symmetry group induces an equivalence relation on vertices: the orbit partition • Refinement provides an approximation of the orbit partition • Orbit partition: • Built up incrementally from discovered symmetries • Used to prune search for redundant symmetries

  22. Cosets • A subgroup H of a group G partitions it into cosets • Each coset has the same number of elements as H • G can be generated by composing a single representative from each coset with H • Used to prune search for redundant symmetries

  23. Structure of Permutation Search Tree

  24. Algorithm Outline • Phase 1: Recursive subgroup decomposition • Phase 2: Search for coset representatives … surprisingly like SAT solving! • Four pruning mechanisms: • Graph-theoretic • Coset pruning: stop after coset representative is found • Orbit pruning: avoid looking for coset representative • Algorithmic (due to OPP data structure): • Matching OPP pruning: identify candidate permutation before reaching leaves • Non-isomorphic OPP pruning: detect absence of coset representative in current subtree

  25. 1 11 2 7 16 12 13 14 17 18 5 6 3 4 8 21 24 22 23 (2 3) = 68 66 67 (1 2)(3 4) = 77 78 76 78 Saucy 2.1 Search Tree R R R // // x ≈ Orbit Partition // {1,2,3,4}{6,7,8} {2,3}{6,7,8} id (7 8) ≈ Coset pruning // Orbit Pruning = Matching OPP x Non-isomorphic OPP (6 7) ≈ {6,7,8} {7,8}

  26. Experimental Evaluation • 1183 SAT 2009 competition benchmarks • Application • Crafted • Random • Saucy on all 1183 • Shatter on 47 most difficult benchmarks • Experiments on SUN workstation • 3GHz Intel Dual-Core CPU • 6MB cache • 8GB RAM • 64-bit Redhat Linux

  27. Saucy Time vs. Graph Vertices

  28. Saucy Time vs. Graph Vertices • Time out = 500 sec. • Sacuy finished on all but 18 • connum: 6 (solved by varying branching heuristics) • equilarge: 3 • mod2-rand3bip: 9 • Crafted category is the most challenging • Weak trend towards larger run times for larger graphs • Saucy is really fast (runtime < 1 sec.) on 93% (1101) of all benchmarks

  29. Saucy Group Order vs. Testcase

  30. Saucy Group Order vs. Testcase • 323 benchmarks exhibited non-trivial symmetries • Random category: • 606 had no symmetry • 4 had one symmetry • Crafted category: • 175 out of 263 (66%) had symmetry • 18 timed out • Application category: • 144 out of 292 (50%) had symmetry

  31. Saucy Group Order vs. #generators

  32. Saucy Group Order vs. #generators • Guarantee to produce no more than n - 1 generators for n-vertex graph • The number of reported generators is significantly less than n - 1

  33. Shatter +SBP Variables

  34. Shatter +SBP Clauses

  35. Shatter Variables and Clauses • Shatter on 47 benchmarks • Unsolved benchmarks or benchmarks with run time > 1000 sec. • Application: 13 • Crafted: 34 • # added SBP clauses • Less than 4% for 29 benchmarks • Ranged from 25% to 133% for 18 benchmarks • # added SBP variables • Less than 1% for 23 benchmarks • Ranged from 9% to an order of magnitude for 24 benchmarks

  36. Shatter (Symmetry-Breaking) Flow • Use shatter to generate SBPs • Add SBPs to the original CNF formula • Pass the augmented CNF formula to the SAT solver • Statistical data: • We used a re-ordering script to • Reorder variables • Reorder clauses • 20 re-ordered versions of each benchmark • 10 for the original benchmarks • 10 for the SBP augmented benchmarks • Time-outs • Crafted: 5000 sec. • Application: 10000 sec.

  37. SAT Solver Run Time • 13 out of 47 benchmarked finished within time-outs

  38. SAT Solver Run Time • SBP augmented versions led to fewer time-outs • All but 3 benchmarks were solved faster • Four benchmarks which were reported to be unsolvable in SAT 2009 competition were solved with the addition of SBPs

  39. Conclusions and Future Work • For SAT: symmetry discovery is practically free • Static symmetry breaking • Many CNF instances possess no or little symmetry • CNF instances with a lot of symmetry may or may not benefit from static symmetry breaking • Future work: • SAT-inspired algorithmic enhancements: • Branching heuristics • Learning • Dynamic symmetry breaking: • Integrating symmetry breaking within the SAT solver • Uncovering hidden/conditional symmetries

More Related