Symmetry and Satisfiability: An Update

1 / 39

# Symmetry and Satisfiability: An Update - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Symmetry and Satisfiability: An Update' - pakuna

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Symmetry and Satisfiability: An Update

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
• Pruning via partition refinement:
• Non-isomorphic OPP pruning
• Matching OPP pruning
• Group-theoretic pruning:
• Coset pruning
• Orbit pruning
• Algorithm trace
• Experimental results
• Conclusions

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.

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

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 !
Ordered Partitions
• Unit OP: m = 1
• Discrete OP: m = n
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

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

(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

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

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

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

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)

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

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}

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
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
Saucy Group Order vs. Testcase
• 323 benchmarks exhibited non-trivial symmetries
• Random category:
• Crafted category:
• 175 out of 263 (66%) had symmetry
• 18 timed out
• Application category:
• 144 out of 292 (50%) had symmetry
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
Shatter Variables and Clauses
• Shatter on 47 benchmarks
• Unsolved benchmarks or benchmarks with run time > 1000 sec.
• Application: 13
• Crafted: 34
• Less than 4% for 29 benchmarks
• Ranged from 25% to 133% for 18 benchmarks
• Less than 1% for 23 benchmarks
• Ranged from 9% to an order of magnitude for 24 benchmarks
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.
SAT Solver Run Time
• 13 out of 47 benchmarked finished within time-outs
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
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