In this thesis we consider two sets of combinatorial structures defined on an Eulerian
graph: the Eulerian orientations and Euler tours. We are interested in the computational
problems of counting (computing the number of elements in the set) and sampling
(generating a random element of the set). Specifically, we are interested in the question
of when there exists an efficient algorithm for counting or sampling the elements of
either set.
The Eulerian orientations of a number of classes of planar lattices are of practical
significance as they correspond to configurations of certain models studied in statistical
physics. In 1992 Mihail and Winkler showed that counting Eulerian orientations of a
general Eulerian graph is #P-complete and demonstrated that the problem of sampling
an Eulerian orientation can be reduced to the tractable problem of sampling a perfect
matching of a bipartite graph. We present a proof that this problem remains #Pcomplete
when the input is restricted to being a planar graph, and analyse a natural
algorithm for generating random Eulerian orientations of one of the afore-mentioned
planar lattices. Moreover, we make some progress towards classifying the range of
planar graphs on which this algorithm is rapidly mixing by exhibiting an infinite class
of planar graphs for which the algorithm will always take an exponential amount of
time to converge.
The problem of counting the Euler tours of undirected graphs has proven to be less
amenable to analysis than that of Eulerian orientations. Although it has been known
for many years that the number of Euler tours of any directed graph can be computed in
polynomial time, until recently very little was known about the complexity of counting
Euler tours of an undirected graph. Brightwell and Winkler showed that this problem is
#P-complete in 2005 and, apart from a few very simple examples, e.g., series-parellel
graphs, there are no known tractable cases, nor are there any good reasons to believe
the problem to be intractable. Moreover, despite several unsuccessful attempts, there
has been no progress made on the question of approximability. Indeed, this problem
was considered to be one of the more difficult open problems in approximate counting
since long before the complexity of exact counting was resolved. By considering a
randomised input model, we are able to show that a very simple algorithm can sample
or approximately count the Euler tours of almost every d-in/d-out directed graph in
expected polynomial time. Then, we present some partial results towards showing that
this algorithm can be used to sample or approximately count the Euler tours of almost
every 2d-regular graph in expected polynomial time. We also provide some empirical
evidence to support the unproven conjecture required to obtain this result. As a sideresult
of this work, we obtain an asymptotic characterisation of the distribution of the
number of Eulerian orientations of a random 2d-regular graph