- 1. Graph Theory A.Benedict Balbuena Institute of Mathematics, University of the Philippines in Diliman 8.2.2008 A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 1 / 47
- 2. Deﬁnitions Simple Graph Deﬁnition A simple graph G(V , E) consists of a nonempty set V of vertices and a set E of edges such that each edge e ∈ E is associated with an unordered pair of distinct vertices, called its endpoints. Vertices are adjacent if there is an edge connecting the two vertices. An edge is incident to its endpoints. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 2 / 47
- 3. Deﬁnitions Simple Graph Deﬁnition A simple graph G(V , E) consists of a nonempty set V of vertices and a set E of edges such that each edge e ∈ E is associated with an unordered pair of distinct vertices, called its endpoints. Vertices are adjacent if there is an edge connecting the two vertices. An edge is incident to its endpoints. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 2 / 47
- 4. Deﬁnitions Degree Deﬁnition The degree of a vertex in a simple graph, denoted deg(v ), is the number of edges incident on it. degree also means number of adjacent vertices A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 3 / 47
- 5. Deﬁnitions Handshaking Lemma Theorem Given a simple graph G(V , E), 2|E| = deg(v ) v ∈V Proof. Each edge contributes 1 each to the degree of its endpoints. Thus each edge adds 2 to the total degree of G. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 4 / 47
- 6. Deﬁnitions Theorem In any simple graph, there are an even number of vertices of odd degree Proof. Let G(V , G) be a simple graph. The sum of all the degrees of the vertices is 2|E|, an even number. Let deven be the sum of degrees of vertices with even degree and dodd the sum of degrees of vertices with odd degree. The total deven is even, thus dodd is even. This implies that there must be an even number of the odd degrees. Hence, there must be an even number of vertices with odd degree. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 5 / 47
- 7. Paths Paths and Cycles Deﬁnition A path is a sequence of vertices v0 , v1 , v2 , ..., vn where there is an edge connecting vi and vi+1 for i = 0, 1, .., n − 1. A path with the same starting and endpoint is called a cycle (circuit). A graph is simple if no edge is repeated. acyclic graph has no cycles A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 6 / 47
- 8. Paths Adjacency Matrix Deﬁnition The adjacency matrix of a simple graph G with n vertices is a binary n × n matrix such that each entry ai,j is either zero or one. ai,j = 0 if there is no edge from vi to vj , otherwise it is 1. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 7 / 47
- 9. Paths Theorem Let G be a graph with adjacency matrix A with respect to the ordering v1 , v2 , ..., vn and r a positive integer. The number of different paths of length r from vi to vj is the (i, j)-th entry of Ar A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 8 / 47
- 10. Paths Connectedness Deﬁnition A simple graph is called connected if there is a path between every pair of distinct vertices. A graph that is not connected is said to be disconnected A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 9 / 47
- 11. Paths Theorem There is a simple path between every pair of distinct vertices of a connected simple graph Proof. Let u and v be two distinct vertices of a connected simple graph G. SInce G is connected then there is a path from u to v , say u = x0 , x1 , ..., xn−1 , xn = v . If this were not simple, then there is a subpath where xi = xj for some i and j with 0 ≤ i ≤ j. Meaning there is a path from u to v of shorter length with vertex sequence u, x1 , ..., xi−1 , xj , ..., v obtained by deleting the edges of the subpath. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 10 / 47
- 12. Paths Euler Paths Deﬁnition A simple path that contains all edges of a graph is called an Euler path. If this path is also a circuit, it is called an Euler circuit. eulerian graphs have euler circuits A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 11 / 47
- 13. Paths Theorem If a simple graph has an Euler circuit then every vertex of the graph has even degree. Proof. Let G be a graph with an Euler circuit. Start at some vertex on the circuit and follow the circuit from vertex to vertex, erasing each edge as you go along it. When you go through a vertex you erase one edge going in and one edge going out, reducing the degree of the vertex by 2. Eventually every edge gets erased and all the vertices have degree 0. So all vertices must have had even degree to begin with. contrapositive?? A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 12 / 47
- 14. Paths Corollary If a graph has a vertex with odd degree then the graph can not have an Euler circuit. Theorem If all the vertices of a connected graph have even degree, then the graph has an Euler circuit. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 13 / 47
- 15. Paths Theorem A connected graph has an Euler path but not an Euler circuit if and only if it has exactly two vertices of odd degree. Proof. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 14 / 47
- 16. Paths Fleury’s Algorithm constructs an Euler circuit in a graph (if it’s possible). âreduced graphâ = original graph minus the darkened (already used) edges 1 Pick any vertex to start 2 From that vertex pick an edge to traverse, considering following rule: never cross a bridge of the reduced graph unless there is no other choice 3 Darken that edge, as a reminder that you can’t traverse it again 4 Travel that edge, coming to the next vertex 5 Repeat 2-4 until all edges have been traversed, and you are back at the starting vertex A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 15 / 47
- 17. Paths Hamilton Paths Deﬁnition A path is called a Hamiltonian path if it visits every vertex of the graph exactly once. A circuit that visits every vertex exactly once except for the last vertex which duplicates the ﬁrst one is called a Hamiltonian circuit. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 16 / 47
- 18. Paths Theorem If G is a connected simple graph with n vertices where n ≥ 3, then G has a Hamilton circuit if the degree of each vertex is at n least . 2 A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 17 / 47
- 19. Paths Gray Code A gray code A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 18 / 47
- 20. Special Graphs Complete Graph Kn Deﬁnition A complete graph on n vertices (clique), denoted by Kn , is the simple graph where each vertex is adjacent to all the other vertices. Find a formula for the number of edges in Kn A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 19 / 47
- 21. Special Graphs Paths and Cycles Deﬁnition A path on n vertices Pn , is the simple graph consisting of a path. The end-vertices have degree 1 and all vertices in between have degree 2. Deﬁnition A Cycle on n vertices Cn , is the simple graph consisting of a cycle where each vertex has degree two. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 20 / 47
- 22. Special Graphs Wheels and Stars Deﬁnition A wheel on n vertices Wn , is the simple graph consisting of a cycle Cn and another vertex which is adjacent to all vertices in the cycle. Deﬁnition A star on n vertices is the simple graph consisting n + 1 vertice, n of which are connected to the n + 1-th vertex. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 21 / 47
- 23. Special Graphs Bipartite Graphs Deﬁnition A bipartite graph is a simple graph in which the vertices can be partitioned into two disjoint sets V1 and V2 where every edge is incident to one vertex in V1 and one vertex in V2 . A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 22 / 47
- 24. Special Graphs Complete Bipartite Graph Deﬁnition A complete bipartite graph Km,n is the graph that has its vertex set partitioned into two disjoint subsets of m and n vertices, respectively. Moreover, there is an edge between two vertices if and only if one vertex is in the ﬁrst set and the other vertex is in the second set. Each vertex is connected to all the other vertices in the other subset. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 23 / 47
- 25. Special Graphs N-cube Deﬁnition The n-cube (hypercube) Qn is the graph whose vertices are binary strings of length n. Two vertices are adjacent if and only if the bit strings differ in eactly one position. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 24 / 47
- 26. Special Graphs Regular Graphs Deﬁnition If each vertex of a simple graph has degree k then the graph is called a regular graph of degree k A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 25 / 47
- 27. Relation Between Graphs Deﬁnition A graph H(VH , EH ) is a subgraph of G(V , E) if and only if VH ⊆ V and EH ⊆ E A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 26 / 47
- 28. Relation Between Graphs Isomorphic Graphs Deﬁnition Two simple graphs G1 (V1 , E1 ) and G2 (V2 , E2 ) are isomorphic, denoted G1 ∼ G2 , if there is a one-to-one onto function = f : V1 −→ V2 such that if v1 , v2 are adjacent vertices in G1 then f (v1 ), f (v2 ) are adjacent vertices in G2 Edges are preserved The number of vertices, the number of edges, degrees of the vertices, cycles, longest paths are all invariants under isomorphism. If any of these quantities differ in two graphs, they are not isomorphic. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 27 / 47
- 29. Planar Graphs Planar Graphs Deﬁnition A graph is planar if there is a way to draw it in the plane without edges crossing. such drawing is called a planar representation, which splits the plane into regions planar graphs are relatively easy for humans to grasp since there are no crisscrossing edges. Sometimes the advantages of planarity are more concrete; for example, when wires are arranged on a surface, like a circuit board or microchip A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 28 / 47
- 30. Planar Graphs Jordan Curve Theorem Theorem Every simple, closed curve separates the plane into two regions, an inside and an outside. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 29 / 47
- 31. Planar Graphs Drawing Planar Representations For connected graphs Start with a vertex and record faces while drawing. Faces are enclosed by circuits Precise rules deﬁning the cycles that are the face boundaries of a Planar Drawing: 1 Attach edge from vertex on a face to a new vertex. 2 Attach edge between nonadjacent vertices on a face. Every connected planar drawing is obtained by starting with a single vertex, and repeatedly applying the Rules. Properties of planar drawings like Eulerâs formula can be proved by induction on the number of rule applications used to create a drawing. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 30 / 47
- 32. Planar Graphs Euler’s Formula Theorem If a connected planar representation of a graph has v vertices, e edges, and f faces, then v −e+f =2 Proof. Show this by induction on the number of edges. For the base case, if there is no edge then we have 1 verte and 1 face which satisﬁes the equation. We assume that given n number of edges, v − e + f = 2. If we add an edge, we let it attach it to a new vertex or to an old vertex. For the ﬁrst one, we choose a face and add an edge with a new vertex, thus v + 1 − e − 1 + f = 2. On the other hand, we choose a face and add an edge across it. This splits the face into two new faces, thus v − e − 1 + f + 1 = 2. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 31 / 47
- 33. Trees Deﬁnition A simple graph is called a tree if each pair of distinct vertices has exactly one path. is a tree connected? do trees have cycles? A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 32 / 47
- 34. Trees Theorem Any tree with more than one vertex has at least one vertex of degree 1. Proof. Let v0 and vn be two distinct vertices. Then there is a path connecting v0 to vn . By the deﬁnition of a tree, there is only one edge incident on either v0 or vn . Hence, either deg(v0 ) = 1 or deg(v1 ) = 1. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 33 / 47
- 35. Trees Theorem A tree with n vertices has exactly n − 1 edges. Proof. We show this by induction on n. Let P(n) = Any tree with n vertices has n − 1 edges. P(1) is valid since a tree with one vertex has zero edges. Suppose that P(n) holds, we show P(n + 1) holds, any tree with n + 1 vertices has n edges. Indeed, let T be any tree with n + 1 vertices. Since n + 1 ≥ 2 then by the previous theorem, T has a vertex v of degree 1. Let T0 be the graph obtained by removing v and the edge attached to v . Then T0 is a tree with n vertices. By the induction hypothesis, T0 has n − 1 edges and so T has n edges. is the converse true?? A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 34 / 47
- 36. Trees Theorem Any connected graph with n vertices and n − 1 edges is a tree. A rooted tree is a tree in which a particular vertex is designated as the root. The level of a vetex v is the length of the simple path from the root to v . The height of a rooted tree is the maximum length of a path in the tree. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 35 / 47
- 37. Trees Deﬁnition Let T be a rooted tree with root v0 . Suppose v0 , v1 , ..., vn is a simple path in T and x, y , z are three vertices. Then 1 vn−1 is the parent of vn 2 v0 , v1 , ..., vn−1 are the ancestors of vn : 3 vn is the child of vn−1 4 If x is an ancestor of y then y is a descendant of x 5 If x and y are children of z then x and y are siblings 6 If x has no children, then x is a leaf. 7 The subtree of T rooted at x is the graph whose vertices consist of x and its descendants and whose edges are edges in the graph T with e A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 36 / 47
- 38. Trees Deﬁnition A binary tree is a rooted tree such that each vertex has at most two children, left child or a right child. A full binary tree is a binary tree in which each vertex has either two or zero children. maximum degree in a binary tree?? A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 37 / 47
- 39. Trees Deﬁnition T is a spanning tree of a graph G if it is a subgraph of G that is a tree and contains all of the vertices of G. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 38 / 47
- 40. Coloring Coloring Deﬁnition A coloring of a simple graph is the assignment of a color to each vertex so that no two adjacent vertices have the same color Deﬁnition A graph is k − colorable if each vertex can be assigned one of the k colors so that adjacent vertex get different colors. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 39 / 47
- 41. Coloring Theorem A graph with maximum degree at most k is (k+1)-colorable. Deﬁnition The chromatic number of a graph is the least number of colors needed to color a graph A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 40 / 47
- 42. Digraphs Digraphs Deﬁnition A directed graph or digraph D(X , A) consists of a nonempty set V of vertices and a set E of arcs such that each arc a ∈ A is associated with an ordered pair of distinct vertices. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 41 / 47
- 43. Digraphs Digraphs Deﬁnition A directed graph or digraph D(X , A) consists of a nonempty set V of vertices and a set E of arcs such that each arc a ∈ A is associated with an ordered pair of distinct vertices. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 41 / 47
- 44. Digraphs In and Out Degrees Deﬁnition When (u, v ) is an arc a digraph then u is called the initial vertex and v is called the terminal vertex. In a directed graph, the in-degree of a vertex v , denoted by deg − (v ), is the number of edges with v as their terminal vertex. Similarly, the out-degree of v , denoted by deg + (v ), is the number of edges with v as an initial vertex. denote arc (u, v ) by u → v u → v means u in-neighbor of v and v out-neighbor of u Note that deg(v ) = deg + (v ) + deg − (v ) A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 42 / 47
- 45. Digraphs Deﬁnition The set of out-neighbors of a vertex v and the vertex v itself is called the vicinity of v , denoted N(v ). Deﬁnition A vertex is a source if it has no in-neighbor and is an in-neighbor of at least one vertex. A vertex is a sink if it has no outneighbor and is an out-neighbor of at least one other vertex A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 43 / 47
- 46. Digraphs Theorem Given digraph D(X , A), |E| = deg + (v ) = deg − (v ) v ∈X v ∈X A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 44 / 47
- 47. Digraphs Directed Paths Deﬁnition A directed path of length n (where n is a positive integer) from u to v in a digraph is a sequence of points u = v0 , v1 , v2 , ..., vn = v where there is an arc connecting vi and vi+1 for i = 0, 1, .., n − 1. A path with the same starting and endpoint is called a cycle (circuit). A directed path is simple if no edge is repeated. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 45 / 47
- 48. Digraphs Connectedness Deﬁnition A digraph is strongly connected if there is a path from a to b and from b to a whenever a and b are vertices in the graph. Deﬁnition A digraph is weakly connected if there is a path between any two vertices in its underlying undirected graph. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 46 / 47
- 49. Digraphs Transitive Digraphs Deﬁnition A transitive digraph is a digraph D(V , A) such that for any three vertices u, v , x ∈ V , if u → v and v → x then u → x. Deﬁnition The underlying undirected graph of a transitive digraph is called a comparability graph. A.B.C.Balbuena (UP-Math) Graph Theory 8.2.2008 47 / 47