Top Banner
Math Foundations Week 12 Graphs (2)
79

Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Math Foundations

Week 12 Graphs (2)

Page 2: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Agenda

• Paths• Connectivity• Euler paths• Hamilton paths

2

Page 3: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths

A path in a graph is a continuous way of getting from one vertex to another by using a sequence of edges.

EG: could get from 1 to 3 circuitously as follows: 1-e12-e11-e33-e42-e62-e52-e43

3

1 2

3 4

e1

e3

e2

e4e5

e6

e7

Page 4: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths

DEF: A path of length n in an undirected graph is a sequence of n edges e1, e2, … ,en such that each consecutive pair ei , ei+1 share a common vertex. In a simple graph, one may instead define a path of length n as a sequence of n+1 vertices v0, v1, v2, … ,vn such that each consecutive pair vi , vi+1 are adjacent. Paths of length 0 are also allowed according to this definition.

Q: Why does the second definition work for simple graphs?

4

Page 5: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths

A: For simple graphs, any edge is unique between vertices so listing the vertices gives us the edge-sequence as well.

DEF: A simple path contains no duplicate edges (though duplicate vertices are allowed). A cycle (or circuit) is a path which starts and ends at the same vertex.

Note: Simple paths need not be in simple graphs. E.g., may contain loops.

5

Page 6: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths

Q: Find a longest possible simple path in the following graph:

6

1 2

3 4

e1

e3

e2

e4e5

e6

e7

Page 7: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

PathsA: The following path from 1 to 2 is a maximal simple

path because • simple: each of its edges appears exactly once• maximal: because it contains every edge except

the unreachable edge e7

The maximal path: e1,e5,e6,e2,e3,e4

7

1 2

3 4

e1

e3

e2e4

e5

e6

e7

Page 8: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths in Directed Graphs

One can define paths for directed graphs by insisting that the target of each edge in the path is the source of the next edge:

DEF: A path of length n in a directed graph is a sequence of n edges e1, e2, … ,en such that the target of ei is the source ei+1 for each i. In a digraph, one may instead define a path of length n as a sequence of n+1 vertices v0, v1, v2, … ,vn such that for each consecutive pair vi , vi+1 there is an edge from vi to vi+1 .

8

Page 9: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths in Directed Graphs

Q: Consider digraph adjacency matrix:

1. Find a path from 1 to 4.2. Is there a path from 4 to 1?

9

0010

0011

1010

0101

Page 10: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Paths in Directed Graphs

A:

1. 1324.2. There’s no path from 4 to 1. From 4 must

go to 2, from 2 must stay at 2 or return to 4. In other words 2 and 4 are disconnected from 1. 10

0010

0011

1010

0101

Page 11: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

ConnectivityDEF: Let G be a pseudograph. Let u and v be

vertices. u and v are connected to each other if there is a path in G which starts at u and ends at v. G is said to be connected if all vertices are connected to each other.

1. Note: Any vertex is automatically connected to itself via the empty path.

2. Note: A suitable definition for directed graphs will follow later.

11

Page 12: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connectivity

Q: Which of the following graphs are connected?

12

1 2

34

Page 13: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connectivity

A: First and second are disconnected. Last is connected.

13

1 2

34

Page 14: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

English Connectivity PuzzleCan define a puzzling graph G as follows:V = {3-letter English words}E : two words are connected if can get one

word from the other by changing a single letter.

One small subgraph of G is:

Q: Is “fun” connected to “car” ?14

jobrob jab

Page 15: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

English Connectivity PuzzleA: Yes: funfanfarcar

Or: funfinbinbanbarcar

15

Page 16: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connected ComponentsDEF: A connected component (or just

component) in a graph G is a set of vertices such that all vertices in the set are connected to each other and every possible connected vertex is included.

Q: What are the connected components of the following graph?

16

6 2

435

1

78

Page 17: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connected ComponentsA: The components are {1,3,5},{2,4,6},{7} and

{8} as one can see visually by pulling components apart:

17

6 2

4

7835

1

Page 18: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

N-ConnectivityNot all connected graphs are created equal! Q: Rate following graphs in terms of their

design value for computer networks:1)

2)

3)

4) 18

Page 19: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

N-Connectivity

A: Want all computers to be connected, even if 1 computer goes down:

1) 2nd best. However, there’sa weak link— “cut vertex”2) 3rd best. Connectedbut any computer can disconnect 3) Worst! Already disconnected4) Best! Network dies only with 2 bad computers

19

Page 20: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

N-Connectivity

The network is best because it can only become disconnected when 2 vertices are removed. In other words, it is 2-connected. Formally:

DEF: A connected simple graph with 3 or more vertices is 2-connected if it remains connected when any vertex is removed. When the graph is not 2-connected, we call the disconnecting vertex a cut vertex.

Q: Why the condition on the number of vertices?

20

Page 21: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

N-Connectivity

A: To avoid being 2-connected.

There is also a notion of N-Connectivity where we require at least N vertices to be removed to disconnect the graph.

21

Page 22: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connectivity inDirected Graphs

1) Weakly connected : can get from a to b in underlying undirected graph

2) Semi-connected (my terminology): can get from a to b OR from b to a in digraph

3) Strongly connected : can get from a to b AND from b to a in the digraph

DEF: A graph is strongly (resp. semi, resp. weakly) connected if every pair of vertices is connected in the same sense.

22

Page 23: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connectivity inDirected Graphs

Q: Classify the connectivity of each graph.

23

Page 24: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Connectivity inDirected Graphs

A: semi weak strong

24

Page 25: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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

25

Page 26: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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?

26

Page 27: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Pencil Drawing Problem-Euler Paths

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

27

Page 28: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Pencil Drawing Problem-Euler Paths

Answer: the left but not the right.

28

start finish

1 2

3

4

5

6

Page 29: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Euler Paths and CircuitsDefinition

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.

29

Page 30: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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 ?

30

A

B

Page 31: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Taxicab Problem-Hamilton Paths

Graph Theoretically: Is there a Hamilton path from A to B in the following graph?

(NO in this case)

31

A

B

Page 32: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Hamilton Paths and CircuitsDefinition

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.

32

Page 33: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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).

33

Page 34: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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!

34

Page 35: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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.

35

Page 36: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler Circuits

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

36

Page 37: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler Circuits

A: It contains a vertex of odd degree.

37

Page 38: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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

38

Page 39: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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’ :

39v’ v’’

e

Page 40: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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)

40

Simplecycle

Page 41: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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 component3) Amalgamate Euler cycles together using the simple

cycle obtaining wanted Euler cycle.Let’s see how the amalgamation process works:

41

Page 42: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

42

Page 43: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Found a cycle after starting from middle vertex.

Delete the cycle:

43

Page 44: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Found a cycle after starting from middle vertex.

Delete the cycle:

44

Page 45: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Found a cycle after starting from middle vertex.

Delete the cycle:

45

Page 46: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Found a cycle after starting from middle vertex.

Delete the cycle:

46

Page 47: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Found a cycle after starting from middle vertex.

Delete the cycle:

47

Page 48: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Now try again (say from middle vertex):

48

Page 49: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’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:

49

Page 50: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

50

1

Page 51: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

51

12

Page 52: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

52

123

Page 53: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

53

123 4

Page 54: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

54

123 4 5

Page 55: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

55

123 4 5

6

Page 56: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

56

123 4 5

6

7

Page 57: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

57

123 4 5

6

78

Page 58: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

58

123 4 5

6

789

Page 59: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

59

123 4 5

6

789

10

Page 60: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Find another cycle from middle vertex:

60

123 4 5

6

789

10

11

Page 61: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

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

61

123 4 5

6

789

10

11

Page 62: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Finally, need to add the triangle.

Use same naïve approach looking for cycle in remaining component:

62

123 4 5

6

789

10

??

Page 63: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Finally, need to add the triangle.

Use same naïve approach looking for cycle in remaining component:

63

123 4 5

6

789

10

?? 11

Page 64: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Finally, need to add the triangle.

Use same naïve approach looking for cycle in remaining component:

64

123 4 5

6

789

10

?? 11 12

Page 65: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Finally, need to add the triangle.

Use same naïve approach looking for cycle in remaining component:

65

123 4 5

6

789

10

?? 11 1213

Page 66: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Finally, need to add the triangle.

Use same naïve approach looking for cycle in remaining component:

66

123 4 5

6

789

10

?? 11 121314

Page 67: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

Finally, need to add the triangle.

Use same naïve approach looking for cycle in remaining component:

67

123 4 5

6

789

10

15 11 121314

Page 68: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

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

68

123 4 5

6

789

10

15 11 121314

Page 69: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

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

69

123 4 5

6

789

??

?? ?? ??????

Page 70: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Finding Euler CircuitsMohammed’s Scimitars

We found the Euler circuit!

70

123 4 5

6

789

13

18 14 151617

1011 12

Page 71: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

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!

71

Page 72: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler Paths

Q: Does the following have an Euler circuit?

72

Page 73: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler PathsA: No, vertices of odd degree:

Q: But why does it have an Euler path?73

Page 74: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler Paths

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

So can add a phantom edge between odd degree vertices:

74

Page 75: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler Paths

All degrees now even so find Euler cycle:75

Page 76: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler Paths

Now remove phantom edge obtaining:L25 76

1 2

3

4

5

67

Page 77: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler Paths

Generalize:

77

1 2

3

4

5

6

Page 78: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Generalizing to Euler Paths

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

78

Page 79: Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.

Blackboard Exercises

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:

79