Transcript Mende
Graph Theory:
Euler Circuits
Christina Mende
Math 480
April 15, 2013
Preliminaries
A graph is a pair G=(V,E) of sets satisfying
The elements of V are the vertices of our
graph.
The elements of E are the edges of our
graph.
a
V={a,b,c,d}
E={{a,b},{a,c},{b,c},{c,d}}
b
c
d
Preliminaries
The degree of a vertex v (denoted deg(v))
is the number of edges directly connected to that
vertex.
deg(a)=2
deg(b)=2
deg(c)=3deg(d)=1
a
V={a,b,c,d}
E={{a,b},{a,c},{b,c},{c,d}}
b
c
d
Preliminaries
A path of length n>0 is a sequence of edges that
begins at a vertex of the graph and travels from
vertex to vertex along the edges of a graph.
If a path begins and ends at the same vertex, it is
called a closed path or circuit.
a
e.g.
a,b,c,d is a path
a,b,c,a is a circuit.
b
c
d
Preliminaries
A graph is connected if it cannot be expressed as
the union of two graphs
a
G1
b
Connected
c
G2
d
In other words, a graph is connected if
there is a path between every distinct
vertex of the graph.
Disconnected
The Seven Bridges of Königsberg
Question: Is it possible to start at some location in town,
travel across all seven bridges without crossing any bridge
twice, and return to the same starting point?
C
D
A
B
Multigraph model of Seven
Bridges of Konigsberg.
Euler Circuits
A connected graph G is called Eulerian if there
exists a closed path which includes every edge of
G.
Note that this means each edge must be traversed
once and only.
Such a path is called an Eulerian circuit.
Euler Circuits
Theorem: A connected graph G
is Eulerian if and only if the
degree of every vertex of G is
even.
C
D
A
B
Euler Paths Constructions:
Fleury’s Algorithm
If G is an Eulerian graph, then we can always construct an Euler
circuit for G using the following algorithm.
Pick any vertex v to start and traverse the edges in an arbitrary
manner, subject to the following rules:
1.
2.
Erase the edges as they are traversed,
3.
Avoid edges that will prematurely end the circuit.
Never cross a bridge of the reduced graph unless there is
no other choice,
Note: a bridge is an edge such that,
if you cross it, the remaining graph will
be disconnected.
Fleury’s Algorithm
Pick any vertex v to start and traverse the edges in an arbitrary
manner, subject to the following rules:
1.
2.
Erase the edges as they are traversed,
3.
Avoid edges that will prematurely end the circuit.
Never cross a bridge of the reduced graph unless there is
no other choice,
Hierholzer’s Algorithm
1.
2.
3.
4.
5.
Pick any vertex v to start
From v, pick an edge to traverse, (remember to darken those
edges), and continue until you return to the starting vertex v.
If you have traveled through all the edges, you’re done!
If not, pick any vertex from the the darkened graph that still
has edges not traveled and repeat step 2 using this new
vertex.
Splice together the two circuits. If you have traveled all the
edges of the graph, you’re done. If not, repeat the process.
Circuit 1:
A
A, C, F, D, A
B
Circuit 2:
D
C
F, G, B , D, G, E, B, A , F
E
Completed Euler Circuit:
A, C, F, G, B, D, G, E, B, A, F, D, A
F
G
Any Questions?
References
R. Diestel, Graph Theory.
L.R. Foulds, Graph Theory Applications.
K. Rosen, Discrete Mathematics and Its Applications.
R. Wilson, Introduction To Graph Theory.
Image from: http://www.cs.sunysb.edu/~skiena/combinatorica/animations/euler.html