symmetry and satisfiability an update n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Symmetry and Satisfiability: An Update PowerPoint Presentation
Download Presentation
Symmetry and Satisfiability: An Update

Loading in 2 Seconds...

play fullscreen
1 / 39

Symmetry and Satisfiability: An Update - PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on

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

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

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


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

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

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
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
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
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
Ordered Partitions
  • Unit OP: m = 1
  • Discrete OP: m = n
ordered partition pair opp
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
basic search for symmetries

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

vertex partition refinement

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

group generators

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

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
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
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
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
saucy 2 1 search tree

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
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 vertices1
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 testcase1
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
saucy group order vs generators1
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 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
shatter symmetry breaking flow
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
SAT Solver Run Time
  • 13 out of 47 benchmarked finished within time-outs
sat solver run time1
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
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