Download presentation
Presentation is loading. Please wait.
Published byOsborne Ross Modified over 8 years ago
1
1 Graphs Chapters 10.1 and 10.2 University of Maryland Chapters 10.1 and 10.2 Based on slides by Y. Peng University of Maryland
2
2 Introduction to Graphs Definition: A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. For each e E, e = {u, v} where u, v V. An undirected graph (not simple) may contain loops. An edge e is a loop if e = {u, u} for some u V.
3
3 Introduction to Graphs Definition: A directed graph G = (V, E) consists of a set V of vertices and a set E of edges that are ordered pairs of elements in V. For each e E, e = (u, v) where u, v V. An edge e is a loop if e = (u, u) for some u V. A simple graph is just like a directed graph, but with no specified direction of its edges.
4
4 Graph Models Example I: How can we represent a network of (bi-directional) railways connecting a set of cities? We should use a simple graph with an edge {a, b} indicating a direct train connection between cities a and b. New York BostonWashington Lübeck Toronto Hamburg
5
5 Graph Models Example II: In a round-robin tournament, each team plays against each other team exactly once. How can we represent the results of the tournament (which team beats which other team)? We should use a directed graph with an edge (a, b) indicating that team a beats team b. Penguins Bruins Lübeck Giants Maple Leafs
6
6 Graph Terminology Definition: Two vertices u and v in an undirected graph G = (V, E) are called adjacent (or neighbors) in G if {u, v} is an edge in G. If e = {u, v}, the edge e is called incident with the vertices u and v. The edge e is also said to connect u and v. The vertices u and v are called endpoints of the edge {u, v}. The set of all neighbors of a vertex v, denoted by N(v), is called the neighborhood of v. If A is a subset of V, we denote by N(A) the set of all vertices in G that are adjacent to at least one vertex in A. So, N(A) = U v ∈ A N(v).
7
7 Graph Terminology Definition: The degree of a vertex in an undirected graph is the number of edges incident with it, except that a loop at a vertex contributes twice to the degree of that vertex. In other words, you can determine the degree of a vertex in a displayed graph by counting the lines that touch it. The degree of the vertex v is denoted by deg(v).
8
8 Graph Terminology A vertex of degree 0 is called isolated, since it is not adjacent to any vertex. Note: A vertex with a loop at it has at least degree 2 and, by definition, is not isolated, even if it is not adjacent to any other vertex. A vertex of degree 1 is called pendant. It is adjacent to exactly one other vertex.
9
9 Graph Terminology Example: Which vertices in the following graph are isolated, which are pendant, and what is the maximum degree? What type of graph is it? a bc dih g j f e Solution: Vertex f is isolated, and vertices a, d and j are pendant. The maximum degree is deg(g) = 5. This graph is a pseudograph (undirected, loops).
10
10 Graph Terminology Let us look at the same graph again and determine the number of its edges and the sum of the degrees of all its vertices: a bc dih g j f e Result: There are 9 edges, and the sum of all degrees is 18. This is easy to explain: Each new edge increases the sum of degrees by exactly two.
11
11 Graph Terminology The Handshaking Theorem: Let G = (V, E) be an undirected graph with e edges. Then 2e = v V deg(v) Example: How many edges are there in a graph with 10 vertices, each of degree 6? Solution: The sum of the degrees of the vertices is 6 10 = 60. According to the Handshaking Theorem, it follows that 2e = 60, so there are 30 edges.
12
12 Graph Terminology Theorem: An undirected graph has an even number of vertices of odd degree. Proof: Let V1 and V2 be the set of vertices of even and odd degrees, respectively (Thus V1 V2 = , and V1 V2 = V). Then by Handshaking theorem 2|E| = v V deg(v) = v V1 deg(v) + v V2 deg(v) Since both 2|E| and v V1 deg(v) are even, v V2 deg(v) must be even. Since deg(v) if odd for all v V2, |V2| must be even. QED QED
13
13 Graph Terminology Definition: When (u, v) is an edge of the graph G with directed edges, u is said to be adjacent to v, and v is said to be adjacent from u. The vertex u is called the initial vertex of (u, v), and v is called the terminal vertex of (u, v). The initial vertex and terminal vertex of a loop are the same.
14
14 Graph Terminology Definition: In a graph with directed edges, the in- degree of a vertex v, denoted by deg - (v), is the number of edges with v as their terminal vertex. The out-degree of v, denoted by deg + (v), is the number of edges with v as their initial vertex. Question: How does adding a loop to a vertex change the in-degree and out-degree of that vertex? Answer: It increases both the in-degree and the out-degree by one.
15
15 Graph Terminology Example: What are the in-degrees and out- degrees of the vertices a, b, c, d in this graph: ab cd deg - (a) = 1 deg + (a) = 2 deg - (b) = 4 deg + (b) = 2 deg - (d) = 2 deg + (d) = 1 deg - (c) = 0 deg + (c) = 2
16
16 Graph Terminology Theorem: Let G = (V, E) be a graph with directed edges. Then: v V deg - (v) = v V deg + (v) = |E| This is easy to see, because every new edge increases both the sum of in-degrees and the sum of out-degrees by one.
17
17 Special Graphs Definition: The complete graph on n vertices, denoted by K n, is the simple graph that contains exactly one edge between each pair of distinct vertices. K1K1K1K1 K2K2K2K2 K3K3K3K3 K4K4K4K4 K5K5K5K5
18
18 Special Graphs Definition: The cycle C n, n 3, consists of n vertices v 1, v 2, …, v n and edges {v 1, v 2 }, {v 2, v 3 }, …, {v n-1, v n }, {v n, v 1 }. C3C3C3C3 C4C4C4C4 C5C5C5C5 C6C6C6C6
19
19 Special Graphs Definition: We obtain the wheel W n when we add an additional vertex to the cycle C n, for n 3, and connect this new vertex to each of the n vertices in C n by adding new edges. W3W3W3W3 W4W4W4W4 W5W5W5W5 W6W6W6W6
20
20 Special Graphs Definition: The n-cube, denoted by Q n, is the graph that has vertices representing the 2 n bit strings of length n. Two vertices are adjacent if and only if the bit strings that they represent differ in exactly one bit position. Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q301 00011110 000001 101 100 010 011111110
21
21 Special Graphs Definition: A simple graph is called bipartite if its vertex set V can be partitioned into two disjoint nonempty sets V 1 and V 2 such that every edge in the graph connects a vertex in V 1 with a vertex in V 2 (so that no edge in G connects either two vertices in V 1 or two vertices in V 2 ). For example, consider a graph that represents each person in a village by a vertex and each marriage by an edge. This graph is bipartite, because each edge connects a vertex in the subset of males with a vertex in the subset of females (if we think of traditional marriages).
22
22 Special Graphs Example I: Is C 3 bipartite? v1v1v1v1 v2v2v2v2 v3v3v3v3 No, because there is no way to partition the vertices into two sets so that there are no edges with both endpoints in the same set. Example II: Is C 6 bipartite? v5v5v5v5 v1v1v1v1 v2v2v2v2 v3v3v3v3 v4v4v4v4 v6v6v6v6 v1v1v1v1 v6v6v6v6 v2v2v2v2 v5v5v5v5 v3v3v3v3 v4v4v4v4 Yes, because we can display C 6 like this:
23
23 Special Graphs Definition: The complete bipartite graph K m,n is the graph that has its vertex set partitioned into two subsets of m and n vertices, respectively. Two vertices are connected if and only if they are in different subsets. K 3,2 K 3,4
24
24 Operations on Graphs Definition: A subgraph of a graph G = (V, E) is a graph H = (W, F) where W V and F E. Note: Of course, H is a valid graph, so we cannot remove any endpoints of remaining edges when creating H. Example: K5K5K5K5 subgraph of K 5
25
25 Operations on Graphs Definition: The union of two simple graphs G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) is the simple graph with vertex set V 1 V 2 and edge set E 1 E 2. The union of G 1 and G 2 is denoted by G 1 G 2. G1G1G1G1 G2G2G2G2 G 1 G 2 = K 5
26
Bipartite Graphs and Matchings Bipartite graphs are used to model applications that involve matching the elements of one set to elements in another, for example: Job assignments - vertices represent the jobs and the employees, edges link employees with those jobs they have been trained to do. A common goal is to match jobs to employees so that the most jobs are done. Marriage - vertices represent the men and the women and edges link a a man and a woman if they are an acceptable spouse. We may wish to find the largest number of possible marriages.
27
Bipartite Graphs and Matchings A matching M in a simple graph G = (V,E) is a subset of the set E of edges of the graph such that no two edges are incident with the same vertex. A vertex that is the endpoint of an edge of a matching M is said to be matched in M; otherwise it is said to be unmatched. A maximum matching is a matching with the largest number of edges. A matching M in a bipartite graph G = (V,E) with bipartition (V1, V2) is a complete matching from V1 to V2 if every vertex in V1 is the endpoint of an edge in the matching, or equivalently, if |M| = |V1|. A complete matching is always a maximum matching.
28
Bipartite Graphs and Matchings For example, to assign jobs to employees so that the largest number of jobs are assigned employees, we seek a maximum matching. To assign employees to all jobs we seek a complete matching from the set of jobs to the set of employees.. A complete matching from the set of jobs to the set of employees is shown as blue edges in (a), and this matching is a maximun matching. No complete matching exists from the set of jobs to the employees in (b).
29
Bipartite Graphs and Matchings HALL’S MARRIAGE THEOREM (1935) The bipartite graph G = (V,E) with bipartition (V1, V2) has a complete matching from V1 to V2 if and only if |N(A)| ≥ |A| for all subsets A of V1.
30
Bipartite Graphs and Matchings HALL’S MARRIAGE THEOREM (1935) The proof by Hall is not constructive, i.e., we cannot construct an algorithm based on this proof that finds a complete matching in a bipartite graph. For a constructive proof that can be used as the basis of an algorithm, see A. Gibbons, Algorithmic Graph Theory, Cambridge University Press, Cambridge, England, 1985
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.