430 likes | 587 Views
Conflict Anticipation in the Search for Graph Automorphisms. Hadi Katebi Karem A. Sakallah Igor L. Markov University of Michigan Department of Computer Science and Engineering. Graph Automorphism (Symmetry). A permutation of graph vertices that preserves graph edge relation. 0. 1.
E N D
Conflict Anticipation in the Search for Graph Automorphisms HadiKatebi Karem A. Sakallah Igor L. Markov University of Michigan Department of Computer Science and Engineering LPAR 2012 Merida Venezuela March 12th
Graph Automorphism (Symmetry) • A permutation of graph vertices that preserves graph edge relation 0 1 (0 2) 2 1 3 2 3 0 0 1 1 2 (0 1 2 3) 3 2 0 3 0 1 1 0 (0 1) 3 2 3 2 LPAR 2012 Merida Venezuela March 12th
Graph Automorphism Group • The set of all symmetries of a graph form a group under functional composition • A group is an algebraic structure comprising a non-empty set of elements with a binary operation that • is associative • admits an identity element • and is invertible 0 1 Aut(G) = {ι, (0 2), (1 3), (0 2)(1 3), (0 1)(2 3), (0 3)(1 2), (0 1 2 3), (0 3 2 1)} 3 2 LPAR 2012 Merida Venezuela March 12th
Group Generating Set • A generating set of a group is a subset of the group's elements whose combinations under the group operation generate the entire group Aut(G) = {ι, (0 2), (1 3), (0 2)(1 3), (0 1)(2 3), (0 3)(1 2), (0 1 2 3), (0 3 2 1)} 0 1 Generating set = {(0 2), (0 3)(1 2)} 3 2 (0 3 2 1) = (0 2) . (0 3)(1 2) (0 1 2 3) = (0 3)(1 2) . (0 2) (1 3) = (0 1 2 3) . (0 3)(1 2) and so on … LPAR 2012 Merida Venezuela March 12th
Graph Symmetry Detection • Given a graph, graph symmetry detection tool looks for a set of generators for the symmetry group of the graph Graph Symmetry Detection tools nauty (1981) saucy1 (2004) saucy2 (2008) saucy3 (2012) bliss (2007) nishe (2008) Graph Canonical Labeling tools traces (2008) LPAR 2012 Merida Venezuela March 12th
Saucy Search Nodes • Saucy builds a branching and backtracking search tree • Nodes of the tree are ordered partition pairs (OPP) • Isomorphic OPP: and for all • Non-isomorphic OPP: or for some • Matching OPP: for all where • Discrete OPP: for all • Unit OPP: LPAR 2012 Merida Venezuela March 12th
OPP Example • Each OPP represents a set of permutations • Isomorphic OPP: • Non-isomorphic OPP: • Matching OPP: • Discrete OPP: • Unit OPP: LPAR 2012 Merida Venezuela March 12th
Saucy Search Tree 0 2 1 LPAR 2012 Merida Venezuela March 12th
Pruning Techniques • Group theoretic • Coset pruning: one generator per coset is sufficient to generate the entire coset • Orbit pruning: prevents from searching redundant generators • Algorithmic(based on partition refinement) • Non-isomorphic OPP pruning: discard subtrees that lead to conflicts during refinement • Matching OPP pruning: the permutation encoded by a matching OPP can be used as a coset representative saucy3 enhances partition refinement LPAR 2012 Merida Venezuela March 12th
Partition Refinement • OPPs are refined based on vertex color, vertex degree, and edge relation to prune away the search space that do not lead to symmetries 0 0 2 1 2 1 refine LPAR 2012 Merida Venezuela March 12th
More Complicated Example A Part of Miyazaki Graph saucy 2.0 saucy 3.0 4 gens 4 gens 1gen 1gen LPAR 2012 Merida Venezuela March 12th
Refinement Step 1 Refine root = LPAR 2012 Merida Venezuela March 12th
Refinement Step 2 Color 11 differently & propagate Color 0 differently & propagate root = LPAR 2012 Merida Venezuela March 12th
Refinement Step 3 Color 14 differently & propagate Color 4 differently & propagate LPAR 2012 Merida Venezuela March 12th
Conflict Anticipation Color 14 differently & propagate Color 4 differently & propagate LPAR 2012 Merida Venezuela March 12th
Overlooked Conflict This OPP violates the edge relation and is a conflict! LPAR 2012 Merida Venezuela March 12th
Simultaneous Refinement Color 14 differently & propagate Color 4 differently & propagate LPAR 2012 Merida Venezuela March 12th
Simultaneous vs. Conventional Refinement • Conventional refinement • Refine one partition at a time • First refine the top partition and then the bottom • Check “OPP” isomorphism of the bottom to the top whenever a new split occurs • Simultaneous refinement • Check “OPP” isomorphism after each refinement step rather than whenever a new split occurs • Ensure that the connections of each newly created cell on the bottom match the connections of its corresponding cell on the top LPAR 2012 Merida Venezuela March 12th
Search Tree with Conventional Refinement (saucy 2.0) 4 gens 1gen Orbit pruned 16 bad nodes LPAR 2012 Merida Venezuela March 12th
Search Tree with Simultaneous Refinement (saucy 3.0) 4 gens Orbit pruned 1gen 4 bad nodes LPAR 2012 Merida Venezuela March 12th
Experimental Evaluation • Introduce saucy 3.0 • We tested saucy 3.0 on 1445 graph benchmarks • Experiments were conducted on a SUN workstation with • 3GHz Intel Dual-Core CPU • 6MB cache • 8GB RAM • 64-bit Redhat Linux LPAR 2012 Merida Venezuela March 12th
Graph Benchmarks LPAR 2012 Merida Venezuela March 12th
Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Conflict Depth LPAR 2012 Merida Venezuela March 12th
Conflict Depth LPAR 2012 Merida Venezuela March 12th
Conflict Depth LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th
Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th
Saucy 3.0 vs. Nishe 0.1 • Runtimes of saucy and nishe were comparable for Miyazaki graphs • Nishe exhibited poor performance on the remaining benchmarks • Failed to complete (timed out on or had a segmentation fault): • 59 out of 92 saucy benchmarks • 950 out of 1200 SAT instances • 24 out of 33 binary networks LPAR 2012 Merida Venezuela March 12th
Runtime as a Function of Size LPAR 2012 Merida Venezuela March 12th
Runtime as a Function of Size LPAR 2012 Merida Venezuela March 12th
Runtime as a Function of Size LPAR 2012 Merida Venezuela March 12th
Summary and conclusions • We proposed simultaneous partition refinement • Our refinement technique allows the anticipation of possible future conflicts • Our empirical comparison showed the superiority of saucy 3.0 on most available benchmarks • It significantly optimized Miyazaki graphs • Saucy did not perform well on relatively small benchmarks • Investigate the structure of those benchmarks • Explore alternative branching heuristics • Seek additional optimization tricks LPAR 2012 Merida Venezuela March 12th