Tight Lower and Upper Bounds for the Complexity of Canonical Colour Refinement

  • Christoph Berkholz
  • Paul Bonsma
  • Martin Grohe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8125)


An assignment of colours to the vertices of a graph is stable if any two vertices of the same colour have identically coloured neighbourhoods. The goal of colour refinement is to find a stable colouring that uses a minimum number of colours. This is a widely used subroutine for graph isomorphism testing algorithms, since any automorphism needs to be colour preserving. We give an O((m+n)log n) algorithm for finding a canonical version of such a stable colouring, on graphs with n vertices and m edges. We show that no faster algorithm is possible, under some modest assumptions about the type of algorithm, which captures all known colour refinement algorithms.


Stable Colouring Colour Class Graph Isomorphism Canonical Sequence Stable Partition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Babai, L.: Moderately exponential bound for graph isomorphism. In: Gécseg, F. (ed.) FCT 1981. LNCS, vol. 117, pp. 34–50. Springer, Heidelberg (1981)Google Scholar
  2. 2.
    Babai, L., Erdös, P., Selkow, S.: Random graph isomorphism. SIAM Journal on Computing 9, 628–635 (1980)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Babai, L., Luks, E.: Canonical labeling of graphs. In: Proc. STOC 1983, pp. 171–183 (1983)Google Scholar
  4. 4.
    Cai, J., Fürer, M., Immerman, N.: An optimal lower bound on the number of variables for graph identifications. Combinatorica 12(4), 389–410 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Cardon, A., Crochemore, M.: Partitioning a graph in O(|A|log2|V|). Theoretical Computer Science 19(1), 85–98 (1982)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Darga, P., Liffiton, M., Sakallah, K., Markov, I.: Exploiting structure in symmetry detection for CNF. In: Proc. DAG 2004, pp. 530–534 (2004)Google Scholar
  7. 7.
    Hopcroft, J.: An n log n algorithm for minimizing states in a finite automaton. In: Kohavi, Z., Paz, A. (eds.) Theory of Machines and Computations, pp. 189–196. Academic Press (1971)Google Scholar
  8. 8.
    Junttila, T., Kaski, P.: Engineering an efficient canonical labeling tool for large and sparse graphs. In: Proc. ALENEX 2007, pp. 135–149 (2007)Google Scholar
  9. 9.
    McKay, B.: Practical graph isomorphism. Congressus Numerantium 30, 45–87 (1981)MathSciNetGoogle Scholar
  10. 10.
    McKay, B.: Nauty users guide (version 2.4). Computer Science Dept., Australian National University (2007)Google Scholar
  11. 11.
    Paige, R., Tarjan, R.: Three partition refinement algorithms. SIAM Journal on Computing 16(6), 973–989 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Piperno, A.: Search space contraction in canonical labeling of graphs. arXiv preprint arXiv:0804.4881v2 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Christoph Berkholz
    • 1
  • Paul Bonsma
    • 2
  • Martin Grohe
    • 1
  1. 1.RWTH Aachen UniversityGermany
  2. 2.University of TwenteThe Netherlands

Personalised recommendations