In graph theory, a part of discrete mathematics, the BEST theorem gives a product formula for the number of Eulerian circuits in directed (oriented) graphs. The name is an acronym of the names of people who discovered it: N. G. de Bruijn, Tatyana Ehrenfest, Cedric Smith and W. T. Tutte.
Let G = (V, E) be a directed graph. An Eulerian circuit is a directed closed path which visits each edge exactly once. In 1736, Euler showed that G has an Eulerian circuit if and only if G is connected and the indegree is equal to outdegree at every vertex. In this case G is called Eulerian. We denote the indegree of a vertex v by deg(v).
The BEST theorem states that the number ec(G) of Eulerian circuits in a connected Eulerian graph G is given by the formula
\operatorname{ec}(G)=tw(G)\prodv\inl(\deg(v)-1r)!.
Here tw(G) is the number of arborescences, which are trees directed towards the root at a fixed vertex w in G. The number tw(G) can be computed as a determinant, by the version of the matrix tree theorem for directed graphs. It is a property of Eulerian graphs that tv(G) = tw(G) for every two vertices v and w in a connected Eulerian graph G.
The BEST theorem shows that the number of Eulerian circuits in directed graphs can be computed in polynomial time, a problem which is
for undirected graphs.[1] It is also used in the asymptotic enumeration of Eulerian circuits of complete and complete bipartite graphs.[2] [3]
The BEST theorem is due to van Aardenne-Ehrenfest and de Bruijn(1951),[4] §6, Theorem 6.Their proof is bijective and generalizes the de Bruijn sequences. In a "note added in proof", they refer to an earlier result by Smith and Tutte (1941) which proves the formula for graphs with deg(v)=2 at every vertex.