1 / 42

Conflict Anticipation in the Search for Graph Automorphisms

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.

rock
Télécharger la présentation

Conflict Anticipation in the Search for Graph Automorphisms

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

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

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

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

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

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

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

  8. Saucy Search Tree 0 2 1 LPAR 2012 Merida Venezuela March 12th

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

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

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

  12. Refinement Step 1 Refine root = LPAR 2012 Merida Venezuela March 12th

  13. Refinement Step 2 Color 11 differently & propagate Color 0 differently & propagate root = LPAR 2012 Merida Venezuela March 12th

  14. Refinement Step 3 Color 14 differently & propagate Color 4 differently & propagate LPAR 2012 Merida Venezuela March 12th

  15. Conflict Anticipation Color 14 differently & propagate Color 4 differently & propagate LPAR 2012 Merida Venezuela March 12th

  16. Overlooked Conflict This OPP violates the edge relation and is a conflict! LPAR 2012 Merida Venezuela March 12th

  17. Simultaneous Refinement Color 14 differently & propagate Color 4 differently & propagate LPAR 2012 Merida Venezuela March 12th

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

  19. Search Tree with Conventional Refinement (saucy 2.0) 4 gens 1gen Orbit pruned 16 bad nodes LPAR 2012 Merida Venezuela March 12th

  20. Search Tree with Simultaneous Refinement (saucy 3.0) 4 gens Orbit pruned 1gen 4 bad nodes LPAR 2012 Merida Venezuela March 12th

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

  22. Graph Benchmarks LPAR 2012 Merida Venezuela March 12th

  23. Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  24. Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  25. Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  26. Conflicts in saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  27. Conflict Depth LPAR 2012 Merida Venezuela March 12th

  28. Conflict Depth LPAR 2012 Merida Venezuela March 12th

  29. Conflict Depth LPAR 2012 Merida Venezuela March 12th

  30. Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  31. Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  32. Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  33. Runtime saucy 3.0 vs. saucy 2.1 LPAR 2012 Merida Venezuela March 12th

  34. Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th

  35. Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th

  36. Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th

  37. Runtime saucy 3.0 vs. bliss 0.72 LPAR 2012 Merida Venezuela March 12th

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

  39. Runtime as a Function of Size LPAR 2012 Merida Venezuela March 12th

  40. Runtime as a Function of Size LPAR 2012 Merida Venezuela March 12th

  41. Runtime as a Function of Size LPAR 2012 Merida Venezuela March 12th

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

More Related