Novel Techniques to Speed Up the Computation of the Automorphism Group of a Graph

Graph automorphism (GA) is a classical problem, in which the objective is to compute the automorphism group of an input graph. Most GA algorithms explore a search tree using the individualization-refinement procedure. Four novel techniques are proposed which increase the performance of any algorithm of this type by reducing the depth of the search tree and by effectively pruning it. We formally prove that a GA algorithm that uses these techniques correctly computes the automorphism group of an input graph. Then, we describe how these techniques have been incorporated into the GA algorithm conauto, as conauto-2.03, with at most an additive polynomial increase in its asymptotic time complexity. Using a benchmark of different graph families, we have evaluated the impact of these techniques on the size of the search tree, observing a significant reduction both when they are applied individually and when all of them are applied together. This is also reflected in a reduction of the running time, which is substantial for some graph families. Finally, we have compared the search tree size of conauto-2.03 against those of other popular GA algorithms, observing that, in most cases, conauto explores less nodes than these algorithms.

[1]  Igor L. Markov,et al.  Conflict Analysis and Branching Heuristics in the Search for Graph Automorphisms , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[2]  Narsingh Deo,et al.  Attacks on difficult instances of graph isomorphism: sequential and parallel algorithms , 2009 .

[3]  B. Weisfeiler On construction and identification of graphs , 1976 .

[4]  Igor L. Markov,et al.  Conflict Anticipation in the Search for Graph Automorphisms , 2012, LPAR.

[5]  Petteri Kaski,et al.  Conflict Propagation and Component Recursion for Canonical Labeling , 2011, TAPAS.

[6]  Takunari Miyazaki,et al.  The complexity of McKay's canonical labeling algorithm , 1995, Groups and Computation.

[7]  Igor L. Markov,et al.  Symmetry and Satisfiability: An Update , 2010, SAT.

[8]  Gopal Pandurangan,et al.  Improved Random Graph Isomorphism Tomek Czajka , 2006 .

[9]  M. Klin,et al.  Algebraic Combinatorics in Mathematical Chemistry. Methods and Algorithms. III. Graph Invariants and , 1999 .

[10]  Brendan D. McKay,et al.  Practical graph isomorphism, II , 2013, J. Symb. Comput..

[11]  Petteri Kaski,et al.  Engineering an Efficient Canonical Labeling Tool for Large and Sparse Graphs , 2007, ALENEX.

[12]  Mario Vento,et al.  Graph matching applications in pattern recognition and image processing , 2003, Proceedings 2003 International Conference on Image Processing (Cat. No.03CH37429).

[13]  Antonio Fernández,et al.  Fast Algorithm for Graph Isomorphism Testing , 2009, SEA.

[14]  Mario Vento,et al.  A large database of graphs and its use for benchmarking graph isomorphism algorithms , 2003, Pattern Recognit. Lett..

[15]  J. L. Presa Efficient algorithms for graph isomorphism testing , 2009 .

[16]  G. Eric Moorhouse,et al.  PSL(2,q) as a collineation group of projective planes of small order , 1989 .

[17]  Igor L. Markov,et al.  Exploiting structure in symmetry detection for CNF , 2004, Proceedings. 41st Design Automation Conference, 2004..

[18]  Igor L. Markov,et al.  Graph Symmetry Detection and Canonical Labeling: Differences and Synergies , 2012, Turing-100.

[19]  Adolfo Piperno,et al.  Search Space Contraction in Canonical Labeling of Graphs (Preliminary Version) , 2008, ArXiv.

[20]  Jean-Loup Faulon,et al.  Isomorphism, Automorphism Partitioning, and Canonical Labeling Can Be Solved in Polynomial-Time for Molecular Graphs , 1998, J. Chem. Inf. Comput. Sci..