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 Graph Coloring Dual Graph Scheduling 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 2 3 start finish 4 6 5 L25
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
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 B
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 B
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
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
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 NP-complete! Slight change in definition can result in dramatic algorithmic bifurcation! L25
Finding Euler Paths To find Euler paths, we’ll 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 out-degree. L25
Finding Euler Circuits Q: Why does the following graph have no Euler circuit? L25
Finding Euler Circuits A: It contains a vertex of odd degree. L25
Finding Euler Circuits Let’s 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 1If m=0 freaks you out, start with another base case, such as m=1. L25
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: v v’ Since deg(v’ ) > 1 (all degrees are even), another edge e’ must be incident with v’ : 1If m=0 freaks you out, start with another base case, such as m=1. e L25 v’ v’’
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) 1If m=0 freaks you out, start with another base case, such as m=1. Simple cycle L25
Finding Euler Circuits Gives rise to a recursive proof/algorithm: Find a simple cycle in connected graph with m+1 edges. Delete all the edges from the cycle and find Euler cycles in each resulting component Amalgamate Euler cycles together using the simple cycle obtaining wanted Euler cycle. Let’s see how the amalgamation process works: L25
Finding Euler Circuits Mohammed’s Scimitars
Finding Euler Circuits Mohammed’s Scimitars Found a cycle after starting from middle vertex. Delete the cycle: L25
Finding Euler Circuits Mohammed’s Scimitars Found a cycle after starting from middle vertex. Delete the cycle: L25
Finding Euler Circuits Mohammed’s Scimitars Found a cycle after starting from middle vertex. Delete the cycle: L25
Finding Euler Circuits Mohammed’s Scimitars Found a cycle after starting from middle vertex. Delete the cycle: L25
Finding Euler Circuits Mohammed’s Scimitars Found a cycle after starting from middle vertex. Delete the cycle: L25
Finding Euler Circuits Mohammed’s Scimitars Now try again (say from middle vertex): L25
Finding Euler Circuits Mohammed’s 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
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 1 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 1 2 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 1 2 3 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 1 2 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 1 2 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 1 2 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 7 1 2 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 8 7 1 2 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 9 8 7 1 2 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 9 8 10 7 1 2 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Find another cycle from middle vertex: 9 8 10 7 1 2 11 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Amalgamate it to Euler cycle of deleted graph, and delete it. Need to insert cycle between former edges 10 & 11: 9 8 10 7 1 2 11 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Finally, need to add the triangle. Use same naïve approach looking for cycle in remaining component: 9 8 10 7 1 2 ?? 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Finally, need to add the triangle. Use same naïve approach looking for cycle in remaining component: 9 8 10 7 1 11 2 ?? 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Finally, need to add the triangle. Use same naïve approach looking for cycle in remaining component: 9 8 10 7 1 12 11 2 ?? 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Finally, need to add the triangle. Use same naïve approach looking for cycle in remaining component: 9 8 10 7 13 1 12 11 2 ?? 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Finally, need to add the triangle. Use same naïve approach looking for cycle in remaining component: 9 8 10 7 14 13 1 12 11 2 ?? 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Finally, need to add the triangle. Use same naïve approach looking for cycle in remaining component: 9 8 10 7 14 13 1 12 11 2 15 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Amalgamate the triangle cycle between edges formerly labeled 9 & 10: 9 8 10 7 14 13 1 12 11 2 15 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars Amalgamate the triangle cycle between edges formerly labeled 9 & 10: 9 8 ?? 7 ?? ?? 1 ?? ?? 2 ?? 6 5 3 4 L25
Finding Euler Circuits Mohammed’s Scimitars We found the Euler circuit! 9 10 8 11 13 7 12 17 16 1 15 14 2 18 6 5 3 4 L25
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
Generalizing to Euler Paths Q: Does the following have an Euler circuit? L25
Generalizing to Euler Paths A: No, vertices of odd degree: Q: But why does it have an Euler path? L25
Generalizing to Euler Paths A: YES! Because exactly 2 vertices of odd degree. So can add a phantom edge between odd degree vertices: L25
Generalizing to Euler Paths All degrees now even so find Euler cycle: L25
Generalizing to Euler Paths Now remove phantom edge obtaining: 1 2 3 7 4 6 5 L25
Generalizing to Euler Paths Generalize: 1 2 3 4 6 5 L25
Generalizing to Euler Paths THM: An undirected connected graph has an Euler path iff there are exactly two vertices of odd degree. L25
Blackboard Exercises for 7.5 Prove by induction that Qn always has a Hamilton cycle for n > 1. (This gives a Gray code). Prove that the following graph has no Hamilton cycle: L25
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
Planar Graphs -Common Misunderstanding Just because a graph is drawn with edges crossing doesn’t mean its not planar. Q: Why can’t we conclude that the following is non-planar? L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
Planar Graphs -Common Misunderstanding A: Because it is isomorphic to a graph which is planar: L25
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
Proving Planarity 3-Cube
Proving Planarity? 4-Cube Seemingly not planar, but how would one prove this! L25
Disproving Planarity The book gives several methods. I’ll describe one method that will always work in examples that you’ll get on the final. You may also use any of the methods that the book mentions. (One method –Kuratowski’s theorem– in principle always works, though in practice can be quite unwieldy.) L25
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
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 3 1 2 L25
Regions Q: How many regions does the 3-cube have? L25
Regions A: 6 regions 3 6 4 1 2 5 L25
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 3 3 6=12-8+2 4 1 2 5 1 2 L25
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
Euler Characteristic L25
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
Euler Characteristic Check that moves don’t change c : 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: r increases by 1. |E | increases by 1. |V | unchanged. c += (1-1+0) EG: EG: L25
Animated Invariance of Euler Characteristic r - |E | + |V | 1 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 2 1 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 3 2 1 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 4 3 1 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 4 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 5 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 6 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 7 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 8 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 8 9 3 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 8 10 4 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 8 11 5 2 L25
Animated Invariance of Euler Characteristic r - |E | + |V | 8 12 6 2 L25
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: Count directly: 12 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: L25
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
Girth A: g = 2 g = 4 g = 4 Q: What the smallest possible girth for simple bipartite graphs? L25
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
Proving that Q4 is Non-Planar Now we have enough invariants to prove that the 4-cube is non-planar. 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) Suppose 4-cube were planar so by Euler’s formula number of regions would be: r = 32-16+2=18 L25
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 | ½·18·4=36 contradicting |E | = 32 ! Thus 4-cube cannot be planar. L25
Blackboard exercises for 7.7 Show that the following graphs are non-planar: K5 K3,3 Qn for n 4 L25
Graph Coloring Consider a fictional continent. L25
Map Coloring Suppose removed all borders but still wanted to see all the countries. 1 color insufficient. L25
Map Coloring So add another color. Try to fill in every country with one of the two colors. L25
Map Coloring So add another color. Try to fill in every country with one of the two colors. L25
Map Coloring So add another color. Try to fill in every country with one of the two colors. L25
Map Coloring So add another color. Try to fill in every country with one of the two colors. L25
Map Coloring PROBLEM: Two adjacent countries forced to have same color. Border unseen. L25
Map Coloring So add another color: L25
Map Coloring Insufficient. Need 4 colors because of this country. L25
Map Coloring With 4 colors, could do it. L25
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
From Map Coloring to Graph Coloring The problem of coloring a map, can be reduced to a graph-theoretic problem: L25
From Map Coloring to Graph Coloring For each region introduce a vertex: L25
From Map Coloring to Graph Coloring For each pair of regions with a positive-length common border introduce an edge: L25
From Maps to Graphs to Dual Graphs Really, could think of original map as a graph, and we are looking at dual graph: L25
From Maps to Graphs to Dual Graphs 1) Put vertex inside each region: L25
From Maps to Graphs to Dual Graphs 2) Connect vertices across common edges: L25
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
From Maps to Graphs to Dual Graphs So take dual graph: L25
From Map Coloring to Graph Coloring Coloring regions is equivalent to coloring vertices of dual graph. L25
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. Formal definition: There is a function f : V {1,2,3,…,n} such that for edges e with endpoints u,v (so e = {u,v}) f (u) is not equal to f (v). L25
From Map Coloring to Graph Coloring Map not 2-colorable, so dual graph not 2-colorable: L25
From Map Coloring to Graph Coloring Map not 3-colorable, so graph not 3-colorable: L25
From Map Coloring to Graph Coloring Graph is 4-colorable, so map is as well: L25
4-Color Theorem –Graph Theory Version THM: Any planar graph is 4-colorable. L25
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? Assume that in all other pairs there are students. L25
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 3261 3137 4115 1007 4118 3157 4156 L25
Graph Coloring and Schedules One way to do this is to put edges down where students mutually excluded… 3203 3261 3137 4115 1007 4118 3157 4156 L25
Graph Coloring and Schedules …and then compute the complementary graph: 3203 3261 3137 4115 1007 4118 3157 4156 L25
Graph Coloring and Schedules …and then compute the complementary graph: 3203 3261 3137 4115 1007 4118 3157 4156 L25
Graph Coloring and Schedules Redraw: 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules Not 1-colorable because of edge 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules Not 2-colorable because of triangle 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules Is 3-colorable. Try to color by Red, Green, Blue. 3137 3203 3261 4115 1007 3157 This method is also would have discovered if graph were not 3-colorable and given a proof by contradiction. 4118 4156 L25
Graph Coloring and Schedules WLOG. 3203-Red, 3157-Blue, 4118-Green: 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules So 4156 must be Blue: 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules So 3261 and 4115 must be Red. 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules 3137 and 1007 easy to color. 3137 3203 3261 4115 1007 3157 4118 4156 L25
Graph Coloring and Schedules So need 3 exam slots: Slot 2 3137 3203 3261 Slot 1 4115 1007 3157 4118 Slot 3 4156 L25