We give a simple polynomial-time algorithm to exactly count the number of Euler Tours (ETs) of any Eulerian generalized series-parallel graph, and show how to adapt this algorithm to exactly sample a random ET of the given generalized series-parallel graph. Note that the class of generalized seriesparallel graphs includes all outerplanar graphs. We can perform the counting in time $O(m\Delta^3)$, where $\Delta$ is the maximum degree of the graph with $m$ edges. We use $O(m\Delta^2 \log \Delta)$ bits to store intermediate values during our computations. To date, these are the first known polynomial-time algorithms to count or sample ETs of any class of graphs; there are no other known polynomial-time algorithms to even approximately count or sample ETs of any other class of graphs. The problem of counting ETs is known to be $#P$-complete for general graphs (Brightwell and Winkler, 2005 [3]) and also for planar graphs (Creed, 2009 [4]).
Deep Dive into Exact counting of Euler Tours for generalized series-parallel graphs.
We give a simple polynomial-time algorithm to exactly count the number of Euler Tours (ETs) of any Eulerian generalized series-parallel graph, and show how to adapt this algorithm to exactly sample a random ET of the given generalized series-parallel graph. Note that the class of generalized seriesparallel graphs includes all outerplanar graphs. We can perform the counting in time $O(m\Delta^3)$, where $\Delta$ is the maximum degree of the graph with $m$ edges. We use $O(m\Delta^2 \log \Delta)$ bits to store intermediate values during our computations. To date, these are the first known polynomial-time algorithms to count or sample ETs of any class of graphs; there are no other known polynomial-time algorithms to even approximately count or sample ETs of any other class of graphs. The problem of counting ETs is known to be $#P$-complete for general graphs (Brightwell and Winkler, 2005 [3]) and also for planar graphs (Creed, 2009 [4]).
Let G = (V, E) denote an undirected, connected multigraph where the degree, d(v), of each vertex v ∈ V is even. Any standard introductory graph theory text has a result stating that every graph with even degree has an Euler tour (or Euler circuit), i.e., a circuit that traverses every edge of G exactly once. This result, which also holds for Eulerian multigraphs, implies a very simple linear-time algorithm for testing whether a given multigraph admits some Euler tour. In this paper we consider the counting and sampling of Euler tours of generalised series-parallel graphs, a special class of multigraphs. Throughout the paper we will use the term 'graph' to include multigraphs (ie, to allow the possibility of loops and parallel edges).
In 2005, Brightwell and Winkler showed that the problem of counting Euler tours is ♯P -complete [3]. This is in sharp contrast to the case of directed Eulerian graphs (i.e. connected digraphs for which the indegree equals the outdegree at each vertex), where the number of Euler tours can be counted exactly in polynomial-time using the Matrix-Tree Theorem [2] and the so-called “BEST” Theorem (after de Bruijn, van Aadenne-Ehrenfest, Smith, and Tutte, although apparently the first two deserve credit as the original discoverers [1]). More recently, Creed [4] showed that counting the number of Euler tours in undirected graphs remains ♯P -complete if G is restricted to be a planar graph.
These ♯P -completeness results naturally lead one to question for which classes of graphs can (exact or approximate) counting of the number of Euler tours be done efficiently. We consider the case of generalized series-parallel (GSP) graphs, a subclass of planar graphs with distinguished source s and sink t vertices, that may be constructed in an inductive manner using a small number of operations. The key operations combine two generalized series-parallel graphs G 1 , G 2 to form a larger graph, and these operations are known as series composition G 1 o s G 2 , parallel composition G 1 o p G 2 , and the dangling composition G 1 o d G 2 . These operations are all defined in Section 2.1. The problem of checking whether a given graph G is a generalized series-parallel graph can be done in polynomial time [6], and if G is a GSP graph, a hierarchical binary tree decomposition of G (see Section 2.1) can be found in polynomial time [5,12,13,14,10,6]. In a hierarchical tree decomposition T of a generalized series-parallel graph G, each internal node u is associated with an operation o u (one of o s , o p and o d ) and each leaf node u is associated with an edge (of G). For every internal node u of the tree decomposition, with child nodes v and w, the subtree T u represents a connected subgraph G u of G, where o u is the top-level operator combining G v and G w .
In this paper we give a polynomial-time “dynamic-programming”-like algorithm for exactly counting Euler tours for GSP graphs. Our main result is as follows:
Theorem 1 Let G be an Eulerian generalized series-parallel graph having m edges and maximum degree ∆. We assume that we know T , a binary tree decomposition for G.
Counting the number of Euler tours of G can be performed using O(m∆ 3 ) arithmetic operations, and using O(m∆ 2 log ∆) bits for storing intermediate values in the computations.
We also show how we can use our results to sample an Euler tour of a GSP graph exactly uniformly at random. To the best of our knowledge, these are the first polynomial-time algorithms for counting (and sampling uniformly at random from) the set of Euler tours for any class of undirected graphs. At the time of writing, we do not even know of any approximate-counting results for any significant class of undirected graphs. One of the few relevant results of which we are aware is an approximate asymptotic formula for the number of Euler tours of the complete graph on any odd number of vertices [8].
For general graphs, there exist natural Markov chains for sampling Euler tours such as the “Kotzig chain”, which uses circuit reversals. However, although there has been some research on the Kotzig Markov chain [11], no correct proof of rapid mixing has yet been found for any class of Eulerian graphs.
Our paper is structured as follows: in Section 2 we give some key definitions, including the definition of an (s, t)-decomposition of an Eulerian graph with distinguished vertices s, t. Most of the work in this paper deals with the relationship between these (s, t)-decompositions and Euler tours, and the building-up of counts of these (s, t)-decompositions. In Section 3 we will show that the number of Euler tours of a Eulerian graph G can be expressed as a simple weighted sum over the count of (s, t)-decompositions with k non-loop paths for a linear number of k values. Therefore the main component of both our counting and sampling algorithms will be to build a table containing the counts of (s, t)-decompositions, for all component graphs of G, and all relevant k. I
…(Full text truncated)…
This content is AI-processed based on ArXiv data.