Eulerian path

Eulerian path

In graph theory, an Eulerian path is a path in a graph which visits each edge exactly once. Similarly, an Eulerian circuit is an Eulerian path which starts and ends on the same vertex. They were first discussed by Leonhard Euler while solving the famous Seven Bridges of Königsberg problem in 1736. Mathematically the problem can be stated like this:

:Given the graph on the right, is it possible to construct a path (or a cycle, i.e. a path starting and ending on the same vertex) which visits each edge exactly once?

Graphs which allow the construction of so called Eulerian circuits are called Eulerian graphs. Euler observed that a necessary condition for the existence of Eulerian circuits is that all vertices in the graph have an even degree, and that for an Eulerian path either all, or all but two (i.e., the two endpoint) vertices have an even degree; this means the Königsberg graph is "not" Eulerian. Sometimes a graph that has an Eulerian path, but not an Eulerian circuit (in other words, it is an open path, and does not start and end at the same vertex) is called semi-Eulerian.

Carl Hierholzer published the first complete characterization of Eulerian graphs in 1873, by proving that in fact the Eulerian graphs are exactly the graphs which are connected and where every vertex has an even degree.

Definition

An Eulerian path, Eulerian trail or Euler walk in an undirected graph is a path that uses each edge exactly once. If such a path exists, the graph is called traversable. An Eulerian cycle, Eulerian circuit or Euler tour in an undirected graph is a cycle that uses each edge exactly once. If such a cycle exists, the graph is called Eulerian or unicursal. The cycle starts and ends at the same vertex.

For directed graphs path has to be replaced with directed path and cycle with directed cycle. The definition and properties of Eulerian paths, cycles and graphs are valid for multigraphs as well.

Notes

Some people reserve the terms path and cycle to mean "non-self-intersecting" path and cycle. A (potentially) self-intersecting path is known as a trail or an open walk; and a (potentially) self-intersecting cycle, a circuit or a closed walk. This ambiguity can be avoided by using the terms Eulerian trail and Eulerian circuit when self-intersection is allowed.

Properties

*A connected undirected graph is Eulerian if every graph vertex has an even degree.
*An undirected graph is Eulerian if it is connected and can be decomposed into edge-disjoint cycles.
*If an undirected graph "G" is Eulerian then its line graph "L"("G") is Eulerian too.
*A directed graph is Eulerian if it is connected and every vertex has equal in degree and out degree.
*A directed graph is Eulerian if it is connected and can be decomposed into edge-disjoint directed cycles.
*An undirected graph is traversable if it is connected and at most two vertices in the graph are of odd degree.

Constructing Eulerian paths and cycles

Consider a graph known to have all edges in the same component and at most two vertices of odd degree. We can construct an Eulerian path (not a cycle) out of this graph by using Fleury's algorithm, which dates to 1883. We start with a vertex of odd degree—if the graph has none, then start with any vertex. At each step we move across an edge whose deletion does not result in more than one connected component, unless we have no choice, then we delete that edge. At the end of the algorithm there are no edges left, and the sequence of edges we moved across forms an Eulerian cycle if the graph has no vertices of odd degree or an Eulerian path if there are two vertices of odd degree.

The definition of a Hamiltonian path is very similar (a Hamiltonian path visits every vertex exactly once, while an Eulerian path visits every edge exactly once). In practice, however, it is much more difficult to construct a Hamiltonian path or determine whether a graph is Hamiltonian, as that problem is NP-complete.

Counting Eulerian circuits

The number of Eulerian circuits in digraphs can be calculated using the so called BEST-theorem, named after de Bruijn, van Aardenne-Ehrenfest, Smith and Tutte.

Given an Eulerian digraph "G" := ("V", "E"), the number of non-equivalent Eulerian circuits in the graph is:C prod_{v in V}(deg^+(v)-1)!or equivalently:C prod_{v in V}(deg^-(v)-1)!with "C" any cofactor of the Laplacian matrix of "G".

Counting the number of Eulerian circuits on "undirected" graphs is much more difficult; it is known to be #P-complete. [Brightwell and Winkler, " [http://www.cdam.lse.ac.uk/Reports/Files/cdam-2004-12.pdf Note on Counting Eulerian Circuits] ", 2004.]

Asymptotic enumeration of Eulerian Circuits in the complete graph has been studied by [http://cs.anu.edu.au/~bdm/papers/euler.pdf McKay & Robinson ] and [http://www.algana.co.uk/Research/Counting.pdf Dwyer]

See also

*Hamiltonian path

Notes

References

* Euler, L., " [http://www.math.dartmouth.edu/~euler/pages/E053.html Solutio problematis ad geometriam situs pertinentis] ", "Comment. Academiae Sci. I. Petropolitanae" 8 (1736), 128-140.
* Hierholzer, C., "Über die Möglichkeit, einen Linienzug ohne Wiederholung und ohne Unterbrechnung zu umfahren", "Mathematische Annalen" 6 (1873), 30-32.
* Lucas, E., "Récréations Mathématiques IV", Paris, 1921.
* Fleury, "Deux problemes de geometrie de situation", "Journal de mathematiques elementaires" (1883), 257-261.

External links

* [http://mathforum.org/kb/message.jspa?messageID=3648262&tstart=135 Discussion of early mentions of Fleury's algorithm]
* [http://tuxv.blogspot.com/2007/05/eulerian-path.html C++ code] Contains a C++ code to generate an eulerian path for a given graph, and some information.
* [http://cs.anu.edu.au/~bdm/papers/euler.pdf McKay & Robinson]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Hamiltonian path — This article is about the overall graph theory concept of a Hamiltonian path. For the specific problem of determining whether a Hamiltonian path or cycle exists in a given graph, see Hamiltonian path problem. A Hamiltonian cycle in a dodecahedron …   Wikipedia

  • List of topics named after Leonhard Euler — In mathematics and physics, there are a large number of topics named in honour of Leonhard Euler (pronounced Oiler ). As well, many of these topics include their own unique function, equation, formula, identity, number (single or sequence), or… …   Wikipedia

  • Route inspection problem — In graph theory, a branch of mathematics, the Chinese postman problem (CPP), postman tour or route inspection problem is to find a shortest closed path or circuit that visits every edge of a (connected) undirected graph. When the graph has an… …   Wikipedia

  • Seven Bridges of Königsberg — The Seven Bridges of Königsberg is a famous historical problem in mathematics. Its 1736 negative resolution by Leonhard Euler laid the foundations of graph theory and presaged the idea of topology. Description The city of Königsberg in Prussia… …   Wikipedia

  • De Bruijn sequence — A diagram showing the De Bruijn sequence where k=2 and n=2 In combinatorial mathematics, a k ary De Bruijn sequence B(k, n) of order n, named after the Dutch mathematician Nicolaas Govert de Bruijn, is a cyclic sequence of a given alphabet A …   Wikipedia

  • List of terms relating to algorithms and data structures — The [http://www.nist.gov/dads/ NIST Dictionary of Algorithms and Data Structures] is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data… …   Wikipedia

  • Список терминов, относящихся к алгоритмам и структурам данных —   Это служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавливается на информационные списки и глоссарии …   Википедия

  • Список терминов — Список терминов, относящихся к алгоритмам и структурам данных   Это сл …   Википедия

  • Degree (graph theory) — A graph with vertices labeled by degree In graph theory, the degree (or valency) of a vertex of a graph is the number of edges incident to the vertex, with loops counted twice.[1] The degree of a vertex …   Wikipedia

  • List of mathematics articles (E) — NOTOC E E₇ E (mathematical constant) E function E₈ lattice E₈ manifold E∞ operad E7½ E8 investigation tool Earley parser Early stopping Earnshaw s theorem Earth mover s distance East Journal on Approximations Eastern Arabic numerals Easton s… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”