Eulerizing Graphs

Class Notes: Eulerizing and Semi-Eulerizing Graphs
Remember:
Definition: An Euler path is a path that passes through every edge of a graph. Not all
graphs have Euler path. The one above does not, for instance, because you can’t get
to both vertex G and vertex H in one path.
An Euler circuit is a circuit that passes through every edge of a graph.
Euler’s Circuit Theorem
 If a graph is connected and every vertex is even, then it has an Euler circuit.
Consequence:If a graph has any odd vertices, then it does not have an
Euler circuit.
Euler’s Path Theorem
If a graph is connected and has exactly two odd vertices, then it has an Euler path.
Any such path must start at one of the odd vertices and end at the other one.
Consequence: If a graph has more than two odd vertices, then it cannot have
an Euler path.
Q: What if we need to have an Euler circuit but can’t because there are too many
vertices of odd degree?
A: Add duplicate edges to the graph to make it possible to get an Euler circuit. This is
called eulerizing a graph.
Definition: Take a graph and add duplicate edges to it to make all the vertices even.
Then the new graph you obtain is an eulerization of the original graph.
Examples
1
Example of reason to Eulerize: security guard walking the neighborhood must cover
every street block in his rounds. He wants the route with the fewest redundancies
(blocks he repeats, also called deadhead blocks) that will bring him back to where he
started.
Example- 3x3 grid
graph:
eulerization:
deadheads.
now he can cover all the blocks with only 4
Important note: An eulerization should not add new vertex adjacencies. It always
doubles edges.
Define an OPTIMAL EULERIZATION as an eulerization that adds the fewest possible
edges.
2
Example:
because we can’t just connect C to B.
add lots of edges
Sometimes it’s simpler, even preferred, to have an Euler path in a graph instead of an
Euler circuit. Just as to make the circuits, we can make an Euler path possible by
adding duplicate edges, and will call this process semi-eulerization. One key
example is in planning a parade route. We want to cover every block in our 3 by 3
grid but don’t need, in fact don’t want, the parade to start and end at the same place.
graph:
semi-eulerize
1:
this semi-eulerization though has the disadvantage of the starting and ending vertex of
the path are right next to each other. a parade is usually better off if the starting point
and ending point are far apart. How could we semi-eulerize to keep that in mind?
3
try this:
(start at second vertex from top
left, end at lower-right corner).
notice it added 5 edges so there are more deadhead blocks but the advantage is the
starting point is far from the ending point.
we can also semi-eulerize so as to get a path that starts and ends exactly where we
decide.
Example: In the graph below, semi-eulerize to get an euler path starting at vertex 1
and ending at vertex 5: give the path as well.
we just need to leave only vertex 1 and vertex 5 odd. Since they are already odd, this
only required adding one edge.
But what if instead we want an Euler path starting at vertex 1 and ending at vertex 6?
4
Add to this the additional factor of "costs" for edges. Here is an example from another
textbook.
A photographer needs to take photos of each of the 11 bridges in River Country. A
picture of the region is shown Every time he has to cross a bridge, it costs the
photographer $25 in tolls. Find an optimal route (ie, minimum cost) that crosses every
bridge if...
a.) The photographer will start and end her trip in the same place.
b.) The photographer has the freedom to choose any starting and ending place for the
trip
c.) The photographer must start her trip on island B and end it on the Left Bank.
5