Weisfeiler–Leman Algorithm
   HOME

TheInfoList



OR:

In
graph theory In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
and
theoretical computer science Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation. It is difficult to circumscribe the theoretical areas precisely. The Associati ...
, the colour refinement algorithm also known as the naive vertex classification, or the 1-dimensional version of the Weisfeiler-Leman algorithm, is a routine used for testing whether two graphs are
isomorphic In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
. While it solves graph isomorphism on almost all graphs, there are graphs such as all regular graphs that cannot be distinguished using colour refinement.


Description

The algorithm takes as an input a graph G with n vertices. It proceeds in iterations and in each iteration produces a new colouring of the vertices. Formally a " colouring" is a function from the vertices of this graph into some set (of "colours"). In each iteration, we define a sequence of vertex colourings \lambda_i as follows: * \lambda_0 is the initial colouring. If the graph is unlabelled, the initial colouring assigns a trivial colour \lambda_0(v) to each vertex v. If the graph is labelled, \lambda_0 is the label of vertex v. * For all vertices v, we set \lambda_ = \left(\lambda_i(v), \\right). In other words, the new colour of the vertex v is the pair formed from the previous colour and the
multiset In mathematics, a multiset (or bag, or mset) is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The number of instances given for each element is called the ''multiplicity'' of ...
of the colours of its neighbours. This algorithm keeps refining the current colouring. At some point it stabilises, i.e., \lambda_ \equiv \lambda_i. This final colouring is called the ''stable colouring''.


Graph Isomorphism

Colour refinement can be used as a subroutine for an important computational problem:
graph isomorphism In graph theory, an isomorphism of graphs ''G'' and ''H'' is a bijection between the vertex sets of ''G'' and ''H'' : f \colon V(G) \to V(H) such that any two vertices ''u'' and ''v'' of ''G'' are adjacent in ''G'' if and only if f(u) and f(v) a ...
. In this problem we have as input two graphs G, H and our task is to determine whether they are
isomorphic In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
. Informally, this means that the two graphs are the same up to relabelling of vertices. To test if G and H are isomorphic we could try the following. Run colour refinement on both graphs. If the stable colourings produced are different we know that the two graphs are not isomorphic. However, it could be that the same stable colouring is produced despite the two graphs not being isomorphic; see below.


Complexity

It is easy to see that if colour refinement is given a n vertex graph as input, a stable colouring is produced after at most n-1 iterations. Conversely, there exist graphs where this bound is realised. This leads to a O((n+m)\log n) implementation where n is the number of vertices and m the number of edges. This complexity has been proven to be optimal under reasonable assumptions.


Expressivity

We say that two graphs G and H are ''distinguished'' by colour refinement if the algorithm yields a different output on G as on H . There are simple examples of graphs that are not distinguished by colour refinement. For example, it does not distinguish a cycle of length 6 from a pair of triangles (example V.1 in ). Despite this, the algorithm is very powerful in that a random graph will be identified by the algorithm asymptotically almost surely. Even stronger, it has been shown that as n increases, the proportion of graphs that are ''not'' identified by colour refinement decreases exponentially in order n . The expressivity of colour refinement also has a logical characterisation: two graphs can be distinguished by colour refinement if and only if they can be distinguished by the two variable fragment of first order logic with
counting Counting is the process of determining the number of elements of a finite set of objects; that is, determining the size of a set. The traditional way of counting consists of continually increasing a (mental or spoken) counter by a unit for ever ...
.Grohe, Martin. "Finite variable logics in descriptive complexity theory." Bulletin of Symbolic Logic 4.4 (1998): 345-398.


History


References

{{Reflist Graph algorithms