GRAPHS: THEORY AND ALGORITHMS
GRAPHS: THEORY AND ALGORITHMS K. T H U L A S I R A M A N Μ. N. S. S W A M Y Concordia U...
315 downloads
2429 Views
5MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
GRAPHS: THEORY AND ALGORITHMS
GRAPHS: THEORY AND ALGORITHMS K. T H U L A S I R A M A N Μ. N. S. S W A M Y Concordia University Montreal, Canada
A Wiley-lnterscience Publication JOHN WILEY & SONS, INC. New York /
Chichester
/
Brisbane /
Toronto /
Singapore
In recognition of the importance of preserving what has been written, it is a policy of John Wiley & Sons, Inc., to have books of enduring value published in the United States printed on acid-free paper, and we exert our best efforts to that end. Copyright © 1992 by John Wiley & Sons, Inc. All rights reserved. Published simultaneously in Canada. Reproduction or translation of any part of this work beyond that permitted by Section 107 or 108 of the 1976 United States Copyright Act without the permission of the copyright owner is unlawful. Requests for permission or further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. Library of Congress Cataloging in Publication Data:
Thulasiraman, K. Graphs: theory and algorithms / K. Thulasiraman and M.N.S. Swamy. p. cm. "A Wiley-Interscience publication." Includes bibliographical references and index. ISBN 0-471-51356-3 1. Graph theory. 2. Electric networks. 3. Algorithms. I. Swamy, Μ. N. S. II. Title. QA166.T58 91-34930 1992 511'.5-dc20 CIP 10 9 8 7 6 5 4 3 2 1
Dedicated to Our Parents and Teachers
^ g ^ f t f e i Star ^
U
from Vishwasara Tantra
Salutations to the Guru who with the collyrium stick of knowledge has opened the eyes of one blinded by the disease of ignorance.
CONTENTS
PREFACE 1
BASIC CONCEPTS
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 2
xiii
Some Basic Definitions / 1 Subgraphs and Complements / 4 Walks, Trails, Paths, and Circuits / 7 Connectedness and Components of a Graph / 9 Operations on Graphs / l l Special Graphs / 16 Cut-Vertices and Separable Graphs / 19 Isomorphism and 2-Isomorphism / 22 Further Reading / 25 Exercises / 26 References / 29
TREES, CUTSETS, AND CIRCUITS
2.1 2.2 2.3 2.4 2.5 2.6
1
31
Trees, Spanning Trees, and Cospanning Trees / 31 Λ-Trees, Spanning Λ-Trees, and Forests / 38 Rank and Nullity / 41 Fundamental Circuits / 41 Cutsets / 42 Cuts / 43 vli
Vlii
CONTENTS
2.7 2.8 2.9 2.10 2.11
3
EULERIAN AND HAMILTONIAN GRAPHS
3.1 3.2 3.3 3.4 3.5 4
Eulerian Graphs / 57 Hamiltonian Graphs / 62 Further Reading / 67 Exercises / 68 References / 70
GRAPHS AND VECTOR SPACES
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9
5
Fundamental Cutsets / 46 Spanning Trees, Circuits, and Cutsets / 48 Further Reading / 51 Exercises / 51 References / 54
Groups and Fields / 72 Vector Spaces / 74 Vector Space of a Graph / 80 Dimensions of Circuit and Cutset Subspaces / 86 Relationship between Circuit and Cutset Subspaces / Orthogonality of Circuit and Cutset Subspaces / 90 Further Reading / 93 Exercises / 94 References / 96
DIRECTED GRAPHS
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11
Basic Definitions and Concepts / 97 Graphs and Relations / 104 Directed Trees or Arborescences / 105 Directed Eulerian Graphs / 110 Directed Spanning Trees and Directed Euler Trails / Directed Hamiltonian Graphs / 115 Acyclic Directed Graphs / 118 Tournaments / 119 Further Reading / 121 Exercises / 121 References / 124
CONTENTS
6
MATRICES OF A GRAPH
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 7
7.4 7.5 7.6 7.7 7.8 8
179
Planar Graphs / 179 Euler's Formula / 182 Kuratowski's Theorem and Other Characterizations of Planarity / 186 Dual Graphs / 188 Planarity and Duality / 193 Further Reading / 196 Exercises / 196 References / 198
CONNECTIVITY AND MATCHING
8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10
126
Incidence Matrix / 126 Cut Matrix / 130 Circuit Matrix / 133 Orthogonality Relation / 136 Submatrices of Cut, Incidence, and Circuit Matrices / 139 Unimodular Matrices / 145 The Number of Spanning Trees / 147 The Number of Spanning 2-Trees / 151 The Number of Directed Spanning Trees in a Directed Graph / 155 Adjacency Matrix / 159 The Coates and Mason Graphs / 163 Further Reading / 172 Exercises / 173 References / 176
PLANARITY AND DUALITY
7.1 7.2 7.3
iX
Connectivity or Vertex Connectivity / 200 Edge Connectivity / 207 Graphs with Prescribed Degrees / 209 Menger's Theorem / 213 Matchings / 215 Matchings in Bipartite Graphs / 217 Matchings in General Graphs / 224 Further Reading / 230 Exercises / 231 References / 234
200
X
9
CONTENTS
COVERING AND COLORING
9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10
Independent Sets and Vertex Covers / 236 Edge Covers / 243 Edge Coloring and Chromatic Index / 245 Vertex Coloring and Chromatic Number / 251 Chromatic Polynomials / 253 The Four-Color Problem / 257 Further Reading / 258 Exercises / 259 References / 262
MATROIDS
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 11
265
Basic Definitions / 266 Fundamental Properties / 268 Equivalent Axiom Systems / 272 Matroid Duality and Graphoids / 276 Restriction, Contraction, and Minors of a Matroid / 282 Representability of a Matroid / 285 Binary Matroids / 287 Orientable Matroids / 292 Matroids and the Greedy Algorithm / 294 Further Reading / 298 Exercises / 299 References / 303
GRAPH ALGORITHMS
11.1 11.2 11.3 11.4 11.5
236
Transitive Closure / 307 Shortest Paths / 314 Minimum Weight Spanning Tree / 324 Optimum Branchings / 327 Perfect Matching, Optimal Assignment, and Timetable Scheduling / 332 11.6 The Chinese Postman Problem / 342 11.7 Depth-First Search / 346 11.8 Biconnectivity and Strong Connectivity / 354 11.9 Reducibility of a Program Graph / 361 11.10 si-Numbering of a Graph / 370 11.11 Planarity Testing / 373
306
CONTENTS
11.12 11.13 11.14 12
Further Reading / 379 Exercises / 380 References / 382
FLOWS IN NETWORKS
12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11 12.12 12.13 12.14
Xi
390
The Maximum Flow Problem / 391 Maximum Flow Minimum Cut Theorem / 392 Ford-Fulkerson Labeling Algorithm / 396 Edmonds and Karp Modification of the Labeling Algorithm / 400 Dinic Maximum Flow Algorithm / 404 Maximal Flow in a Layered Network: The MPM Algorithm / 408 Preflow Push Algorithm: Goldberg and Tarjan / 411 Maximum Flow in 0-1 Networks / 422 Maximum Matching in Bipartite Graphs / 426 Menger's Theorems and Connectivities / 427 NP-Completeness / 433 Further Reading / 436 Exercises / 437 References / 439
AUTHOR INDEX
445
SUBJECT INDEX
451
PREFACE
In the past two decades graph theory has come to stay as a powerful analytical tool in the understanding and solution of large complex problems that arise in the study of engineering, computer, and communication systems. While its origin is traced to Euler's solution in 1735 of the Konigsberg bridge problem, its first application to a problem in physical science did not occur until 1847, when Kirchhoff developed the theory of trees for its application in the study of electrical networks. The elegance with which the graph of an electrical network captures the structural relationships between the voltage and current variables of the network has led to equally elegant contributions to electrical network theory. One such condition is Tellegen's theorem, the application of which in the computation of network sensitivities is now well recognized. The theory of network flows developed by Ford and Fulkerson in 1956 was the first major application of graph theory to operations research. This theory provides the main link between graph theory and operations research and continues to be a fascinating topic of further research. Computer and communication systems are among the recent additions to the growing list of application areas of graph theory. Motivated by applications in the design of interconnection networks for these systems, in recent years there has been a great deal of interest in the design of graphs having specified topological properties such as distance, connectivity, and regularity. Fascinated by the challenges encountered in the design of efficient algorithms for graph problems, theoretical computer scientists have developed in the past two decades a large number of interesting and deep graph algorithms adding to the richness of graph theory. Theoretical computer scientists have also identified the class of graph problems for which "efficient" algorithms are not likely to xiii
XiV
PREFACE
exist, giving birth to the theory of NP-Completeness. This is indeed a significant contribution of computer science to graph theory. Every time a new area of application of graph theory emerged, the need arose for the introduction and study of new concepts or a further study of several known concepts. This continuous interaction has immensely contributed to the recent explosion of graph theory, which was fairly dormant for more than a century after its origin. Thus graph theory is now a vast subject with several fascinating branches of its own: enumerative graph theory, extremal graph theory, random graph theory, algorithmic graph theory, and so on. As its name implies, this book is on graph theory and graph algorithms. It is addressed to students in engineering, computer science, and mathematics. Our choice of topics has been motivated by their relevance to applications. Thus we attempt to provide a unified and an in-depth treatment of those topics in graph theory and graph algorithms that we believe to be fundamental in nature and that occur in most applications. Broadly speaking, the book may be considered as consisting of two parts dealing with graph theory and graph algorithms in that order. In the first ten chapters we discuss the theory of graphs. The topics discussed include trees, circuits, cutsets, Hamiltonian and Eulerian graphs, directed graphs, matrices of a graph, planarity, connectivity, matching, and coloring. We have also included an introduction to matroid theory. Among the matroid topics presented are Minty's self-dual axiom system, which makes obvious the duality between circuits and cutsets of a graph, the arc coloring lemma, the greedy algorithm, and its intimate relationship with matroids. The last two chapters of the book deal with graph algorithms. In Chapter 11 we discuss several algorithms which are basic in the sense that they serve as building blocks in designing more complex algorithms. In most cases the algorithms of Chapter 11 are based on results and concepts presented in earlier chapters. In certain cases we also introduce and discuss new concepts such as branching and graph reducibility. In Chapter 12 we develop the theory of network flows. We start with the maximum flow minimum cut theorem of Ford and Fulkerson and then proceed to develop several algorithms for the maximum flow problem, culminating with the recent work of Goldberg and Tarjan. In this chapter we also show how the network flow technique can be used to develop connectivity and matching algorithms as well as prove Menger's theorems on connectivities. We conclude Chapter 12 with a brief introduction to the theory of NP-Completeness. While developing the algorithms of Chapters 11 and 12 we pay particular attention to the proof of correctness and complexity analysis of the algorithms. The book can be used to organize different courses to suit the needs of different groups of students. The first ten chapters contain adequate material for a one-semester course on graph theory at the senior or beginning graduate level. The authors have taught for several years a course on graph
PREFACE
XV
theory with system applications based on the first seven chapters and a selection of topics from the remaining chapters. The last two chapters and appropriate background material selected from the other chapters can serve as the core of a course on algorithmic graph theory. These two chapters can also serve as supplemental material for a general course on design and analysis of algorithms. Several colleagues and students have assisted us in the writing of this book. Raghu Prasad Chalasani, Concordia University; Joseph Cheriyan, Cornell University; Anindya Das, University of Montreal; Andrew Goldberg, Stanford University; R. Jayakumar, Concordia University; V. Krishnamoorthy, Anna University, Madras (India); and N. Srinivasan, University of Madras deserve special thanks. We are greatful to Anindya Das, Joseph Cheriyan, and Andrew Goldberg for their careful reading of the last chapter of the book and drawing our attention to recent developments on the maximum flow problem. It is a pleasure to thank the following organizations for their support to our research leading to the preparation of the book: Natural Sciences and Engineering Research Council of Canada; Fonds pour la Formation de Chercheurs et Γ Aide a la Recherche (FCAR), Quebec; Bell Northern Research Laboratory, Ottawa; Centre de Recherche Informatique de Montreal, Montreal; German National Science Foundation; and the Japan Society for Promotion of Science. Finally we thank our wives—Santha Thulasiraman and Leela Swamy— and our children for their patience and understanding during the entire period of our efforts. K. THULASIRAMAN Μ. N. S. SWAMY
It is probably fair to say, and has been said before by many others, that graph theory began with Euler's solution in 1735 of the class of problems suggested to him by the Konigsberg bridge puzzle. But had it not started with Euler, it would have started with Kirchhoff in 1847, who was motivated by the study of electrical networks; had it not started with Kirchhoff, it would have started with Cayley in 1857, who was motivated by certain applications to organic chemistry, or perhaps it would have started earlier with the four-color map problem, which was posed to De Morgan by Guthrie around 1850. And had it not started with any of the individuals named above, it would almost surely have started with someone else, at some other time. For one has only to look around to see "real-world graphs" in abundance, either in nature (trees, for example) or in the works of man (transportation networks, for example). Surely someone at some time would have passed from some real-world object, situation, or problem to the abstraction we call graphs, and graph theory would have been born.
D. R. Fulkerson (From Preface to Studies in Graph Theory, Part II, The Mathematical Association of America, 1975)
Graphs: Theory and Algorithms by K. Thulasiraman and M. N. S. Swamy Copyright © 1992 John Wüey & Sons, Inc.
CHAPTER 1
BASIC CONCEPTS
We begin our study with an introduction in this chapter to several basic concepts in the theory of graphs. A few results involving these concepts will be established. These results, while illustrating the concepts, will also serve to introduce the reader to certain techniques commonly used in proving theorems in graph theory.
1.1
SOME BASIC DEFINITIONS
A graph G = (V, E) consists of two sets: a finite set V of elements called vertices and a finite set Ε of elements called edges. Each edge is identified with a pair of vertices. If the edges of a graph G are identified with ordered pairs of vertices, then G is called a directed or an oriented graph. Otherwise G is called an undirected or a nonoriented graph. Our discussions in the first four chapters of this book are concerned with undirected graphs. We use the symbols v ,v ,v ,... to represent the vertices and the symbols e,, e , e , . . . to represent the edges of a graph. The vertices v, and v associated with an edge e, are called the end vertices of e . The edge e, is then denoted as e, = (υ,, υ,). Note that while the elements of Ε are distinct, more than one edge in Ε may have the same pair of end vertices. All edges having the same pair of end vertices are called parallel edges. Further, the end vertices of an edge need not be distinct. If e, = (ν,,ν,), then the edge e, is called a self-loop at vertex v,. A graph is called a simple graph if it has no parallel edges or self-loops. A graph G is of order η if its vertex set has η elements. l
2
t
2
3
3
t
1
2
BASIC CONCEPTS
A graph with no edges is called an empty graph. A graph with no vertices (and hence no edges) is called a null graph. Pictorially a graph can be represented by a diagram in which a vertex is represented by a dot or a circle and an edge is represented by a line segment connecting the dots or the circles, which represent the end vertices of the edge. For example, if V={v ,v ,v ,v ,v ,v } 1
2
3
4
5
6
and Ε — {e^,
e*2,
e , e^, c } , 5
3
such that *\ =
(ν ,ν ), χ
2
e = (v ,
υ ),
(^i,
v ),
3
e
5
= 4
6
2
then the graph G = (Κ, E) is represented as in Fig. 1.1. In this graph e and e are parallel edges and e is a self-loop. An edge is said to be incident on its end vertices. Two vertices are adjacent if they are the end vertices of some edge. If two edges have a common end vertex, then these edges are said to be adjacent. For example, in the graph of Fig. 1.1, edge e, is incident on vertices u, and v ; w, and i> are two adjacent vertices, while e, and e are two adjacent edges. The number of edges incident on a vertex y, is called the degree of the vertex, and it is denoted by d(u,). Sometimes the degree of a vertex is also x
4
5
2
4
Figure 1.1. Graph G = (V,E).
2
V= {v v , v„ v , v , υ }; Ε = {*„ e , e , e„ e }. u
2
4
s
6
2
3
5
SOME BASIC DEFINITIONS
3
referred to as its valency. A vertex of degree 1 is called a pendant vertex. The only edge incident on a pendant vertex is called a pendant edge. A vertex of degree 0 is called an isolated vertex. By definition, a self-loop at a vertex v, contributes 2 to the degree of υ,. 5(G) and A(G) denote, respectively, the minimum and maximum degrees in G. In the graph G of Fig. 1.1 d(v,) = 3 , d(v ) = 2 , 2
d(v ) = 0 , 3
d(v ) = 1 , 4
d(v ) = 3 , 5
d(v ) = 1 . 6
Note that u is an isolated vertex, u and v are pendant vertices, and e is a pendant edge. For G it can be verified that the sum of the degrees of the vertices is equal to 10, whereas the number of edges is equal to 5. Thus the sum of the degrees of the vertices of G is equal to twice the number of edges of G and hence an even number. It may be further verified that in G the number of vertices of odd degree is also even. These interesting results are not peculiar to the graph of Fig. 1.1. In fact, they are true for all graphs as the following theorems show. 3
4
6
2
Theorem 1.1. The sum of the degrees of the vertices of a graph G is equal to 2m, where m is the number of edges of G. Proof. Since each edge is incident on two vertices, it contributes 2 to the sum of the degrees of the graph G. Hence all the edges together contribute 2m to the sum of the degrees of G. • Theorem 1.2. The number of vertices of odd degree in any graph is even. Proof. Let the number of vertices in a graph G be equal to n. Let, without any loss of generality, the degrees of the first r vertices υ , , v ,..., v be even and those of the remaining η - r vertices be odd. Then 2
Σ ,) = Σ ,), 1 ^ ι k, is an edge in the graph G. This walk is usually called a v -v walk with υ and v referred to as the end or terminal vertices of this walk. All other vertices are internal vertices of this walk. Note that in a walk, edges and vertices can appear more than once. A walk is open if its end vertices are distinct; otherwise it is closed. In the graph G of Fig. 1.6, the sequence i>,, e , v , e , u , e , v , e , v , e ,v ,e ,v is an open walk, whereas the sequence v ,e ,v ,e ,v ,e ,v , e , v , e,, u, is a closed walk. 0
u
u
x
2
k
l
k
k
t
n
0
0
k
0
2
3
u
2
6
k
k
1
7
2
2
2
3
s
6
1
l
9
2
3
s
5
7
3
8
BASIC CONCEPTS
Ίο
»7
Figure 1.6. Graph G. A walk is a trail if all its edges are distinct. A trail is open if its end vertices are distinct; otherwise, it is closed. In Fig. 1.6, u,, e , v , e , v , e , v , e , v is an open trail, whereas υ,, e,, v , e , v , e , v , e , v , e , u , e , y, is a closed trail. An open trail is a path if all its vertices are distinct. A closed trail is a circuit if all its vertices except the end vertices are distinct. For example, in Fig. 1.6 the sequence u,, e,, v , e , v is a path, whereas the sequence v,, e,, v , e , v , e , v , e , υ, is a circuit. An edge of a graph G is said to be a circuit edge of G if there exists a circuit in G containing the edge. Otherwise the edge is called a noncircuit edge. In Fig. 1.6, all edges except e are circuit edges. The number of edges in a path is called the length of the path. Similarly the length of a circuit is defined. A path is even if it is of even length; otherwise it is odd. Similarly even and odd circuits are defined. The distance between two vertices u and ν in G, denoted by d(u, υ), is the length of the shortest u-υ path in G. If no such path exists, then we define d(u, v) to be infinite. The diameter of G, denoted by diam(G), is the maximum distance between any two vertices of G. The following properties of paths and circuits should be noted: 6
u
3
2
2
3
2
2
3
5
6
4
7
2
5
x
2
2
3
2
4
3
s
4
5
3
5
n
1. In a path the degree of each vertex that is not an end vertex is equal to 2; the end vertices have degrees equal to 1. 2. In a circuit every vertex is of degree 2, and so of even degree. The converse of this statement, namely, the edges of a subgraph in which
CONNECTEDNESS AND COMPONENTS OF A GRAPH
9
every vertex is of even degree form a circuit, is not true. A more general question is discussed in Chapter 3. 3. In a path the number of vertices is one more than the number of edges, whereas in a circuit the number of edges is equal to the number of vertices.
1.4
CONNECTEDNESS AND COMPONENTS O F A GRAPH
An important concept in graph theory is that of connectedness. Two vertices v, and v are said to be connected in a graph G if there exists a v-v path in G. A vertex is connected to itself. A graph G is connected if there exists a path between every pair of vertices in G. For example, the graph of Fig. 1.6 is connected. Consider a graph G = (V, E) which is not connected. Then the vertex set V of G can be partitioned into subsets V , , V , . . . , V such that the vertex-induced subgraphs (V,), i = 1 , 2 , . . . , p, are connected and no vertex in subset V, is connected to any vertex in subset V , / # i. The subgraphs (V ), i = 1, 2 , . . . , p, are called the components of G. It may be seen that a component of a graph G is a maximal connected subgraph of G; that is, a component of G is not a proper subgraph of any other connected subgraph of G. For example, the graph G of Fig. 1.7 is not connected. Its four components G , G , G , and G have vertex sets {v , υ , ν }, (ι> , υ }, {v , υ , u } , and {υ }, respectively. Note that an isolated vertex by itself should be treated as a component since, by definition, a vertex is connected to itself. Further, note that if a graph G is connected, it has only one component that is the same as G itself. We next consider some properties of connected graphs. t
J
t
2
f
t
l
g
2
3
4
t
2
4
3
5
6
Ί
9
Figure 1.7. Graph G with components G,, G , G , and G . 2
3
4
Ά set V is said to be partitioned into subsets V,, V ,..., V if V, U V U · · · U V = V and V, Π V, = 0 for all i and /, iV /'. {V,, V , . . . , V,,} is then called a partition of V. 2
2
p
2
p
10
BASIC CONCEPTS
Theorem 1.3. In a connected graph, any two longest paths have a common vertex. Proof. Consider any two longest paths P, and P in a connected graph G. Let P, be denoted by the vertex sequence υ ,υ ,υ ,... ,v and P by the sequence v' , v\, v' ,...,v' . Assume that P, and P have no common vertex. Since the graph G is connected, then for some i,0' path P ;
t' = length of v'-v' 2
k
}
a
path
, l2
21
,
P, 22
t = length of path P . fl
a
The paths P , P , P , and P n
1 2
2 1
2 2
are also shown in Fig. 1.8. Note that
f, + t = t[ + t' = length of a longest path in G 2
2
and t >0. a
Path P, •'it
i" 1
'iJ
* ^
2
Path P
2
Figure 1.8. Paths P,, P and P„. 2
OPERATIONS ON GRAPHS
11
Without any loss of generality, let
and t' > t' so that Ί +'!
2=
i, + t = t\
+t .
2
2
Now it may be verified that the paths P , P , and P together constitute a v -v' path with its length equal to /, + t[ + t > i, + t because /„ > 0. This contradicts that r, + t is the length of a longest path in G. • n
0
a
0
2i
a
2
2
The following theorem is a very useful one; it is used often in the discussions of the next chapter. In this theorem as well as in the rest of the book, we abbreviate {x} to χ whenever it is clear that we are referring to a set rather than an element. Theorem 1.4. If a graph G = (V, E) is connected, then the graph G' = (V, Ε — e) that results after removing a circuit edge e is also connected. • We leave the proof of this theorem as an exercise.
1.5
OPERATIONS ON GRAPHS
In this section we introduce a few operations involving graphs. The first three operations are binary operations involving two graphs, and the last four are unary operations, that is, operations defined with respect to a single graph. Consider two graphs, G, = (V,, Ej) and G = (V , E ). The union of G, and G , denoted as G, U G , is the graph G = (V, U V , E U E )\ that is, the vertex set of G is the union of V and V , and the edge set of G is the union of £ , and E . For example, two graphs G, and G and their union are shown in Fig. 1.9a, b and c. The intersection of G, and G , denoted as G, Π G , is the graph G = (V, Π V , Ε, Π E ). That is, the vertex set of G consists of only those vertices present in both G and G , and the edge set of G consists of only those edges present in both G, and G . The intersection of the graphs G, and G of Fig. 1.9a and 1.96 is shown in Fig. l.9d. 2
2
2
2
2
3
3
2
l
2
l
3
2
2
2
3
2
2
3
2
l
2
3
2
2
2
12
BASIC CONCEPTS
(6)
"1
o-
"to
(c)
Figure 1.9. Union, intersection, and ring sum operations on graphs, (a) Graph G,. (b) Graph G2. (c) G, U G2. (
Consider next the two separable graphs G, and G shown in Fig. 1.18a and 1.186. These two graphs are not isomorphic. Suppose we "split" the cut-vertex u, in G, into two vertices so as to get the two edge-disjoint graphs shown in Fig. 1.18c. If we perform a similar "splitting" operation on the cut-vertex v\ in G , we get the two edge-disjoint graphs shown in Fig. 1.18d. It may be seen that the graphs of Fig. 1.18c and 1.18d are isomorphic. Thus the two graphs G, and G become isomorphic after splitting the cut-vertices. Such graphs are said to be l-isomorphic. 2-isomorphism to be defined next is a more general type of isomorphism. Two graphs G, and G are 2-isomorphic if they become isomorphic after one or more applications of either or both of the following operations: 2
+
2
2
2
1. Splitting a cut-vertex in G, and/or G into two vertices to get two edge-disjoint graphs. 2. If one of the graphs, say G,, has two subgraphs G[ and G" that have exactly two common vertices u, and v , the interchange of the names 2
2
* Two graphs are edge-disjoint if they have no edge in common, and vertex-disjoint if they have no vertex in common.
24
BASIC CONCEPTS
(c)
(d)
Figure 1.18. 1-isomorphic graphs, (a) G,. (b) G . (c) Graph after splitting u, in G,. (d") Graph after splitting v\ in G . 2
2
of these vertices in one of the subgraphs. (Geometrically this operation is equivalent to turning around one of the subgraphs G\ and G" at the common vertices v and v .) l
2
Consider the graphs G and G shown in Fig. 1.19a and 1.196. After performing in G a splitting operation on vertex v and a turning around operation at vertices υ and v , we get the graph G[ shown in Fig. 1.19c. A splitting operation on vertex v' in G results in the graph G shown in Fig. 1.19d. These two graphs Gj and G' are isomorphic. Hence G, and G are 2-isomorphic. The next theorem presents an important result on 2-isomorphic graphs. 2
x
x
2
χ
2
2
2
2
2
2
FURTHER READING
(c)
Figure 1.19. Illustration of 2-isomorphism. (a) G
v
25
(d) (b) G . (c) G\. (d) G' . 2
2
Theorem 1.9. Two graphs G, and G are 2-isomorphic if and only if there exists a one-to-one correspondence between their edge sets such that the circuits in one graph correspond to the circuits in the other. • 2
The fact that circuits in Gj will correspond to circuits in G , when G, and G are 2-isomorphic, is fairly obvious. However, the proof of the converse of this result is too lengthy to be discussed here. Whitney's original paper [1.2] on 2-isomorphic graphs discusses this. 2
2
1.9
FURTHER READING
Harary [1.3], Berge [1.4], Bondy and Murty [1.5], Lovasz [1.6], Chartrand and Lesniak [1.7], and Bollobas [1.8] are excellent references for several of
26
BASIC CONCEPTS
the topics covered in this book. Berge [1.4] also discusses hypergraphs and matroids. Bondy and Murty [1.5] include a collection of a number of unsolved problems in graph theory. Lovasz [1.6] discusses graph theory through a number of problems and solutions. Among other things, Bollobas [1.8] gives an introduction to extremal graph theory and random graphs. See Swamy and Thulasiraman [1.9] for a detailed discussion of graph algorithms and electrical network applications of graph theory. For an elegant introduction to topics in graph theory including matroids see Wilson [1.10]. Other textbooks on graph theory include Liu [1.11] and Deo [1.12]. Several books and monographs devoted exclusively to special topics such as extremal graph theory, random graphs, and so forth are also available. These will be referred to in the appropriate chapters of this book.
1.10
EXERCISES
1.1
Let G be a graph with η vertices and m edges such that the vertices have degree k or k + 1. Prove that if G has n vertices of degree k and k+i vertices of degree k + 1, then n = (k + \)n - 2m. k
n
k
1.2
Prove or disprove: (a) The union of any two distinct closed walks joining two vertices contains a circuit. (b) The union of any two distinct paths joining two vertices contains a circuit.
1.3
If in a graph G there is a path between any two vertices a and b, and a path between any two vertices b and c, then prove that there is a path between a and c.
1.4
Let P, and P be two distinct paths between any two vertices of a graph. Prove that Ρ, Θ P is a circuit or the union of some edgedisjoint circuits of the graph. 2
2
1.5
Prove that a closed trail with all its vertices of degree 2 is a circuit.
1.6
Show that if two distinct circuits of a graph G contain an edge e, then in G there exists a circuit that does not contain e.
1.7
Show that in a simple graph G with S(G) ^ k there is a path of length at least k. Also show that G has a circuit of length at least k + 1, if ik>2.
1.8
Prove that a graph G = (V, E) is connected if and only if, for every partition (V , V ) of V with V and V nonempty, there is an edge of G joining a vertex in V to a vertex in V . x
2
x
x
1.9
2
2
Prove that a simple graph G with η vertices and k components can
EXERCISES
27
have at most (n - k)(n - k + l ) / 2 edges. Deduce from this result that G must be connected if it has more than (n - l)(n - 2)12 edges. 1.10 Prove that if a graph G (connected or disconnected) has exactly two vertices of odd degree, then there must be a path joining these two vertices. 1.11 Prove that if a simple graph G is not connected, then its complement G is. 1.12
If G is a graph with η vertices and m edges such that m < η - 1, then prove that G is not connected.
1.13
If, for a graph G with η vertices and m edges, m^n, G contains a circuit edge.
1.14
Prove that a simple η-vertex graph G is connected if 5(G) ^ (η - 1)/ 2.
1.15
Show that a simple graph G with at least two vertices contains two vertices of the same degree.
1.16
Show that if a graph G = (V, E) is simple and connected but not complete, then G has three vertices u, v, and w such that the edges (w, υ) and (υ, w) are in Ε and the edge (u, w) is not in E.
1.17
Show that if a simple graph G has diameter greater than 3, then G has diameter less than 3.
then prove that
1.18 The girth of a graph G is the length of a shortest circuit in G. If G has no circuits, we define the girth of G to be infinite. Show that a ^-regular graph of girth 4 has at least 2k vertices. 1.19
A simple grapji G is self-complementary if it is isomorphic to its complement G. Prove that the number of vertices of a selfcomplementary graph must be of the form 4k or 4k + 1 where k is an integer.
1.20
Prove that an «-vertex simple graph is not bipartite if it has more than n /4 edges. 2
1.21 Let G be a simple graph with maximum degree Δ. Show that there exists a Δ-regular graph containing G as an induced subgraph. 1.22
Construct a simple cubic graph with 2n(n s 3) vertices having no triangles. (Note: A graph is cubic if it is 3-regular. A triangle is a circuit of length 3.)
1.23
Prove that if is a cut-vertex of a simple graph G, then υ is not a cut-vertex of G.
28
BASIC CONCEPTS
1.24
Prove that the following properties of a graph G with η ^ 3 vertices are equivalent: (a) G is nonseparable. (b) Every two vertices of G lie on a common circuit. (c) For any vertex υ and any edge e of G there exists a circuit containing both. (d) Every two edges of G lie on a common circuit. (e) Given two vertices and one edge of G, there is a path joining the vertices that contains the edge. (f) For every three distinct vertices of G there is a path joining any two of them that contains the third. (g) For every three distinct vertices of G there is a path joining any two of them that does not contain the third.
1.25
Show that if a graph G has no circuits of even length, then each block of G is either K or K or a circuit of odd length. t
2
1.26
Show that a connected graph that is not a block has two blocks that have a common vertex. Let b(v) denote the number of blocks of a graph G = (V, E) containing vertex v. Show that the number of blocks of G is equal to ρ + Σ ip(v) - 1), where ρ is the number of components of G.
1.27
Let c(B) denote the number of cut-vertices of a connected graph G that are vertices of the block B. Then the number c(G) of cut-vertices of G is given by c(G)-l=
Σ
[c(B)-l].
all b l o c k s
1.28
A bridge of a graph G is an edge e such that G - e has more components than G. Prove the following:
Figure 1.20
REFERENCES
29
Figure 1.21
(a) An edge e of a connected graph G is a bridge if and only if there exist vertices u and w such that e is on every u-w path of G. (b) An edge of a graph G is a bridge of G if and only if it is on no circuit of G. 1.29
Are the graphs shown in Fig. 1.20 isomorphic? Why?
1.30
Show that the two graphs of Fig. 1.21 are not isomorphic.
1.31 Determine all nonisomorphic simple graphs of order 3 and those of order 4. (Note: There are exactly four nonisomorphic graphs on three vertices, and 11 on four vertices.) 1.32
1.11
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
Prove that any two simple connected graphs with η vertices, all of degree 2, are isomorphic.
REFERENCES
H. Whitney, "Nonseparable and Planar Graphs," Trans. Amer. Math. Soc, Vol. 34, 339-362 (1932). H. Whitney, "2-Isomorphic Graphs," Am. J. Math., Vol. 55, 245-254 (1933). F. Harary, Graph Theory, Addison-Wesley, Reading, Mass., 1969. C. Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1973. J. A. Bondy and U. S. R. Murty, Graph Theory with Applications, Macmillan, London, 1976. L. Lovasz, Combinatorial Problems and Exercises, North-Holland, Amsterdam, 1979. G. Chartrand and L. Lesniak, Graphs and Digraphs, Wadsworth and Brooks/ Coles, Pacific Grove, Calif. 1986. B. Bollobas, Graph Theory: An Introductory Course, Springer-Verlag, New York, 1979.
30
1.9
BASIC CONCEPTS
Μ. Ν. S. Swamy and K. Thulasiraman, Graphs, Networks and Algorithms, Wiley-Interscience, New York, 1981. 1.10 R. J. Wilson, Introduction to Graph Theory, Oliver and Boyd, Edinburgh, 1972. 1.11 C. L. Liu, Introduction to Combinatorial Mathematics, McGraw-Hill, New York, 1968. 1.12 N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall, Englewood Cliffs, N.J., 1974.
Graphs: Theory and Algorithms by K. Thulasiraman and M. N. S. Swamy Copyright © 1992 John Wüey & Sons, Inc.
CHAPTER 2
TREES, CUTSETS, AND CIRCUITS
The graphs that are encountered in most of the applications are connected. Among connected graphs trees have the simplest structure and are perhaps the most important ones. If connected graphs are important, then the set of edges disconnecting a connected graph should be of equal importance. This leads us to the concept of a cutset. In this chapter we study trees and cutsets and several results associated with them. We also bring out the relationship between trees, cutsets, and circuits.
2.1
TREES, SPANNING TREES, AND COSPANNING TREES
A graph is said to be acyclic if it has no circuits. A tree is a connected acyclic graph. A tree of a graph G is a connected acyclic subgraph of G. A spanning tree of a graph G is a tree of G having all the vertices of G. A connected subgraph of a tree Τ is called a subtree of T. Consider, for example, the graph G shown in Fig. 2.1a. The graphs G, and G of Fig. 2.16 are two trees of G. The graphs G and G of Fig. 2.1c are two of the spanning trees of G. The cospanning tree T* of a spanning tree Γ of a graph G is the subgraph of G having all the vertices of G and exactly those edges of G that are not in T. Note that a cospanning tree may not be connected. The cospanning trees G* and G* of the spanning trees G and G of Fig. 2.1c are shown in Fig. 2.1d. The edges of a spanning tree Τ are called the branches of T, and those of the corresponding cospanning tree T* are called links or chords. 2
3
3
4
4
31
32
TREES, CUTSETS, AND CIRCUITS
Id
Figure 2.1. Trees, spanning trees, and cospanning trees, (a) Graph G. (b) Trees G, and G2 of G. (c) Spanning trees G3 and G4 of G. (d) Cospanning trees GJ and GJ of G.
TREES, SPANNING TREES, AND COSPANNING TREES
"4
"3
0
C
*3
C
33
0
*4
id)
Figure 2.1. (Continued) A spanning tree Τ uniquely determines its cospanning tree T*. As such, we refer to the edges of Τ * as the chords or links of T. We now proceed to discuss several properties of a tree. While the definition of a tree as a connected acyclic graph is conceptually simple, there exist several other equivalent ways of characterizing a tree. These are discussed in the following theorem. Theorem 2.1. The following statements are equivalent for a graph G with η vertices and m edges: 1. 2. 3. 4. 5.
G is a tree. There exists exactly one path between any two vertices of G. G is connected and m = η - 1. G is acyclic and m = η - 1. G is acyclic, and, if any two nonadjacent vertices of G are connected by an edge, then the resulting graph has exactly one circuit.
Proof 1=P2
See Exercise 1.2b.
2Φ3 We first note that G is connected because there exists a path between any two vertices of G. We prove that m = η - 1 by induction on the number of vertices of G. This is obvious for connected graphs with one or two vertices. Assume that this is true for connected graphs with fewer than η vertices. Consider any edge em G. The edge e constitutes the only path between the end vertices of e. Hence in G — e there is no path between these
34
TREES, CUTSETS, AND CIRCUITS
vertices. Thus G - e is not connected. Further, it should contain exactly two components, for otherwise the graph G will not be connected. Let G, and G be the two components of G - e. Let η and m, be, respectively, the numbers of vertices and edges in G Similarly, let n and m be denned for G . Then we have 2
λ
v
2
2
2
n =m + n l
2
and m = m, + m + 1. 2
Note that G and G satisfy the hypothesis of statement 2, namely, there exists exactly one path between any two vertices in G, and G . Since η, < η and n , and υ will form exactly one circuit in the resulting graph. 2
2
5φ1 Suppose that G is not connected. Consider any two vertices v and v that are in different components of G. Then v and v are not connected in G. Addition of an edge (v , v ) to G does not produce a circuit since in G there is no path between v and v . This, however, contradicts the hypothesis. Hence the assumption that G is not connected is false. Thus G is connected. Since G is also acyclic, it must be a tree, by definition. • a
b
a
a
b
b
a
b
It should be clear that each of statements 1 through 5 of Theorem 2.1 represents a set of necessary and sufficient conditions for a graph G to be a tree. An immediate consequence of this theorem is the following.
36
TREES, CUTSETS, AND CIRCUITS
Corollary 2.1.1. Consider a subgraph G' of an w-vertex graph G. Let G' have η vertices and m' edges. Then the following statements are equivalent: 1. 2. 3. 4. 5.
G' is a spanning tree of G. There exists exactly one path between any two vertices of G'. G' is connected and m' = η - 1. G' is acyclic and m' - η - 1. G' is acyclic, and, if any two nonadjacent vertices of G' are connected by an edge, then the resulting graph has exactly one circuit. •
A condition that is not covered by Corollary 2.1.1 but can be proved easily is stated next. Corollary 2.1.2. A subgraph G' of an η-vertex graph G is a spanning tree of G if and only if G' is acyclic, connected, and has η - 1 edges. • It should now be obvious that a subgraph of an π-vertex graph G having any three of the following properties should be a spanning tree of G: 1. 2. 3. 4.
It It It It
has η vertices. is connected. has η - 1 edges. is acyclic.
The question then arises whether any two of these four properties will be sufficient to define a spanning tree. This question is answered next. (See also Exercise 2.3.) Theorem 2.2. A subgraph G' of an η-vertex graph G is a spanning tree of G if and only if G' is acyclic and has η - 1 edges. Proof. Necessity follows from Theorem 2.1, statement 4. To show the sufficiency, we have to prove that G' is connected and has all the η vertices of G. Let G' consist of ρ components G,, G , . . . , G , with «, denoting the number of vertices in component G,. Let n' be the number of vertices in G'. Then 2
p
ρ
n'
=Σ
η,.
ι= 1
Each G, is connected. It is also acyclic because G is. Thus each G, is a tree
TREES, SPANNING TREES, AND COSPANNING TREES
37
and hence has η, - 1 edges. Thus the total number of edges in G' is equal to Ρ
Σ (η,-1) = "'-/>· But by hypothesis n' - ρ = η - 1 . Since n' < n and ρ ^ 1, it is clear that the above equation is true if and only if n' - η and ρ = 1. Thus G' is connected and has η vertices. Since it is also acyclic, it is, by definition, a spanning tree of G. • Suppose a graph G has a spanning tree T. Then G should be connected because the subgraph Τ of G is connected and has all the vertices of G. Next, we would like to prove the converse of this result, namely, that a connected graph has at least one spanning tree. If a connected graph G is acyclic, then it is its own spanning tree. If not, let e, be some circuit edge of G. Then, by Theorem 1.4, the graph G, = G - e, is connected and has all the vertices of G. If G, is not acyclic, repeat the process until we get a connected acyclic graph G that has all the vertices of G. This graph G will then be a spanning tree of G. The results of this discussion are summarized in the next theorem. p
p
Theorem 2.3. A graph G is connected if and only if it has a spanning tree. • Since a spanning tree Γ of a graph G is acyclic, every subgraph of Τ is an acyclic subgraph of G. Is it then true that every acyclic subgraph of G is a subgraph of some spanning tree of G? The answer is "yes" as proved in the next theorem. Theorem 2.4. A subgraph G' of a connected graph G is a subgraph of some spanning tree of G if and only if G' is acyclic. Proof. Necessity is obvious. To prove the sufficiency, let Γ be a spanning tree of a graph G. Consider the graph G, = TU G'. It is obvious that G' is a subgraph of G,. G, is connected and has all the vertices of G because Γ is a subgraph of G,. If G, is acyclic, then it is a spanning tree of which G' is a subgraph, and the theorem is proved. (Note that if G, is acyclic, G, = Γ and G' is then a subgraph of T.) Suppose G, has a circuit C . Since G' is acyclic, it follows that not all the edges of C, are in G'. Thus C, must have at least one edge, say e,, which is x
38
TREES, CUTSETS, AND CIRCUITS
not in G'. Removal of this circuit edge e, from G, results in the graph G = G, - e,, which is also connected and has all the vertices of G,. Note that G' is a subgraph of G . If G is acyclic, then it is a required spanning tree. If not, repeat the process until a spanning tree of which G' is a subgraph is obtained. • 2
2
2
Next we prove an interesting theorem on the minimum number of pendant vertices, that is, vertices of degree 1, in a tree. Theorem 2.5. In a nontrivial tree there are at least two pendant vertices. Proof. Suppose a tree Τ has η vertices. Then, by Theorem 2.1, it has η - 1 edges. We also have, by Theorem 1.1, that η
Σ d{v,) = 2 x number of edges in Τ . Thus + d(v ) + ·•• + d(v„) = 2
2n-2.
This equation will be true only if at least two of the terms on its left-hand side are equal to 1, that is, Τ has at least two pendant vertices. •
2.2
/(-TREES, SPANNING /(-TREES, AND FORESTS
A k-tree* is an acyclic graph consisting of k components. Obviously, each component of a k-tree is a tree by itself. Note that a 1-tree is the same as a tree. If a k-tree is a spanning subgraph of a graph G, then it is called a spanning k-tree of G. The cospanning k-tree T* of a spanning &-tree Τ of G is the spanning subgraph of G containing exactly those edges of G that are not in T. For example, the graph of Fig. 2.2ft is a 2-tree of the graph G shown in Fig. 2.2a. A spanning 3-tree Τ of G and the corresponding cospanning 3-tree T* are shown in Fig. 2.2c and 2.2a". Let the k components of a spanning A>tree of an η-vertex graph G be denoted by T,, T ,..., T . If n, is the number of vertices in Γ,, then 2
k
η = «, + n + · · · + n . 2
k
' This definition of &-tree has been used extensively in the electrical network literature. In current graph theory literature this term has a different meaning. See Rose [2.1].
fc-TREES, SPANNING fc-TREES, AND FORESTS
39
(0 id) Figure 2.2. Illustrations of the definitions of a A:-tree, a spanning &-tree, and a cospanning fc-tree. (a) Graph G. (b) A 2-tree of G. (c) A spanning 3-tree Τ of G. (d) Cospanning 3-tree T*. Since each T is a tree, we have, by Theorem 2.1, i
m, = n, - 1 , where m, is the number of edges in T,. Thus the total number of edges in the spanning Λ-tree Γ is equal to *
Σ 1=1
k
tn ι {
= Σ (w, -
1) = η - k .
1=1
If m is the number of edges in G, then the cospanning A>tree T* will have m - n + k edges.
40
TREES, CUTSETS, AND CIRCUITS
A. forest of a graph G is a spanning fc-tree of G, where k is the number of components in G. If a graph G has ρ components, then for any spanning fc-tree of G, k 2: p . Since a forest Τ of G is a spanning Λ-tree of G with k= p, it is necessary that each component of Τ be a spanning tree of one of the components of G. Thus a forest Γ of a graph G with ρ components G,, G , . . . , G consists of ρ components T ,T ,... ,T such that T, is a spanning tree of G , l s i ' < 2
X
2
p
(
p
PThe co-forest T* of a forest Γ of a graph G is the spanning subgraph of G containing exactly those edges of G that are not in T. "9
"2
"3
"β
"7
»11
(C)
Figure 2.3. Forest and co-forest, (a) Graph G. (6) A forest Τ of G. (c) Co-forest Γ*.
FUNDAMENTAL CIRCUITS
41
Note that forest and spanning tree are synonymous in the case of a connected graph. A forest Τ and the corresponding co-forest T* of a graph are shown in Fig. 2.3.
2.3
RANK AND NULLITY
Consider a graph G with m edges, η vertices, and k components. The rank of G, denoted by p ( G ) , is defined equal to n- k, and the nullity of G, denoted by p-(G), is defined equal to m - η + k. Note that p(G) + ,*(G) = m . It follows from the definition of a forest and a co-forest that the rank p(G) of a graph G is equal to the number of edges in a forest of G, and the nullity p-(G) of G is equal to the number of edges in a co-forest of G. The numbers p ( G ) and /x.(G) are among the most important ones associated with a graph. As we shall see in Chapter 4, they define the dimensions of the cutset and circuit subspaces of a graph.
2.4
FUNDAMENTAL CIRCUITS
Consider a spanning tree 7 of a connected graph G. Let the branches of Τ be denoted by b , b ,..., b _ , and let the chords of Τ be denoted by c,, c , . . . , c _ , where m is the number of edges in G, and η is the number of vertices in G. While Τ is acyclic, by Theorem 2.1 the graph Τ U c, contains exactly one circuit C,. This circuit consists of the chord c, and those branches of Τ that lie in the unique path in Τ between the end vertices of c,. The circuit C, is called the fundamental circuit of G with respect to the chord c, of the spanning tree T. The set of all the m - η + 1 fundamental circuits C,, C , . . . , C _ of G with respect to the chords of the spanning tree Τ of G is known as the fundamental set of circuits of G with respect to T. An important feature of the fundamental circuit C, is that it contains exactly one chord, namely, chord c,. Further, chord c, is not present in any other fundamental circuit with respect to T. Because of these properties, the edge set of no fundamental circuit can be expressed as the ring sum of the edge sets of some or all of the remaining fundamental circuits. We also show in Chapter 4 that every circuit of a graph G can be expressed as the ring sum of some fundamental circuits of G with respect to a spanning tree of G. It is for these reasons that the "fundamental" circuits are called so. A graph G and a set of fundamental circuits of G are shown in Fig. 2.4. x
2
m
2
n
x
n + 1
2
m
n + 1
42
TREES, CUTSETS, AND CIRCUITS
10
Ic)
Figure 2.4. A set of fundamental circuits of a graph G. (a) Graph G. (b) A spanning tree Γ of G. (c) Set of five fundamental circuits of G with respect to T. (Chords are indicated by dashed lines.) 2.5
CUTSETS
A cutset 5 of a connected graph G is a minimal set of edges of G such that its removal from G disconnects G, that is, the graph G - S is disconnected. For example, consider the subset 5, = {e,, e , e , e, } of edges of the graph G in Fig. 2.5a. The removal of S, from G results in the graph G, = G - S, of Fig. 2.5i>. G, is disconnected. Furthermore, the removal of any proper subset of S, cannot disconnect G. Thus S, is a cutset of G. 3
7
0
43
CUTS
Figure 2.5. Illustration of the definition of a cutset, (a) Graph G. (b) G, = G - S,, 5, = {«?,,