North Bank. West Island. East Island. South Bank

Similar documents
Dieter Jungnickel (2008), Graphs, Networks and Algorithms, 3rd edition, which is available online via SpringerLink.

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8

Fundamental Properties of Graphs

Varying Applications (examples)

Chapter 3: Paths and Cycles

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Graph Theory CS/Math231 Discrete Mathematics Spring2015

11.2 Eulerian Trails

8.2 Paths and Cycles

Chapter 11: Graphs and Trees. March 23, 2008

Graph Theory. 1 Introduction to Graphs. Martin Stynes Department of Mathematics, UCC January 26, 2011

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Introduction to Graphs

Math 443/543 Graph Theory Notes 2: Transportation problems

How can we lay cable at minimum cost to make every telephone reachable from every other? What is the fastest route between two given cities?

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

An Introduction to Graph Theory

14 More Graphs: Euler Tours and Hamilton Cycles

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/z

Sarah Will Math 490 December 2, 2009

1 Digraphs. Definition 1

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism

1 Variations of the Traveling Salesman Problem

Number Theory and Graph Theory

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Introduction III. Graphs. Motivations I. Introduction IV

MATH 682 Notes Combinatorics and Graph Theory II. One interesting class of graphs rather akin to trees and acyclic graphs is the bipartite graph:

Basics of Graph Theory

Notebook Assignments

11.9 Connectivity Connected Components. mcs 2015/5/18 1:43 page 419 #427

INTRODUCTION TO GRAPH THEORY. 1. Definitions

Treewidth and graph minors

Number Theory and Graph Theory

MATH20902: Discrete Maths, Solutions to Problem Set 1. These solutions, as well as the corresponding problems, are available at

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions

The Geodesic Integral on Medial Graphs

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

Discrete mathematics

2. CONNECTIVITY Connectivity

8 Colouring Planar Graphs

4.1 Eulerian Tours. 4. Eulerian Tours and Trails. Königsberg. Seven Bridges. Try. Königsberg bridge problem

Assignment 4 Solutions of graph problems

Artificial Intelligence

Discrete mathematics II. - Graphs

Lecture 20 : Trees DRAFT

K 4 C 5. Figure 4.5: Some well known family of graphs

CHAPTER 10 GRAPHS AND TREES. Copyright Cengage Learning. All rights reserved.

Module 11. Directed Graphs. Contents

3 Euler Tours, Hamilton Cycles, and Their Applications

Theorem 2.9: nearest addition algorithm

HW Graph Theory SOLUTIONS (hbovik) - Q

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia)

Graph Theory. Part of Texas Counties.

CS70 - Lecture 6. Graphs: Coloring; Special Graphs. 1. Review of L5 2. Planar Five Color Theorem 3. Special Graphs:

Math 776 Graph Theory Lecture Note 1 Basic concepts

The University of Sydney MATH2969/2069. Graph Theory Tutorial 2 (Week 9) 2008

Elements of Graph Theory

Discrete Mathematics and Probability Theory Spring 2015 Vazirani Note 5

The External Network Problem

Graph Theory Mini-course

1 Better Approximation of the Traveling Salesman

6.2. Paths and Cycles

Eulerian Tours and Fleury s Algorithm

Majority and Friendship Paradoxes

WUCT121. Discrete Mathematics. Graphs

3 Fractional Ramsey Numbers

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Chapter 2 Graphs. 2.1 Definition of Graphs

Notes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 9 Notes. Class URL:

#30: Graph theory May 25, 2009

V10 Metabolic networks - Graph connectivity

BIL694-Lecture 1: Introduction to Graphs

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

GRAPH THEORY: AN INTRODUCTION

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

Introduction to Graphs

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

Graph Connectivity G G G

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

MAS 341: GRAPH THEORY 2016 EXAM SOLUTIONS

v V Question: How many edges are there in a graph with 10 vertices each of degree 6?

AXIOMS FOR THE INTEGERS

Trees. Arash Rafiey. 20 October, 2015

Discharging and reducible configurations

Modules. 6 Hamilton Graphs (4-8 lectures) Introduction Necessary conditions and sufficient conditions Exercises...

Basic Definitions and Concepts Complement to the Prologue and to Chapter 1, Respecting the Rules

Characterization of Graphs with Eulerian Circuits

Notes 4 : Approximating Maximum Parsimony

Graph Algorithms. Imran Rashid. Jan 16, University of Washington

HW Graph Theory SOLUTIONS (hbovik)

Transcription:

Lecture 11 Eulerian Multigraphs This section of the notes revisits the Königsberg Bridge Problem and generalises it to explore Eulerian multigraphs: those that contain a closed walk that traverses every edge exactly once. Reading: The material in today s lecture comes from Section 1.3 of Dieter Jungnickel (2008), Graphs, Networks and Algorithms, 3rd edition, (available online via SpringerLink), though his proof is somewhat more terse. In Lecture 1 we used a proof by contradiction to demonstrate that there is no solution to the Königsberg Bridge Problem, which is illustrated in Figure 11.1. That is, it s not possible to find a walk that (a) crosses each of the city s seven bridges exactly once and (b) starts and finishes in the same place. Today we ll generalise the problem, then find a number of equivalent conditions that tell us when the corresponding closed walk exists. First, recall that a multigraph G(V,E) has the same definition as a graph, except that we allow parallel edges. That is, we allow pairs of vertices (u, v) toappear more than once in E. Because of this, people sometimes speak of the edge list of a multigraph, as opposed to the edge set. North Bank West Island East Island South Bank Figure 11.1: We proved in the first lecture of the term that it is impossible to find a closed walk that traverses every edge in the graph above exactly once. 11.1

Figure 11.2: The panel at left shows a graph produced by adding two edges (shown in blue) to the graph from the Königsberg Bridge Problem. These extra edges make the graph Eulerian and the panel at right illustrated the associated partition of the edge set into cycles The main theorem we ll prove today relies on the following definitions: Definition 11.1. An Eulerian trail in a multigraph G(V,E) is a trail that includes each of the graph s edges exactly once. Definition 11.2. An Eulerian tour in a multigraph G(V,E) is an Eulerian trail that starts and finishes at the same vertex. Equivalently, it is a closed trail that traverses each of the graph s edges exactly once. Definition 11.3. A multigraph that contains an Eulerian tour is said to be an Eulerian multigraph. Armed with these, it s then easy to formulate the following characterisation of Eulerian multigraphs: Theorem 11.4 (Jungnickel s Theorem 1.3.1). Let G be a connected multigraph. Then the following statements are equivalent: (1) G is Eulerian. (2) Each vertex of G has even degree. (3) The edge set of G can be partitioned into cycles. The last of these characterisations may be new to you: it means that it is possible to arrange the edges of G into a collection of disjoint cycles. Figure 11.2 shows an example of such a partition for a graph derived from the Königsberg Bridge multigraph by adding two extra edges, shown in blue at left. Adding these edges makes the graph Eulerian, and a decomposition of the edge set into cycles appears at right. Note that undirected multigraphs can contain cycles of length two that consist of a pair of parallel edges. The proof of the theorem is simpler if one has the following lemma, whose proof I ll defer until after that of the main result. Note that the lemma, unlike the theorem, does not require the multigraph to be connected. 11.2

Lemma 11.5 (Vertices of even degree and cycles). If G(V,E) is a multigraph with a nonempty edge set E 6= ; and the property that deg(v) is an even number for all v 2 V, then G contains a cycle. Proof of Theorem 11.4. The theorem says these statements are all equivalent, which encompasses a total of six implications 1 but we don t need to prove all of them: it s su cient to prove, say, that (1) =) (2), (2) =) (3) and (3) =) (1). That is, it s su cient to make a directed graph whose vertices are the statements and whose edges indicate implications. If this graph is strongly connected, so that one can get from any statement to any other by following a chain of implications, then the result is proven. (1) =) (2): Proof. We know G is Eulerian, so it has a closed trail that includes each edge exactly once. Imagine that this trail is specified by the following sequence of vertices v 0,...,v m = v 0 (11.1) where E = m and the v j are the vertices encountered along the trail, so that some of them may appear more than once. In particular, v 0 = v m because the trail starts and finishes at the same vertex. As G is a connected multigraph, every vertex appears somewhere in the sequence (if not, the absent vertices would have degree zero and not be connected to any of the others). Consider first some vertex u 6= v 0. It must appear one or more times in the sequence above and, each time, it appears in a pair of successive edges: if u = v j with 0 <j<m,thentheseedgesare(v j 1,v j )and(v j,v j+1 ). This means that deg(u) is a sum of 2 s, with one term in the sum for each appearance of u in the sequence (11.1). A similar argument applies to v 0,savethattheedgethatformsa pair with (v 0,v 1 )is(v m 1,v m = v 0 ). (2) =) (3): The theorem requires this implication to hold for connected multigraphs, but this particular result is more general and applies to any multigraph in which all vertices have even degree. We ll prove this stronger version by induction on the number of edges. That is, we ll prove: Proposition. If G(V,E) is a multigraph (whether connected or not) in which deg(v) is an even number for all vertices v 2 V, then the edge set E can be partitioned into cycles. Proof. The base case is a multigraph with E =0. Suchagraphconsistsofoneor more isolated vertices and, as the graph has no edges, deg(v) =0(anevennumber) for all v 2 V and the (empty) edge set can clearly be partitioned into a union of zero cycles. Now suppose the result is true for every multigraph G(V,E)with E applem 0 edges whose vertices all have even degree. Consider such a multigraph with E = m 0 +1: we need to demonstrate that the edge set of such a graph can be partitioned into 1 (1) =) (2), (2) =) (1), (1) =) (3)... 11.3

cycles. We can use Lemma 11.5 to establish that we can find at least one cycle C contained in G. And then we can form a new graph G 0 (V 0,E 0 )=G\C formed by removing C from G. This bit of graph surgery either leaves the degree of a vertex unchanged (if the vertex isn t part of C) ordecreasesitbytwo,buteitherway,all vertices in G 0 have even degree because the corresponding vertices in G do. The cycle C will contain at least one edge (and, unless we permit self-loops, two or more) and so G 0 will have at most m 0 edges and so the inductive hypothesis will apply to it. This means that we can partition E 0 = E\C into cycles. But then we can add C to the partition of E 0 and so get a partition into cycles for E, completing the inductive step and so proving our result. (3) =) (1): Here we need to establish that if the edge set of a connected multigraph G(V,E)consistsofaunionofcycles,thenG contains an Eulerian tour. This result is trivial unless the partition of E involves at least two cycles, so we ll restrict attention to that case from now on. The key observation is that we can always find two cycles that we can merge to produce a single, longer closed trail that includes all the edges from the two cycles. To see why, note that there must be a pair of cycles that share a vertex (if there weren t, all the cycles would all lie in distinct connected components, contradicting the connectedness of G). Suppose that the shared vertex is v? and that the cycles are C 1 and C 2 given by the vertex sequences C 1 = {v? = v 0,v 1,...,v`1 = v? } and C 2 = {v? = u 0,u 1,...,u`2 = v? }. We can combine them, as illustrated in Figure 11.3 to make a closed trail given by the vertex sequence {v? = v 0,v 1,...,v`1 = v? = u 0,u 1,...,u`2 = v? }. Scrupulous readers may wish to use this observation as the basis of a proof by induction (on the number of elements in the partition of E)ofthesomewhatstronger result: Proposition 11.6. If G(V,E) is a strongly-connected graph whose edge set can be partitioned as a union of disjoint, closed trails, then G is Eulerian. Then, as a cycle is a special case of a closed trail, we get the desired implication as an immediate corollary. I d like to conclude by giving an algorithmic proof of Lemma 11.5. The idea is to choose some initial vertex u 0 and then construct a trail in the graph by following one of u 0 s edges, then one of the edges of u 0 s successor in the trail... and so on until we revisit some vertex and thus discover a cycle. Provided that we can do as I say always move on through the graph without ever tracing over some edge twice this approach is bound to work because there are only finitely many vertices. The proof that follows formalises this approach by spelling out an explicit algortihm. Proof of Lemma 11.5. Consider the following algorithmic process, which finds a cycle in a multigraph G(V,E) forwhiche 6= ; and deg(v) isevenforallv 2 V. 11.4

u 0 = v * = v 0 u 1 u 7 v 3 u 2 u 6 v 1 u 3 u 4 u 5 v 2 Figure 11.3: The key step in the proof of the implication (3) =) (1) in the proof of Theorem 11.4. The cycles C 1 = (v? = v 0,v 1,v 2,v 3,v 0 ), whose vertices are shown in red, and C 2 = (v? = u 0,u 1,u 2,u 3,u 4,u 5,u 6,u 7,u 0 ), whose vertices are shown in yellow, may be merged to create the closed trail (v? = v 0,v 1,v 2,v 3,v 0 = v? = u 0,u 1,u 2,u 3,u 4,u 5,u 6,u 7,u 0 ) indicated by the dotted line. Algorithm 11.7 (Finding a cycle). Given a multigraph G(V,E) in which E > 0 and all vertices have even degree, construct a trail T given by a sequence of edges T = {(u 0,u 1 ), (u 1,u 2 ),...,(u` 1,u`)} that includes a cycle. (1) Number the vertices, so that V = {v 1,...,v n }. This is for the sake of concreteness: later in the algorithm, when we need to choose one of a set of vertices that have a particular property, we can choose the lowest-numbered one. (2) Initialize some things Set a counter j 0. Choose the first vertex in the trail, u 0, to be the lowest-numbered vertex that has deg(v k ) > 0. Such vertices exist, as we know E > 0. Initialise a list A (for available ) of edges that we have not yet included in T. At the outset we set A E as we haven t used any edges yet. (3) Find the edge (u j,w) 2 A where w is the lowest-numbered neighbour of u j whose edge we haven t yet used. The key to the algorithm s success is that this step is always possible. We chose u 0 with deg(u 0 ) > 0, so this step is possible when j =0. And when j>0, the evenness of deg(u j ) means that if the trail we are constructing can arrive at u j, then it must also be able to depart. The growing trail T either comes to a stop at u j (see below) or uses a pair of the 11.5

vertex s edges one to arrive and another to depart and so leaves an even number of unused edges behind. We can thus always extend the trail T by one edge, modifying the list of unused edges A accordingly. T A T [{(u j,w)} A\{(u j,w)} (We ve used (one copy of) the edge (u j,w)). (4) Are we finished? Does w already appear in the trail? If yes, stop. The trail includes a cycle that starts and finishes at w. If no, set u j+1 w, then set j j +1 and go to Step 3. The only way this process can stop is by revisiting a vertex and it must do this within V = n steps. And once we ve revisited a vertex, we ve found a cycle and so are finished. 11.6