Sei sulla pagina 1di 141

Euler and Hamilton Cycles; Planar Graphs; Coloring.

Zeph Grunschlag

Copyright Zeph Grunschlag, 2001-2002.

Agenda
Euler paths and cycles Hamilton paths and cycles Planar graphs

Regions Euler characteristic Edge-Face Handshaking Girth Dual Graph Scheduling


2

Graph Coloring

L25

Euler and Hamilton Paths -Motivation


An pictorial way to motivate the graph theoretic concepts of Eulerian and Hamiltonian paths and circuits is with two puzzles: The pencil drawing problem The taxicab problem

L25

Pencil Drawing Problem -Euler Paths


Which of the following pictures can be drawn on paper without ever lifting the pencil and without retracing over any segment?

L25

Pencil Drawing Problem -Euler Paths


Graph Theoretically: Which of the following graphs has an Euler path?

L25

Pencil Drawing Problem -Euler Paths


Answer: the left but not the right.

1 start 4 5
L25

2 3 6 finish

Euler Paths and Circuits Definition


DEF: An Euler path in a graph G is a simple path containing every edge in G. An Euler circuit (or Euler cycle) is a cycle which is an Euler path. NOTE: The definition applies both to undirected as well as directed graphs of all types.
L25 7

Taxicab Problem -Hamilton Paths


Can a taxicab driver milk his hapless customer by visiting every intersection exactly once, when driving from point A to point B ? A

L25

Taxicab Problem -Hamilton Paths


Graph Theoretically: Is there a Hamilton path from A to B in the following graph? (NO in this case)
A

L25

Hamilton Paths and Circuits Definition


DEF: A Hamilton path in a graph G is a path which visits ever vertex in G exactly once. A Hamilton circuit (or Hamilton cycle) is a cycle which visits every vertex exactly once, except for the first vertex, which is also visited at the end of the cycle. NOTE: Again, the definition applies both to undirected as well as directed graphs of all types.
L25 10

Implications to CS
Finding Hamilton paths is a very important problem in CS. EG: Visit every city (vertex) in a region using the least trips (edges) as possible. EG: Encode all bit strings of a certain length as economically as possible so that only change one bit at a time. (Gray codes).
L25 11

Implications to CS
Analyzing difficulty of Euler vs. Hamilton paths is a great CS case study. Finding Euler paths can be done in O (n) time Finding Hamilton paths is NPcomplete! Slight change in definition can result in dramatic algorithmic bifurcation!
L25 12

Finding Euler Paths


To find Euler paths, well first give an algorithm for finding Euler cycles and then modify it to give Euler paths. THM: An undirected graph G has an Euler circuit iff it is connected and every vertex has even degree. NOTE: for directed graphs the condition is that G be weakly connected and that every vertex has same in-degree as outdegree.
L25 13

Finding Euler Circuits


Q: Why does the following graph have no Euler circuit?

L25

14

Finding Euler Circuits


A: It contains a vertex of odd degree.

L25

15

Finding Euler Circuits


Lets prove the theorem constructively. Constructive means that the proof will actually contain an algorithm for constructing the Euler path, when it exists. Part 1) Suppose G is connected and each vertex has even degree. Construct an Euler cycle. We prove this by strong induction on m the number of edges in G. Base case m = 0: Since G is connected and contains no edges, it must consist of a single vertex. The empty path is an Euler cycle.1
L25 16

Finding Euler Circuits


Induction step for m+1 edges, assuming proved this up to m 0. CLAIM: G contains a simple cycle. Consider an edge e (since m+1 > 0). If e is a self-loop, then is a simple cycle. So can assume that e is a loopless edge:

Since deg(v ) > 1 (all degrees are even), another edge e must be incident with v :
L25

17

Finding Euler Circuits


So can continue adding edges until we find an edge whose new endpoint has already been encountered during the process. This endpoint is a vertex which is seen twice so at which a simple cycle is based! (This proves claim)
Simple cycle
L25 18

Finding Euler Circuits


Gives rise to a recursive proof/algorithm: 1) Find a simple cycle in connected graph with m+1 edges. 2) Delete all the edges from the cycle and find Euler cycles in each resulting component 3) Amalgamate Euler cycles together using the simple cycle obtaining wanted Euler cycle. Lets see how the amalgamation process works:
L25 19

Finding Euler Circuits Mohammeds Scimitars

L25

20

Finding Euler Circuits Mohammeds Scimitars


Found a cycle after starting from middle vertex.

Delete the cycle:

L25

21

Finding Euler Circuits Mohammeds Scimitars


Found a cycle after starting from middle vertex.

Delete the cycle:

L25

22

Finding Euler Circuits Mohammeds Scimitars


Found a cycle after starting from middle vertex.

Delete the cycle:

L25

23

Finding Euler Circuits Mohammeds Scimitars


Found a cycle after starting from middle vertex.

Delete the cycle:

L25

24

Finding Euler Circuits Mohammeds Scimitars


Found a cycle after starting from middle vertex.

Delete the cycle:

L25

25

Finding Euler Circuits Mohammeds Scimitars

Now try again (say from middle vertex):

L25

26

Finding Euler Circuits Mohammeds Scimitars


This time, found a cycle starting and ending at middle vertex:

Amalgamate these cycles together from a point of intersection, and delete from graph:
L25 27

Finding Euler Circuits Mohammeds Scimitars

Find another cycle from middle vertex:


L25 28

Finding Euler Circuits Mohammeds Scimitars

Find another cycle from middle vertex:


L25 29

Finding Euler Circuits Mohammeds Scimitars

2 3

Find another cycle from middle vertex:


L25 30

Finding Euler Circuits Mohammeds Scimitars

2 3

1 4

Find another cycle from middle vertex:


L25 31

Finding Euler Circuits Mohammeds Scimitars

2 3

1 4 5

Find another cycle from middle vertex:


L25 32

Finding Euler Circuits Mohammeds Scimitars

2 3

1 4 5

Find another cycle from middle vertex:


L25 33

Finding Euler Circuits Mohammeds Scimitars

7
2 3 1 4 5 6

Find another cycle from middle vertex:


L25 34

Finding Euler Circuits Mohammeds Scimitars

7
2 3 1 4 5 6

Find another cycle from middle vertex:


L25 35

Finding Euler Circuits Mohammeds Scimitars

9 2 3 1 4

7
5 6

Find another cycle from middle vertex:


L25 36

Finding Euler Circuits Mohammeds Scimitars

10
2 3 1 4 5

7
6

Find another cycle from middle vertex:


L25 37

Finding Euler Circuits Mohammeds Scimitars

10
2 3 1 11 4 5

7
6

Find another cycle from middle vertex:


L25 38

Finding Euler Circuits Mohammeds Scimitars

10
2 3 1 11 4 5

7
6

Amalgamate it to Euler cycle of deleted graph, and delete it. Need to insert cycle between former edges 10 & 11:
L25 39

Finding Euler Circuits Mohammeds Scimitars


Finally, need to add the triangle.
9 8

10
2 3 1 ?? 4 5

7
6

Use same nave approach looking for cycle in remaining component:


L25 40

Finding Euler Circuits Mohammeds Scimitars


Finally, need to add the triangle.
9 8

10
2 3 1 ?? 4 11 5

7
6

Use same nave approach looking for cycle in remaining component:


L25 41

Finding Euler Circuits Mohammeds Scimitars


Finally, need to add the triangle.
9 8

10
2 3 1 ?? 4 11
12

7
5 6

Use same nave approach looking for cycle in remaining component:


L25 42

Finding Euler Circuits Mohammeds Scimitars


Finally, need to add the triangle.
9 8 11 4
13 12

10
2 3 1 ??

7
6

Use same nave approach looking for cycle in remaining component:


L25 43

Finding Euler Circuits Mohammeds Scimitars


Finally, need to add the triangle.
9 8

10
2 3 1 ?? 4

14 11

13 12

7
6

Use same nave approach looking for cycle in remaining component:


L25 44

Finding Euler Circuits Mohammeds Scimitars


Finally, need to add the triangle.
9 8

10
2 3 1 15 4

14 11

13 12

7
6

Use same nave approach looking for cycle in remaining component:


L25 45

Finding Euler Circuits Mohammeds Scimitars

10
2 3 1 15 4

14 11

13 12

7
6

Amalgamate the triangle cycle between edges formerly labeled 9 & 10:
L25 46

Finding Euler Circuits Mohammeds Scimitars

??
2 3 1 ?? 4

?? ??

?? ??

7
6

Amalgamate the triangle cycle between edges formerly labeled 9 & 10:
L25 47

Finding Euler Circuits Mohammeds Scimitars


We found the Euler circuit!
10 9 8

11
2

12

13
18 4

1 3

17 14

16 15

7
6

L25

48

Euler Circuit All Degrees Even


2nd half of theorem says that an Euler circuit in a graph implies that all degrees are even: In a simple cycle, whenever path enters vertex, must come out on different edge. Thus every visit of v contributes 2 to deg(v). Thus, if keep only edges which were on the simple cycle, degrees of resulting graph are all even. But in an Eulerian graph G, can find a simple cycle containing all vertices and consequently graph resulting from cycle is G itself!
L25 49

Generalizing to Euler Paths


Q: Does the following have an Euler circuit?

L25

50

Generalizing to Euler Paths


A: No, vertices of odd degree:

Q: But why does it have an Euler path?


L25 51

Generalizing to Euler Paths


A: YES! Because exactly 2 vertices of odd degree.

So can add a phantom edge between odd degree vertices:


L25 52

Generalizing to Euler Paths

All degrees now even so find Euler cycle:


L25 53

Generalizing to Euler Paths


1 3 4 2

7
5

Now remove phantom edge obtaining:


L25 54

Generalizing to Euler Paths


1 3 4 5 6 2

Generalize:
L25 55

Generalizing to Euler Paths


THM: An undirected connected graph has an Euler path iff there are exactly two vertices of odd degree.

L25

56

Blackboard Exercises for 7.5


1) Prove by induction that Qn always has a Hamilton cycle for n > 1. (This
gives a Gray code). 2) Prove that the following graph has no Hamilton cycle:

L25

57

Planar Graphs
Planar graphs are graphs that can be drawn
in the plane without edges having to cross. Understanding planar graph is important: Any graph representation of maps/ topographical information is planar.

graph algorithms often specialized to planar graphs (e.g. traveling salesperson)

Circuits usually represented by planar graphs


L25 58

Planar Graphs -Common Misunderstanding


Just because a graph is drawn with edges crossing doesnt mean its not planar. Q: Why cant we conclude that the following is non-planar?

L25

59

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

60

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

61

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

62

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

63

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

64

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

65

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

66

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

67

Planar Graphs -Common Misunderstanding


A: Because it is isomorphic to a graph which is planar:

L25

68

Proving Planarity
To prove that a graph is planar amounts to redrawing the edges in a way that no edges will cross. May need to move vertices around and the edges may have to be drawn in a very indirect fashion. E.G. show that the 3-cube is planar:
L25 69

Proving Planarity 3-Cube

L25

70

Proving Planarity? 4-Cube

Seemingly not planar, but how would one prove this!


L25 71

Disproving Planarity
The book gives several methods. Ill describe one method that will always work in examples that youll get on the final. You may also use any of the methods that the book mentions. (One method Kuratowskis theorem in principle always works, though in practice can be quite unwieldy.)
L25 72

Disproving Planarity
The idea is to try to find some invariant quantities possessed by graphs which are constrained to certain values, for planar graphs. Then to show that a graph is non-planar, compute the quantities and show that they do not satisfy the constraints on planar graphs.

L25

73

Regions
The first invariant of a planar graph will be the number of regions that the graph defines in the plane. A region is a part of the plane completely disconnected off from other parts of the plane by the edges of the graph. EG: the car graph has 4 regions:

4
L25

3 1 2
74

Regions
Q: How many regions does the 3-cube have?

L25

75

Regions
A: 6 regions

3
4 1 5 2

L25

76

Regions
THM: The number of regions defined by a connected planar graph is invariant of how it is drawn in the plane and satisfies the formula involving edges and vertices: r = |E | - |V | + 2 EG: Verify formula for car and 3-cube:

4=6-4+2
L25

6=12-8+2
2

3
4 1 5
77

Euler Characteristic
The formula is proved by showing that the quantity (chi) c = r - |E | + |V | must equal 2 for planar graphs. c is called the Euler characteristic. The idea is that any connected planar graph can be built up from a vertex through a sequence of vertex and edge additions. For example, build 3-cube as follows:
L25 78

Euler Characteristic

L25

79

Euler Characteristic
Thus to prove that c is always 2 for planar graphs, one calculate c for the trivial vertex graph: c = 1-0+1 = 2 and then checks that each possible move does not change c .

L25

80

Euler Characteristic
Check that moves dont change c : EG: 1) Adding a degree 1 vertex: r is unchanged. |E | increases by 1. |V | increases by 1. c += (0-1+1) 2) Adding an edge between pre-existing vertices:
EG:

r increases by 1. |E | increases by 1. |V |
unchanged. c += (1-1+0)
L25 81

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 1

|E | 0

r
1

L25

82

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 2

|E | 1

r
1

L25

83

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 3

|E | 2

r
1

L25

84

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 4

|E | 3

r
1

L25

85

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 4

|E | 4

r
2

L25

86

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 5

|E | 5

r
2

L25

87

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 6

|E | 6

r
2

L25

88

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 7

|E | 7

r
2

L25

89

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 8

|E | 8

r
2

L25

90

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 8

|E | 9

r
3

L25

91

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 8

|E | 10

r
4

L25

92

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 8

|E | 11

r
5

L25

93

Animated Invariance of Euler Characteristic


c= r - |E | + |V | 2

|V | 8

|E | 12

r
6

L25

94

Face-Edge Handshaking
For all graphs handshaking theorem relates degrees of vertices to number of edges. For planar graphs, can relate regions to edges in similar fashion: EG: There are two ways to count the number of edges in 3-cube: 1) Count directly: 12 2) Count no. of edges around each region; divide by 2: (4+4+4+4+4+4)/2 = 12 (2 triangles per edge)

Face-Edge Handshaking
DEF: The degree of a region F is the number of edges at its boundary, and is denoted by deg(F ). THM: Let G be a planar graph with region set R. Then:

1 | E | deg( F ) 2 FR
L25 96

Girth
The girth of a graph is the length of the smallest simple cycle in the graph. Q: What the girth of each of the following?

L25

97

Girth
A: g=2

g=4

g=4

Q: What the smallest possible girth for L25 simple bipartite graphs?

98

Girth
A: g = 4 is the smallest possible girth: Any cycle must start and end in the same color, so must have even length. Since simple, cannot have a 2-cycle, so 4-cycle is shortest possible.

L25

99

Proving that Q4 is Non-Planar


Now we have enough invariants to prove that the 4-cube is non-planar. 1) Count the number of vertices and edges: |V | = 16 (twice the number for 3-cube) |E | = 32 (twice the number for 3-cube plus number of vertices in 3-cube) 2) Suppose 4-cube were planar so by Eulers formula number of regions would be: r = 32-16+2=18
L25 100

Proving that Q4 is Non-Planar


3) Calculate the girth: g = 4 4) Apply handshaking theorem to get a lower bound on the number of edges, since the degree of each face must be at least as large as the girth:

In our case, this give |E | 184=36 contradicting |E | = 32 ! Thus 4-cube cannot be planar. 101 L25

1 1 1 | E | deg( F ) g rg 2 FR 2 FR 2

Blackboard exercises for 7.7


Show that the following graphs are nonplanar:

1) K5 2) K3,3 3) Qn for n 4

L25

102

Graph Coloring
Consider a fictional continent.

L25

103

Map Coloring
Suppose removed all borders but still wanted to see all the countries. 1 color insufficient.

L25

104

Map Coloring
So add another color. Try to fill in every country with one of the two colors.

L25

105

Map Coloring
So add another color. Try to fill in every country with one of the two colors.

L25

106

Map Coloring
So add another color. Try to fill in every country with one of the two colors.

L25

107

Map Coloring
So add another color. Try to fill in every country with one of the two colors.

L25

108

Map Coloring
PROBLEM: Two adjacent countries forced to have same color. Border unseen.

L25

109

Map Coloring
So add another color:

L25

110

Map Coloring
Insufficient. Need 4 colors because of this country.

L25

111

Map Coloring
With 4 colors, could do it.

L25

112

4-Color Theorem
THM: Any planar map of regions can be depicted using 4 colors so that no two regions that share a positive-length border have the same color. Proof by Haaken and Appel used exhaustive computer search.

L25

113

From Map Coloring to Graph Coloring


The problem of coloring a map, can be reduced to a graph-theoretic problem:

L25

114

From Map Coloring to Graph Coloring


For each region introduce a vertex:

L25

115

From Map Coloring to Graph Coloring


For each pair of regions with a positivelength common border introduce an edge:

L25

116

From Maps to Graphs to Dual Graphs


Really, could think of original map as a graph, and we are looking at dual graph:

L25

117

Dual Graphs :

From Maps to Graphs to Dual Graphs

1) Put vertex inside each region:

L25

118

Dual Graphs :

From Maps to Graphs to Dual Graphs

2) Connect vertices across common edges:

L25

119

Definition of Dual Graph


DEF: The dual graph G ^ of a planar graph G = (V, E, R) [Vertices, Edges, Regions] is the graph obtained by setting

Vertices of G ^: V (G ^ ) = R Edges of G ^: E (G ^ ) = set of edges of the form {F1,F2} where F1 and F2 share a common edge.

L25

120

From Maps to Graphs to Dual Graphs


So take dual graph:

L25

121

From Map Coloring to Graph Coloring


Coloring regions is equivalent to coloring vertices of dual graph.

L25

122

Definition of Colorable
DEF: Let n be a positive number. A simple graph is n -colorable if the vertices can be colored using n colors so that no two adjacent vertices have the same color. The chromatic number of a graph is smallest number n for which it is n colorable. EG: A graph is bipartite iff it is 2-colorable.
L25 123

From Map Coloring to Graph Coloring


Map not 2-colorable, so dual graph not 2colorable:

L25

124

From Map Coloring to Graph Coloring


Map not 3-colorable, so graph not 3colorable:

L25

125

From Map Coloring to Graph Coloring


Graph is 4-colorable, so map is as well:

L25

126

4-Color Theorem Graph Theory Version


THM: Any planar graph is 4-colorable.

L25

127

Graph Coloring and Schedules


EG: Suppose want to schedule some final exams for CS courses with following call numbers: 1007, 3137, 3157, 3203, 3261, 4115, 4118, 4156 Suppose also that there are no common students in the following pairs of courses because of prerequisites: 1007-3137 1007-3157, 3137-3157 1007-3203 1007-3261, 3137-3261, 3203-3261 1007-4115, 3137-4115, 3203-4115, 3261-4115 1007-4118, 3137-4118 1007-4156, 3137-4156, 3157-4156 How many exam slots are necessary to schedule exams?
L25 128

Graph Coloring and Schedules


Turn this into a graph coloring problem. Vertices are courses, and edges are courses which cannot be scheduled simultaneously because of possible students in common:
3203
3137

3261
4115

1007
3157
L25

4118
4156
129

Graph Coloring and Schedules


One way to do this is to put edges down where students mutually excluded
3203 3137 1007 3157 4156 3261 4115 4118

L25

130

Graph Coloring and Schedules


and then compute the complementary graph:
3203 3137 1007 3157 4156 3261 4115 4118

L25

131

Graph Coloring and Schedules


and then compute the complementary graph:
3203 3137 1007 3157 4156 3261 4115 4118

L25

132

Graph Coloring and Schedules


Redraw:
3137 1007 3203 3261 4115 3157 4156

4118

L25

133

Graph Coloring and Schedules


Not 1-colorable because of edge
3137 1007 3203 3261 4115 3157 4156

4118

L25

134

Graph Coloring and Schedules


Not 2-colorable because of triangle
3137 1007 3203 3261 4115 3157 4156

4118

L25

135

Graph Coloring and Schedules


Is 3-colorable. Try to color by Red, Green, Blue.
3137 1007 3203 3261 4115 3157 4156

4118

L25

136

Graph Coloring and Schedules


WLOG. 3203-Red, 3157-Blue, 4118-Green:
3137 1007 3203 3261 4115 3157 4156

4118

L25

137

Graph Coloring and Schedules


So 4156 must be Blue:
3137 1007 3203 3261 4115 3157 4156

4118

L25

138

Graph Coloring and Schedules


So 3261 and 4115 must be Red.
3137 1007 3203 3261 4115 3157 4156

4118

L25

139

Graph Coloring and Schedules


3137 and 1007 easy to color.
3137 1007 3203 3261 4115 3157 4156

4118

L25

140

Graph Coloring and Schedules


So need 3 exam slots:
3137 3203 3261

Slot 2
4115

Slot 1
1007 3157 4156

4118

Slot 3
141

L25

Potrebbero piacerti anche