0% found this document useful (0 votes)
751 views294 pages

Santosh Kumar Yadav - Advanced Graph Theory-Springer (2023)

This document is the preface and acknowledgments section of a book on advanced graph theory by Santosh Kumar Yadav. It introduces graph theory as an important field that is related to many branches of mathematics and has applications in various sciences. It describes the book as covering undergraduate and postgraduate curriculum on graph theory topics in a logical manner with suitable illustrations and exercises. The author thanks various professors and researchers for their feedback and support in improving the quality of the manuscript.

Uploaded by

nam4math
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
751 views294 pages

Santosh Kumar Yadav - Advanced Graph Theory-Springer (2023)

This document is the preface and acknowledgments section of a book on advanced graph theory by Santosh Kumar Yadav. It introduces graph theory as an important field that is related to many branches of mathematics and has applications in various sciences. It describes the book as covering undergraduate and postgraduate curriculum on graph theory topics in a logical manner with suitable illustrations and exercises. The author thanks various professors and researchers for their feedback and support in improving the quality of the manuscript.

Uploaded by

nam4math
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 294

Santosh Kumar Yadav

Advanced
Graph Theory
Advanced Graph Theory
Santosh Kumar Yadav

Advanced Graph Theory


Santosh Kumar Yadav
Shri Jagdishprasad Jhabarmal
Tibrewala University
Rajasthan, India

ISBN 978-3-031-22561-1 ISBN 978-3-031-22562-8 (eBook)


https://doi.org/10.1007/978-3-031-22562-8

Jointly published with Ane Books Pvt. Ltd.


In addition to this printed edition, there is a local printed edition of this work available via Ane Books in South Asia
(India, Pakistan, Sri Lanka, Bangladesh, Nepal and Bhutan) and Africa (all countries in the African subcontinent).
ISBN of the Co-Publisher’s edition: 978-9-385-46263-4

© The Author(s) 2023

This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the
whole or part of the material is concerned, specifically the rights of reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage
and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or
hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does
not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective
laws and regulations and therefore free for general use.
The publishers, the authors, and the editors are safe to assume that the advice and information in this book are
believed to be true and accurate at the date of publication. Neither the publishers nor the authors or the editors
give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions
that may have been made. The publishers remain neutral with regard to jurisdictional claims in published maps
and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface

“As long as a branch of science offers an abundance of problems, so long it is


alive; a lack of problem foreshadows extinction or the cessation of independent
development. Just as any human undertaking pursues certain objects, so also
mathematical research requires its problems. It is by the solution of problems
that the investigator tests the temper of his steel; he finds new methods and new
outlooks, and gains a wider and freer horizon.”
These words of David Hilbert impressed me and motivated to write this book as
a counter part of mathematics. There are several reasons for acceleration of interest
in Graph theory. While Graph theory is intimately related to many branches of
mathematical sciences, it also has applications to some areas of physical, chemical,
communication, computer, engineering and social science. In fact, it serves as a
mathematical model for any system involving a binary relation. Partly, because of
their diagrammatic representation, graphs have an intuitive and aesthetic appeal.
While many results in graph theory are of elementary nature, there is abundance of
problems with enough combinatorial subtlety to challenge the most sophisticated
mathematics.
The present book is based on the curriculum of undergraduate and postgraduate
courses of universities in India and abroad. Every effort has been made to present the
various topics in the theory of graphs in a logical manner with adequate historical
background and include suitable figures to illustrate concepts and results ideally.
The formidable exercises, neither easy nor straight forward, are bold faced and
highlighted. The theory portion of each chapter must be studied thoroughly as it
would help solve many of the problems with comparative ease. The instructor may
select material from this book for a semester course on graph theory, while the entire
book can serve for a whole session course.

Dr. Santosh Kumar Yadav


[email protected]

v
Acknowledgments

A number of people, including my fellow professors, research scholars and students


have played a major role in substantially improving the quality of the manuscript
through its development. I am truly grateful to each one of them for their unfailing
encouragement, cooperation and support.
To begin with, I am sincerely indebted to the following for their unblemished
enthusiasm and constructive suggestions:
Dr. Satish Verma, Mr. Dharmendra Kumar, Dr. Anju Gupta, Dr. Sudha Jain,
Dr. D.K. Paliwal, Dr. Kanta Khurana, Dr. Preeti Upreti, Dr. Shashi Tiwari,
Dr. Chaitarnya Kumar, Dr. Gurpreet Singh Tuteja, Dr. Raj Kumar, Dr. Pragati
Gautam, Dr. Pankaj Jain, Dr. L. Bandopadhyaya, Dr. Pramod Arora, Dr. Arvind
Kumar, Dr. Preeti Dharmara, Dr. S.K. Sahdev, Dr. Pradumn Kumar, Dr. Neeraja
Chawla, Dr. Rama Verma, Dr. Dhanpal Singh, Mr. Brij Mohan, Dr. Asha Gauri
Shankar, Dr. Sudha Gupta, Dr. Neera Bohadur. Dr. Ravi Prakash, Dr. Susil
Kumar Azad, Dr. Shobha Bhagai, Mrs. Nandita Narayan, Dr. Pawan Bala Gupta,
Dr. Naveen Kumar, Dr. Sunil Kumar Muttoo, Dr. Suruchi Singh, Dr. Mamta Sharma,
Dr. Bhawna Rajpoot, Ms. Prachi Gupta, Dr. Tarun Dass, Dr. V. Ravichandran
(All from Delhi University) Dr. M.K. Gupta, C.C.S. University, Meerut.
Dr. S.C. Aggarwal, Shobhit University Meerut. Dr. A.K. Dwivedi, V.B.S. Purvanchal
University, Jaunpur. Dr. M.N. Hoda, Bharti Vidyapeeth, New Delhi. Dr. Devender
Tayal, I.G.D.T.W.U., New Delhi. Dr. Sanjeev Kumar, Dr. Sanjay Chaudhary,
Dr. B.R. Ambedkar University, Agra. Dr. Romesh Kumar, Jammu University,
Jammu. Dr. K. Perumal and Dr. Kalaimoni, M.K. University, Madurai. Dr. Vinod
Kumar, Kurukshetra University Kurukshetra, Dr. A.P. Singh, Central University
Rajasthan, Dr. C.K. Goel and Dr. Vandani Verma, Amity University, Noida.
Dr. Prashant Kushwaha, Banasthali Vidyapeeth, Rajasthan. Dr. Arjun Singh and
Dr. P.L. Yadav of Govt. P.G. College, Gurgaon. Dr. P. Kaniappan Alagappa
University, Dr Rashmi Bhardwaj and Dr. A.K. Saini, G.G.S.I.P. University, New
Delhi, D.K. Mishra, DAVV Indore, Dr. Dharmender Kumar, Guru Jambheswar
University, Hisar, Dr. C.B. Gupta, BITS Pilani, Prof. Lhato Jhamba, Royal
University of Bhutan, Prof. R.B. Mishra, Ex-V.C. Avadh University,Faizabad,
Prof. D.K. Lobiyal, J.N.U. Delhi. Dr. Hadi Hadiyati, Kabul University.

vii
viii Advanced Graph Theory

I would fail in my duty if I do not thank my publisher Mr. J.R. Kapoor for
providing me full liberty of my views and good designers. I am also grateful to
my family members especially my wife Seema, kids Ayan and Akshita for proof
reading and emotional support.
Lastly I want to thank my readers who have always encouraged me and
appreciated my work. I must accept responsibility, for any errors that may still
remain. I would certainly appreciate receiving comments about any unwelcome
surprises, alternate or better solutions, exercises, puzzles and applications.

Dr. Santosh Kumar Yadav


[email protected]
Contents

1. Basics of Graph Theory 1–50


1.1 Introduction 1
1.2 Graph! What is it? 2
1.2.1 Simple Graph 2
1.2.2 Graph 4
1.2.3 Loops 7
1.2.4 Degree of Vertices 7
1.2.5 Equivalence Relation 10
1.2.6 Random Graph Model 13
1.2.7 Isolated Vertex, Pendent Vertex and Null Graph 13
1.3 Digraphs 14
1.4 Path, Trail, Walk and Vertex Sequence 17
1.5 Subgraph 18
1.6 Circuit and Cycle 18
1.7 Cycles and Multiple Paths 19
1.8 Connected Graph 19
1.9 Spanning Subgraph and Induced Subgraph 20
1.10 Eulerian Graph (Eulerian Trail and Circuit) 21
1.11 Hamiltonian Graph 22
1.12 Biconnected Graph 22
1.13 Algebraic Terms and Operations used in Graph Theory 23
1.13.1 Graphs Homomarphism and Graph Isomorphism 23
1.13.2 Union of two Graphs 25
1.13.3 Intersection of two Graphs 25
1.13.4 Addition of two Graphs 25
1.13.5 Direct Sum or Ring Sum of two Graphs 26
1.13.6 Product of two Graphs 26
1.13.7 Composition of two Graphs 27
1.13.8 Complement of a Graph 27
1.13.9 Fusion of a Graph 28
1.13.10 Rank and Nullity 28
ix
x Advanced Graph Theory

1.13.11 Adjacency Matrix 29


1.13.12 Some Important Theorems 29
1.14 Some Popular Problems in Graph Theory 34
1.14.1 Tournament Ranking Problem 34
1.14.2 The Königsberg Bridge Problem 36
1.14.3 Four Colour Problem 36
1.14.4 Three Utilities Problem 37
1.14.5 Traveling - Salesman Problem 37
1.14.6 MTNL’S Networking Problem 38
1.14.7 Electrical Network Problems 38
1.14.8 Satellite Channel Problem 39
1.15 Applications of Graphs 40
1.16 Worked Examples 40
Summary 46
Exercise 48
Suggested Readings 50

2. Trees 51–88
2.1 Introduction 51
2.2 Definitions of Tree 52
2.3 Forest 53
2.4 Rooted Graph 54
2.5 Parent, Child, Sibling and Leaf 55
2.6 Rooted Plane Tree 55
2.7 Binary Trees 61
2.8 Spanning Trees 63
2.9 Breadth – First Search and Depth – First Search 64
2.10 Minimal Spanning Trees 71
2.10.1 Kruskal’s Algorithm (for Finding a Minimal Spanning Tree) 71
2.10.2 Prim’s Algorithm 76
2.10.3 Dijkstra’s Algorithm 78
2.10.4 The Floyd-Warshall Algorithm 79
2.11 Directed Trees 80
2.12 Solved Examples 81
Summary 86
Exercise 87
Suggested Readings 88
Contents xi
3. Planar Graphs 89–110
3.1 Introduction 89
3.2 Geometrical Representation of Graphs 90
3.3 Bipertite Graph 92
3.4 Homeomorphic Graph 93
3.5 Kuratowski’s Graphs 94
3.6 Dual Graphs 98
3.7 Euler’s Formula 100
3.8 Outerplanar Graphs 102
3.8.1 k-outerplanar Graphs 103
3.9 Solved Examples 103
Summary 108
Exercise 109
Suggested Readings 109

4. Directed Graphs 111–140


4.1 Introduction 111
4.2 Directed Paths 113
4.3 Tournament 114
4.4 Directed Cycles 116
4.5 Acyclic Graph 119
4.6 Di-Orientable Graph 120
4.7 Applications of Directed Graphs 124
4.7.1 Job Sequencing Problem 124
4.7.2 To Design an Efficient Computer Drum 125
4.7.3 Ranking of the Participants in a Tournament 127
4.8 Network Flows 129
4.9 Improvable Flows 130
4.10 Max-Flow Min-Cut Theorem 131
4.11 k-flow 133
4.12 Tutte’s Problem 134
Summary 136
Exercise 137
Suggested Readings 139

5. Matching and Covering 141–170


5.1 Introduction 141
5.2 Matching and Covering in Bipertite Graphs 143
5.2.1 Covering 147
5.3 Perfect Matching 149
xii Advanced Graph Theory

5.4 Factor-critical Graph 153


5.5 Complete Matching 155
5.6 Matrix Method to Find Matching of a Bipertite Graph 157
5.7 Path Covers 160
5.8 Applications 161
5.8.1 The Personnel Assignment Problem 161
5.8.2 The Optimal Assignment Problem 165
5.8.3 Covering to Switching Functions 166
Summary 168
Exercise 168
Suggested Readings 170

6. Colouring of Graphs 171–200


6.1 Introduction 171
6.2 Vertex Colouring 173
6.3 Chromatic Polynomial 174
6.3.1 Bounds of the Chromatic Number 175
6.3.2 Clique 175
6.4 Exams Scheduling Problem 179
6.5 Edge Colouring 186
6.6 List Colouring 190
6.7 Greedy Colouring 192
6.8 Applications 196
6.8.1 The Time Table Problem 196
6.8.2 Scheduling of Jobs 196
6.8.3 Ramsey Theory 197
6.8.4 Storage Problem 197
Summary 198
Exercise 198
Suggested Readings 199

7. Colouring of Graphs 201–220


7.1 Introduction 201
7.2 Independent Sets and Cliques 203
7.3 Original Ramsey’s Theorems 204
7.4 Induced Ramsey Theorems 208
7.5 Applications 213
7.5.1 Schur’s Theorem 213
7.5.2 Geometry Problem 214
Summary 218
Exercise 218
Suggested Readings 219
Contents xiii
8. Enumeration and Pölya’s Theorem 221–242
8.1 Introduction 221
8.2 Labelled Counting 222
8.3 Unlabelled Counting 223
8.4 Generating Function 225
8.5 Partitions of a Finite Set 228
8.6 The Labelled counting Lemma 230
8.7 Permutations 231
8.7.1 Cycle Index 232
8.8 Pölya’s Enumeration Theorem 232
8.9 Burnside’s Lemma 235
Summary 240
Exercise 241
Suggested Readings 242

9. Spectral Properties of Graphs 243–252


9.1 Introduction 243
9.2 Spectrum of the Complete Graph Kn 245
9.3 Spectrum of the Cycle Cn 246
9.4 Spectra of Regular Graphs Theorem 246
9.5 Theorem of the Spectrum of the Complement of a Regular Graph 247
9.6 Sachs’ Theorem 248
9.7 Cayley Graphs and Spectrum 250
Summary 251
Exercise 252
Suggested Readings 252

10. Emerging Trends in Graph Theory 253–280


10.1 Introduction 253
10.2 Perfect Graphs 253
10.3 Chordal Graphs Revisited 257
10.4 Intersection Representation 257
10.5 Tarjan’s Theorem (1976) 258
10.6 Perfectly Orderable Graph 261
10.7 Minimal Imperfect Graph 261
10.7.1 Star-cutset Lemma 261
10.8 Imperfect Graphs 262
10.9 Strong Perfect Graph Coryecture 266
10.10 Hereditary Family 267
10.11 Matroids 267
xiv Advanced Graph Theory

10.11.1 Hereditary Systems 268


10.11.2 Rank Function in Cycle Matroids 269
10.12 Basic Properties of Matroids 270
10.13 Span Function 271
10.14 Encodings of Graphs 275
10.15 Ramanujan Graphs 276
Exercise 278
Suggested Readings 279

References281–282
Index283–286
1
Basics of Graph Theory

Leonhard Euler
(1707-1783)

1.1 Introduction
In the last five decades graph theory has established itself as a worthwhile
mathematical discipline and there are many applications of graph theory to a
wide variety of subjects that include Operations Research, Physical Sciences,
Economics, Genetics, Sociology, Linguistics, Engineering and Computer
Science etc. Such a development may be roughly described as follows

© The Author(s) 2023 1


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_1
2 Advanced Graph Theory

Graph theory has been independently discovered many times through some
puzzles that arose from the physical world, consideration of chemical isomers,
electrical networks etc. The graph theory has been independently discovered
many times, since it may be considered as a counter part of Applied Mathematics.
In the words of Sylvester, “the theory of ramification is one of pure
colligation, for it takes no account of magnitude or position, geometrical
lines are used, but have no more real bearing on the matter than those
employed in genealogical tables have in explaining the laws of procreation.”
In the present century, there have already been as great many rediscoveries
of graph theory which we can only mention most briefly in this chronological
account.
Graph theory is considered to have begun in 1736 with the publication of
Euler’s solution of the Königsberg bridge problem. Euler (1707–1782) is known
as the father of graph theory as well as topology.
There are various types of graphs, each with its own definition. Unfortunately,
some people apply the term “graph” rather loosely, so we cannot be sure what
type of graph we are talking about unless we ask them. After we have finished
this chapter, we expect us to use the terminology carefully not loosely. To
motivate the various definitions we will take suitable example.

1.2 Graph! What is it?

1.2.1 Simple Graph


A simple graph G is a pair G = (V, E)
Where
• V is a finite set, called the vertices of G
• E is a subset of P2 (V) (a set E of two-element subset of V), called the edges
of G.
To avoid rotational ambiguities, we always assume tactly that V∩E = φ.
A nuisance in first learning graph theory is that there are so many definitions.
They all correspond to intuitive ideas, but can take a while to absorb. Some
ideas have multiple names. For example, graphs are sometimes called networks,
vertices are sometimes called nodes, and edges are sometimes called areas. Even
worse, no one can agree on the exact meanings of these terms. For example,
in our definition, every graph must have at least one vertex. However, other
authors permit graphs with no vertices. (The graph with no vertices is the single,
stupid counter example to many would–be theorems–so we’re banning it!). This
is typical; everyone agrees more-or-less what each terms means, but disagrees
Basics of Graph Theory 3
about weird special cases. So do not be alarmed if definitions here differ subtly
from definitions we see elsewhere. Usually, these differences do not matter.
If we take an example of graph as shown in Fig. 1.1

Fig. 1.1: Simple Graph

The vertices correspond to the dots in the picture, and the edges correspond
to the lines. Thus, the dots and lines diagram above in a pictorial representation
of the graph (V, E) where
V = {A, B, C, D, E, F, G, H, I}
E = {{A, B}, {A, C}, {B, D}, {C, D}, {C, E}, {E, F}, {E, G}, {H, I}}
Hereafter, we use A—B to denote an edge between vertices A and B rather
than the set notation {A, B}. Note that A—B and B—A are the same edge, just
as {A, B} and {B, A} are the same set.
Two vertices in a graph are said to be adjacent if they are joined by an edge,
and an edge is said to be incident to the vertices it joins. The number of edges
incident to a vertex is called the degree of the vertex. For example, in the graph
above, A is adjacent to B and B is adjacent to D, and the edge A—C is incident
to vertices A and C. Vertex H has degree 1, D has degree 2, and E has degree 3.
Deleting some vertices or edges from a graph leaves a subgraph. Formally,
a subgraph of G = (V, E) is a graph G′ = (V′, E′) where V′ is a nonempty subset
of V and E′ is a subset of E. Since a subgraph is itself a graph, the end points
of every edge in E’ must be vertices in V′.

 Example 1.1: A Computer Network Problem


Computers are linked with one another so that they can interchange information
through a particular network. Given a collection of computers, we can describe
this linkage in clear terms so that we might answer the questions like; “How can
we send a message from computer A to computer B using the fewest possible
intermediate computers?”
We can do this by making a list coasting of pairs of computer that are
interconnected. The pairs are unordered since, if computer C can communicate
4 Advanced Graph Theory

with computer D, then the reverse is also true. We have implicitly assumed that
the computers are distinguished from each other. It is sufficient to say that “A
PC is connected to Ayan.” We must specify which PC and which Ayan. Thus,
each computer has a unique identification label of some sort.
For those who like pictures rather than lists, we can put dots on a piece of
paper, one for each computer we label each dot with a computer’s identifying
label and draw a curve connecting two dots if the corresponding computers are
connected. The shape of the curve does not matter because we are only interested
in whether two computers are connected or not. We can see two such pictures
of the same graph (as shown in Fig. 1.2). Each computer has been labeled by
initials of its owner.

Fig. 1.2: Computer Network Problem

Computer (vertices) are indicated by dots (⋅) with labels. The connections
(edges) are indicated by lines. When limes cross, they might be thought of as
cables that live on top of each other not as cables that are joined.
1.2.2 Graph
A graph is a triple G = (V, E, φ)
Where
• V is a finite set, called the vertices of G.
• E is a finite set, called the edges of G
• φ is a function with domain E and Co-domain P2(V).
Basics of Graph Theory 5
This definition tells us that to specify a graph G it is necessary to specify the
sets V and E and the function φ. We have to specify V and φ in set theoretic terms.
The function φ is sometimes called the incidence function of the graph. The
two element of φ(x) = {u, v}, for any x ∈ E, are called the vertices of the edge
x, and we say u and v are joined by x. We can also say that u and v are adjacent
vertices and u adjacent to v or, equivalently, v is adjacent to u.
For any u ∈ v, if v is a vertex of an edge x than we can say the x is incident
on v. Likewise, we can say v is the member of x, v is on x, or v is in x. Of course,
v is a member of x actually means v is a member of φ(x).
 Example 1.2: Problem of Routes between Cities (Geographical Placement
Problem)
We consider four cities named, (with characteristic mathematical charm), A, B,
C and D. Between these cities there are various routers of travel, denoted by a,
b, c, d, e, f and g (as shown in Fig. 1.3).

Fig. 1.3: Geographical Placement Problem

On observing this picture, we can see that there are three roots between
cities B and C. These routs are d, e and f. This picture is intended to give us only
information about the interconnections between the cities. This leaves out so
many aspects of the situation that might be an interest to the traveler. Unlike a
typical map, no claim is made that the picture represents in any way the distance
between the cities or their geographical placement relative to each other. The
object shown in this picture is a graph.
One is tempted to list the pairs of the cities which are connected; in other
words, to extent a simple graph from the information. This does not describe
the problem adequately because there can be more than one route connecting
a pair of cities e.g. d, e and f connecting cities B and C as shown in Fig. 1.3.
In the pictorial representation of the cities graph
G = (V, E, φ) where
V = {A, B, C, D}, E = {a, b, c, d, e, f, g}.
6 Advanced Graph Theory

and

 a b c d e f g 
φ = 
 { A, B}{ A, B}{ A, C}{B, C}{B, C}{B, C}{B, D} 
The function φ is determined from the picture by comparing the name
attached to a route with the two cities connected by that route. Thus, the route
name d is attached to the route with end points B and C. This means that φ(d)
= {B, C}
Since part of the definition of a function includes its co-domain and domain,
φ determined P2 (V) and E. Also, V can be determined from P2 (V). Consequently,
we could have said a graph is a function φ whose domain is a finite set and
co-domain is P2 (V) for some finite set V. Instead, we choose to specify V and
E explicitly because the vertices and edges play a functional role in thinking
about graph G.
Fig 1.4 Shows two additional pictures of the same cities graph given above
(Fig. 1.3)

Fig. 1.4 Same Cities Location Graph

The drawings look very different but exactly the same set V and function φ
are specified in each case. It is very important that are to understand exactly what
information is needed to completely specify the graph. When thinking in terms
of cities and routes between them, we want the pictorial representation of the
cities to represent their geographical positioning. If the pictorial representation
does this, that’s fine, but it is not a part of the information required to define
a graph. The geometrical positioning of the vertices, A, B, C and D is very
different, in the first of the two pictorial representations above, than it was in
our original representation of the cities. However, in each of these cases, the
vertices on a given edge are the same and hence the graphs specified are the
same. In the second of two pictures above, a different method of specifying the
graph is given. There, φ–1 the inverse of φ, is given. For example, φ–1({C, B}) is
shown to be {d, e, f }. Knowing φ-1 determines φ and hence determines G since
the vertices A, B, C and D are also specified.
Basics of Graph Theory 7
1.2.3 Loops
A loop is an edge which connects a vertex to itself. Graphs and simple graphs
cannot have loops, why? Let us explain it. Suppose e ∈ Ε is a loop in a graph
that connects v ∈ V to itself. Then φ(e) = {u, v} = {v} because repeated elements
in the description of a set count only once. They are the same element.
Since {v} ∉ P2(V), the range of φ, we cannot have φ(e) = {u, v} i.e. we
cannot have a loop.
If we want to allow loops, we will have to change our definitions. For a
graph, we expand the codomain of φ to be P2(V) ∪ P1(V). For a simple graph
we need to change the set of allowed edges to include loops. This could be
done by saying that E is a subset of P2(V) ∪ P1(V) instead of a subset of just
P2(V). For example, if V = {1, 2, 3} and E = [{1, 2}, {2}, {2, 3}], this simple
graph has a loop at vertex 2 and vertex 2 is connected by edge to the other two
vertices. When we want to allow loops, we can say about a graph with loops on a
simple graph with loops.
Now we correlate simple graph and graph. Let G = (V, E) be a simple graph.
Define φ : E → E to be identity map; i.e. φ(e) = e for all e ∈ E.
The graph G′ = (V, E, φ) is essentially the same as G. There is one subtle
difference in the picture: The edges of G are unlabeled but each edge of G′
is labeled by a set consisting of the two vertices at its ends. But this extra
information is contained already in the specification of G. Thus, we can say
that simple graphs are special case of graphs.
1.2.4 Degree of Vertices
Let G = (V, E, φ) be a graph and v ∈ V a vertex. Define the degree of v, d(v) to
be the number of e ∈ E such that v ∈φ(e); i.e; e is incident on v suppose |v| =
n. Let d1, d2 ,…, dn, where d1 ≤ d2 ≤ ,…, ≤ dn be the sequence of degrees of the
vertices of G, sorted by size. We refer to this sequence as the degree sequence
of the graph G.
From Fig. 1.4 (the graph for routes between cities) d(A) = 3,
d(B) = 6, d(C) = 4 and d(D) = 1. The degree sequence is 1, 3, 4, 6.
Theorem 1.1
The number of vertices of odd degree in a graph is always even.
Proof:
Let G be a graph of size m.
We divide V(G) into two subsets V1 and V2 where V1 consists of the odd
vertices of G and V2 consists of the even vertices of G.
8 Advanced Graph Theory

Since, if G is a graph of size m, then

∑ deg v = 2m ... (i)


v∈V ( G )

We can conclude by equ. (i) that,

∑ deg v = ∑ deg v + ∑ deg v = 2m ... (ii)


v∈V ( G ) v∈V1 v∈V2

The number ∑ deg v is even since it is a sum of even integers.


v∈V2

Thus

∑ deg v = 2m – ∑ deg v ... (iii)


v∈V1 v∈V2

The above implies that

∑ deg v is even
v∈V1

Since each of the number deg v, v∈V1 is odd the number of odd vertices of
G is even. 

Note: A graph in which all vertices are of equal degree is called a regular
graph.
In order to have a partition of S, we must have
(a) the B(s) are nonempty and every t ∈ S is in some B(s) and
(b) for every p, q ∈ S, B(p) and B(q) are either equal or disjoint.
Since ~ is reflexive, s ∈ B(s), proving (a). Suppose x ∈ B(p) ∩ B(q) and y ∈
B(p). We have, p ~ x, q ~ x and p ~ y. Thus q ~ x ~ p ~ y and so y ∈ B(q), proving
that B(p) ⊆ B(q). Similarly B(q) ⊆ B(p) and so B(p) = B(q). This proves (b).

 Example 1.3: Sex in America (Matching Problem)


A 1994 University of Chicago study entitled The social Organization of
Sexuality found that on average men have 74% more opposite-gender partners
than women.
Let us recast this observation in graph theoretic terms. Let G = (V, E) be a
graph where the set of vertices V consists of everyone in America. Now each
vertex either represents either a man or a woman, so we can partition V into two
subsets: M, which contains all the male vertices, and W, which contains all the
Basics of Graph Theory 9
female vertices. Let’s draw all the M vertices on the left and the W vertices on
the right as shown in Fig. 1.5.

Fig. 1.5: Matching Problem

Now, without getting into a lot of specifics, sometimes an edge appears


between an M vertex and a W vertex. (Fig. 1.6)

Fig. 1.6: Perfect Match

Since we’re only considering opposite-gender relationships, every edge


connects an M vertex on the left to a W vertex on the right. So the sum of
degrees of the M vertices must equal the sum of the degrees of the W vertices:

∑ deg ( x ) = ∑ deg ( y )
x∈M y∈W

Now suppose we divide both sides of this equation by the product of the
sizes of the two sets, |M|.|W|:

 ∑ x∈M deg ( x )  1  ∑ y∈W deg ( y )  1


  ⋅ =
  ⋅
 M  W  W  M
10 Advanced Graph Theory

The terms above in parentheses are the average degree of an M vertex and
the average degree of a W vertex. So we know:
Avg. deg in M Avg. deg in W
=
W M
|W |
Avg. deg in M = . Avg. deg in W.
|M |
Now the Census Bureau reports that there are slightly more women than
men in America; in particular |W| / |M| is about 1.035. So– assuming the Census
Bureau is correct– we have just proved that the University of Chicago study
got bad data! On average, men have 3.5% more opposite-gender partners.
Furthermore, this is totally unaffected by differences in sexual practices between
men and women; rather, it is completely determined by the relative number of
men and women!
We consider a graph G with e edges and n vertices v1, v2,.....vn. Since each
edge contributes two degrees, the sum of the degrees of all vertices in G is twice
the number of edges in G. That is
n

∑ d (v )
i =1
i = 2e ...(i)

From Fig. 1.4. d(A) + d(B) + d(C) + d(D) = 3 + 6 + 4 + 1 = 14 i.e. twice


the number of edges.
1.2.5 Equivalence Relation
An equivalence relation on a set S is a partition of S. We say that s, t ∈ S are
equivalent if and only if they belong to the same block (called an equivalence
class in this context) of the partition. If the symbol ~ denotes the equivalence
relation, then we write s ~ t to indicate that s and t are equivalent.

 Example 1.4: Illustration of Equivalence Relations


Let S be any set and let all the blocks of the partition have one element. Two
elements of S are equivalent if and only if they are the same. This rather trivial
equivalence relation is, of course, denoted by “=”.
Now let the set be the integers Z. Let’s try to define an equivalence relation
by saying that n and k are equivalent if and only if they differ by a multiple of
24. Is this an equivalence relation? If it is, we should be able to find the blocks
of the partition. There are 24 of them, which we call number 0, …, 23. Block
j consists of all integers which equals j plus a multiple of 24; that is, they have
a remainder of j when divided by 24. Since two numbers belong to the same
Basics of Graph Theory 11
block if and only if they both have the same remainder when divided by 24,
it follows that they belong to the same block if and only if their difference
gives a remainder of 0 when divided by 24, which is the same as saying their
difference is a multiple of 24. Thus this partition does indeed give the desired
equivalence relation.
Now let the set be Z × Z*. where Z* is the set of all integers except
O. Write (a, b) ~ (c, d) if and only if ad = bc. With a moment’s reflection,
we should see that this is a way to check if the two fractions a/b and
c/d are equal. We can label each equivalence class with the fraction
a/b that it represents. In an axiomatic development of the rationals from the
integers, we define a rational number to be just such an equivalence class and
proves that it is possible to add, subtract, multiply and divide equivalence classes.
Suppose we consider all functions S = mn. We can define a partition
of S in a number of different ways. For example, we could partition
the functions f into blocks where the sum of the integers in the Image
( f ) is constant, where the max of the integers in Image ( f ) is constant, or
where the “type vector” of the function, namely, the number of 1’s, 2’s, etc. in
Image( f ), is constant. Each of these defines a partition of S. n

 Example 1.5: Ghosts of Departed Graphs


We consider the following two graphs represented by Fig 1.7.
Let us remove all symbols representing edges and vertices. We have left two
“forms” on which the graphs were drawn, we can think of drawing a picture of
a graph as a two step process
(i) draw the form (ii) add the labels

Ga Gb

Fig. 1.7: Ghosts of Departed Graphs

We get form Fa and Form Fb have a certain similarity as shown in Fig 1.8.
12 Advanced Graph Theory

Fa Fb

Fig. 1.8: Similarity of Graphs

Now suppose we have any two graphs, Ga = (Va, Ea, φb). We can think of
these graphs not as pictures, but as specified in terms of sets and functions. Now
we choose forms Fa and Fb for Ga and Gb respectively, and draw their pictures.
We leave it to our intuition to accept the fact that either Fa ~ Fb, no matter what
we choose for Fa and Fb, or Fa Fb no matter what our choice is for the forms
Fa and Fb. If Fa ~ Fb we say that Ga and Gb are isomorphic graphs and write Ga
≈ Gb. The fact that ~ is an equivalence relation forces ≈ to be an equivalence
relation also. In particular, two graphs Ga and use that same form for Gb. n
Theorem 1.2
Let S be a set and suppose that we have a binary relation R ⊆ S × S. We write s ~
t whenever (s, t) ∈ R. This is an equivalence relation if and only if the following
three conditions hold.
(i) (Reflexive) For all s ∈ S we have s ~ s.
(ii) (Symmetric) For all s, t ∈ S such that s ~ t we have t ~ s.
(iii) (Transitive) For all r, s, t ∈ S such that r ~ s and s ~ t we have r ~ t.
Proof:
We first prove that an equivalence relation satisfies (i)-(iii). Suppose that ~ is an
equivalence relation. Since s belongs to whatever block it is in, we have s ~ s.
Since s ~ t means that s and t belong to the same block, we have s ~ t if and only
if we have t ~ s. Now suppose that r ~ s ~ t. Then r and s are in the same block
and s and t are in the same block. Thus r and t are in the same block and so r ~ t.
We now suppose that (i)-(iii) hold and prove that we have an equivalence
relation. Everything equivalent to a given element should be in the same block.
Thus, for each s ∈ S let B(s) be the set of all t ∈ S such that s ~ t. We must show
that the set of these sets from a partition of S.
n
Basics of Graph Theory 13
1.2.6 Random Graph Model
Let G (n, p) be the probability space obtained by letting the elementary
events be the set of all n-vertex simple graphs with V = n. If G ∈ G
(n, p) has m edges, the P(G) = pm qN-m where q = 1 – p and N = ()
n
2

We need to show that G (n, p) is a probability space. There is a nice way to


()
n
see this by reinterpreting P. List the N = 2 vertices P2(V) in lex order. Let the
sample space be U = ×N {choose, reject} with P(a1,...,a1,...,aN) = P*(a1) × ... ×
P*(aN) where P* (choose) = p and P* (reject) = 1 – p. We’ve met this before in
Unit Fn and seen that it is a probability space. To see that it is, note that P ≥ 0 and

∑ P ( a1 , ..., aN ) = ∑
a1 , ..., aN
P* ( a1 ) ×,…, × P* ( aN )
a1 , ..., aN

   
=  ∑ P ( a1 ) × ,…, ×  ∑ P ( aN )
* *

 a1   aN 

= (p + (1 – p)) × ,…, × (p + (1 – p))

= 1 × ,…, × 1 = 1.

We think of the chosen pairs as the edges of a graph chosen randomly from
G(n, p). If G has m edges, then its probability should be pm(1 – p)N–m according
to the definition. On the other hand, since G has m edges, exactly m of a1, ..., aN
equal “choose” and so, in the new space, P(a1,..., aN) = pm (1 – P)N–m also. We
say that we are choosing the edges of the random graph independently.
1.2.7 Isolated Vertex, Pendent Vertex and Null Graph
A vertex having no incident edge is called an isolated vertex or isolated vertices
are the vertices with zero degree.

In Fig. 1.9 vertices v4 and v7 are isolated vertices.

Fig. 1.9: Isolated Vertex


14 Advanced Graph Theory

A vertex of degree one is called a pendent vertex or an end vertex. Vertex


in Fig. 1.9 is a pendent vertex. Two adjacent edges are said to be in series if
their common vertex is of degree two. In Fig. 1.9, the two edges incident on
v1 are in series.
Note: A graph without any edges, is called a null graph.

1.3 Digraphs
A directed graph (or digraph) is a triple D = (V, E, φ) where V and E are finite
sets and φ is a function with domain E and codomain V × V. We call E the set
of edges of the digraph D and call V the set of vertices of D.
We can define a notion of a simple digraph. A simple digraph is a pair D =
(V, E), where V is a set, the vertex set, and E x ⊆ V × V is the edge set. Just as
with simple graphs and graphs, simple digraphs are a special case of digraphs
in which φ is the identify function on E; i.e. Q(e) = e e ∈ E.
There is a correspondence between simple graphs and simple digraphs that
is fairly common in application of graph theory. To interpret simple graphs in
terms of simple digraphs, it is best to consider simple graphs with loops.
We consider G = (V, E) where E ⊆ P2 (V) ∪ P1(V). We may identify {u, v}
∈ P2(V) ∪ P1(V) with (u, v) ∈ V × V and with (v, u) ∈ V × V. We identify {4}
with (u, v). The Fig. 1.10 shows the simple graph and corresponding digraph.

(a) (b)

Fig. 1.10: Show the Simple Graph and Corresponding Digraph

Each, edge that is not a loop in the simple graph is replaced by two edges
“in opposite directions” in the corresponding simple digraph. A loop is replaced
by a directed loop (e.g., {A} is replaced by (A, A)).
Simple digraphs appear in mathematics under another important guise:
binary relations. A binary relation on a set V is simply a subset of V × V. Often
Basics of Graph Theory 15
the name of the relation and the subset are the same. Thus we speak of the binary
relation E ⊆ V × V. If you have absorbed all the terminology, you should be able
to see immediately that (V, E) is a simple digraph and that any simple digraph
(V′ × V′) correspondence to a binary relation E′⊆ V′ × V′.
We can recall that a binary relation R is called symmetric if
(u, v) ∈ R implies (v, u) ∈ R. Thus simple graphs with loops correspond to
symmetric binary relations.
An equivalence relation on a set S is a particular type of binary relation R
⊆ S × S. For an equivalence relation, we have (x, y) ∈ R if and only if x and y
are equivalent (i.e., belong to the same equivalence class or block). Note that
this is a symmetric relationship, so we may regard the associated simple digraph
as a simple graph. Which simple graphs (with loops allowed) correspond to
equivalence relations? As an example, take S = 7 and take the equivalence class
partition to be {{1, 2, 3, 4}, {5, 6, 7}}. Since everything in each block is related
to everything else, there are ( ) = 6 non-loops and ( ) = 4 loops associated
4
2
4
1
with the block {1, 2, 3, 4} for a total of ten edges. With the block {5, 6, 7} there
are three loops and three non-loops for a total of six edges. Here is the graph
of this equivalence relation: (Fig. 1.11)

Fig. 1.11: Graph of Equivalence Relation

A complete simple graph G = (V, E) with loops is a graph with every


possible edge. That is, E = P2(V ) ∪ P1(V ). In the above graph, each block of
the equivalence relation is replaced by the complete simple graph with loops
on that block.
Handshaking Lemma: For a graph G we have


u∈V ( G )
dG ( u ) = 2| E (G )|
16 Advanced Graph Theory

Proof
We consider a collection of guests in a partly.
Let some guests shook hands with some other guests.
If we asked everyone in that partly how many guests they shook hands with
and added those numbers all up, this sum could be equal to twice the number
of total hands shake.
In graph theoretic terms, each vertex represents a guest, and an edge between
two guests represents a hand shake between them.
Each edge in E(G) has end vertices (say u and v) which could be identical
(if the edge is a loop), and hence contributes two to the sum in the left: One to
dG(u) and other to dG(v) or two to dG(u) (if the edge is a loop).
The following two corollaries are possible as a consequence of the Hand-
shaking theorem:
(i) In any graph there is always as even number of vertices having odd degree.
i.e. the value ∑ dG (u ) is always even, and hence the number of odd
u ∈V ( G )
dG(u) terms in even i.e. the number of vertices of odd degree is even.

(ii) Every k-regular graph on n vertices has kn/2 edges. The complete graph
Kn has (n – 2)n/2 edges. n

 Example 1.6: Flow of Commodities Problem


We can recall example 2. Imagine now that the symbols a, b, c, d, e, f and g,
instead of standing for route names, stand for commodities (applesauce, bread,
computers, etc.) that are produced in one town and shipped to another town.
In order to get a picture of the flow of commodities, we need to know the
directions in which they are shipped. This information is provided by picture
below (Fig. 1.12)

Fig. 1.12: Flow of Commodities Problem


Basics of Graph Theory 17
In set-theoretic terms, the information needed to construct the above picture
can be specified by giving a pair D = (V, E, φ) where φ is a function. The domain
of the function φ is E = {a, b, c, d, e, f, g} and the codomain is V × V. Specifically,
 a b c d e f g 
f=   n
 ( B, A) ( A, B ) (C , A) (C , B ) ( B, C ) (C , B ) ( D, B ) 

1.4 Path, Trail, Walk and Vertex Sequence


Let G = (V, E, φ) be a graph. Let e1, e2,...,en–1 be a sequence of elements of E
(edges of G) for which there is a sequence a1, a2,...,an of distinct elements of V
(vertices of G) such that φ(ei) = {ai, ai+1} for i = 1, 2,..., n – 1. The sequence of
edges e1, e2,...,en–1 is called a path in G. The sequence of vertices a1, a2,...,an is
called the vertex sequence of the path. (Note that since the vertices are distinct,
so are the edges.)
If we require that e1,...,en–1 be distinct, but not that a1,...,an be distinct, the
sequence of edges is called a trail.
If we do not even require that the edges be distinct, it is called a walk.
If G = (V, E, φ) is a directed graph, then φ(ei) = {ai, ai+1} is replaced by
φ(ei) = (ai, ai+1) in the above definition to obtain a directed path, trail, and walk
respectively.
Note: Every path is a trail and every trail is a walk, but not conversely.
Theorem 1.3
Walk implies path
Suppose u ≠ v are the vertices is a graph G = (V, E, φ).
The following are equivalent:
(i) There is a walk from u to v.
(ii) There is a trail from u to v.
(iii) There is a path from u to v.
Furthermore, given a walk from u to v, there is a path from u to v all of
whose edges are in the walk.
Proof:
Since every path is a trail, (iii) implies (ii). Since every trail is a walk, (ii)
implies (i). Thus it suffices to prove that (i) implies (iii). Let e1, e2,..., ek be a
walk from u to v. We use induction on n, the number of repeated vertices in a
walk. If the walk has no repeated vertices, it is a path. This starts the induction
at n = 0. Suppose n > 0. Let r be a repeated vertex. Suppose it first appears in
edge ei and last appears in edge ej.
18 Advanced Graph Theory

If r = u, then ej,...,ek is a walk from u to v in which r is not a repeated vertex.


If r = v, then e1,...,ei is a walk from u to v in which r is not a repeated vertex.
Otherwise, e1,...,ei, ej,...,ek is a walk from u to v in which r is not a repeated
vertex. Hence there are less than n repeated vertices in this walk from u to v
and so there is a path by induction. Since we constructed the path by removing
edges from the walk, the last statement in the theorem follows.
n

1.5 Subgraph
Let G = (V, E, φ) be a graph. A graph G′ = (V′, E′, φ′) is a subgraph of G iff V′
⊆ V, E′ ⊆ E, and φ′ is the restriction of φ to E′.
The fact that G′ is itself a graph means that φ(x) ∈ P2 (V′) for each x ∈ E′
and, in fact, the codomain of φ′ must be P2(V′). If G is a graph with loops, the
codomain of φ′ must be P2(V′) ∪ P1(V′). This definition works equally well if
G is a digraph. In that case, the codomain of φ′ must be V × V.

1.6 Circuit and Cycle


Let G = (V, E, φ) be a graph and let e1, e2,...,en be a trail with vertex sequence a1,
a2,...,an, a1. (returns to the starting point) The subgraph G′ of G induced by the
set of edges {e1, e2,...,en} is called a circuit of G. The length of the circuit is n.
• If the only repeated vertices on the trail are a, (the start and the end), then the
circuit is called a simple circuit or cycle.
• If ‘trail’ is replaced by directed trail, we obtain a directed circuit and a directed
cycle.
Note: In the above definitions, a path is a sequence of edges but a cycle is a
subgraph of G. In actual practice, we often think of a cycle as a path, except
that it starts and ends at the same vertex. This sloppiness rarely causes trouble,
but can lead to problems in formal proofs. Cycles are closely related to the
existence of multiple paths between vertices.
 Example 1.7: Subgraph-Key Information
For the graph G = (V, E, φ) as shown in Fig. 1.13, let G′ = (V′, E′, φ′) be defined
by V′ = {A, B, C}, E′ = {a, b, c, f }, and by φ′ being the restriction of f to E′
with codomain P2(V′). φ′ is determined completely from knowing V′, E′ and φ.
Thus, to specify a subgraph G′, the key information is V′ and E′.
In the same graph, let V′ = V and E′ = {a, b, c, f }. In this case, the vertex D
is not a member of any edge of the subgraph. Such a vertex is called an isolated
vertex of G′.
We may specify a subgraph by giving a set of edges E′ ⊆ E and taking V′
to be the set of all vertices on some edge of E′.
Basics of Graph Theory 19
It shows that, V′, is the union of the sets φ(x) over all x ∈ E′. Such a subgraph
is called the subgraph induced by the edge set E′ or the edge induced subgraph of
E′. The first subgraph of this example is the subgraph induced by E′ = {a, b, c, f}.
Given a set V′ ⊆ V, we can take E′ to be the set of all edges x ∈ E such
that φ(x) ⊆ V′. The resulting subgraph is called the subgraph induced by V′ or
the vertex induced subgraph of V′. In the given Fig., the edges of the subgraph
induced by V′ = {C, B}, are E′ = {d, e, f}

Fig. 1.13: Parallel Edges

We consider the path c, a with vertex sequence C, A, B. The edge d has φ(d)
= {C, B}. The subgraph G′ = (V′, E′, φ′} where V′ = {C, A, B} and E′ = {c, a,
d} is called a cycle of G. Whenever there is a path in G, (say e1, e2,...,en-1 with
vertex sequence a1, a2,...,an) and an edge x with φ(x) = {a1, an}, then the subgraph
induced by the edges e1, e2,...,en-1 x is called the cycle of G.
Parallel edges like a and b in the Fig. 1.13 induce a cycle. A loop also
induces a cycle. n
1.7 Cycles and Multiple Paths
Two vertices u ≠ v are on a cycle of graph G iff there are at least two paths
from u to v that have no vertices in common except the end points u and v.
To illustrate the above, we consider u and v are on a cycle. We follow the
cycle from u to v to obtain one path. Then we follow the cycle from v to u to
obtain another. Since the cycle has no repeated vertices, the only vertices that
lie on both paths are u and v. On the other hand, a path from u to v followed
by a path from v to u is a cycle if the paths have no vertices in common other
than u and v.
1.8 Connected Graph
Let G = (V, E, φ) be a graph. If for any two distinct elements u and v of V
there is a path P from u to v than G is a connected graph. If |V| = l, than
G is connected.
20 Advanced Graph Theory

To illustrate this definition we refer example 1 which has two distinct pieces.
It is not a connected graph. There is, for example, no path from u = NB to
v = AC. Note that one piece of this graph consists of the vertex induced subgraph
of the vertex set {AC, SK, BM, RK} and the other piece consists of the vertex
induced subgraph of {NB, AR, SJ, HB}. These pieces are called connected
components of the graph. This is the case in general for a graph G = (V, E, φ).
The vertex set is partitioned into subsets V 1, V 2,...,V m such that if
u and v are in the same subset then there is a path from u to v and if
they are in different subsets there is no such path. The subgraphs G1 =
(V 1, E 1, φ 1),...,G m = (V m, E m, φ m) induced by the sets V 1, V 2,...,V m are
called the connected components of G. Every edge of G appears in
one of the connected components. We can see this by considering that
{u, v} is an edge and note that the edge is a path from u to v and so u and v are
in the same induced subgraph, G1.
 Example 1.8: Connected Components as an Equivalence Relation
We have to define firstly, two integers to be ‘connected’ if they have a
common factor. Let 2 and 6 are connected and 3 and 6 are connected,
but 2 and 3 are not connected and so we cannot partition the set V =
{2, 3, 6} into ‘connected components’.
We must use some property of definitions of graphs and paths to show that
the partitioning of vertices is possible. We can use to do this by constructing
an equivalence relation.
For u, v ∈ V, we write u ~ v iff either u = v or there is a walk from
u to v. It is clear that ~ is reflexive and symmetric. We can prove that it
is transitive also. Let u ~ v ~ w. The walk from u to v followed by the
walk from v to w is a walk from u to w. This completes the proof that
u ~ v is an equivalent relation. The relation partitions V onto subsets V1, V2,...,Vm.
The vertex induced subgraphs of the Vi satisfy the definition of connected graph.
n

1.9 Spanning Subgraph and Induced Subgraph


A spanning subgraph is a subgraph containing all the vertices of G.
i.e. if V(H) ⊂ V(G) and E(H) ⊆ E(G) then H is a proper subgraph of G and
if V(H) = V(G) then it can be said that H is a spanning subgraph of G.
A spanning subgraph need not contain all the edges in G.
For any set S of vertices of G, the vertex induced subgraph or simply an
induced subgraph < S > is the maximal subgraph of G with vertex set S. Thus
two vertices of S are adjacent in < S > if and only if they are adjacent in G.
In other words, if G is a graph with vertex set V and U is a subset of V then
the subgraph G(U) of G whose vertex set is U and whose edge set comprises
exactly the edge of E which join vertices in U is termed as induced subgraph of G.
Basics of Graph Theory 21
1.10 Eulerian Graph (Eulerian Trail and Circuit)
Let G = (V, E, φ) be a connected graph. If there is a trail with edge sequence
(e1, e2,…, ek) in G, which uses each edge in E, then (e1, e2,…, ek) is called the
Eulerian trail. If there is a circuit C = (V′, E′, φ′) in G with E′ = E, then C is
called an Eulerian circuit.
We can describe a process for constructing a graph G = (V, E, φ).
Starting with V = {v1} consisting of a single vertex and with E = φ. Adding
an edge e1, with φ(e1) = {v1, v2), to E. If v1 = v2, we have a graph with one vertex
and one edge (a loop), else we have a graph with two vertices and one edge.
Keeping track of the vertices and edges in the order added. Here (v1, v2) is
the sequence of vertices in the order added and (e1) is the sequence of edges
in order added. Suppose we continue this process to construct a sequence
of vertices (not necessarily distinct) and sequence of distinct edges. At the
point where k distinct edges have been added, if v is the last vertex added,
then we add a new edge ek+1, different from all previous edges, with φ(ek+1)
= {v, v′} where either v′ is a vertex already added or a new vertex. Here is a
picture of this process carried out with the edges numbered in the order added
(Fig. 1.14)

Fig. 1.14: Eulerian Graph

where the vertex sequence is


S = (a, a, b, e, d, a, b, f, g, e, c, c, g).
Such a graph is called a graph with an Eulerian trail. The edges, in the order
added, are the Eulerian trail and S is the vertex sequence of the trail.
By construction, if G is a graph with an eulerian trail, then there is a trail
in G that includes every edge in G. If there is a circuit in G that includes every
edge of G then G is called an Eulerian circuit graph or graph with an Eulerian
circuit. Thinking about the above example, if a graph has an Eulerian trail but no
Eulerian circuit, then all vertices of the graph have even degree except the start
vertex (a in our example with degree 5) and end vertex (g in our example with
degree 3). If a graph has an Eulerian circuit then all vertices have even degree.
The converses in each case are also true (but take a little work to show): If G is
a connected graph in which every vertex has even degree then G has an Eulerian
circuit. If G is a connected graph with all vertices but two of even degree, then
G has an Eulerian trail joining the two vertices of odd degree.
22 Advanced Graph Theory

1.11 Hamiltonian Graph


A cycle in a graph G = (V, E, φ) is a Hamiltonian cycle for G in every element
of v is a vertex of the cycle. A graph G = (V, E, φ) is Hamiltonian if it has a
subgraph that is a Hamiltonian cycle for G.
We can start with a graph G′ = (V, E′, φ′) that is a cycle and then add
additional edges, without adding any new vertices, to obtain a graph G = (V, E,
φ). As an example, consider (Fig. 1.15)

Fig. 1.15: Hamiltonian Graph

(V, E′, φ′) is the cycle induced by the edges {a, b, c, d, e, f }. The second
graph G = (V, E, φ) is obtained from G′ by adding edges g, h, i and j. A graph
that can be constructed from such a two-step process is called a Hamiltonian
graph. The cycle G′ is called a Hamiltonian cycle of G.

1.12 Biconnected Graph


Let G = (V, E, φ) be a graph. For e, f ∈ E write e ~ f if either e = f or there is
a cycle of G that contains both e and f. We claim that this is an equivalence
relation. The reflexive and symmetric parts are easy. Suppose that e ~ f ~ g. If
e = g, then e ~ g, so suppose that e ≠ g. Let φ(e) = {v1, v2}. Let C(e, f ) be the
cycle containing e and f and C( f, g) the cycle containing f and g. In C(e, f ) there
is a path P1 from v1 to v2 that does not contain e. Let x and y ≠ x be the first and
last vertices on P1 that lie on the cycle containing f and g. We know that there
must be such points because the edge f is on P1. Let P2 be the path in C(e, f )
from y to x containing e. In C( f, g) there is a path P3 from x to y containing g.
We claim that P2 followed by P3 defines a cycle containing e and g.
Since ~ is an equivalence relation on the edges of G, it partitions them. If
the partition has only one block, then we say that G is a biconnected graph.
If E′ is a block in the partition, the subgraph of G induced by E′ is called a
bicomponent of G. Note that the bicomponents of G are not necessarily disjoint:
Bicomponents may have vertices in common (but never edges). There are four
Basics of Graph Theory 23
bicomponents in the following graph. (Fig. 1.16) Two are the cycles, one is the
edge {C, O}, and the fourth consists of all of the rest of the edges.

Fig. 1.16: Biconnected Graph

1.13 Algebraic terms and operations used in Graph Theory


1.13.1 Graphs Homomarphism and Graph Isomorphism
Let G = (V, E, f) and G′ = (V′, E′, f′) be two graphs. A homomorphism
f : G → G′
from G to G′ is an ordered pair
f = (f1, f2) of maps f1 : V → V′ and f2 : E → E′ satisfying the following
condition:
f(e) = {u, v} ⇒ f′(f2(e)) = {f(u), f1(v)}.
i.e. if u and v are the endvertices of e in G, then f1(u) and f1(v) are the
endvertices of f2(e) in G′.
Let G1 = (v1, E1) and G2 = (v2, E2) be two graphs. A function f : u1 → v1 is
called a graphs isomorphism iff.
(i) f is one-to-one and onto.
(ii) for all a, b ∈ v1, {a, b} ∈ E1 iff {f(a), f(b) ∈ E2 when such a function exists,
G1, and G2 are called isomorphic graphs and written as G1 ≅ G2.
OR
Two graphs G1 and G2 are called isomorphic to each other if there is a

one-to-one correspondence between their vertices and between edges such
that incidence relationship is preserve. Written as G1 ≅ G2 or G1 = G2.
The necessary conditions for two graphs to be isomorphic are:
(i) Both graphs must have the same number of vertices.
(ii) Both graphs must have the same number of edges.
(iii) Both graphs must have equal number of vertices with the same degree,
(iv) They must have the same degree sequence and same cycle vector (c1,
c2,...,cn), where ei is the number of cycles of length i.
24 Advanced Graph Theory

e.g. Fig. 1.17 has isomorphism of graphs.

Fig. 1.17: Isomorphism of Graphs

 Example 1.9: Show that the two Graphs shown in Fig. 1.18 are Isomorphic

(G1) (G2)

Fig. 1.18

Solution:

Observing the above graphs G1 and G2, we find.


V(G1) = {1, 2, 3, 4}, V(G2) = {a, b, c, d}
E(G1) = {{1, 2}, {2, 3}, {3, 4)}
and E(G2) = {{a, b}, {b, d}, {d, c}}.
Defining a function f : V(G1) → V(G2) as.
f(1) = a, f(2) = b, f(3) = d, and f(4) = c.
f is clearly one-one and onto, hence an isomorphism.
Furthermore, {1, 2} ∈ E(G1) and { f(1), f(2)} = {a, a} ∈ E(G2)
{2, 3} ∈ E(G1) and { f(2), f(3)} = {b, d} ∈ E(G2)
{3, 4} ∈ E(G1) and { f(3), f(4)} = {d, c} ∈ E(G2)
and {1, 2} ∉ E(G1) and {f(1), f(3)} = {a, d} ∉ E(G2)
{1, 4} ∉ E(G1) and { f (1), f (4)} = {a, c} ∉ E(G2)
{2, 4} ∉ E(G1) and { f (2), f (4)} = {b, c} ∉ E(G2)
Hence f preserves adjacency as well as non-adjacency of the vertices.
Therefore, G1 and G2 are isomorphic graphs.
Basics of Graph Theory 25
1.13.2 Union of two Graphs

If we have two graphs G1 and G2, then, their union will be graph such that
V(G1 ∪ G2) = V(G1) ∪ V(G2)
and E(G1 ∪ G2) = E(G1) ∪ E(G2)
Fig. 1.19 Shows the union operation of two graphs G1 and G2.

(G1) (G2) (G1 ∪ G2)

Fig. 1.19: Union of two Graphs

1.13.3 Intersection of two Graphs

If we have two graphs G1 and G2 with at least one vertex is common then their
intersection will be a graph such that
V(G1 ∩ G2) = V(G1) ∩ V(G2)
and E(G1 ∩ G2) = E(G1) ∩ E(G2)
Fig. 1.20 illustrates the intersection operation of two graphs G1 and G2.

(G1) (G2) (G1 ∩ G2)

Fig. 1.20: Intersection of two Graphs

1.13.4 Addition of two Graphs

If we have two graphs G1 and G2 such that V(G1) ∩ V(G2) = φ, then the sum G1
+ G2 is defined as the graph whose vertex set is V(G1) + V(G2) and the edge set
is consisting these edges, which are G1 and in G2 and the edges contained, by
joining each vertex of G1 to each vertex of G2. Fig. 1.21 illustrates the addition
of two graphs G1 and G2.
26 Advanced Graph Theory

(G1) (G2) (G1 + G2)

Fig. 1.21: Addition of two Graphs

1.13.5 Direct Sum or Ring Sum of two Graphs

If we have two graphs G1(V1, E1) and G2(V2, E2). Then the direct sum of G1 and
G2 (denoted by G1, G2) is defined as the graph G such that
(i) V(G) = V(G1) ∪ V(G2)
(ii) E(G) = E(G1) ∪ E(G2) – E(G1) ∩ E(G2)
i.e. the edges that either in G1 or G2 but not in both. The direct sum is
illustrated in Fig. 1.22 for two graphs G1 and G2.

(G1) (G2) (G1 ⊕ G2)

Fig. 1.22: Ring Sum of two Graphs

1.13.6 Product of two Graphs

We can define the product of two graphs G1 × G2 by considering any two points
u = (u1, u2) and v = (v1, v2) is V = V1 × V2. Then u and v are adjacent in G1 × G2
whenever [u1 = v1 and u2 adj. v2] or [v1 and u1 adj v1].
Basics of Graph Theory 27
Fig. 1.23 illustrates the product of two graphs (G1 × G2).

(G1) (G2) (G1 × G2)

Fig. 1.23: Products of two Graphs

1.13.7 Composition of two Graphs


The composition G = G1[G2] also has v = v1 × v2 as its point set, and u = (u1,
u2) is adjacent with v = (v1, v2) whenever (u1 adj. v1) or (u1 = v1 and u2 adj. v1).
Fig. 1.24 illustrates the composition of two graphs.

G1(G2) G2(G1)

Fig. 1.24: Composition of two Graphs

1.13.8 Complement of a Graph


The complement G′ of a graph G may be defined as a simple graph with the
same vertex set as G and where two vertices u and v adjacent only when they
are not adjacent in G.
Fig. 1.25(a) shows the complement of a graph

(G) (G1)

Fig. 1.25 (a): Complement of a Graph


28 Advanced Graph Theory

A graph G is self-complementary if it is isomorphic to its complement.


Fig. 1.25(b) shows this situation.

and

Fig. 1.25 (b): Self Complement of a Graph

The self-complementary graph with five vertices is (as shown in Fig. 1.25(c))

Fig. 1.25 (c): Self Complementary with Five Vertices

1.13.9 Fusion of a Graph


A pair of vertices v1 and v2 in a graph G is said to be ‘fused’ if these two vertices
are replaced by a single new vertex v s.t. every edge that was adjacent to either
v1 or v2 on both is adjacent v.
We can observe that the fusion of two vertices does not alter the number
of edges of graphs but reduced the vertices by one. Fig. 1.26 shows this kind
of fusion.

Fig. 1.26: Fusion of Graph

1.13.10 Rank and Nullity


Let G be a graph with n vertices, m edges and k components. We define the rank
P(G) and nullity m(G) of G as follows:
P(G) = Rank of G = n – k
µ(G) = Nullity of G = m – n + k
If G is connected Hence,
P(G) = n – 1 and µ(G) = m – n + 1.
Basics of Graph Theory 29
1.13.11 Adjacency Matrix
A graph can be represented by an adjacency matrix. In particular, if a graph has
vertices v1,...,vn, then the adjacency matrix is n × n. The entry in row i, column j
is 1 if there is an edge vi–vj and is 0 if there is no such edge. For example, here
is a graph and its adjacency matrix:

The adjacency matrix of an undirected graph is always symmetric about the


diagonal line running from the upper left entry to the lower right. The adjacency
matrix of a directed graph need not be symmetric, however. Entries on the
diagonal of an adjacency matrix are nonzero only if the graph contains self-loops.
Adjacency matrices are useful for two reasons. First, they provide one way
to represent a graph in computer memory. Second, by mapping graphs to the
world of matrices, one can bring all the machinery of linear algebra to bear on
the study of graphs. For example, one can analyze a highly-prized quality of
graphs called “expansion” by looking at eigenvalues of the adjacency matrix.
(In a graph with good expansion, the number of edges departing each subset of
vertices is at least proportional to the size of the subset. This is not so easy to
achieve when the graph as a whole as few edges, say |E| = 3|V|.) Here we prove
a simpler theorem in this vein. If M is a matrix, then Mij denotes the entry in
row i, column j. Let Mk denote the k-th power of M. As a special case, M0 is
the identity matrix.
1.13.12 Some Important Theorems

Theorem 1.4
n ( n − 1)
The maximum number of edges in a simple graph with n vertices is
2
Proof:
By handshaking theorem, we have
n

∑ f (v )
i =1
i = 2e

Where e is the number of edges with vertices in the graph G.


d(v1) + d(v2) + ,…, + d(vn) = 2e. ...(i)
Since we know that maximum degree of each vertex in a graph G can be
(n – 1).
30 Advanced Graph Theory

Therefore, equ (i) reduces to


(n – 1) + (n – 1) + ,…, to n terms = 2e
n(n – 1) = 2e

n ( n − 1)
e =
2
Hence the maximum number of edges in any simple graph with n vertices
n ( n − 1)
is . n
2

Theorem 1.5
The maximum number of lines among all p point graphs with no triangles is
 p2 
 
 4 

Proof:
Suppose the statement is true for all even p ≤ 2n.
We then prove for p = 2n + 2.
Let G be a graph with p = 2n + 2 points and no triangles.
Since G is not totally disconnected, there are adjacent points u and v.
The subgraph G′ = G – {u, v} has 2n points and no triangles, so that by the
induction hypothesis.
 4n 2 
G′ has at most   = n2 lines.
 4 
There might not be a point w s.t., u and v are both adjacent to w, for then
u, v and w would be points of a triangle in G.
If u is adjacent to k points of G′, v can be adjacent to at most 2n – k points.
Thus G has at most

p2  p2 
n2 + k + (2n – k) + 1 = n2 + 2n + 1 = =   lines. n
4  4 
Theorem 1.6
A simple graph with n vertices must be connected if it has more than
( n − 1)( n − 2 ) edges.
2
Basics of Graph Theory 31
Proof:
Let G be a simple graph on n vertices.
We can choose n –1 vertices v1, v2,…, vn-1 of G.

 n − 1 ( n − 1)( n − 2 )
We have maximum   = number of edges.
 2  2
Only can be drawn between there vertices.

If we have more than ( n − 1)( n − 2 )


edges, at least one edge should be
2
drawn between the nth vertex vn to some vertex vi , 1 ≤ i ≤ n – 1 of G.
Hence G must be connected.
Theorem 1.7
A simple graph with n vertices and k components cannot have more than
( n − k )( n − k + 1) edges. If m > 1 ( n − 1)( n − 2 ) then a simple graph with n
2 2
vertices and m edges in connected.

Proof:
Let ni the number of vertices is component i, i ≤ i ≤ k
k
Then ∑n
i =1
i =n

A component with ni vertices will have the maximum possible number of


edges when it is complete.

1
ni ( ni − 1) edges.
i.e., it contains
2
The maximum number of edges is
k
1 1 k 2 1 k
2 ∑
i =1
ni ( ni − 1) =
2
ni −
=i 1 =i 1
∑2
ni ∑
1 1
≤  n 2 − ( k − 1)( 2n − k )  − n

2 2
1 2
= n − 2nk + k 2 + n − k 
2
1
= ( n − k )( n − k + 1)
2
Suppose graph is disconnected. Then it has at least two components,
32 Advanced Graph Theory

1
Therefore, m ≤ ( n − k )( n − k + 1) for k ≥ 2.
2
1
≤ ( n − 2)( n − 1)
2
This contradiction assumes that

1
m= ( n − 1)( n − 2)
2
Therefore, the graph is connected. n
Theorem 1.8
Every graph G = (V, E) has at least |V| – |E| connected components.
Proof:
We use induction on the number of edges. Let P(n) be the proposition that
every graph G = (V, E) with |E| = n has at least |V| – n connected components.
Base case: In a graph with 0 edges, each vertex is itself a connected
component, and so there are exactly |V| – 0 = |V| connected components.
Inductive step: Now we assume that the induction hypothesis
holds for every n-edge graph in order to prove that it holds for every
(n + 1) — edge graph, where n ≥ 0. Consider a graph G (V, E) with
n + 1 edges. Remove an arbitrary edge u-v and call the resulting graph
G′. By the induction assumption, G′ has at least |V| – n connected
components. Now add back the edge u – v to obtain the original graph
G. If u and v were in the same connected component of G′, then G has
the same number of connected components as G′, which is at least
|V| – n. Otherwise, if u and v were in different connected components of G′,
which is at least |V| – n. Otherwise, if u and v were in different connected
components of G′, then these two components are merged into one in G,
but all other components remain. Therefore, G has at least |V| – n – 1 = |V| –
(n + 1) connected components. n
Corollary: Every connected graph with n vertices has at least n – 1 edges.
A couple points about the proof of Theorem 7 are worth noting. First, notice
that we used induction on the number of edges in the graph. This is very common
in proofs involving graphs, and so is induction n the number of vertices.
The second point is more subtle. Notice that in the inductive step, we took
an arbitrary (n + 1)-edge graph, threw out an edge so that we could apply the
induction assumption, and then put the edge back. This might seem like needless
effort; why not start with an n-edge graph and add one more to get an (n + 1)-
Basics of Graph Theory 33
edge graph? That would work fine in this case, but opens the door to a very
nasty logical error in similar arguments. n
Theorem 1.9
A connected graph has an Euler tour if and only if every vertex has even degree.
Proof:
If a graph has an Euler tour, then every vertex must have even degree; in
particular, a vertex visited k times on an Euler tour must have degree 2k.
Now suppose every vertex in graph G has even degree. Let W be the longest
walk in G that traverses every edge at most once:
W = v0, v0 – v1, v1, v1 – v2, v2, ..., vn – 1 – vn, vn
The walk W must traverse every edge incident to vn; otherwise, the walk
could be extended. In particular, the walk traverses two of these edges each time
it passes through vn and traverses vn–1 – vn at the end of the walk. This accounts for
an odd number of edges, but the degree of vn is even by assumption. Therefore,
the walk must also begin at vn; that is, v0 = vn.
Suppose that W is not an Euler tour. Because G is a connected graph, we
can find an edge not in W but incident to some vertex in W. Call this edge u – vi.
But then we can construct a longer walk:
u, u – vi, vi, vi – vi – vi+1, ..., vn–1 – vn, vn, v0 – v1, ..., vi–1 – vi, vi
This contradicts the definition of W, so W must be an Euler tour after all.
Corollary: A connected graph has an Euler walk if and only if either 0 or 2
vertices have odd degree.
Hamiltonian cycles are the unruly cousins of Euler tours. A Hamiltonian
cycle is walk that starts and ends at the same vertex and visits every vertex
in a graph exactly once. There is no simple characterization of all graphs
with a Hamiltonian cycle. (In fact, determining whether a given graph has a
Hamiltonian cycle is “NP-complete”.) n
Theorem 1.10
Let G be a digraph (possibly with self-loops) with vertices v1,...,vn. Let M be
k
the adjacency matrix of G. Then M ij is equal to the number of length-k walks
from vi to vj.
Proof:

We use induction on k. The induction hypothesis is that M ijk is equal to the


number of length-k walks from vi to vj, for all i, j.
34 Advanced Graph Theory

k
Each vertex has a length-0 walk only to itself. Since M ij = 1 if and only if
i = j, the hypothesis holds for k = 0.
Now suppose that the hypothesis holds for some k ≥ 0. We prove that it
also holds for k + 1. Every length-(k + 1) walk from vi to vj consists of a length
k walk from vi to some intermediate vertex vm followed by an edge vm–vj. Thus,
the number of length-(k + 1) walks from vi to vj is equal to:
M ivk 1M v1 j + M ivk 2 M v 2 j + ... + M ivn
k
M vnj

This is precisely the value of M ijk +1 , so the hypothesis holds for k + 1 as


well. The theorem follows by induction.

1.14 Some Popular Problems in Graph Theory


1.14.1 Tournament Ranking Problem
Suppose that n players compete in a round-robin tournament. Thus, for every
pair of players u and v, either u beats v or else v beats u. Interpreting the results
of a round-robin tournament can be problematic. There might be all sorts of
cycles where x beat y, y beat z, yet z beat x. Graph theory provides at least a
partial solution to this problem.
The results of a round-robin tournament can be presented with a tournament
graph. This is a directed graph in which the vertices represent players and the
edge indicate the outcomes of games. In particular, an edge from u to v indicates
that player u defeated player v. In a round-robin tournament, every pair of players
has a match. Thus, in a tournament graph there is either can edge from u to v
or an edge from v to u for every pair of vertices u and v. Here is an example of
a tournament graph (refer Fig. 1.27)

Fig. 1.27: Tournament graph

The notions of walks, Euler tours, and Hamiltonian cycles all carry over
naturally to directed graphs. A directed walk is an alternating sequence of
vertices and directed edges:
v0, v0 → v1, v1, v1 → v2, v2,..., vn–1, vn–1 → vn, vn
A directed Hamiltonian path is a directed walk that visits every vertex
exactly once.
Basics of Graph Theory 35
We’re going to prove that in every round-robin tournament, there exists a
ranking of the players such that each player lost to the player ranked one position
higher. For example, in the tournament above, the ranking.
A>B>D>E>C
satisfies this criterion, because B lost to A, D lost to B, E lost to D and C lost to
E. In graph terms, proving the existence of such a ranking amounts to proving
that every tournament graph has a Hamiltonian path.
Theorem 1.11
Every tournament graph contains a directed Hamiltonian path.
Proof:
We use strong induction. Let P(n) be the proposition that every tournament
graph with n vertices contains a directed Hamiltonian path.
Base case: P(1) is trivially true; every graph with a single vertex has a
Hamiltonian path consisting of only that vertex.
Inductive step: For n ≥ 1, we assume that P(1),..., P(n) are all true and
prove P(n + 1). Consider a tournament with n + 1 players. Select one vertex v
arbitrarily. Every other vertex in the tournament either has an edge to vertex
v or an edge from vertex v. Thus, we can partition the remaining vertices into
two corresponding sets, T and F, each containing at most n vertices. (Fig. 1.28)

Fig. 1.28: Tournament Graph as Hamiltonian Path

The vertices in T together with the edges that join them form a smaller
tournament. Thus, by strong induction, there is a Hamiltonian path within T.
Similarly, there is a Hamiltonian path within the tournament on the vertices
in F. Joining the path in T to the vertex v followed by the path in F gives a
Hamiltonian path through the whole tournament. (As special cases, if T or F is
empty, then so is the corresponding portion of the path.) n
Note: The ranking defined by a Hamiltonian path is not entirely satisfactory.
In the example tournament, notice that the lowest-ranked player (C) actually
defeated the highest-ranked player (A).
36 Advanced Graph Theory

1.14.2 The Königsberg Bridge Problem


The Königsberg bridge problem is perhaps the best-known example in Graph
Theory. It was a long-standing problem until solved by Leonhard Euler (1707-
1783) in 1736, by means of a graph. Euler wrote the first paper even in graph
theory and thus became the origination of Graph Theory as well as of the
rest of topology. The city of Königsberg was located on the Pregel river in
Prussia. The city occupied the island of kneiphopf plus areas on both banks.
These regions were linked by seven bridges as shown in Fig 1.29. The citizens
wondered whether they could leave home, cross every bridge exactly once, and
return home. The problem reduces to traversing the Fig. (right) with heavy dots
representing land masses and cures representing bridges.

Fig. 1.29: The Königsberg Bridge Problem

Two stands w and y, formed by the Pregel river in Königsberg (Then the
capital of east Prussia but now renamed Kalinongrad and in West Soviet Russia)
were connected to each other to the banks x and z with seven budges as shown
in Fig. The problem was to start any of the four land areas of the city w, x, y or
z, walk over each of the seven bridges exactly once, and return to the starting
point (without swimming across the river). Euler represented this situation by
means of a graph as shown in Fig.. The vertices represent the land areas and
the edges represent the bridges.
Later on the problem was solved by introducing a new bridge on left most
side.
1.14.3 Four Colour Problem
One of the most famous problem of Graph Theory is the four colour problem.
This problem states that any map on a plane on the surface of a sphere can be
coloured with four colours in such a way that no two adjacent countries or states
have the same colour. This problem can be translated as a problem in Graph
Theory. We represent each country or state by a point and join two points by
a line if the countries are adjacent. The problem is to colour the points in each
way that adjacent points have different colours. This problem was first posed
in 1852 by Frances Gutherie a post-graduate student at the University College,
Basics of Graph Theory 37
London. This problem was finally proved by Appel and Hahen in 1976 and they
have used 400 pages of arguments and about 1200 hours of computer time on
some of the best computers in the world to arrive the solution.
1.14.4 Three Utilities Problem
We consider three houses H1, H2 and H3, each to be connected to each of the three
utilities viz. water (W), gas (G), and electricity (E) by means of conducts. It is
possible to make such connections without any crossovers of the conduits. We
can see in Fig. 1.30. How this problem can represented by a graph the conduits
are shown as edges while the houses and utilities supply centres are vertices.
The graph (right) cannot be drawn n the plane without edge crossing over. The
answer of this problem is no.

Fig. 1.30: Three Utilities Problem

1.14.5 Traveling - Salesman Problem


A salesman requires to visit a number of cities during his assignment. Given the
distance between the cities, in what order should be travel as to visit every city
precisely once and return home, with the minimum mileage travelled?
We represent the cities by vertices and the road between them by edges.
We get a graph.
In this graph, with every edge ei there is associated a real number W(ei)
being the weight of edge ei.
Illustration:
Suppose that a salesman wants to visit five cities, namely A, B, C, D and E (as
shown in Fig. 1.31). In which order should he visit these cities to travel the
minimum total distance? To solve this problem we may assume the salesman
starts in A (since this must be a part of circuit) and examine all possible ways
for him to visit the other four cities and then return to A. There exist a total of 24
such circuits, but since we travel the same distance when we travel a circuit in
reverse order, we need to consider only 12 different circuits to find the minimum
total distance he must travel. We can list these 12 different circuits and the total
distance travelled for each circuit. The routes can be found the distance travelled.
The travelling salesman problem asks for a circuit of minimum total weight
38 Advanced Graph Theory

in a weighted, complete, undirected graph that visits each vertex exactly once
and returns to its starting point. This is equivalent to asking for a Hamiltonian
circuit with minimum total weight in the complete graph, since each vertex is
visited exactly once in the circuit.

Fig. 1.31: Traveling Salesman Problem

The most straight way to solve an instance of this problem is to examine all
possible Hamiltonion circuits and select one of minimum total length. (Fig. 1.31)
If we have n vertices in the graph. Once a starting point is chosen, there
are (n–1)! different Hamiltonion circuits to be examined, since there are (n–1)
choices for second vertex, (n – 2) choices for the third vertex and, so on.
A Hamiltonion circuit can be travelled in reverse order, we can only examine

( n − 1) ! circuits to reach the answer. ( n − 1) ! grown extremely rapidly.


2 2
1.14.6 MTNL’S Networking Problem
Suppose Mahanagar Telephone Nigam Limited (MTNL) is interested in
identifying those lines that must stay in services to avoid disconnecting the
network as shown in Fig. 1.32. Which is a typical problem of graph theory.

Fig. 1.32: MTNL Network Problem

1.14.7 Electrical Network Problems


The properties of an electrical network are functions of only two key factors:
(i) The nature and value of the elements forming the network, such as resistors,
inductors and transistors etc.
Basics of Graph Theory 39
(ii) The way these elements are connected together i.e. the topology of the
network.
Since these are a few different types of elements of electrical circuit, the
variations in networks are due to variations in networks are due to variation in
technology.
The particular topology of an electrical network is studied by means of
graph theory. While drawing a graph of an electrical network the junctions are
represented by vertices, and the branches are represented by edges, regardless
the nature and size of the electrical elements shown in Fig. 1.33.

Fig. 1.33: Electrical Network Problem

1.14.8 Satellite Channel Problem


Suppose six TV companies apply for frequency allotment. If the relay centre of
these companies are not less than 1000 km then only the same frequency could
be alloted without interference. The aim is to assign as small number of different
frequency as possible. The Fig. 1.34 shows the line joining two companies to
show that they came relay centres less than 1000 km apart. This is a typical
problem of graph theory. As an obvious case, we could assign same frequency
to company 1 and 4, 2 and 5, and 3 and 6 respectively.

Fig. 1.34: Relay Centres and their Distance


40 Advanced Graph Theory

1.15 Applications of Graphs


Graphs are the most useful mathematical objects in computer science. We can
model an enormous number of real-world systems and phenomena using graphs.
Once we have created such a model, we can tap the vast store of theorems about
graphs to gain insight into the system we are modeling. Here are some practical
situations where graphs arise:
Data Structures: Each vertex represents a data object. There is a directed
edge from one object to another if the first contains a pointer or reference to
the second.
Attraction: Each vertex represents a person, and each edge represents
a romantic attraction. The graph could be directed to model the unfortunate
asymmetries.
Airline Connections: Each vertex represents an airport. If there is a direct
flight between two airports, then there is an edge between the corresponding
vertices. These graphs often appear in airline magazines.
The Web: Each vertex represents a web page. Directed edges between
vertices represent hyperlinks.
People often put numbers on the edges of graph, put colors on the vertices,
or add other ornaments that capture additional aspects of the phenomenon being
modeled. For example, a graph of airline connections might have numbers on
the edges to indicate the duration of the corresponding flight. The vertices in
the attraction graph might be colored to indicate the person’s gender.

1.16 Worked Examples

 Example 1.10: Determine the number of edges in a graph with 6 vertices, 2


of degree 4 and 4 of degree 2. Plot two such graphs. (Delhi, (MCA), 2004)
Solution we consider a graph with 6 vertices and having e number of edges
from Handshaking lemm, we have.
⇒ d(v1) + d(v2) + d(v3) + d(v4) + d(v5) + d(v6) = 2e.
given, 2 vertices are of degree 4 and 4 vertices are of degree 2.
Hence the above equation
(4 + 4) + (2 + 2 + 2 + 2) = 2e.
⇒ 16 = 2e ⇒ e = 8.
Hence the number of edges in a graph with 6 vertices with the given
conditions is 8.
E.g.
Basics of Graph Theory 41

Fig. 1.35

 Example 1.11: Show that the following graphs are isomorphic

(G) (G′)

Solution:
We define the function f : G → G′ between two graphs.
The following are the degree of G and G′
deg. (G) deg (G′)
deg(a) = 3 deg(a′) = 3
deg(b) = 2 deg(b′) = 2
deg(c) = 3 deg(c′) = 3
deg(d) = 3 deg(d′) = 3
deg(e) = 1 deg(e′) = 1
Each graph has 5-vertices and 6-edges,
d(a) = d(a′) = 3
d(b) = d(b′) = 2
d(c) = d(c′) = 3
d(d) = d(d′) = 3
d(e) = d(e′) = 1
Hence the correspondence is a – a′, b – b′,...,e – e′
which is one-to-one
Hence the given graphs are isomorphic. n
42 Advanced Graph Theory

 Example 1.12: Find the rank and nullity of the complete graph kn.
Solution:
Since kn is a connected graph with n vertices

n ( n − 1)
m= edges.
2
Therefore, by the definition of rank and nullity, we have
Rank of kn = n – 1

1
Nullity of kn = m – n + 1 = n(n − 1) − n + 1
2
1
= ( n − 1) ( n − 2) n
2
 Example 1.13: If G be a simple graph with n vertices and m edges where m
is at least 3.

1
If m ≥ (n – 1)(n – 2) + 2.
2
Prove that G is Hamiltonian. Is the converse true?
Solution:
Let u and v be any two non-adjacent vertices in G, and x, y be their respective
degrees.
If we delate u, v from G, we get a subgraph with (n – 2) vertices.
1
If this subgraph has q edges, then q ≤ (n – 2)(n – 3)
2
Since u and v are non-adjacent, then
m = q + x + y.

1 
Thus, x + y = m – q ≥  (n − 1)(n − 2) + 2  –  1 (n − 2)(n − 3) 
2  2 
= n
Hence the graph is Hamiltonion.
The converse of the result may or may not true because, a 2-regular graph
with 5-vertices is Hamiltonian but the inequality does not hold. n
Basics of Graph Theory 43
 Example 1.14: Show that the following sequence is graphical. Also find a
graph corresponding to the sequence, 6, 5, 5, 4, 3, 3, 2, 2, 2.
Solution:
The given sequence can be reduced as under:
Given sequence 6, 5, 5, 4, 3, 3, 2, 2, 2
On reducing first six terms by 1 counting from second term, we get
4, 4, 3, 2, 2, 1, 2, 2.
Which can be written in decreasing order as,
4, 4, 3, 2, 2, 2, 2, 1.
On reducing first three terms by 1, counting from second, we get
3, 2, 1, 1, 2, 2, 1
Which can be written in decreasing order as,
3, 2, 2, 2, 1, 1, 1
On reducing first three terms by 1, counting from second, we get
1, 1, 1, 1, 1, 1
Now sequence 1, 1, 1, 1, 1, 1 is graphical
Hence the given sequence can be concluded as a graphical sequence.
The graph of corresponding sequence 1, 1, 1, 1, 1, 1 is given below:

We can obtain a graph corresponding to the given sequence, adding a vertex


to each of the vertices of the vertices whose degrees are t1–1, t2–1, ...... , ts–1
and the process can be repeated.
Step 1:

Degree sequences of this graph is 3, 2, 2, 2, 1, 1, 1.


Step 2:

Degree sequences of this graph is 4, 4, 3, 2, 2, 2, 2, 1.


44 Advanced Graph Theory

Step 3: Final graph can be plotted as;

Degree sequences of this graph is 4, 4, 3, 2, 2, 2, 2, 1. n


 Example 1.15: Find in-degree and out-degree of each vertex of the following
directed graph.
v5

v4 v3 p q

v1 v2 s r

(A) (B)

Solution:
(A)
Vertex in-degree Out-degree
v1 2 1
v2 1 2
v3 2 1
v4 2 2
v5 1 2
(B)
Vertex in-degree Out-degree
p 5 2
q 3 3
r 1 6
s 4 2
n
Basics of Graph Theory 45
 Example 1.16: Find the total number of subgraphs and spanning subgraphs
in K6, L5 and Q3.
Solution:
In a graph K6
We have |V| = 6 and |E| = 15
then, total number of subgraph is (2|V| – 1) × 2|E|
(26 – 1) × 215 = 63 × 32768 = 2064384
(The total number of spanning subgraphs is 215 = 32768.
In a Linear Graph (L5).
We have |V| = 5 and |E| = 4
Then, total number of subgraph is (2|V| – 1) 2|E|
= (25 – 1) × 24 = 31 × 16 = 496
The total number of spanning subgraph is 24 = 16
In a 3-Cube graph (Q3),
we have, |V| = 8 and |E| = 12
Then, total number of subgraph is (2|V| – 1) × 2|E|
= (28 – 1) × 212 = 127 × 4096 = 520192.
(Total number of spanning subgraph is 212 = 4096) n
 Example 1.17: Draw the undirected graph a corresponding to adjacency
matrix.
1 2 0 0 
3 0 1 1 
A = 0 1 2 2 
 
0 1 2 0 
Solution:
The given adjacency matrix is a square matrix of order 4.
Let G has four vertices v1, v2, v3 and v4.
Since can draw n edges from vi to vj where aij = n
Also we can draw n loop at vi where aij = n,
Hence the required graph is:
v4
v1

v2 v3

n
46 Advanced Graph Theory

 Example 1.18: Show that the graph G and G′ are isomorphic.


a
a′

e b e′
G:d G′ : d′ b′

c′
c

Solution:
We con consider the map f : G → G′ and define as f(a) = d′, f(b) = a′, f(c) = b′,
f(d) = c′ and f(e) = e′
The adjacency matrix of G for the ordering a, b, c, d and e can be written as;
a b c d e
a 0 1 0 1 0
b 1 0 1 0 1 
A(G) = c 0 1 0 1 1 
 
d 1 0 1 0 1 
e 0 1 1 1 0 
The adjacency matrix of G′ for the ordering d′, a′, b′, c′ and e′ may be
written as.
a′ b′ c′ d′ e′
d ′ 0 1 0 1 0
a ′ 1 0 1 0 1
 
A(G′) = b′ 0 1 0 1 1
c ′ 1 0 1 0 1
e′ 0 1 1 1 0 
The above shows that
A(G) = A(G′)
Hence G and G′ are isomorphic. n

SUMMARY
1. A graph G consists of a nonempty, finite set V of vertices and a set E of
edges connecting them: G = (V, E). An edge connecting vertices u and v is
denoted by (u, v).
2. A graph with no loops or parallel edge is a simple graph.
3. Two vertices v and w in a graph G are adjacent if (v, w) is an edge in G.
4. The degree of a vertex v is the number of edges meeting at v.
Basics of Graph Theory 47
5. The adjacency matrix of G is an n × n matrix A = (aij), where aij = the
number of edges from vertex vi to vertex vj.
6. Let e denote the number of edges of a graph with n vertices v1, v2, ..., vn. Then
n

∑ deg(vi ) = 2e
i =1
7. A Subgraph of a graph G = (V, E) is a graph H = (V1, E1), where V1 ⊆ V and
E1 ⊆ E.
8. A simple graph with n vertices is complex graph Kn if every pair of distinct
vertices is connected by an edge.
9. Let G = (V, E) be a simple graph such that V = V1 ∪ V2, V1 ∪ V2 = ∅, and
every edge is incident with a vertex in V1 and V2. G is a bipartite graph. If
every vertex in V1 is adjacent to every vertex in V2, G is a complete bipartite
graph. If |V1| = m and |V2| = n, then G is denoted by Km,n.
10. A weighted graph is a simple graph in which every edge is assigned a
positive number, called the weight of the edge
11. An r-regular graph is a simple graph in which every vertex has the same
degree r
12. The complement G′ = (V, E′) of a simple graph G = (V, E) contains all
vertices in G. An edge (u,v) ∈ E′ if and only if {u, v} ∉ E.
13. Two simple graphs, G1 = (V1, E1) and G2 = (V2, E2), are isomorphic if a
bijection f : V1 → V2, exists such that {u, v} ∈ E1 if and only if {f (u), f (v)}
∈ E2. The function f is an isomorphism between G1 and G2. If G1 and G2 are
isomorphic, they have exactly the same properties.
14. An isomorphism invariant is a property shared by isomorphic graphs.
15. A path of length n from a vertex v0 to a vertex vn is a sequence of vertices vi
and edges ei of the form v0 – e1 – v1 ... en – vn, where each edge ei is incident
with the vertices vi – 1 and vi (1 ≤ i ≤ n). A simple path contains no repeated
vertices, except perhaps the endpoints.
16. A path from v0 to vn is closed if v0 = vn. Otherwise, it is open.
17. A cycle is a simple closed path.
18. A circuit is a simple closed path with no repeated edges.
19. A connected graph contains a path between any two distinct vertices.
20. The length of a simple path between any two vertices of a connected graph
is at most n – 1.
21. If A is the adjacency matrix of a connected graph, the number of paths of
length k from vertex vi to vj is given by ijth entry of Ak, where 1 ≤ k ≤ n – 1.
22. A simple path in connected graph is Hamiltonian if it contains every vertex.
23. A cycle in a connected graph is Hamiltonian if it contains every vertex.
24. A connected graph that contains a Hamiltonian cycle is Hamiltonian.
48 Advanced Graph Theory

EXERCISES

1. How many vertices are needed to construct a graph with 6 edges in which
each vertex is of degree? [Ans. 6]
2. Show that the degree of a vertex of a simple graph G on n-vertices cannot
exceed n – 1
p×r
3. What is the size of an r-regular (p, q) graph? [Ans. q = ]
2
4. Show that the following graphs are isomorphic.

(G) (G)′
5. Let Q = (V, E, φ) be the graph where
V = {A, B, C, D, E, F, G, H}, E = {a, b, c, d, e, f, g, h, i, j, k, l}
and
a b c d e f g h i j k l
 A E
φ= A A D E

A E B F G C

B D E B B G F G C C A G
What is the degree sequence of Q?
6. Consider the following unlabeled pictorial representation of Q

(a) Create a pictorial representation of Q by labeling P′(Q) with the edges


and vertices of Q.
(b) A necessary condition that a pictorial representation of a graph R can
be created by labeling P′(Q) with the vertices and edges of R is that the
degree sequence of R be (0, 2, 2, 3, 4, 4, 4, 5).
True or false? Explain.
(c) A sufficient condition that a pictorial representation of a graph R can
be created by labeling P′(Q) with the vertices and edges of R is that the
degree sequence of R be (0, 2, 2, 3, 4, 4, 5). True or false? Explain.
7. In each of the following problems information about the degree sequence
of a graph is given. In each case, decide if a graph satisfying the specified
conditions exists on not. Give reason in each case.
Basics of Graph Theory 49
(a) A graph Q with degree sequence (1, 1, 2, 3, 3, 5)?
(b) A graph Q with degree sequence (1, 2, 2, 3, 3, 5), loops and parallel
edges allowed?
(c) A graph Q with degree sequence (1, 2, 2, 3, 3, 5), no but parallel edges
allowed?
(d) A graph Q with degree sequence (1, 2, 2, 3, 3, 5), no loops or parallel
edges allowed?
(e) A simple graph Q with degree sequence (3, 3, 3, 3)?
( f ) A graph Q with degree sequence (3, 3, 3, 3), no loops or parallel edges
allowed?
(g) A graph Q with degree sequence (4, 4, 4, 4, 4), no loops or parallel edges
allowed?
(h) A graph Q with degree sequence (4, 4, 4, 4, 4), no loops or parallel edges
allowed?
(i) A graph Q with degree sequence (4, 4, 4, 4, 6), no loops or parallel edges
allowed?
8. Divide the following graphs into isomorphism equivalence classes and justify
your answer; i.e., explain why you have the classes that you do. In all cases
V = 4.
 a b c d e f 
(a) φ = 
 {1, 2} {1, 2} { 2, 3} { 3, 4} {1, 4} { 2, 4} 

 A B C D E F 
(b) φ = 
 {1, 2} {1, 4} {1, 4} {1, 2} { 2, 3} {3, 4}
 u v w x y z 
(c) φ = 
 { 2, 3} {1, 3} {3, 4} {1, 4} {1, 2} {1, 2}
 P Q R S T U 
(d) φ = 
 { 3, 4} { 2, 4} {1, 3} {3, 4} {1, 2} {1, 2}
9. Agraph G = (V, E) is called bipartite if V can be partitioned into two sets C and S such
that each edge has one vertex in C and one vertex in S. As a specific example, let C
be the set of courses at the university and S the set of students. Let V = C ∪ S and let
{s, c} ∈ E if and only if student s is enrolled in course c.
(a) Prove that G = (V, E) is a simple graph.
(b) Prove that every cycle of G has an even number of edges.
10. An oriented simple graph is a simple graph which has been converted
to a digraph by assigning an orientation to each edge. The orientation
of {u, v} can be thought of as a mapping of it to either (u, v) or
(v, u).
50 Advanced Graph Theory

(a) Give an example of a simple digraph that has no loops but is not an
oriented simple graph.
(b) Find the number of oriented simple digraphs.
(c) Find the number of them with exactly q edges.
11. A binary relation R on S is an order relation if it is reflexive, antisymmetric,
and transitive. R is antisymmetric if for (x, y) ∉ R with x ≠ y, (y, x) ∈ R. Given
an order relation R, the covering relation H of R consists of all (x, z) ∈ R, x ≠
z, such that there is no y, distinct from both x and z, such that (x, y) ∈ R and
(y, z) ∈ R. A pictorial representation of the covering relation as a directed
graph is called a “Hasse diagram” of H.
(a) Show that the divides relation on
S = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
Is an order relation. By definition, (x, y) is in the divides relation on S is x
is a factor of y. Thus, (4, 12) is in the divides relation. x| y is the standard
notation for x is a factor of y.
(b) Find and draw a picture of the directed graph of the covering relation of
the divides relation.
Hint: You must find all pairs (x, z) ∈ S × S such that x| y but there does not
exist any 4, x < y < z, such that x| y and y|z.

Suggested Readings
1. N. Cristofides, Graph Theory: An Algorithmic Approach, Academic Press,
New York, 1975.
2. B.W. Jackson and D.Thoro, Applied Combinatorics with Problem Solving,
Addison-Wesley, Reading, MA, 1990, pp. 134-200.
3. J.A. McHugh, Algorithmic Graph Theory, Prentice-Hall, Englewood Cliffs,
NJ, 1990.
4. A. Ralston, “Debrujin Sequences—A model Example of the Interaction of
Discrete Mathematics and Computer Science,” Mathematics Magazines,
Vol. 55 (May 1982), pp. 131-143.
5. S.S. Skieno, Implementing Discrete Mathematics, Addison-Wesley,
Reading, MA, 1990.
6. K. Thulasiraman and M.N.S. Swamy, Graphs: Theory and Algorithms,
Wiley, New York, 1992.
qqq
2
Trees

Gustav Robert
Kirchoff
(1824–1887)

2.1 Introduction
The word “tree” suggest branching out from a root and never completing a cycle.
As a graph, trees have many applications especially in data storage, searching,
and communication. Trees play an important role in a variety of algorithms. We
use decision trees to enhance our understanding of recursion. We can point out
some of its applications to simple situations and puzzles and games, deferring
the applications to more complex scientific problems.
Kirchhoff (1824–1887) developed the theory of trees in 1847, in order to
solve the system of simultaneous linear equations which give the current in each
branch and around each circuit of an electric network. In 1857, Cayley discovered
the important class of graphs called trees by considering the changes of variables
in the differential calculates. Later on, he was engaged in enumerating the
isomers of saturated hydro-carbons (CnH2n+ 2).
© The Author(s) 2023 51
S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_2
52 Advanced Graph Theory

An acyclic graph, one not containing any cycle, is called a forest.


A connected forest is called a tree. Thus, a forest is a graph whose components
are trees. The vertices of degree one in a tree are its leaves. Every non trivial
tree has atleast two leaves-take, for example, the ends of a longest path. This
little fact often comes in handy, especially in induction proofs about trees: If we
remove a leaf from a tree, what remains is still a tree (see Fig. 2.1)

Fig. 2.1: A Tree

2.2 Definitions of Tree


If G is a connected graph without any cycles then G is called a tree. A tree is
also called a free tree. If |V| = 1, then G is connected and hence it is a tree.
Theorem 2.1
Alternative definitions of a tree.
If G is a connected graph, the following are equivalent:
(i) G is a tree.
(ii) G has no cycles.
(iii) For every pair of vertices u ≠ v, there is exactly one path from u to v.
(iv) Removing any edge from G gives a graph which is not connected.
(v) The number vertices of G is one more than the number of edges of G.
Proof:
We are given that, G is connected, thus by definition of a tree (i) and (ii) are
equivalent we have that two vertices u ≠ v are on a cycle of G iff there are atleast
two paths from u to v that have no vertices in common except the end points u
and v. from the above statement (ii) ⇒ (iii)
If {u, v} is an edge, it follows from (iii) that the edge is only path from u
to v and removing it disconnects the graph have (iii) ⇒ (iv).
We have seen that (i) and (ii) are equivalent, and we also have seen that (ii)
⇒ (iii) ⇒ (iv) ⇒ (v),
so (i), (ii), (iii) and (iv) are equivalent. All that remains is to include (v) in
this equivalence class of statements. 
Trees 53
2.3 Forest
A forest is a graph all of whose connected components are trees. In particular,
a forest with single component is a tree.
 Example 2.1: A Relation for Forests
Suppose a forest has v vertices, e edges and c (connected) components. What
values are possible for the triple of numbers (v, e, c)? It might seem at first that
almost anything is possible, but this is not so. In fact v – c = e. Why? Let the
forest consist of trees T1, ..., Tc and let the triples for Ti be (vi, ei, ci). Since a tree
is connected, Ci = 1. By the theorem, ei = vi – 1. Since v = v1 + ...+ vc and e =
e1 + ,..., + ec we have
e = (v1 – 1) + (v2 – 1) + ... + (vc – 1)
= (v1 +...+ vc) – c = v – c.
Suppose a forest has e = 12 and v = 15. We know immediately that it must
be made up of three trees because c = v – e = 15 – 12.
Suppose we know that a graph G = (V, E, φ) has v = 15 and c = 3, what is the
fewest edges it could have? For each component of G, we can remove edges one
by one until we cannot remove any more without breaking the component into
two components. At this point, we are left with each component a tree. Thus we
are left with a forest of c = 3 trees that still has v = 15 vertices. By our relation
v – c = e, this forest has 12 edges. Since we may have removed edges from
the original graph to get to this forest, the original graph has at least 12 edges.
What is the maximum number of edges that a graph G = (V, E, φ) with v =
15 and c = 3 could have? Since we allow multiple edges, a graph could have
an arbitrarily large number of edges for a fixed v and c. if e is an edge with φ(e)
= {u, v}, add in as many edges ei with φ(ei) = {u, v} as we wish. Hence we will
have to insist that G be a simple graph.
What is the maximum number of edges that a simple graph G with v = 15
and c = 3 could have? We start with a graph where c is not specified. The edges

V 
in a simple graph are a subset of P2(V) and since P2(V) has   elements, a
2
V 
simple graph with v vertices has at most   edges.
2
We return to the case when we know there must be three components in our
simple graph. Suppose the number of vertices in the components are v1, v2, and v3.
Since there are no edges between components, we can look at each component
by itself. Using the result in the previous paragraph for each component, the
maximum number of possible edges is ( ) + ( ) + ( ) . We don’t know v , v ,
v1
2
v2
2
v3
2 1 2
54 Advanced Graph Theory

v3. All we know is that they are strictly positive integers that sum to v. It turns
out that the maximum occurs when one of vi is as large as possible and the others
equal 1, but the proof is beyond this course. Thus the answer is ( ) , which in
v− 2
2

( )
13
our case is 2 = 78. In general, if there were c components, c – 1 components
would have one vertex each and the remaining component would have v – (c – 1)
= v + 1 – c vertices. Hence there can be no more than ( v +1− c
2 ) edges.
The above results can conclude that:
(i) There is no graph G = (V, E, φ ) with v – c > e
(ii) If v – c = e, the graph is a forest of c trees and any such forest will do as
an example.
(iii) If v – c < e, there are many examples, none of which are forests.
(iv) If v – c < e and we have a simple graph, then we must have
e≤ ( v +1− c
2 ) . 

2.4 Rooted Graph


A pair (G, v), consisting of a graph G = (V, E, φ) and a specified vertex v, is
called a rooted graph with root v.
A rooted tree T with the vertex set V is the tree that can be defined recursively
as:
(i) T has a specially designated vertex v1 ∈ V, called the root of T. The subgraph
of T1 consisting of the vertices V – {v} is partitionade into subgraphs.
(ii) T1, T2,...Tr each of which is itself a rooted tree. Each one of these r-rooted
tree is called a subtree of v1 (as shown in fig 2.2)
v1

v2 v4
v3
v7
v5
v6 v8

v9 v10 v11

Fig. 2.2: A Rooted Tree

Note: A tree T* of a spanning tree T in a connected graph G is the spanning


subgraph of G containing exactly those edges of G which are not in T. The edges
of G which are not in T* are called its twigs.
Trees 55
2.5 Parent, Child, Sibling and Leaf
Let (T, r) be a rooted tree. If w is any vertex other than r, let r = v0, v1, v2,…, vk,
vk+1 = w, be the list of vertices on the unique path from r to w. We can say vk is
parent of w and w a child of vk parents and children are also called father and
sons. Vertices with the same parent are siblings. A vertex with no children is
called a leaf. All the other vertices are internal vertices of the tree.

2.6 Rooted Plane Tree


Let (T, r) be a rooted tree. For each vertex, order the children of the vertex. The
result is a rooted plane tree, which is abbreviated as RP-tree. RP-trees are also
called ordered trees. An RP-tree is also called, a decision tree, and, when there
is no chance of misunderstanding, simply a tree.
 Example 2.2: A Rooted Plane Tree
Fig. 2.3 is a picture of a rooted plane tree T = (V, E, φ). In this situation V =
11 and E = {a, b, c, d, e, f, g, h, i, j}. There are no parallel edges or loops. The
root is r = 1. For each vertex, there is a unique path from the root to that vertex.
Since φ is an injection, once φ has defined that unique path can be specified by
the vertex sequence alone. The path from the root is to 6 is (1, 3, 6). The path
from the root to 9 is (1, 3, 6, 9) (In computer science we refer to the path from
the root to vertex v as the “stack” if v.
1

a b

2 3
c d e f
4 6 7
5
g
h i j
8
9 10 11

Fig. 2.3: RP – Tree

The vertex 6 is the parent of the vertex 9. The vertices 8, 9, 10 and 11 are
the children of 6 and, they are siblings of each other. The leaves of the tree are
4, 5, 7, 8, 9, 10, 11. All other vertices (including root) are the internal vertices
of the tree.
We must remember that, an RP-tree is a tree with added properties. So, we
must satisfy, T has no cycle. There is a unique path between any two vertices.
Removing any edge gives a graph which is not connected. (e.g. removing j
disconnects T into a tree with 10 vertices and a tree with 1 vertices; removing
56 Advanced Graph Theory

e disconnects T into a tree with 6 vertices and one with 5 vertices). At last, the
number of edges (10) is one less than the number of vertices. 
 Example 2.3: Traversing a Rooted Plane Tree
As in case of decision trees, we can define the notion of depth first traversals
of a rooted plane tree. We can imagine going around the RP-tree (Fig. 2.3)
following arrows. We can start at the root, 1, go down edge a to vertex 2 etc.
We find the sequence of vertices as encountered in this process: 1, 2, 4, 2, 5, 2,
1, 3, 6, 8, 6, 9, 6, 10, 6, 11, 6, 3, 7, 3, 1. This sequence of vertices is known as
the depth first vertex sequence, DFV(T), of the rooted plane Tree T. The number
of times each vertex appears in DFV(T) is one plus the number of children of
that vertex. For edges, the corresponding sequence is a, c, c, d, d, a, b, e, g, g,
h, h, i, i, j, j, e, f, f, b. This sequence is the depth first edge sequence, DFE(T),
of the tree. Every edge appears exactly twice in DFE(T). If the vertices of the
rooted plane tree are read left to right, top to bottom, we can obtain the sequence
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. This is called the breadth first vertex sequence,
BFV(T). Similarly, the breadth first edge sequence, BFE(T) is a, b, c, d, e, f, g,
h, i, j. (As shown in Fig 2.4).
1
b

2 3
d e f

c
4 6
5 7

g j
h i
8 11
9 10

Fig. 2.4: TRP – Tree

The sequence BFV(T) and BFE(T) are linear ordering of the vertices and
edges of the RP-tree T (each vertex or edge appears exactly once in the sequence).
We also associate linear ordering with DFV(T) which is called the sequence
of vertices of T.
PREV(T), and the post order sequence of vertices of T, POSV(T).
Here PREV(T) = 1, 2, 4, 5, 3, 6, 8, 9, 10, 11, 7 is the sequence of first
occurrances of the vertices of T in DFV(T).
Trees 57
POSV(T) = 4, 5, 2, 8, 9, 10, 11, 6, 7, 3, 1 is the sequence of last occurrences
of the vertices of T in DFV(T).
We can notice that the order in which the leaves of T appear, 4, 5, 8, 9, 10,
11, is the same in both PREV(T), and POSV(T). 
Theorem 2.2
A (p, q) graph is a tree iff it is acyclic and p = q + 1 or q = p – 1.
Proof:
If G is a tree, then it is acyclic. From definition, to verify the equation
p = q + 1.
We can employ inductions on p.
for p = 1, the result is so trivial.
We can assume, then that the equality p = q + 1 holds for all (p, q) trees
with p ≥ 1 vertices
Let G1 be a tree with p + 1 vertices
Let v be an end vertex of G1.
The graph G2 = G1 – v is a tree of order p, and so
p = |E(G2)| + 1
Since G1 has one more vertex and one more edge than that of G2.
|V(G1)| = p + 1 = |E(G2)| + 1 + 1 = |E(G1)| + 1.
∴ |V(G1)| = |E(G1)| + 1. (As shown in Fig. 2.5)

(G1) (G2 = G1 – v)

Fig. 2.5

Converse: Let G be an acyclic (p, q) graph with p = q + 1


We can show G is a tree. To do so, we need only to verify that G is connected.
We can denote by G1, G2,…, Gk the components of G, where k ≥ 1.
Further, Let Gi be a (pi, qi) graph
58 Advanced Graph Theory

Since each Gi is a tree, pi = qi + 1.


k
Hence p–1 =q= ∑ qi
i =1
k
= ∑ qi ( pi − 1) = p–k
i =1
⇒ p–1 =p–k
⇒ k = 1. and G is connected.
Hence, (p, q) graph is tree. 
Theorem 2.3
A (p, q) graph G is a tree iff G is connected and p = q + 1.
Proof:
Let G be a (p, q) tree. From definition of G, it is connected and A(p, q) graph is
a tree iff it is a acyclic and p = q + 1, or q = p – 1 (Theorem 2.2).
Conversely, we assume G is connected (p, q) graphs with p = q + 1
It is sufficient to show that G is acyclic.
If G contains a cycle C and e is an edge of C, then G – e is a connected
graphs with p vertices having p – 2 edges.
It is impossible by definition and contridicts our assumption.
Hence G is connected. 
 Example 2.4: A tree has five vertices of degree 2, three vertices of degree 3
and four vertices of degree 4. How many vertices of degree 1 does it have?
Solution:
Let x be the number of nodes of degree 1.
∴ Total number of vertices
= 5 + 3 + 4 + x
= 12 + x.
The total degree of tree = 5 × 2 + 3 × 3 + 4 × 4 + x
= 35 + x
The number of edge in the tree is half of the total degree of it.
If G = (V, E) be the tree, then, we have

35 + x
|V| = 12 + x and |E| =
2
If any tree |E| = |V| – 1.
Trees 59

35 + x
⇒ = 12 + x – 1
2
35 + x
⇒ = 24 + 2x – 2
2
⇒ x = 13.
∴ There are 13 nodes of degree one in the tree. 
 Example 2.5: The Number of Labeled Trees
How many n-vertex labeled trees are there? Or, count the number of trees with
vertex set V = n. The answer has been obtained in a variety of ways.
Solution:
Suppose f is a function from V to V. We can represent this as a simple digraph
(V, E) where the edges are {(v, f(v)) | v ∈ V}. The function
1 2 3 4 5 6 7 8 9 10 11
 
1 10 9 2 8 2 2 5 1 6 11
corresponds to the directed graph

3 4 7

9 11
2 5 8

10 6

Fig. 2.6: Functional Digraph

Such graphs are called functional digraphs. We should be able to convince


ourself that a functional digraph consists of cycles (including loops) with each
vertex on a cycle being the root of a tree of noncyclic edges. The edges of the
trees are directed toward the roots. In the Fig. 2.6.
• 1 is the root of the tree with vertex set {1, 3, 9},
• 2 is the root of the tree with vertex set {2, 4, 7}
• 5 is the root of the tree with vertex set {5},
• 6 is the root of the tree with vertex set {6},
• 8 is the root of the tree with vertex set {8}
• 10 is the root of the tree with vertex set {10} and
• 11 is the root of the tree with vertex set {11}.
60 Advanced Graph Theory

In a tree, there is a unique path from the vertex 1 to the vertex n. Remove
all the edges on the path and list the vertices on the path, excluding 1 and n, in
the order they are encountered. Interpret this list as a permutation in 1 line form.
Draw the functional digraph for the cycle form, adding the cycles form, adding
the cycles (1) and (n). Add the trees that are attached to each of the cycle vertices,
directing their edges toward the cycle vertices. Consider the following Fig. 2.7.
3
9 4 7

1 10 8 2 5 6 11

Fig. 2.7: Tree with Cycle Certices

The one line form is 10, 8, 2, 5, 6. In two line form it is. Thus the cycle form
is (2, 10, 6) (5, 8). When we add the two cycles (1) and (11) to this, draw the
directed graph, and attach the directed trees, we obtain the functional digraph
pictured earlier.
This gives us a one-to-one correspondence between trees with
V = n and functions f : n → n with f(1) = 1 and f(n) = n. In creating such a
function, there are n choices for each of f(2), ..., f(n – 1). Thus there are nn – 2
such functions and hence nn – 2 trees. 
 Example 2.6: A tree has 2n vertices of degree 1, 3n vertices of degree 2 and n
vertices of degree 3. Determine the number of vertices and edges in the tree.
Solution:
We are given that total number of vertices in the tree is 2n + 3n + n = 6n
The total degree of the tree is 2n ×1 + 3n × 2 + n × 3
= 11n.
The number of edges in the tree will be half of 11n.
If G = (V, E) be a tree then, we have
11n
|V| = 6n and |E| =
2
for a tree |E| = |V| – 1
11n
We have, = 6n – 1.
2
⇒ 11n = 12n – 2
⇒ n =2
⇒ nodes = 12, edges = 11 
Trees 61
2.7 Binary Trees
A binary tree is a rooted tree where each vertex v has atmost two subtrees; if
both subtrees are present, one is called a left subtree of v and the other is called
right subtree of u. Iff only one subtree is present, it can be designated either as
the left subtree or right subtree of v.
OR
A binary tree is a 2-ary tree in which each child is designated as a left child
or right child.
In a binary tree every vertex has two children on no children.
A binary tree has the following properties:
(i) The number of vertices n in a complete binary tree is always odd. This is
because there is exactly one vertex of even degree, and remaining (n – 1)
vertices are of odd degree. Since from the theorem (number of vertices
of odd degree is even) n – 1 is even. Hence n is odd.
(ii) Let p be the number of end vertices in a binary tree T. Then n – p – 1 is
the number of vertices of degree 3. The number of edges in T is
1
[p + 3 (n – p – 1) + 2] = n – 1.
2
n +1
on p =
2
(iii) A non-end vertex in a binary tree is called an internal vertex. The number
of internal vertices in a binary tree is one less than the number of end
vertices.
(iv) In a binary tree, a vertex vi is said to be at level li and vi is at a distance li
from the root. Thus the root is at level O.
(v) The maximum number of vertices possible in a k = level binary tree is 20
+ 21 + 22 + 23 + ,…, + 2k ≥ n.
(vi) The maximum level Imax of any vertex in a binary tree is called the height
of the tree.
(vii) To construct a binary tree for a given n s.t. the farthest vertex is as far as
possible from the root, we must have exactly two vertices at each level,
except at the O level.
n −1
Hence max. Imax. = .
2
62 Advanced Graph Theory

level 0

level 1

level 2

level 3

level 4

Fig. 2.8: 13-vertices, 4-level Binary Tree

(viii) The minimum possible height of n-vertex binary tree is min Imax = [log2
(n + 1) – 1]
(ix) The sum of levels of all end vertices is called path length of a tree.
Theorem 2.4
There are at the most nh leaves in an n-ary tree of height h.
Proof:
The theorem can be proved by the principle of mathematical induction on the
height of the tree.
As basic step to be h = 0 i.e. tree consists of root node only.
Since n0 = 1, the basis step is tree.
We assume that the above statement is tree for h = k.
i.e. an n-ary tree of height k has at the most nk leaves.
If we add n nodes to each of the leaf node of n-ary tree of height k, the total
number of leaf nodes will be the most
nh × n = nh + 1
Hence inductive step is also true
This proves the statement for all h ≥ 0. 
Theorem 2.5
In a complete n-ary tree with m internal nodes, the number of leaf node l is
(n − 1)(x − 1)
given by the formula l =
n
Where x is the total number of nodes in the tree.
Trees 63
Proof:
Given that, the tree has m internal nodes and it is complete n-ary, so total
number of nodes.
x = n × m + 1.
x −1
Then, we have, m=
n
It is also given that l is the number of leaf nodes in the tree. We have,
x = m + l + 1.
Substituting the value of m in this equation, we get
 x −1
x =  + (l + 1)
 n 

(n − 1)(x − 1)
⇒ l = 
n
2.8 Spanning Trees
A spanning tree of a simple graph G = (V, E) is a subgraph T = (V, E′) which
is a tree and has the same set of vertices as G.
Connected graphs and Spanning Trees
Since a tree is connected, a graph with a spanning tree must be connected. On the
other hand, it is not hard to see that every connected graph has a spanning tree.
Any simple graph G = (V, E) has a subgraph that is a tree, T′ = (V′, E′). Take V′ =
{v} to be one vertex and E′ empty. Suppose that T′ = (V′ , E′) is the largest such
“subtree”. If T′ is not a spanning tree then there is a vertex w of G that is not a
vertex of T′. If G is connected. We choose a vertex u in T′ and a path w = x1, x2,...,
ek = u from w to u. Let j, 1 < j ≤ k, be the first integer such that xj is a vertex of
T′. Then adding the edge {xj – 1, xj} and the vertex xj – 1 to T′ creates a subtree
T of G that is larger than T′, a contradiction of the maximality of T′. We have,
in fact, shown that a graph is connected if and only if every maximal subtree
is a spanning tree. Thus we have: A graph is connected if and only if it has a
spanning tree. It follows that, if we had an algorithm that was guaranteed to
find a spanning tree whenever such a tree exists, then this algorithm could be
used to decide if a graph is connected.
Weight in a Graph
Let G = (V, E) be a simple graph and let λ (e) a function from E to the positive
real numbers. We call λ(e) the weight of the edge. If H = (V′, E′) is a subgraph
of G, then λ(H), the weight of H, is the sum of λ(e′) over all e′ ∈ E′.
64 Advanced Graph Theory

A minimum weight spanning tree for a connected graph G is a spanning


tree such that λ(T) ≤ λ(T′) whenever T′ is another spanning tree.
Theorem 2.6
Each connected graph has a spanning tree, i.e. a spanning graph is a tree.
Proof:
Let H ⊆ G be a minimal connected spanning subgraph, i.e. a connected spanning
subgraph of G s.t. H – e is disconnected for all e ∈ EH. Such a subgraph is
obtained from G by removing nonbridges.
• To start with, let H0 = G.
• For i ≥ o, let Hi +1 = Hi – ei where ei is not a bridge of Hi. Since ei is not a bridge
Hi + 1 is a connected spanning subgraph of Hi and thus of G.
• H = Hk when only bridges are left.
Hence H is a tree. 
Theorem 2.7
A nondirected graphs G is connected iff G containing a spanning tree. Indeed,
if we successive –ly delete edges of cycles until no further cycles remains, then
the result is a spanning tree of G.
Proof:
If G has a spanning tree T, there is a path between any pair of vertices in G
along the tree T.
Thus G is connected.
Conversely, We can prove that a connected graph G has a spanning tree by
PMI on the number k of cycles in G. If k = 0, then G is connected with no cycles
and hence G is already a tree. Suppose that all connected graphs with fewer than
k cycles have a spanning tree. Then suppose that G is a connected graph with k
cycles. Remove an edge e from one of the cycles. Then G – e is still connected
and has a spanning tree by the inductive hypothesis because G – e has fewer
cycles then G. But since G – e has all the vertices of G, the spanning tree for
G – e is also one for G. 

2.9 Breadth – First Search and Depth – First Search


(BFS and DFS)
An algorithm based on the proof of theorem 7 could be designed to produce
a spanning tree for a connected graph. If we recall from the proof that all that
one need is destroy cycles in the graph by removing an edge from a cycle until
Trees 65
no cycles remain. Unfortunately, such an algorithm not very efficient because
it consumes a long time to find cycles. On the other hand, we can define other
rather efficient algorithms for finding a spanning tree of a connected graphs.
There algorithms are called breadth – first search (BFS) and depth – first search
(DFS).
BSF Algorithm for a spanning tree
Input: A connected graph G with Vertices v1, v2,…,vn.
Output: A spanning tree T for G.
Method
(i) (Start.) Let v1 be the root of T. From the set V = {v1}.
(ii) (Add new edges.) Consider the vertices of V in order consistent with the
original labeling. Then for each vertex x ∈ V, add the edge {x, vk}. to T
where k is the minimum index such that adding the edge {x, vk). to T does
not produce a cycle. If no edge can be added, then stop; T is a spanning
tree for G. After all the vertices of V have been considered in order, go to
step (iii)
(iii) (Update V.) Replace V by all the children v in T of the vertices x of V where
the edges {x, v} were added in step (ii). Go back and repeat step (ii) for
the new set V.
General Procedure
(i) Arbitrarily choose a vertex and designate it as the root. Then add all edges
incident to this vertex, such that the addition of edges does not produce
any cycle.
(ii) The new vertices added at this stage become the vertices at level 1 in a
spanning tree, arbitrarily order them.
(iii) Next, for each vertex at level 1, visited in order, add each edge incident
to this vertex to the tree as long as it does not produce any cycle.
(iv) Arbitrarily order the children of each vertex at level 1. This produces the
vertices at level 2 in the tree.
(v) Continue the same procedure until all the vertices in the tree have been
added.
(vi) The procedure ends, since there are only a finite number of edges in the
graph.
(vii) A spanning tree is produced since we have already produced a tree without
cycle containing every vertex of the graph.
66 Advanced Graph Theory

 Example 2.7: Use BFS algorithm to find a spanning tree of graph G of


Fig. 2.9.
b e

a g
d
c f

Fig. 2.9

Solution:
Step 1: Choose the vertex a as the root
•a
Step 2: Add edges incident with all vertices adjacent to a, so that edges {a,
b}, {a, c} are added. The two vertices b and c are in level 1 in the tree.
b

Step 3: Add edges from these vertices at level 1 to adjacent vertices not
already in the tree. Hence the edge {c, d} is to be added. The vertex d is in level 2.
b

a
d
c
Step 4: Add edge from d in level 2 to adjacent vertices not already in the
tree. The edge {d, e} and {d, g} are added. e and g are is level 3.
b e
d
a

c g

Step 5: Add edge from e at level 3 to adjacent vertices not already in the
tree and hence {e, f} is added. The steps of Breath first procedure are obtained.
b e
d
a f

c g
Trees 67
 Example 2.8: Illustrate BFS on the graph given in Fig. 2.10.
a d f i j

e h
b c g k

Fig. 2.10

Solution:
We firstly select the ordering of the vertices a, b, c, d, e, f, g, h, i, j, k.
(i) Select a as the first vertex in the spanning tree T and designate it as the
root of T. At this stage, T consists of the single vertex a. Add to T all edges
{a, x} as x sums in order from b to k, that do not produce a cycle in T.
(ii) Add {a, b} and {a, d}. These edges are called tree edges for the BFS.
(iii) Repeat the process for all vertices on level one from the root by examining
each vertex in the designated order. Since b and d are at level 1, we first
examine b.
(iv) For bc, we include the edge {b, c} as a tree edge. For d, we reject the edge
{d, c} since inclusion would produce a cycle in T. But we include {d, e}.
(v) Consider the vertices at level two. Reject the edge {c, e}; include {e, f}
and {e, g}.
(vi) Repeat the procedure again for vertices on level three. Reject the {f, g},
but include {f, h}. At g, reject {f, g} and {g, h}.
(vii) On level four, include {h, i}, {h, j}, {h, k}.
(viii) We attempt to apply the procedure on level five at i, j and k, but no edge
can be added at these vertices so the procedure ends.
a d f i j

e
h

g k
b c

DFS Algorithm for Spanning Tree


Input: A connected graph G with vertices v1, v2, ..., vn.
Output: A spanning tree T for G.
Method
(i) (Visit a vertex). Let v1 be the root of T, and set L – v1 (L is the vertex last
visited)
68 Advanced Graph Theory

(ii) (Find an unexamined edge and an unvisited vertex adjacent to L) For all
vertices adjacent to L, choose the edge {L, Vk}, where k is the minimum
index such that adding {L, vk} to T does not create a cycle. If no such
edge exists, go to step (iii) otherwise, add edge {L, vk} to T and set L – vk
i repeat step (ii) at the new value for L.
(iii) (Back track or terminate). If x is the parent of L in T, set (L – x) and apply
step (ii) at the new value of L. If, L has no parent in T (so that L – v1) then
the DFS terminates and T is a spanning tree for G.
General Procedure
(i) Arbitrarily choose a vertex from the vertices of the graph and designate
it as the root.
(ii) From a path starting at this vertex by successively adding edges as long
as possible where each new edge is incident with the least vertex in the
path without producing any cycle.
(iii) If the path goes through all vertices of the graph, the tree consisting of this
path is a spanning tree. Otherwise, move back to the next to last vertex in
the path, and, if possible, form a new path starting at this vertex passing
through vertices that were not previously visited.
(iv) If this cannot be done, move back another vertex in the path, that is two
vertices back in the path and repeat.
(v) Repeat this procedure, beginning at the last vertex visited, moving back
up and path one vertex at a time, forming new paths that are as long as
possible until no more edges can be added.
(vi) This process ends since the graph has a finite number of edges and is
connected. A spanning tree is produced.
 Example 2.9: Use DFS to construct a spanning tree of the graph given
in Fig. 2.11.
a b c l

d e f g

h i j

m k

Fig. 2.11
Trees 69
Solution:
(i) Start with vertex a, build a path by successively adding edges incident
with vertices not already in the path, as long as this is possible.
This produces a path a – b – e – f – g – i – h – d – e.
a b c

d e
f

h i j

(ii) Now back track to d. There is no path at d containing vertices no already


visited. So move back track to h and form the path h – k – m. Now back
track to k, and h, and i and j then form the path j – g – l. This produces the
spanning tree.
a b c

d e l

h i j

m k

 Example 2.10: Find a spanning tree of the graph of Fig. 2.12 using DFS
algorithm.
b e

a f
d
c g

Fig. 2.12

Solution:
(i) Choose the vertex a.
(ii) Form a path by successively adding edges incident with vertices not already
in the path as long as possible.
70 Advanced Graph Theory

(iii) Now back track of F. There is no path beginning at F containing vertices


not already visited.
(iv) Similarly, after backtrack at e, there is no path. So, move back track at d
and form the path d – b.
This produces the required spanning tree which is shown in Fig. below
b e

a f
d
c g

Theorem 2.8
For every tree T = (V, E), if |V| ≥ 2, then T has at least two pendent vertices
[Delhi 2006]

Proof:
Let |V| = n ≥ 2
Same |E| = n – 1, so, if G = (V, E) is an undirected graph or multigraph then
∑ deg (v ) = 2|E|
v ∈V
It follows that 2 (n – 1) = 2|E| = ∑ deg (v )
v ∈V
Since T is connected, we have deg(v) ≥ 1 v ∈ V.
If T has fewer than two pendent vertices, then either
deg(v) ≥ v ∈ V
deg(v*) = 1 for only once vertex v* in V.
In the first case we arrive at the contradictions.

2(n – 1) = ∑ deg (v ) ≥ 2 |V| = 2n


v ∈V

for second case we find that


2 (n – 1) = ∑ deg (v ) ≥ 1 + 2(n – 1).
v ∈V

Which is another contradiction 

 Example 2.11: Let T = (V, E) be a tree with V = {v1, v2,…,vn) for n ≥ 2. Prove
that the number of pendent vertices in T is equal to 2 + ∑  deg (v1 ) − 2 
deg (vi )≥ 3
Trees 71
Solution:
Let 1 ≤ i (< n). Let xi = no. of vertices v1 where deg(v) = i
Then x1+x2+,...,+ xn–1 = |V| = |E| + 1.
So, 2 |E| = 2 (– 1 + x1 + x2 +,…,+ xn – 1)
But 2|E| = ∑ deg (v )
v ∈V

= {(x1 + 2x2 + 3x3 +,…,+ (n – 1) xn–1}


Solving, we get
2 (– 1 + x1 + x2 + ,…, + xn–1) = x1 + 2x2 + 3x3 + ,…, + (n – 1) xn–1
for x1, we find that
x1 = 2 + x3 + 2x4 + 3x5 +,…,+ (n – 3) xn–1

= 2 + ∑ deg (vi ) − 2  
deg (vi )≥3

2.10 Minimal Spanning Trees


The application of spanning trees are many and varied, and in order to gain
some appreciation for this fact, we would describe what is sometimes called
the connector problem. Let us consider that we have a collection of n cities, and
that we wish to construct a utility, communication, or transportation network
connecting all of the cities. Assuming that we know the cost of building the
links between each pair of cities and that, in addition, we wish to construct the
network as cheaply as possible. The desired network can be represented by a
graph by regarding each city as a vertex and by placing an edge between vertices
if a link runs between the two corresponding cities.
Let G be the graph of all possible links between the cities with the non-
negative cost of construction c(e) assigned to each edge e in G. Then if H is
any subgraph of G with edges e1, e2 ,…, em the total cost of constructing the
network H is
m
C(H) = ∑ C (ei )
i −1
A spanning tree T where c(T) is minimal is called a minimal spanning tree
of G.
2.10.1 Kruskal’s Algorithm (for Finding a Minimal Spanning Tree)
Input: A connected graph G with non negative values assigned to each edge.
Output: A minimal spanning tree for G.
Step 1: Select any edge of minimal value that is not a loop. This is the first
edge of T.
72 Advanced Graph Theory

(If there is more than one edge of minimal value, arbitrarily choose one of
these edges).
Step 2: Select any remaining edge of G having minimal value that does not
for a circuit with the edges already included in T.
Step 3: Continue step 2 until T contains n – 1 edges, where n is the number
of vertices of G.

Theorem 2.9
Let G be a connected graph where the edges of G are labelled by nonnegative
numbers. Let T be an economy tree of G obtained from Kruskal’s Algorithm.
Then T is a minimal spanning Tree.

Proof:
For each edge e of G, let C(e) be the value assigned to the edges by the labelling.
If G has n vertices, an economy tree T must have (n – 1) edges.
Let the edges e1, e2, e3,…, en – 1 be chosen in the Krushal’s Algorithm.
n −1
Then C(T) = ∑ C (ei ) ...(i)
i −1
Let TO be a minimal spanning tree of G. We can show that C(TO) = C(T),
and conclude that T is also minimal spanning tree.
If T and T0 are not the same, let ei be the first edge of T not in T0.
Adding the edge ei to T0 we obtain the graph G0.
Suppose ei = {a, b}. Then a path P from a to b exists in T0 and so P together
with ei produces a circuit C in G0.
Since T contains no circuits, there must be an edge e0 in C that is not in T.
The graph T 1 = G 0 – e 0 is also a spanning tree of G since T 1 has
(n – 1) edges.
Moreover,
C(T1) = C(T0) + C(ei) – C(e0)
We know that, C(T0) ≤ C(T1) since T0 was a minimal spanning tree of G.
Thus
C(T1) – C(T0) = C(ei) – C(e0) ≥ 0.
It implies that, C(ei) ≥ C(e0).
Since T was constructed by Kruskal’s Algorithm, ei is an edge of smallest
value that can be added to the edges e1, e2, e3,…, ei – 1 without producing a circuit.
Trees 73
Also, if e0 is added to the edges e1, e2, e3 ,…, ei–1, no circuit is produced
because the graph formed is a subgraph of the tree T0.
Therefore, C(ei) = C(e0),
so that C(T1) = C(T0).
We have constructed from T0 a new minimal spanning tree T1 such that the
number of edges common to T1 and T exceeds the number of edges common
to T0 and T by one edge, namely ei.
Repeating this procedure, to construct minimal spanning tree T2 with one
more edge in common with T than was in common between T1 and T.
By containing this process, we finally reach at a minimal spanning tree with
all edges in common with T, and we conclude that T is a minimal spanning
tree. 
 Example 2.12: Use Kruskal’s Algorithm to find minimal spanning tree for
Fig. 2.13. Also find the cost of it.
v1 16 v2
21 11 5
v6
19 6 v3
23 14 10
v5 18 v4
Fig. 2.13

Solution:
We collect lengths of edges into a table.

Edge Cost
v2 – v3 5
v2 – v4 6
v4 – v3 10
v2 – v6 11
v4 – v6 14
v2 – v4 16
v4 – v5 18
v5 – v1 19
v1 – v6 21
v5 – v6 23
74 Advanced Graph Theory

(i) Choose the edge v2 – v3 (Min. wt.)


u2

u3

(ii) Add the next edge with min. wt.


u2

5
6
u3
u4

(iii) Reject the edge v4 – v3, because it forms a cycle.


(iv) Add the edge v2 – v6
u2

11 5
6
v3
v6
v4

(v) Reject v4 – v6 since it forms cycle.


(vi) Add the edges v2 – v1, v4 – v5
v1 16 v2

5
v6 11 6
v3
18
v5 v4

Now all the vertices of G are covered, therefore we stop the algorithm.
Cost or weight of Minimal spanning tree
= 5 + 6 + 11 + 16 + 18
= 56. 
Trees 75
 Example 2.13: Determine a railway network of minimal cost for the cities
as shown in Fig. 2.14. Also find minimal cost.
a 15 b
5 15 3
h 5 c
d
18 4 5
18

g 15 f 15 e

Fig. 2.14

Solution:
Collecting lengths of edges into a table, we set:
Edge Cost
b–c 3
d–f 4
a–g 5
c–d 5
c–e 5
a–b 15
a–d 15
f–h 15
g–h 15
e–f 15
f–g 18
(i) Choose the edges b – c, d – f, a – g, c – d and c – e.
(ii) We have options: we may choose only one of a – b and a – d for the
selection of both creates a circuit. Suppose we choose a – b.
(iii) Likewise we may choose only one of g – b and f – h. Suppose we choose
f – h.
(iv) We then have a spanning tree as illustrated in the Fig. below.
a 15 b

5 3
d 5
g c

4 5
h 15 f e
76 Advanced Graph Theory

The minimal cost for construction of this tree is


= 3 + 4 + 5 + 5 + 5 + 15 + 15
= 5.2 

2.10.2 Prim’s Algorithm


Input: A connected weighted graph G with n vertices.
Output: A minimal spanning tree T.
Step 1: Select an arbitrary vertex v1 and an edge e1 with minimum weight
incident with vertex v1. This forms initial MST, T.
Step 2: If edges e1, e2, e3,…,ei have been chosen involving end points v1,
v2,…,vi + 1. Choose and edge ei + 1 = vj vk with vj ∈ T and vk ∈ T s.f. ei + 1 has
smallest weight among the edges of G with precisely one and in {vi, v2,…,vi + 1}.
Step 3: Stop after n – 1 edges have been chosen. Otherwise go to step 2.

 Example 2.14: Find the minimal spanning tree of the weighted graph of Fig.
2.15, using Prim’s Algorithm.
v1

v2 v3

v4 v5

Fig. 2.15

Solution:
(i) We choose the vertex v1. Now edge with smallest weight incident on v1,
is (v1, v3), so we choose the edge on (v1, v3).
v1

v3
Trees 77
(ii) w (v 1, v 2) = 4, w (v 1, v 4) = 3, w (v 1, v 5) = 4, w (v 1, v 2) = 2 and
w (v3, v4) = 3. So, we choose the edge (v3, v2) since it is of minimum weight.
v1 v2

v3

(iii) w (v1, v5) = 3, w (v2, v4) = 1. and w (v3, v4) = 3. We choose the edge (v2, v4).
v1 v2

v4 v3

(iv) We choose the edge (v4, v5). Now all vertices are covered. The minimum
spanning tree is produced.
v5 v4

v2

v4 v3


 Example 2.15: Find the minimal spanning tree of the weighted graph using
Prim’s Algorithm.
u1

3 4
3
u5 3 u2

3
2 1 2

u4 u3
3

Fig. 2.16
78 Advanced Graph Theory

Solution:
According to step 1, choose vertex v1. Now edge with smallest weigh incident
on v1, is e = v1 v3 or v1 v5, choose e = v1 v3.
Similarly choose the edges v3 v2, v2 v4, v4 v5
The minimal spanning tree is
v1
v5
3 v2

2 2
1

v4 v3

2.10.3 Dijkstra’s Algorithm


Dijkstra’s Algorithm [(Dijkstra, 1959) and Whiting-Hiller (1960) solved the
problem of the shortest path from one location to the other. How can we find
the shortest routes from our home to every place in the town? This problem
requires finding the shortest paths from one vertex to all other vertices in the
weighted graph as the form of spanning tree.
To find a shortest path from vertex A to vertex E(say) in a weighted graph,
we should carry out the following steps:
Step 1: Assign to A the label (–, 0).
Step 2 : Upto E is labeled or no further labels to be assigned, follows the sub
steps as:
(i) For each labeled vertex u (x, d) and for each unlabeled vertex v adjacent
to u, compute d + w(e), where e = uv.
(ii) For each labeled vertex u and adjacent unlableled vertex v giving minimum
d′ = d + w(e), assign to v the label (u, d′).
It a vertex could be labeled (x, d′) for various vertices x, we can make any
choice.
Improved Dijkstra’s Algorithm
To find the length of a shortest path from vertex a to vertex E in a weighted
graph, we should proceed as the following:
Step 1: Set v1 = A and assign to this vertex to the permanent label O. (assign
very other vertex a temporary label of as where as is a symbol deemed
to be larger than any real number)
Step 2 : Until E has been assigned a permanent label (no temporary labels
are changed) in (i) or (ii), follow as:
Trees 79
(i) Take the vertex vi, most recently acquired a permanent label
(say d), For each vertex v adjacent to vi has not yet received a
permanent label, if d + w(vi, v) < t, the current temporary label
of v to d + w(vi, v).
(ii) Take a vertex v, has a temporary smallest among all temporary
labels in the graph. Set vi + 1 = v and make its temporary label to
permanent. If there are so many vertices v which tie for smallest
temporary label we can make any choice in particular.

CTM: Dijkstra’s Algorithm – Distance from one Vertex


Input : A graph with non-negative edge weights and a starting vertex
u. The weight of edges xy is w(x, y); let w(x, y) = ∞, if xy is not
an edge.
Idea : Mantain the set s of vertices to which a shortest path from u is
known, enlarging s to include all vertices. Maintain a tentative
distance t(z) from u to each z ∈ / s, being the shortest length of
the shortest v, z-path yet found.
Initialization : Set S = {u}; t(u) = 0; t(z) = w(uz) for all z ≠ u.
Iteration : Select a vertex v outside S
such that t(v) = min.z∉St(z)
Add v to S.
Explore edges from v to update tentative distances: for each
edge vz with z ∈/ S, update t(z) to min {t(z). t(v) + w(vz)}.
Note : The iteration continues until S = V(G) or until t(z) = ∞ ∀ z ∈ / S.
At the end, set d(u, v) = t(v) ∀ v.

2.10.4 The Floyd-Warshall Algorithm


This algorithm can be used to find the length of a shortest path between all
pairs of vertices in a weighted connected simple graph. However, this alogrithm
cannot be used to construct shortest paths. We assign an infinite weight to any
pair of vertices not connected by an edge in the graph.
The Floyd-Warshall algorithm is too efficient from the point of view of
storage since it can be implemented by just updating the matrix of distances
with each change in k (see in algorithm), there is no storage in matrices. It is
more faster than Dijkstra’s algorithm in many ways.
To find the shortest distance between all pairs of vertices in a weighted
graph where the vertices are v1, v2, v3 ,…, vn we carry out the following steps.
Step 1 : For i = 1 to n.
Set d(i, i) = 0 ∀ i ≠ j iff vivj is an edge.
80 Advanced Graph Theory

Let d(i, j) be the weight of this edge.


Otherwise, set d(i, j) = ∞.
Step 2 : For k = 1 to n.
for i, j = 1 to n, Let (i, j) = min {d(i, j), d(i, k) + d(k, j)] the final value
of d(i, j) is the shortest distance form vi to vj.

2.11 Directed Trees


Two vertices u and v of a directed graph G are called quasi – strongly connected
if there is a vertex w from which there is a direct path to u and a directed path
to v. If there is a directed path P from u to v then certainly u and v are quasi
– strongly connected, because we can take w to be u itself, and then there is a
trivial path with no edges from u to v and the path P from u to v.
The graph G is said to be quasi – strongly connected if each pair of vertices
of G is quasi – strongly connected. It is clear that if a directed graph G is quasi –
strongly connected, then the underlying non directed graphs will be connected.
The digraph (Fig. 2.17) Quasi – Strongly connected.
a b

e f

d c

Fig. 2.17: Quasi-strongly Connected Graph

A digraph a has a directed spanning tree iff G is quasi – strongly connected.


A directed forest is a collection of directed trees. The height of vertex v in
a directed forest in the length of the longest directed path from v to a leaf. The
height of a nonempty tree is the height of its root.
The level of a vertex v in a forest is the length of the path to v from the root
of the tree to which it belongs. A directed tree T is said to have degree k if k is
the maximum of the out-degrees of all the vertices in T.

Theorem 2.10
Let G be a digraph. Then the following are equivalent:
(i) G is quasi – strongly connected.
(ii) There is a vertex r in G such that there is a directed path from r to all the
remaining vertices of G.
Trees 81
Proof:
It is clear that (ii) ⇒ (i)
On the other hand, Let G is quasi – strongly connected and we consider its
vertices v1, v2 ,…, vn. There is a vertex w2 from which there is a path to v1 and a
path to v2. There might also be a vertex w3 from which there is a path to w2 and
w3, and so on finally we conclude that there is a vertex wn from which there is
a path to wn – 1 and a path to vn.
It is clear that, there is a directed path from wn to each vertex vi of G since
wn is connected to v1,…, vn – 1 through wn – 1. Hence (i) ⇒ (ii). 

2.12 Solved Examples


 Example 2.16: Suppose that a tree T has N1 vertices of degree 1. N2 vertices
of degree 2, N3 vertices of degree 3,…, Nk vertices of degree k. Prove that
N1 = Q1 + N3 + 2N4 + 3N5 + ,…,+ (k – 2) Nk.
Solution:
We consider a tree T.
The total number of vertices = N1 + N2 + N3 +,…,+ Nk
Sum of degrees of vertices = N1 + 2N2 + 3N3 + ,…,+ Nk.
∴ Total number of edges in T = N1 + N2 + ,…, + Nk – 1.
by handshaking property, we have
N1 + 2N2 + 3N3 + ,…, + kNk = 2(N1 + N2 + ,…,+ Nk – 1)
Solving, we get
N3 + 2N4 + 3N5 + ,…,+ (k – 2) Nk = N1 – 2
⇒ N1 = 2 + N3 + 2N4 + 3N5 + ,…, + (k – 2) Nk. 
 Example 2.17: Which trees are complete bipartite graphs?
Solution:
Let T be a tree, which is a complete bipartite graph.
Let T = Km, n then the number of vertices in T = m + n
∴ The tree contains (m + n – 1) number of edges.
But the graph km, n number of edges.
Therefore, m + n – 1 = mn.
⇒ mn – m – n + 1 = 0
⇒ m(n – 1) – 1(n – 1) = 0
⇒ (m – 1) (n – 1) = 0
⇒ m = 1 or n = 1.
This means that T is either k1, n or km, 1.
i.e. T is a star. 
82 Advanced Graph Theory

 Example 2.18: Let G = (V, E) be a loop free undirected graph with |V| = n.
Prove that G is a tree if and only if, P(G, λ) = λ(λ – 1)n – 1.
Solution:
If G is a tree. We consider G is a rooted tree. There are λ choices for closing the
root of G and (λ – 1) choices for colouring each of its descendents. The result
followed by rule of product conversely, if P(G, λ) = λ(λ – 1)n – 1, then since the
factor λ occurs only once, the graph G is connected. P(G, λ) = λ(λ – 1)n – 1, then
since the factor λ occurs only once, the graph G is connected.
P(G, λ) = λ(λ – 1)n – 1 = λn – (n – 1) λn – 1+,…,+ (λ)n – 1λ.
⇒ G has n vertices and (n – 1) edges.
Hence G is a tree. 
 Example 2.19: Using the Kruskal’s Algorithm, find a minimal spanning tree
for the weighted graph given below (Fig. 2.18).

A 10 B

11 8 10

Q 9 C
7
12
5
P 7 R

Fig. 2.18

Solution:

The given graph has 6 vertices hence a spanning tree will have (6 – 1) = 5 edges.
Edge Weight Select
C–R 5 
P–R 7 
Q–R 7 
B–Q 8 
B–R 9 ×
A–B 10 
B–C 10 ×
A–R 11 ×
P–Q 12 ×
Trees 83
A minimal spanning tree of given graph contains the edges C – R, P – R, Q – R,
B – Q, A – B. The tree will be
A 10 B

Q C

7 7

P 7 R

The weight of the tree will be


5 + 7 + 7+ 8 + 10 = 37 units. 

 Example 2.20: Use Prim’s algorithm find an optimal graph for the graph in
Fig. 2.19.
b 5 c

5 4
5 3
a 6 d 2 e 3

7 1
2 3

f 2 g

Solution:
An optimal tree can be generated as follows:
To initialize: i = 1, P = {a}, N= {b, c, d, e, f, g}, T = φ.
I iteration: T = [{a, b}], P = {a, b}, N = {c, d, e, f, g}, i = 2.
II iteration: T = [{a, b}, {b, e}], P = {a, b, e}, N = {c, d, f, g},
i = 3.
III iteration: T = [{a, b}, {b, e}, {e, g}], P = {a, b, e, g},
N = {c, d, f}, i = 4
IV iteration: T = [{a, b}, {b, e}, {e, g}, {d, e}, {f, g}]
V iteration: T = [{a, b}, {b, e}, {e, g}, {d, e}, {f, g}]
P = {a, b, e, g, d, f}, N = {c}, i = 6.
VI iteration: T = [{a, b}, {b, e}, {e, g}, {d, e}, {f, g}, {c, g}]
P = {a, b, e, g, d, f, c} = V, n = φ, i = 7 = |V|
84 Advanced Graph Theory

Hence it can be proved that T is an optimal spanning tree of weight 17 for G.

of T = 1 + 2 + 2 + 3 + 4 + 5 = 17. 
 Example 2.21: Find the shortest path to the graph given below from p to u
by using Dijkstra’s algorithm.
q 6 s
1 2
p 5 u
2 3
4 7
r 1 t

Solution:
We can arrange the initial labelling by:
Vertex (V) p q r s t u
L(v) o a a a a a
T {p q r s t u}
Iteration 1: U = p, has L(u) = 0
T becomes T – {p}
Then, two edges incident p i.e. pq and pr
where q and r ∈ T.
L(q) = min {old L(q), L(p) + w(pq)}
= min {a, 0 + 1.0} = 1.0.
L(r) = min. {old L(r), L(p) + w(pr)}
= min. {a, 0 + 4.0} = 4.0
Hence minimum label is L(q) = 1.0
Vertex (V) p q r s t u
L(v) o 1.0 4.0 a a a
T {p q r s t u}
Trees 85
Iteration 2: U = q, the permanent label of q is 1.0 T
becomes T – {q}. There are three edges
incident with q i.e. qr, qs and qt where r, s, t ∈ T
L(r) = min {old L(r), L(q) + w(qr)}
= min {4.0, 1.0 + 2.0} = 3.0.
L(s) = min. {old L(s), L(q) + w(qs)}
= min. {a, 1.0 + 6.0} = 7.0
L(t) = min. {old L(t), L(q) + w(qt)}
= min. {a, 1.0 + 5.0} = 6.0
Vertex (V) p q r s t u
L(v) 0 1.0 3.0 7.0 6.0 a
T { r s t u}
Hence minimum label is L(r) = 3.0
Iteration 3: U = r, the permanent label of t is 3.0
T becomes T – {r}.
There is only one edges incident with r
i.e. r, t where t ∈ T
L(r) = min {old L(r), L(r) + w(rt)}
= min {6.0, 3.0 + 1.0} = 4.0.
Vertex (V) p q r s t u
L(v) 0 1.0 3.0 7.0 4.0 a
T { s t u}
Hence minimum label is L(r) = 4.0
Iteration 4: U = t, the permanent label of t is 4.0
\ T becomes T – {t}.
There are two edges incident with t
i.e. ts and tu where s, u ∈ T
L(s) = min {old L(s), L(t) + w(tu)}
= min {7.0, 4.0 + 3.0} = 7.0.
L(u) = min {old L(u), L(t) + w(tu)}
= min {a, 4.0 + 7.0} = 11.0.
Vertex (V) p q r s t u
L(v) 0 1.0 3.0 7.0 4.0 11.0
T { s u}
Hence minimum label is L(s) = 7.0
86 Advanced Graph Theory

Iteration 5:
U = s, the permanent label of s is 7.0
\ T becomes T – {s}.
There is only one edges incidents on s
i.e. su where u ∈ T
L(u) = min {old L(u), L(s) + w(su)}
= min {11.0, 7.0 + 2.0} = 9.0.
Vertex (V) p q r s t u
L(v) 0 1.0 3.0 7.0 4.0 9.0
T { u}
Hence the minimum label is L(u) = 9.0
Since U = u is the only choice. Hence the shortest distance between p to u
is q and the shortest path is {p, q, r, t, s, u} 

SUMMARY
1. A tree is a connected acyclic graph.
2. A connected graph is a tree if and only if a unique, simple path runs between
any two vertices.
3. A connected graph with n vertices is a tree if and only if it has exactly n – 1
edges.
4. A spanning tree of a connected graph contains every vertex of the graph.
5. Every connected graph has a spanning tree.
6. Kruskal’s algorithm, the DFS method, and the BFS method and find
spanning trees.
7. A minimal spanning tree of a connected weighted graph weighs the least.
8. Kruskal’s algorithm and Prim’s algorithm can find minimal spanning
trees.
9. A specially designated vertex in a tree is the root of the tree. A tree with a
root is rooted tree.
10. The subtree rooted at v consists of v, its descendants, and the edges incident
with them.
11. The level of a vertex is the length of the path from the root to the vertex.
12. The height of a tree is the maximum level of any leaf in the tree.
13. In an ordered rooted tree the children of every vertex are ordered.
14. An m- ary tree is a rooted tree in which every vertex has at most m children.
It is binary if m = 2, and ternary if m = 3.
15. An m-ary tree is full if every internal vertex has m children.
16. An m-ary tree is balanced if all leaves fall on the same level or two adjacent
levels.
Trees 87
17. An m-ary tree is complete if all leaves lie at the same level.
18. An m-ary tree of height h has at most mh leaves.
19. For an m-ary tree of height h with l leaves, h ≥ [logml].
20. If it is full and balanced, h = [logml].
21. Preorder, inorder, and postorder traversal are three ways to visit every
vertex of a binary tree.
22. An algebraic expression with only binary operators can be written in prefix,
infix, or postfix form. In prefix form, each operator precedes its operands.
The other two forms behave similarly.
23. An algebraic expression containing only binary operators can be represented
by a binary expression tree.
24. A binary search tree is homogeneous with every element in the left subtree
of every vertex v less than v and every right subtree element is greater than
v.
25. A Huffman code, a variable-length code, minimize the length of encoded
messages.
26. A decision tree is an m-ary tree in which a decision is made at each internal
vertex.

EXERCISES

1. Show that a Hamiltonian path is a spanning tree.


2. Let G be a graph with k components, where each component is a tree. If n is
the number of vertices and m is the number of edges in G. Prove that n = m
+ k.
3. Show that the complete bipartite graph Kr, s is not a tree if r ≥ 2.
4. Show that the number of vertices in a binary tree is always odd.
5. Prove that the maximum number of vertices in a binary tree of depth d is
2d – 1 when d ≥ 1.
6. Let T = (V, E) be a complete m–ary tree of height h with l leaves. Then prove
that l ≤ mh and h ≥ (logml).
7. If G = (V, E) is an undirected graph then G is connected iff G has a spanning
tree.
8. If every tree T = (V, E) then prove that |V| = |E| + 1.
9. If G = (V, E) be a loop–free undirected graph, and deg(v) ≥ 2 v ∈ V, prove
that G contains a cycle.
10. Explain that, a graph with n vertices, n – 1 edges, and no circuit is connected.
88 Advanced Graph Theory

Suggested Readings
1. A.V.Aho, et al., Data Structures and Algorithmis, Addison-Wesley, Reading,
MA, 1983, pp. 75-196, 230-292.
2. T.H.Carmen et al., Introduction to Algorithms, McGraw-Hill, New York,
1990.
3. D.I.A. Cohen, Basic Techniques of Combinatorial Theory, Wiley, New
York, 1978, pp. 228-282.
4. R.L.Kruse, Data Structure and Program Design, 2nd ed., Prentice Hall,
Englewood Cliffs, NJ, 1987, pp. 318-498, 512-517.
5. J.A.McHugh, Algorithmic Graph Theory, Prentice-Hall, Englewood Cliffs,
NJ, 1990.
6. S. Sahni, Concepts in Discrete Mathematics, 2nd ed., Camelot, Fridley, MN,
1985, pp. 391-448.
7. S.S. Skieno, Implementing Discrete Mathematics, Addison-Wesley,
Reading, MA, 1990.
8. S.K. Yadav, Elements of Graph Theory, Ane Books New Delhi, 2011.

qqq
3
Planar Graphs

Kazimierz
Kuratowski
(1896–1980)

3.1 Introduction
In Graph Theory, a planar graph is a graph which can be embedded in the plane
i.e., it can be drawn on the plane in such a manner that its edges intersect only
at their endpoints. A planar graph which has already drawn in the plane without
edge intersection is called a plane graph or planar embedding of the graph. A
plane graph can be defined as a planar graph with a mapping from every node
to a point in 2D space, and from every edge to a pane curve, such that the
extreme points of each curve are the points mapped from its end nodes, and
all the curves are disjoint except on their extreme points. Plane graphs can be
encoded by combinatorial maps.
It can easily be seen that a graph that can be drawn on the plane can be
drawn on the sphere as well and vice-a-versa.
The equivalence class of topologically equivalent drawing on the sphere
is called a planar map. Although a planar graph has an external or unbounded
face, none of the faces of a planar map have a particular status.
© The Author(s) 2023 89
S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_3
90 Advanced Graph Theory

A generalization of planar graphs are graphs which can be drawn on a


surface of a given genus. In this terminology, planar graphs have graph genus
O, since the plane and the sphere are surfaces of genus O. The following are
the planar graphs. (Fig. 3.1).

Fig. 3.1: Planar graphs

3.2 Geometrical Representation of Graphs


As we have defined a graph G in chapter 1 as G = (V, E, φ) where the set V
consists of the five objects named a, b, c, d and e i.e. V = {a, b, c, d, e} and the
set E consists of seven objects (none of which is in set V) named 1, 2, 3, 4, 5,
6, and 7, i.e.
E = {1, 2, 3, 4, 5, 6, 7}
and the relationship between the two sets is defined by the mapping, Ψ,
which consists of combinatorial representation of the graph.
1 → (a, c )

2 → (c, d )
3 → (a, d )

ψ = 4 → (a, b )
5 → (b, d )

6 → (d , e )

7 → (b, e )
Where, the symbol 1 → (a, c) represents that object 1 from set E is mapped
onto the pair (a, c) of objects from set V.
It can be represented by means of the Fig. 3.2. It truly shows that the graph
can be represented by means of such configuration.
Planar Graphs 91

Fig. 3.2: Geometrical Representation of Graph

Theorem 3.1
The complete graph K5 is non-planar.

Proof:
We attempt to draw K5 in the plane. We first start with a pentagon: As shown
in Fig. 3.3

Fig. 3.3 (a)

A complete graph contains an edge between every pair of vertices, so there


is an edge between a and c. This may as well be inside the pentagon (as if it is
outside then we just adjust the following argument appropriately).
b

a c

e d

Fig. 3.3 (b)

Now we add the edge between b and e (this must be outside the pentagon
as it cannot cross {a, c}, the edge between a and b (inside so as to not cross
{b, e}), and then between c and e (outside so as to not cross {a, d} [As Fig.
3.3(c)]
92 Advanced Graph Theory

a c

e d

Fig. 3.3 (c)

All these edges were forces into position and we have no choice. It
remains to add an edge between b and d. We cannot add it inside (since
it would cross {a, c} nor can we add it outside (since it would cross
{c, e}).
Consequently K5 is non-planar. 

3.3 Bipertite Graph


A simple graph G = (V, E) is called bipertite if V = V1 ∪ V2 with V1 ∩ V2 = φ
and every edge of G is of the form {a, b} with one of the vertices a and b in
V1 and the other in V2.
If every vertex in V1 is joined to every vertex in V2 we can obtain a complete
bipertite graph. We may write Km, n for the complete bipertite graph with |V1| =
m and |V2| = n.
Here |E| = mn. (see examples in fig 3.4)

K3, 3 K4, 2

Fig. 3.4: Complete Bipertite Graphs

Theorem 3.2
The complete bipertite graph K3, 3 is nonplanar.

Proof:
Let V1 = {a, b, c} and V2 = {x, y, z} and draw a hexagonal circuit:
a→x→b→y→c→z→a
Planar Graphs 93
a x

z b

c y

Fig. 3.5

The proof is completed by observing that two of the edges {a, y}, {b, z} or
{c, x} must both lie inside or both outside the hexagon and hence must cross.

3.4 Homeomorphic Graph


Two graphs G1 and G2 such that G1 = (V1, E1) and G2 = (V2, E2) are said to be
homeomorphic if and only if G2 can be obtained from G1 by the insertion or
deletion of a number of vertices of degree two (deg. 2).
The following three graphs are homeomorphic (Fig. 3.6)

Fig. 3.6 Homeomorphic Graph

One can think of homeomorphic graphs as being as the same shape. Adding
or deleting a vertex of degree two does not change the shape of the edges but
simply replaces a single edge by a pair of edges taking the same shape (or vice
versa).
 Example 3.1: If graph (p1, q1) and (p2, q2) del are homeomorphic then p1 +
q2 = p2 + q1.
Solution:
Let (p1, q1) = G1, and (p2, q2) = G2 he homeomorphic graphs. Therefore G1
and G2 can be from a (p, q) graph G by a series of elementary subdivisions
respectively (say r and s).
In each elementary subdivision, the number of points as well as the number
of edges increase by one.
Hence p1 = p + r, q1 = q + r, p2 = p + s, q2 = q + s
Hence p1 + q2 = b + r + q + s = (p + s) + (q + r) = p2 + q1
(It shows necessary and sufficient condition for a graph to be planar). 
94 Advanced Graph Theory

3.5 Kuratowski’s Graphs


The graphs K5 and K3, 3 are called Kuratowski’s graphs. A graph is planar if and
only if it has no subgraph, homeomorphic to K5 or K3, 3.
Since planarity is such a fundamental property, it is clearly of importance
to know which graphs are planar and which are not.. We have already noted
that, in particular K5 and K3, 3 are non-planar and that any proper subgraph of
either of these graphs is planar. A remarkable simple characterisation of planar
graphs was given by Kuratowski (1930). This can be proved by two lemmas.
Lemma-3.1: If G is non-planar, then every subdivision of G is non-planar.
Lemma-3.2: If G is planar, they every subgraph of G is planar.

Proof:
Since K5, and K3, 3 are nonplanar, we can see that if G is planar, then G cannot
contain a subdivision of K5 or of K3, 3, (Fig. 3.7). Kuratowski showed that this
necessary condition is also sufficient.
Before proving Kuratowski’s theorem, we need to establish two more
simple lemmas.
Let G be a graph with a 2-vertex cut {u, v}. Then there exist edge-disjoint
subgraph G1 and G2 such that V(G1) ∩ V(G2) = {u, v} and G1 ∪ G2 = G. Consider
such a separation of G into subgraphs. In both G1 and G2 join u.

(a) (b)

Fig. 3.7: (a) A Subdivision of K5; (b) a Subdivision of K3, 3


u u

v v

G: G1
Planar Graphs 95
u u u

e e

v v v

G2 H1 H2
Fig. 3.8

and v by a new edge e to obtain graphs H1 and H2, as in Fig. 3.8. Clearly G =
(H1 ∪ H2) = e. It can also easily seen that ε (Hi) < ε(G) for i = 1, 2.

Lemma 3.3

If G is non-planar, than at least one of H1 and H2 is also non-planar.

Proof:

Contradictingly, suppose, both H1 and H2 are planar. Let H1 be a planar


embedding of H1, and let f be a face of H1 incident with e. If H 2 is an embedding
of H2 in f such that H1 and H 2 have only the vertices u and v and the edge e is
common, then ( H1 ∪ H 2 ) − e is a planar embedding of G.
This contradiction hypothesis shows that G is nonplanar.

Lemma 3.4

Let G be a non-planar connected graph that contains no subdivision of K5 or


K3, 3 and has as few edges as possible. Then G is simple and 3–connected.

Proof:

By contradiction. Let G satisfy the hypotheses of the lemma. Then G is clearly


a minimal nonplanar graph, and therefore must be a simple block. If G is not
3-connected, let {u, v} be a 2-vertex cut of G and let H1 and H2 be the graphs
obtained from this cut as described above. By lemma at least one of H1 and H2,
say H1, is nonplanar. Since ε(H1) < ε(G), H1 must contain a subgraph K which
is a subdivision of K5 or K3, 3,; moreover K G, and so the edge e is in K. Let
P be a (u, v)-path in H2 – e. Then G contains the subgraph (K ∪ P) – e, which
is a subdivision of K and hence a subdivision of K5 or K3, 3. This contradiction
establishes the lemma. 
96 Advanced Graph Theory

Theorem 3.3
A graph is planar if and only if it contains no subdivision of K5 and K3, 3,
Proof:
We have already noted that the necessity follows from lemmas 1 and 2. We
shall prove the sufficiency by contradiction.
If possible, choose a nonplanar graph G that contains no subdivision of
K5 or K3, 3 and has as few edges as possible. From lemma 4 it follows that G is
simple and 3–connected. Clearly G must also be a minimal nonplanar graph.
Let u v be an edge of G, and let H be a planar embedding of the planar
graph G – u v. Since G is 3-connected, H is 2-connected u and v are contained
together in a cycle of H. Choose a cycle C of H that contains u and v and is such
that the number of edges in Int C is as large as possible.
Since H is simple and 2-connected, each bridge of C in H must have at least
two vertices of attachment. Now all outer bridges of C must be 2-bridges that
overlap uv because, if some outer bridge were a k-bridge for k ≥ 3 or a 2-bridge that
avoided uv, then there would be a cycle C′ containing u and v with more edges in
its interior than C, contradicting the choice of C. These two cases are illustrated in
Fig. 3.9 (with C′ indicated by heavy lines).
In fact, all outer bridges of C in H must be single edges. For if a
2‑bridge with vertices of attachment x and y had a third vertex, the set
{x, y} would be a 2-vertex cut of G, contradicting the fact that G is
3‑connected.
u
u

v v

(a) (b)

Fig. 3.9: Vertex Attachment

Two cases now arise, depending on whether B has a vertex of attachment


different from u, v, x and y or not.
Case 1 B has a vertex of attachment different from u, v, x and y.
We can choose the notation so that B has a vertex of attachment v1 in
C(x, u) (see Fig. 3.10). We consider two subcases, depending on whether B has
a vertex of attachment in C(y, v) or not.
Planar Graphs 97
Case 1(a) B has a vertex of attachment v 2 in C(y, v). In this case
there is a (v 1, v 2)-path P in B that is internally-disjoint from C. But
then (C ∪ P) + {uv, xy} is a subdivision of K3, 3 in G, a contradiction (see Fig.
3.10).
Case 1(b) B has no vertex of attachment in C(y, v). Since B is skew to uv and to
xy, B must have vertices of attachment v2 in C{u, y} and v3 in C{v, x}. Thus B has
three vertices of attachment v1, v2 and v3. There exists a vertex v0 in V(B) \ V(C) and
three paths P1, P2 and P3 in B joining v0 to v1, v2 and v3, respectively, such that, for
i ≠ j, Pi and Pj have only the vertex v0 in common. But now (C ∪ P1 ∪ P2 ∪ P3) +
{uv, xy} contains a subdivision of K3, 3 a contradiction. This case is illustrated
in Fig. 3.11. The subdivision of K3, 3 is indicated by heavy lines.

Fig. 3.10

Fig. 3.11 Fig. 3.12

Case 2 B has no vertex of attachment other than u, v, x and y. Since B


is skew to both uv and xy, it follows that u, v, x and y must all be vertices of
attachment of B. Therefore there exists a (u, v)-path P and an (x, y)-path Q in
B such that (i) P and Q are internally-disjoint from C, and (ii) |V(P) ∩ V(Q)| ≥
1. We consider two subcase, depending on whether P and Q have one or more
vertices in common.
Case 2a |V(P) ∩ V(Q)| = 1. In this case (C ∪ P ∪ Q) + {uv, xy} is a
subdivision of K5 in G, again a contradiction (see Fig. 3.12).
98 Advanced Graph Theory

Case 2b |V(P) ∩ V(Q)| ≥ 2. Let u′ and v′ be the first and last vertices of
P on Q, and let P1 and P2 denote the (u, u′)- and (v′, v)-sections of P. Then
(C ∪ P1 ∪ P2 ∪ Q) + {uv, xy} contains a subdivision of K3, 3 in G, once more
a contradiction (see Fig. 3.13).

Fig. 3.13

Thus all the possible cases lead to contradictions, and the proof is
complete 

3.6 Dual Graphs


A plane graph G partition the rest of the plane into a number of connected
regions; the closures of these regions are called the faces of G. Fig. 3.14 shows
a plane graph with six faces f1, f2, f3, f4, f5 and f6. The notion of a face applies
also to embeddings of other surfaces. We denote F(G) and φ(G) respectively as
the set of faces and the number of faces of a plane graph G. Each plane graph
has exactly one unbounded face, called the exterior face. In the plane graph of
Fig. 3.14, f1 in the exterior face.

Fig. 3.14: A Plane Graph with six Faces

We denote the boundary of a face f of a plane graph G by b(f). If G is


connected, then b(f) can be regarded as a closed walk in which each cut edge
of G in b(f) is traversed twice; when b( f ) contains no cut edges, it is a cycle of
G. For example, in the plane graph of Fig. 3.14
b( f2) = v1e3v2e4v3e5v4e1v1
and b( f5) = v7e10v5e11v8e12v8e11v5e8v6e9v7
Planar Graphs 99
A face f is said to be incident with the vertices and edges in its boundary. If
e is a cut edge in a plane graph, just one face is incident with e; otherwise, there
are two faces incident with e. We say that an edge separates the faces incident
with it. The degree, dG(f), of a face f is the number of edges with which it is
incident (that is, the number of edges in b(f)), cut edges being counted twice.
In Fig. 3.14 f1 is incident with the vertices v1, v3, v4, v5, v6, v7 and the edges e1,
e2, e5, e6, e7, e9, e10; e1 separates f1 from f2 and e11 separates f5 from f5; d(f2) = 4
and d(f5) = 6.
Given a plane graph G, one can define another graph G* as follows:
corresponding to each face f of G there is a vertex f* of G*, and corresponding
to each edge e of G there is an edge e* of G*, two vertices f* and g* are joined
by the edge e* in G* if and only if their corresponding faces f and g are separated
by the edge e in G. The graph G* is called the dual of G.
It is easy to see that the dual G* of a plane graph G is planar; in fact, there
is a natural way to embed G* in the plane. We place each vertex f* in the
corresponding face f of G, and then draw each edge e* in such a way that it
crosses the corresponding edge e of G exactly once (and crosses no other edge
of G). It is intuitively clear that we can always draw the dual as a plane graph
in this way, but we shall not prove this fact. Note that if e is a loop of G, then
e* is a cut edge of G*, and vice versa.
* *
e8 f5 * f2
f1 e9
e1 * *
e7 e1
e7 e
e6 f5 9
*
* e 2 e*
f2 e6 3
f4 *
f1
e2
e5 * *
e3 e8 e4
f3
* *
e4 * e5 f3
f4

G G*
(a) (b)

* *
f1 e2
e8
*

*
e1
* *
e4 e7 f 5* e*
9
e*6 *
f2
*
* * e3
f4 e5 *
f3

Fig. 3.15: A Plane Graph and its Dual


100 Advanced Graph Theory

Note:
1. G* of a plane graph G as a plane graph we can consider the dual G** of
G* and G** ≡ G.
2. Isomorphic plane graphs may have nonisomorphic duals.
3. The following relations are direct consequences of the definition of G*
(i) v(G*) = φ(G)
(ii) ∈(G*) = ∈(G)
(iii) dG*(f*) = dG(f) f ∈ F(G).

3.7 Euler’s Formula


Euler’s formula states that if a finite, connected, planar graph is drawn in a plane
without any edge intersection. If v is the number of vertices, e the number of
edges and f, the number of faces (regions bounded by edges, including the outer,
infinitely-large region), then
v – e + f = 2.
In a finite, connected, simple, planar graph, any face (except possibly the
outer one) is bounded by at least three edges and every edge touches atmost
two faces; using Euler’s formula, we can show that these graphs are sparse in
the sense that e ≤ 3v – 6 if v ≥ 3.
A simple graph is called maximal planar if it is planar but adding any edge
would destroy that property. All the faces (even the outer one) are then bounded
by three edges, explaining the alternative term triangular for these graphs. If
a triangular graph has v vertices with v > 2, then it has precisely 3v – 6 edges
and 2v – 4 faces.
Euler’s formula is also valid for simple polyhedra. This is no coincidence,
every simple polyhedron can be turn onto a connected, simple, planar graph by
using the polyhedron’s edges as edges of the graph. The faces of the resulting
planar graph corresponds to the faces of the polyhedron (Fig. 3.16).

Fig. 3.16: The Goldner–Harary Graph is Maximal Planer


all its Faces are Bounded by three Edges
Planar Graphs 101
Theorem 3.4
If G is a connected planar graph then v – e + f = 2.
Proof:
By induction we can prove on f, the number of faces in G. If f = 1, then
each edge of G is a cut edge and so G, being connected, is a tree. In this
case e = v – 1. Suppose that it is true for all connected planar graphs
with fewer than n faces, and let G be a connected planar graph with
n ≥ 2 faces. We choose an edge e1 of G that is not a cut edge.
Then G – e1 is a connected planar graph and has n – 1 faces, since the two
faces of G separated by e1 combine to form one face of G – e1. From induction
hypothesis, we have
v(G – e1) – e (G – e1) + f (G – e1) = 2.
and, using the relations
v(G – e1) = v(G)
e(G – e1) = e(G) – 1
f(G – e1) = f(G) – 1.
We set, finally
v(G) – e(G) + f(G) = 2.
⇒ v – e + f = 2. 
Corollary 3.1: All planar embeddings of a given connected planar graph have
the same number of faces.
Proof:
Let G and H be two planar embeddings of a given connected planar graph.
Since G ≅ H,
v(G) = v(H) and e(G) = e(H)
using theorem 4, we have
f(G) = e(G) – v(G) = 2
= e(H) – v(H) + 2 = f(H) 
Corollary 3.2: If G is a simple planar graph with v ≥ 3, then e ≤ 3v – 6.
Proof:
It clearly suffices to prove this for connected graphs.
Let G be a simple connected graph with v ≥ 3.
Then d(φ1) ≥ 3. for all φ1 ∈ φ.
102 Advanced Graph Theory

and ∑ d (φ1 ) ≥ 3f (generating graph)


φ1 ∈ φ

also 3e ≥ 3f.
From theorem 3.4,
2e
v–e+ ≥ 2.
3
or e ≤ 3v – 6 
Corollary 3.3: If G is a simple planar graph than δ ≥ 5.
Proof:
It is trivial for v = 1, 2
If v ≥ 3, then from corollary 3.2, we have
δv ≤ ∑ d (v ) = 2e ∑ 6v – 12.
v ∈V

It follows that δ ≤ 5. 
Corollary 3.4: K5 and K3, 3 are non-planar.
Proof:
If K5 were planar than by corollary 3.2, we would have
10 = e(K5) ≤ 3v(K5) – 6 = 9
This K5 must be nonplanar
Suppose that K3, 3 is planar and let G be a planar embedding of K3, 3
Since K3, 3 has no cycles of length less than four, every face of G must have
degree at least four.
4f≤ ∑ d (φ1 ) = 2e = 18.
φ1 ∈ φ

i.e. f ≤ 4.
From theorem 3.4, we have
2 = v – e + f ≤ 6 – 9 + 4 = 1.
Which is absurd. 

3.8 Outerplanar Graphs


A graph is called outerplanar if it has an embedding in the plane such that the
vertices lie on a fixed circle and the edges lie inside the disk of the circle and
don’t intersect. Equivalently, there is some face that includes every vertex. Every
outerplanar graph is planar, but the converse is not true: the second example
graph shown above (K4) is planar but not outerplanar. This is the smallest non-
outerplanar graph: a theorem similar to Kuratowski’s states that a finite graph is
outerplanar if and only if it does not contain a subgraph that is an expansion of
Planar Graphs 103
K4 (the full graph on 4 vertices) or of K2, 3 (five vertices, 2 of which connected
to each of the other three for a total of 6 edges).
Properties of Outerplanar Graphs
• All finite or countably infinite trees are outerplanar and hence planar.
• An outerplanar graph without loops (edges with coinciding endvertices) has
a vertex of degree at most 2.
• All loopless outerplanar graphs are 3-colorable; this face features prominently
in the simplified proof of Chvatal’s art gallery theorem by Fisk (1978). A
3-coloring may be found easily by removing a degree-2 vertex, coloring the
remaining graph recursively, and adding back the removed vertex with a color
different from its two neighbors.
3.8.1 k-outerplanar Graphs
k-outerplanar embedding of a graph is the same as an outerplanar embedding.
For k > 1 a planar embedding is k-outerplanar if removing the vertices on the
outer face results in a k-outerplanar embedding. A graph is k-outerplanar if it
has a k-outerplanar embedding.

3.9 Solved Examples

 Example 3.2: A connected planar graph has 10 vertices each of degree 3. Into how
many regions, does a representation of this planar graph split the plane?
Solution:
Given that n = 10 and deg of each vertex = 3.
⇒ ∑ deg(v) = 3 × 10 = 30.
But, ∑ deg(v) = 2e
⇒ 30 = 2e ⇒ e = 15
Using Euler’s formula, we have
n–e+f =2
⇒ 10 – 15 + f = 2
⇒ f =7
∴ no of regions = 7. 
 Example 3.3: Prove that K4 and K2, 2 are planar
Solution:
We have in K4
v = 4 and e = 6
104 Advanced Graph Theory

It is obvious that, 6 ≤ 3*4 – 6 = 6.


Hence relation is satisfied for K4
For K2, 2, we have v = 4 and e = 4.
In this case, the related e ≤ 3v – 6. that is, 4 ≤ 3*4 – 6 = 6 is satisfied.
Hence K4 and K2, 2 are planar graphs. 

 Example 3.4: If every region of a simple planar graph with n-vertices


and e-edges embedded in a plane is bounded by K-edges then prove that
K (n − 2 )
e=
K −2

Solution:
We know that every region is bounded by K-edges, then f regions are bounded
by Kf-edges.
Each edge is counted twice, once for two of its adjacent regions.
We have 2e = Kf

2e
⇒ f= ...(i)
K
That is, if G is a connected planar graph with n-vertices, e-edges and
f-regions then
n – e + f = 2.
We have from (i)

2e
n–e+ =2
K
⇒ nK – eK + 2e = 2K
⇒ nK – 2K = eK – 2e
⇒ K(n – 2) = e(K – 2)

K (n − 2 )
⇒ e= 
K −2
 Example 3.5: If G is a graph with 1000 vertices and 3000 edges. What can
you concluded about G is planar?

Solution:
We know that, a graph is said to be planar if and only if it satisfies the inequality
q ≤ 3p – 6.
Planar Graphs 105
Here, we have,
p = 1000 and q = 3000
Then, 3000 ≤ 3p – 6.
i.e. 3000 ≤ 3000 – 6.
⇒ 3000 ≤ 2994
which is not possible.
Hence we can conclude that G is not a planar graph. 
 Example 3.6: Find a graph G with degree sequence (4, 4, 3, 3, 3, 3) such that
(i) G is planar
(ii) G is not planar.
Solution:
(i) We can draw a planar graph with six vertices (with degree sequence 4, 4,
3, 3, 3, 3.) as shown in Fig 3.17.
A

B
C
E D

Fig. 3.17

(ii) Using Handshaking lamma, we have


n
∑ deg (vi ) = 2q
i =1
⇒ 2q = 4 + 4 + 3 + 3 + 3 +3
⇒ 2q = 20
⇒ q = 10
Hence the graph with p = 6, is planar iff it satisfy the inequality
q = 3p – 6
i.e. 10 ≤ 3 × 6 – 6
⇒ 10 ≤ 18 – 6
⇒ 10 ≤ 12. (which is not possible)
Hence it is not possible to draw a non-planar graph with given degree
sequence 4, 4, 3, 3, 3, 3. 
106 Advanced Graph Theory

 Example 3.7: Show that every simple connected planar graph G with less
than 12 vertices must have a vertex of degree ≤ 4.

Solution:
Let every vertex of G has degree greater than or equal to 5
Then, if d1, d2, d3,…,dn are the degree of n vertices of G.
We have d1 ≥ 5, d2 ≥ 5, d3 ≥ 5,…,dn ≥ 5
So that d1 + d2 + d3 +,…,+dn ≥ 5n
Or 2m ≥ 5n (Handshaking property)

5n
Or ≤m ...(A)
2
On the other hand, we have, m ≤ 3n – 6.
from (A), we have
5n
≤ 3n – 6 or n ≥ 12
2
If every vertex of G has degree ≥ 5,
then G must have at least 12 vertices
Hence, if G has less than 12 vertices, it must have a vertex of
degree < 5. 

 Example 3.8: What is the minimum number of vertices necessary for a simple
connected graph with 11 edges to be planar?

Solution:
For a simple connected planar graph G(m, n)
we have, m ≤ 3n – 6.

1
n ≥ ( m + 6)
3
17
when m = 11 we get n ≥
3
Hence the required minimum number of vertices 6. 

 Example 3.9: Let G be a planar connected graph with n-vertices, m edges


and f regions and let its geometice dual G* have n* vertices, m* edges and
f* regions, then prove that n* = f, m* = m and f* = n.
Further, it ρ and ρ* are the ranks and µ and µ* are the nullities of G and G*
respectively, the prove that ρ∗ = µ and µ* = ρ.
Planar Graphs 107
Solution:
Every region of G yields exactly one vertex of G* and G* has no other vertex.
The number of regions in G is precisely equal to the number of vertices of G*
i.e. f = n* ...(i)
Corresponding to every edge e of G, there is exactly one edge e* of G* that
crosses e exactly once, and G* has no other edge.
Thus G and G* have the same number of edges.
i.e. m = m* ...(ii)
Using Euler’s formula to G* and G, we get
f* = m* – n – 2.
= m – f + 2.
= n.
Since G and G* are connected, we get
ρ = n – 1, µ = m – n + 1
ρ* = n* – 1, µ* = m* – n* + 1.
These together with result (i) & (ii), and from Euler’s formula
r* = n* – 1 = f – 1 = (m – n + 2) – 1.
= m – n + 1 = µ.
µ* = m* – n* + 1 = m – f + 1
= m – (m – n + 2) + 1 = n – 1.
= ρ. 
 Example 3.10: If G is a simple connected planar graph s.f. G(p, q) having
at least K edges in a boundary of each region. Then prove that (K – 2) q ≤
K (p – 2)
Solution:
Every edge on the boundary of G1 lies in the boundaries of exactly two regions
of G.
G may have some pendent edges which do not lie in a boundary of any
region of G.
Sum of lengths of all boundaries of G is less than twice the number of
edges of G.
i.e. k f ≤ 2q ...(i)
G is a connected graph, by Euler’s formula, we have
f =2+q–p ...(ii)
108 Advanced Graph Theory

(ii) – (i), we set


k(2 + q – p) ≤ 2q
⇒ (K – 2)q ≤ K(p – 2) 
 Example 3.11: Let G be a connected simple planar (n, m) graph is which
k ( n − 2)
every region is bounded by at least k edges. Show that m ≤
(k − 2)

Solution:
Every region in G is bounded by at least k edges.
We have 2m ≥ k f ....(i)
Where f is the number of regions.
Substituting for f from Euler’s formula,
we get,
2m ≥ k (m – n + 2)
⇒ K(n – 2) ≥ km – 2m.
k ( n − 2)
m≤ 
(k − 2)

SUMMARY
1. A path in a connected graph is Eulerian if it contains every edge exactly
once.
2. A circuit in a connected graph is Eulerian if it contains every edge exactly
once.
3. A connected graph Eulerian if it contains an Eulerian circuit.
4. A connected graph is Eulerian if and only if every vertex of the graph has
even degree.
5. A connected graph contains an Eulerian path if and only if it has exactly two
vertices of odd degree.
6. A graph is planar if it can be drawn in the plane, so not two edges cross.
7. K3,3 and K5 are nonplanar graphs.
8. Euler’s formula If a connected planar graph with e edges and v vertices
partitions the plane into r regions, then r = e – v + 2.
9. Kuratowski’s theorem A graph is planar if and only if it does not contain a
subgraph homeomorphic to K5 or K3,3
Planar Graphs 109

EXERCISES

1. Prove that a graph which contains a triangle can not be bipertite.


2. Show that C6 is a bipertite graph.
3. Prove that the sum of the degrees of all regions in a map in equal to twice the
number of edges in the corresponding path.
4. Draw all planar graphs with five vertices, which are not isomorphic to each
other.
5. Show that of a planar graph G of order n and size m has f regions and K
components, then prove that n – m = f = k + 1
6. Let G be a simple connected graph with fewer than 12 regions, in which each
vertex has degree at least 3. Prove that G has a region bounded by at most
four edges.
7. Show that the condition m ≤ 3n – 6 is not a sufficient condition for a connected
simple graph with n vertices and m edges to be planar
8. What is the maximum number of edges possible in a simple connected planar
graph with eight vertices? [Ans. 18]
9. Show that if G is a plane triangulation, then e = 3v – 6.
10. Let S = {x1, x2,…,xn) be a set of n ≥ 3 points in the plane such that the distance
between any two points is at least one. Show that there are at most 3n – 6
pairs of points at distance exactly one.

Suggested Readings
1. K. Apple and W. Haken, “Every Planar Map is 4-Colorable” Bulletin of the
American Mathematical Society, Vol. 82 (1976), pp. 711-712.
2. J.A. Bondy and U.S.R. Murty, Graph Theory with Applications, Elsevier,
New York, 1976.
3. R.A. Brualdi, Introductory Combinatorics, 3rd ed., Prentice-Hall, Upper
Saddle River, NJ, 1999.
4. A. Tucker, Applied Combinatorics, 2nd ed., Wiley, New York, 1984, pp.
3-79, 389-410.
5. D.West, Introduction to Graph Theory, 2nd ed., Prentice-Hall, Upper Saddle
River, NJ, 2001.
6. R.J. Wilson and J.J. Watkins, Graphs: An Introductory Approach, Wiley,
New York, 1990.
qqq
4
Directed Graphs

Edsger Wybe
Dijkstra
(1930-2002)

4.1 Introduction
There are so many problems lend themselves naturally to a graph-theoretic
formulation. The concept of a graph is not quite adequate. While dealing with
problems of traffic flow, it is necessary to know which roads in the network are
one-way, and, in which direction the traffic is permitted. It is clear that, a graph
of the network is not of much use in such a situation. We need in a graph, in
which, each link has an assigned orientation - a directed graph.
A directed graph D is an ordered triple (V(D), A(D), ψD) consisting of a
nonempty set V(D) of vertices, a set A(D), disjoint from V(D), of arcs, and an
incidence function ψD which associates with each arc of D an ordered pair of
vertices of D.
If a is an arc and u and v are vertices such that ψD(a) = (u, v), then a is
said to join u to v; u is the tail of a, and v is its head. We abbreviate “directed
graph” to “digraph”.

© The Author(s) 2023 111


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_4
112 Advanced Graph Theory

A digraph D′ is a subgraph of D if V(D′) V(D), A(D′) A(D) and ψD is


the restriction of ψD to A(D′).
Each digraph D can be associated to a graph G on the same vertex set;
corresponding to each arc of D there is an edge of G with the same ends. This
graph is called the underlying graph of D. As converse, given any graph G, we
can obtain a digraph from G by specifying, for each link, an order on its ends.
This type of digraph is called an orientation of G.
Digraphs have a simple pictorial representation like graphs. A digraph is
represented by a diagram of its underlying graph together with arrows on its
edges, each arrow pointing towards the head of the corresponding arc (as shown
in Fig. 4.1).

(a) (b)
Fig. 4.1: (a) A Digraph D; (b) the Underlying graph D

All the concepts that are valid for graphs automatically applicable to
digraphs too. However, there are many concepts that involve the notion of
orientation, and these are applicable only to digraphs.
A directed ‘walk’ in D is a finite non-null sequence W = (v0, a1, v1,..., ak,
vk), whose terms are alternately vertices and arcs, such that, for i = 1, 2,...,k the
arc a1 has head v1 and tail vi-1. As with walks in graphs, a directed walk (v0, a1,
v1,...,ak, vk) is represented simply by its vertex sequence (v0, v1,...,vk).
A directed trail is a directed walk that is a trail; similarly, directed paths,
directed cycles and directed tours are defined.
If there is a directed (u, v)-path in D, vertex v is said to be reachable
from vertex u in D. Two vertices are diconnected in D if each is reachable
from the other. As in the case of connection in graphs, diconnection is
an equivalence relation on the vertex set of D. The subdigraphs D[V1],
D[V2],...,D[Vm] induced by the resulting partition (V1, V2,...,Vm) of V(D) are
called the dicomponents of D. A digraph D is diconnected if it has exactly
one dicomponent. (see Fig. 4.2)
Directed Graphs 113

(a) (b)
Fig. 4.2: The Digraph of Fig. (a) is not Disconnected and Fig. (b) is has three
Dicomponents

The indegree d–D(v) of a vertex v in D is the number of arcs with head v; the
d (v) outdegree of v is the number of arcs with tail v. We denote the minimum
+
D
and maximum indegrees and outdegrees in D by δ–(D), ∆–(D), δ+(D) and ∆+(D),
respectively. A digraph is strict if it has no loops and no two arcs with the same
ends have the same orientation. Throughout this chapter, D will denote a digraph
and G its underlying graph. This is a useful convention; it allows us, for example,
to denote the vertex set of D by V (since V = V(G)), and the numbers of vertices
and arcs in D by v and ε, respectively. Also, as with graphs, we shall drop the
letter D from our notation whenever possible; thus we write A for A(D), d+(v)
ford+D (v) δ– for δ–(D), and so on.

4.2 Directed Paths


In a digraph, There is no close relationship between the lengths of paths and
directed paths. We can see from Fig. 4.3, which has no directed path of length
greater than one.

Fig. 4.3

Some information about the length of denoted paths in a digraph can be


obtained by looking chromatic numbers.

Theorem 4.1: (Ray and Gallai, 1967-68)


A digraph D contains a directed path of length X–1.
Proof:
We consider A′ be a minimal set of arcs of D such that D′ = D – A′ containing
no directed cycle and the length of a longest directed path in D′ be k. We assign
114 Advanced Graph Theory

colours 1, 2, 3..., k + 1 to the vertices of D′ by assigning colour i to vertex v if


the length of a longest directed path in D′ with origin v is (i – 1).
Denoting by Vi the set of vertices with colour i we can show that (V1,
V2,...,Vk + 1) is a proper (k + 1) vertex colouring of D.
We can observe that the origin and terminus of any directed path in D′ have
different colours. For Let P be a directed (u, v) – path of positive length in D′
and suppose v ∈ Vi. Then, there exists a directed path Q = (v1, v2, v3...,vi) in D´,
where vi = v.
Since D′ contains no directed cycle, PQ is a directed path with origin u and
length at least i,
Thus u ∉ Vi.
We are to show now, the ends of any arc of D have different colours.
Suppose (u, v) ∈ A(D).
If (u, v) ∈ A(D´) then (u, v) is a directed path in D´ and so u and v have
different colours.
Otherwise, (u, v) ∈ A′.
By the minimality of A′, D′ + (u, v) contains a directed cycle C.
C – (u, v) is a directed (u, v) – path in D′ and hence in this case, u and v
have different colours.
The above concludes, that (V1, V2, V3...,V k + 1) is a proper vertex colouring
of D.
This follows that
X ≤ k + 1, and so D has a directed path of length k ≥ X – 1. 
Note:
(i) The theorem 4.1 is a best possible way to show that every graph G has an
orientation in which the longest directed path is of length X – 1.
(ii) Given a proper X – vertex colouring (V1, V2,...,Vx) of G, we orient G by
converting edge uv to are (u, v) if u ∈ Vi and v ∈ Vj with i < j.

4.3 Tournament
An orientation of a complete graph is termed as tournament. The tournaments of
four vertices are shown in Fig. 4.4. Each of them is to be regarded as indicating
the results of games in a round-robin tournament between four players; e.g. the
first tournament in Fig. 4.4 is shown that one player has won all three games
and that the other three have each won one. A directed Hamiltonian path of D
is a directed path that includes every vertex of D.
Directed Graphs 115

Fig. 4.4 The tournament of four vertices

Theorem 4.2

Every tournament has a directed Hamiltonian path.

Proof:
Every tournament has a path such that D is directed. It includes every vertex of
D then If D is a tournament, then
X = v. 
Note:
(i) An interesting fact about tournament is that there is always a vertex from
which every other vertex can be reached in at most two steps. An in-
neighbour of vertex v in D is a vertex u such that (u, v) ∈ A; and an out
neighbour of v is a vertex w such that (v, w) ∈ A.
(ii) We denote the sets of in-neighbours and out-neighbours of v in D dD– (v)
dD+ (v) by and respectively.

Theorem 4.3
A loopless digraph D has an independent set S such that each vertex of D not
in S is reachable from a vertex in S by a directed path of length at most two.
Proof:
This theorem can be proved by induction on v. The theorem holds trivially for
v = 1.
We assume that it is true for all digraphs with fewer than v vertices, and let
v be an arbitrary vertex of D.
By induction hypothesis there exists in D′ = D – ({v} ∪ N+(v)) an independent
set S′ such that each vertex of D′ not in S′ is reachable from a vertex is S′ by a
directed path of length at most two. If v is an out-neighbour of some vertex u of
S′, then every vertex of N+(v) is reachable from u by a directed path of length two.
Hence, in this case, S = S′ satisfies the required property.
One the other hand, v is not an out-neighbour of any vertex of S′, then v is
joined to no vertex of S´ and the independent set. S = S′ ∪ {v} has the result.

116 Advanced Graph Theory

Note:
A tournament contains a vertex from which every other vertex is reachable by
a directed path of length at most two, for this, if D is a tournament, then α = 1:

4.4 Directed Cycles


Theorem 4.2 states that every tournament contains a directed Hamiltonium path.
It includes that, if the tournament is assumed to be disconnected.
If S and T are subsets of V, we denote by (S, T) the set of arcs of D that have
their tails in S and their heads in T.

Theorem 4.4: (Moon’s and Dirac’s Theorem) (1966)


Each vertex of a diconnected tournament D with v ≥ 3 is contained in a
directed k – cycle, 3 ≤ k ≤ v

Proof:
Let D be a disconnected tournament with v ≥ 3 let u be any vertex of D.
Set S = N+(u) and T = N–(u).
We show that u is in a directed 3 – cycle.
Since D is diconnected, neither S nor T can be empty; and, for the same
reason, (S, T) must be non-empty (As shown in fig 4.5). There exists some arc
(v, w) in D with v ∈ S and w ∈ T, and u is in the directed 3 – cycle (u, v, w, u).
U

S v w T

Fig. 4.5: Diconnected Tournament

The theorem can now be proved by induction on k.


Suppose, u is in directed cycle of all lengths between 3 and n, where n < v.
We can show that u is in directed (n + 1) – cycle.
Directed Graphs 117
We consider C = (v0, v1, v2,...,vn) be a directed n – cycle in which v0 = vn = u.
If there is a vertex in V(D)\V(C) which is both the head of an arc with tail in
C and the tail of an arc with head in C, then there are adjacent vertices vi and vi
+1
on C s.t. both (vi, v) and (v, vi+1) are arcs of D. In this case u is in the directed
(n + 1) – cycles. (v0, v1, v2,...,vi, v1, vi+1,...,vn).
Otherwise, denoting by S the set of vertices in V(D)\V(C) which are heads
of arcs joined to C, and by T the set of vertices in V(D)\V(C) which are tails of
arcs joined to C. (as shown in Fig. 4.6).

u = 
S


C 

w
T



Fig. 4.6

Since D is diconnected, S, T and (S, T) are all nonempty, and there is some
arc (v, w) in D with v ∈ S and w ∈ T.
Hence u is in the directed (n + 1) – cycle (v0, v, w, v2,...,vn). 
Note:
A directed Hamiltonian cycle of D is a directed cycle that includes every
vertex of D.

Theorem 4.5 (Ghouila – Houri’s Theorem) (1960)


v
If D is strict and min {δ–, δ+} ≥ > 1 , then D contains a directed Hamiltonian
cycle. 2

Proof:
Let D satisfies the hypotheses of the theorem, but does not contain a directed
Hamiltonian cycle.
We denote the length of the longest directed cycle in D by l, and let C = (v1,
v2,..., vl, v1) be a directed cycle in D of length l.
v
We note that l > .
2
Let P be a longest directed path in D – V(C) and suppose that P has origin
u, terminus v and length in (as shown in Fig. 4.7).
118 Advanced Graph Theory
 

l

u
C

Fig. 4.7

It is clear that,
v ≥l+m+1 ... (i)
v
since l >
2
v
⇒ m< ... (ii)
2

Set S = {i |(vi–1, u) ∈ A} and T = {i |(v, vi) ∈ A}


We show that S and T are disjoint.
Let Cj, k denote the section of C with origin vj and terminus vk.
If some integer i were in both S and T, D would contain the directed cycle
Ci, i–1 (vi–1, u) P(v, vi) of length l + m +1, contradicting the choice of C
Then, S ∩ T = φ ... (iii)
Now, because P is a maximal directed path in
D – V(C), N–(u) ⊆ V(P) ∪ V(C).
But the number of in - neighbours of u in C is precisely |S| and so
dD− (u) = dP− (u) +|S|

− v
since dD (u) ≥ δ ≥ and dP− (u) ≤ m ,
2
v
⇒ |S| ≥ – m ....(iv)
2
Similarly,
v
|T| ≥ –m ....(v)
2
by (ii), both S and T are nonempty.
Directed Graphs 119
Adding equ. (iv) and (v) and using (i), we get
|S| + |T| ≥ l – m + 1.
Therefore, by (iii)
|S ∪ T| ≥ l – m + 1 ....(vi)
since S and T are disjoint and nonempty, there are positive integers i and
k s.t. i ∈ S, i + k ∈ T.
and
i + j ∉ S ∪ T for i ⊆ j ⊂ k .....(vii)
from (vi) & (vii), it can be seen that, k ≤ m.
Thus the directed cycle
C i + k, i – 1 (vi+1, u) P (v, vi+k), which has length l + m + 1 – k, is longer than C.
Which is a contradiction to establish the theorem. 

4.5 Acyclic Graph


An orientation D of an undirected graph G is said to be acyclic, if and only if
it has no directed cycle.
α(G) be denoted the number of acyclic orientation of G.
Theorem 4.6: (Stanley Theorem, 1973)
Let G be a graph of order n. Then the number of the acylic orientations
of G is
α(G) = (–1)n χG (–1)
Where χG is the chromatic polynomial of G.
Proof:
This proof is possible by induction on ∈G.
Firstly, if G is discrete, then χG(k) = kn, and α(G) = 1 = (–1)n (–1)n = (-1)nχG
(–1) as required Now χG(k) is a polynomial that satisfies the recurrence χG(k)
= χG – e(k) – χG*e(k). To prove the claim, we have to show that α(G) satisfy the
same recurrence.
If α(G) = α(G – e) + α(G * e) ....(i)
Then, by induction hypothesis,
α(G) = (–1)n χG–e(–1) + (–1)n–1 χG * e (–1)
= (–1)n χG (–1)
for equ. (i) we can see that every acyclic orientation of G gives an acylic
orientation of G – e. On the other hand, if D is an acyclic orientation of G – e for
e = u v, it extends to an acylic orientation of G by putting e1: u → v or e2: v → u.
120 Advanced Graph Theory

If D has no directed path u ∗→ v, we choose e2 and if D has no acyclic, it



cannot have both ways u  → v and v ∗
→u
We can conclude that
α(G) = α(G – e) + b,
where b is the number of acyclic orientation D of G – e that extend in both
ways e1 and e2. The acyclic orientation D that extend in both ways are exactly
those that contain.

Neither u ∗
→ v nor v  → u as a directed path ...(ii)
Each acyclic orientation of G * e corresponds in a natural way to an acyclic
orientation D of G – e that satisfies (ii).
Therefore b = a (G * e)

4.6 Di-Orientable Graph


A Graph G is said to be di-orientable, if and only if there is a di-connected
oriented graph D such that G = U(D)
Theorem 4.7: (Robbins Theorem, 1939)
A connected graph G is diorientable if and only if G has no bridges.
Proof:
If G has a bridge e, then any orientation of G has atleast two
dicomponents.
Suppose that G has no bridges, Hence G has a cycle C, and a cycle is always
di-orientable.
Let H ⊆ G be maximal such that it has a di-oriented DH. If H = G, then it
has done.
Otherwise, there exists an edge e = vu ∈ EG such that u ∈ H but v ∉ H
(because G is connected).
The edge e is not a bridge and thus there exists a cycle.

C′ = e PQ : v→ u ∗
→ w 
→v
in G, where w is the last vertex inside H
We can observe in Fig. 4.8. In the di-orientation DH of H there is a directed
path
P′ : u ∗
→ w.
Directed Graphs 121

u

e

1
p o

Q
w

Fig. 4.8

We can orient e : v → u and the edges of Q in the direction


Q : w ∗
→ v to obtain a directed
cycle e P′Q : v → u ∗
→ w ∗
→ v.
We can conclude that, G[VH ∪ VC] has a di-orientation, which contradicts
the maximality assumption on H. 
Note:
Let D be a directed graph. A directed Euler tour of D is a directed closed
walk that uses each edge exactly once. A directed Euler trail of D is a directed
walk that uses each edge exactly once.
Example 4.1: Consider a tournament of six teams 1, 2, 3,…,6. and let T be the
scoring digraph as in the Fig. 4.9. Here 1 → 2 → 4 → 5 → 6 → 3 is a directed
Hamilton path, but this extends to a directed Hamilton Cycle (by adding 3
→ 1) so, for every team there is a Hamilton path, where it is a winner, and in
another, it is a looser?
Solution:
We consider, s1(j) = dT(j) be the winning number of the team j (the number
of teams beaten by j).
In the above tournament
s1(1) = 4, s1 (2) = 3, s1(3) = 3, s1(4) = 2, s1(5) = 2, s1(6) = 1.
so, is the team 1 a winner? If so, is 2 or 3 next?
We define the second level scoring for each team by
s2(j) = ∑ s1(i) ... (i)
ji∈ET
This tells us how good team j beat.
122 Advanced Graph Theory

In the above figure, we have


s2(1) = 8, s2(2) = 5, s2(3) = 9, s2(4) = 3, s2(5) = 4 and s2(6) = 3.
Now, it seems that 3 in the winner, but 4 and 6 have the same score. We
can continue by defining inductively the mth-level scoring by
sm(j) = ∑ sm–1(i) ... (ii)
ji∈ET

It can be proved by matrix method that for a di-connected tournament with


atleast four teams, the level scorings will eventually stabilize in a ranking of the
tournament; there exists an m for which the mth level scoring gives the same
ordering as do the (m + k)th-level scorings for all k ≥ 1.
If T is not di-connected;, then the level scoring should be carried out with
respect to the di-components.
In the example the level scoring gives
1→ 3 → 2 → 5 → 4 → 6
as the ranking of the tournament.
1 2

3
6

4
5

Fig. 4.9

Theorem 4.8
If G is a 2-edge-connected, then G has a di-connected orientation.
Proof:
Let G be 2-edge-connected. Then G contains a cycle G1. We define
inductively a sequence G1, G2,…, of connected subgraphs of G as follows: if
Gi (i = 1, 2,…) is not a spanning subgraph of G, let vi be a vertex of G not in Gi.
Then there exist edge-disjoint paths Pi and Qi from vi to Gi. Define
Gi+1 = Gi ∪ Pi ∪ Qi
Since v(Gi+1) > v(Gi), this sequence must terminate in a spanning subgraph
Gn of G.
Directed Graphs 123
We now orient Gn by orienting G1 as a directed cycle, each path Pi as a
directed path with origin vi, and each path Qi as a directed path with terminus
vi. Clearly every Gi, and hence in particular Gn, is thereby given a diconnected
orientation. Since Gn is a spanning subgraph of G it follows that G, too, has a
diconnected orientation.

Theorem 4.9
Let G be a 2k-edge-connected graph with an Euler trail. Then G has a
k-arc-connected orientation.
Proof:
Let v0e1v1,…,eεvε be an Euler trail of G. Orient G by converting the
edge e i with ends v i–1 and v i to an arc a i with tail v i–1 and head v i, for
1≤ i ≤ ε. Now let [S, S ] be an m-edge cut of G. The number of times the
directed trail (v0, a1, v1,…, aε, vε) crosses from S to S differs from the number
of times it crosses from S to S by at most one. Since it includes all arcs of
D, both (S, S ) and ( S , S) must contain at least [m/2] arcs.

Theorem 4.10
Let D be a di-connected tournament with v ≥ 5, and let A be the adjacency
matrix of D. Then Ad+3 > 0, where d is the directed diameter of D.
Proof:
The (i, j)th entry of Ak is precisely the number of directed (vi, vj)-walks of
length k in D. We must therefore show that, for any two vertices vi and vj (possibly
identical), there is a directed (vi, vj)-walk of length d + 3.
Let dij = d(vi, vj)
Then 0 ≤ dij ≤ d ≤ v – 1 and therefore
3 ≤ d – dij + 3 ≤ v + 2
If d – dij + 3 ≤ v then, there is a directed (d – dij + 3)-cycle C containing vj.
A directed (vi, vj)-path P of length dij followed by the directed cycle C together
form a directed (vi, vj)-walk of length d + 3, as desired.
There are two special cases. If d – dij + 3 = v + 1, then P followed by a
directed (v – 2)-cycle through vi followed by a directed 3-cycle through vi
constitute a directed (vi, vj)-walk of length d + 3 (the (v – 2)-cycle exists since
v ≥ 5); and if d – dij + 3 = v + 2, then P followed by a directed (v – 1)-cycle
through vi followed by a directed 3-cycle through vi constitute such a walk.

124 Advanced Graph Theory

4.7 Applications of Directed Graphs

4.7.1 Job Sequencing Problem

Let a number of jobs J1, J2, J3,…, Jn have to be processed on a machine; for
example, each Ji might be an order of bottles or jars in a glass factory. After
each job the machine must be adjusted to fit the requirements of the next job.
If the time of adaptation from job Ji to job Ji is tij, find a sequencing of the
jobs that minimises the total machine adjustment time.
This problem is clearly related to the travelling salesman problem, and no
efficient method for its solution is known. It is therefore desirable to have a
method for obtaining a reasonably good (but not necessarily optimal) solution.
Step 1: Construct a digraph D with vertices v1, v2,…,vn, such that (vi, vj) ∈
A if and only if tij ≤ tji. By definition, D contains a spanning tournament.
Step 2: Find a directed Hamilton path (vi1, vi2,…, vin) of D, and sequence
the jobs accordingly.
Since step 1 discards the larger half of the adjustment matrix [tij], it is a
reasonable supposition that this method, in general, produces a fairly good job
sequence. Note, however, that when the adjustment matrix is symmetric, the
method is of no help whatsoever.
As an example, suppose that there are six jobs J1, J2, J3, J4, J5 and J6 and
that the adjustment matrix is
J1 J2 J3 J4 J5 J6
J1 0 5 3 4 2 1
J2 1 0 1 2 3 2
J3 2 5 0 1 2 3
J4 1 4 4 0 1 2
J5 1 3 4 5 0 5
J6 4 4 2 3 1 0

The sequence J1 → J2 → J3 → J4 → J5 → J6 requires 13 units in adjustment


time. To find a better sequence, construct the digraph D as in step 1. (Fig. 4.10)
(v1, v6, v3, v4, v5, v2) is a directed Hamilton path of D, and yields the sequence
J1 → J6 → J3 → J4 → J5 → J2.
Directed Graphs 125
which requires only eight units of adjustment time. Note that the reverse
sequence
J2 → J5 → J4 → J3 → J6 → J1
is far worse, requiring 19 units of adjustment time.
V1

V6 V2

V5
V3

V4

Fig. 4.10: Segnential Digraph

4.7.2 To Design an Efficient Computer Drum

The position of a rotating drum is to be recognised by means of binary signals


produced at a number of electrical contacts at the surface of the drum. The
surface is divided into 2n sections, each consisting of either insulating or
conducting material. An insulated section gives signal 0 (no current), whereas
a conducting section gives signal 1 (current). For example, the position of
the drum in Fig .4.11 gives a reading 0010 at the four -contacts.

Contacts

Fig. 4.11: A Computer Drum


126 Advanced Graph Theory

a1

000
a2 a16

a8 Arc Label
001 100
a1 0000
a2 0001
a9 a15 a3 0011
010 a4 0111
a5 1111
a6 1110
a10 a14 a7 a7 1100
a3
a8 1001
a9 0010
a11 101 a10 0101
a13 a11 1011
a12 0110
011 110 a13 1101
a12 a14 1010
a15 0100
a4 a6 a16 1000
111

a5

Fig. 4.12: Binary Form


1
1

1
1

1 1
1 1
1 1
1
1
1

1
1
1

Fig. 4.13: Signential Drum


Directed Graphs 127
If the drum were rotated clockwise on section, the reading would be 1001.
Thus these two positions can be distinguished, since they give different readings.
However, a further rotation of two sections would result in another position
with reading 0010, and therefore this latter position is indistinguishable from
the initial one.
We design the drum surface in such a way that the 2n different positions of
the drum can be distinguished by k contacts placed consecutively around part
of the drum, and we would like this number k to be as small as possible.
First note that k contacts yield a k-digit binary number, and there are 2k
such numbers. Therefore, if all 2n positions are to give different readings, we
must have 2k ≥ 2n, that is, k ≥ n. We shall show that the surface of the drum can
be designed in such a way that n contacts suffice to distinguish all 2n positions.
We define a digraph Dn as follows: the vertices of Dn are the (n – 1)-digit
binary numbers p1p2,…, pn–1 with pi = 0 or 1. There is an arc with tail p1p2,…,
pn–1 and head q1q2,…,qn–1 if and only if pi+1 = qi for 1 ≤ i ≤ n – 2; in other words,
all arcs are of the form (p1p2,…, pn–1, p2p3,…, pn). In addition, each arc (p1p2...
pn–1, p2p3,…, pn) of Dn is assigned the label p1p2,…, pn. D4 is shown in Fig. 4.12
Clearly, Dn is connected and each vertex of Dn has indegree two and
outdegree two. Therefore, Dn has a directed Euler tour. This directed Euler
tour, regarded as a sequence of arcs of Dn, yields a binary sequence of length
2n suitable for the design of the drum surface.
For example, the digraph D4 of Fig. 4.12 has a directed Euler tour (a1, a2,…,
a16), giving the 16-digit binary sequence 0000111100101101. (Just read off the
first digits of the labels of the ai.) A drum constructed from this sequence is
shown in Fig. 4.13.

4.7.3 Ranking of the Participants in a Tournament

A number of players each play one another in a tennis tournament. Given the
outcomes of the games, how should the participants be ranked?
We consider, for example, the tournament of Fig. 4.13. This represents the
result of a tournament between six players; we see that player 1 beat players 2,
4, 5 and 6 and lost to player 3, and so on.
One possible approach to ranking the participants would be to find a directed
Hamilton path in the tournament, and then rank according to the position on the
path. For instance, the directed Hamilton path (3, 1, 2, 4, 5, 6) would declare
128 Advanced Graph Theory

player 3 the winner, player 1 runner-up, and so on. This method of ranking, does
not bear further examination, since a tournament generally has many directed
Hamilton paths; our example has (1, 2, 4, 5, 6, 3), (1, 4, 6, 3, 2, 5) and several
others.
Another approach would be to compute the scores (numbers of games won
by each player) and compare them. We obtain the score vector as:
s1 = (4, 3, 3, 2, 2, 1)

Fig. 4.13: Ranking Problem

This score vector does not distinguish between players 2 and 3 even though
player 3 beat players with higher scores than did player 2. We are thus led to
the second-level score vector
s2 = (8, 5, 9, 3, 4, 3)
in which each player’s second-level score is the sum of the scores of the
players he beat. Player 3 now ranks first. Continuing this procedure we obtain
further vectors as under:
s3 = (15, 10, 16, 7, 12, 9)
s4 = (38, 28, 32, 21, 25, 16)
s4 = (90, 62, 87, 41, 48, 32)
s6 = (183, 121, 193, 80, 119, 87)
The ranking of the players is seen to fluctuate a little, player 3 vying with
player 1 for first place. This procedure always converges to a fixed ranking when
the tournament in question is disconnected and has at least four vertices. This
will lead to a method of ranking the players in any tournament.
Directed Graphs 129
Note:
In a diconnected digraph D, the length of a shortest directed (u, v)-path is
denoted by dD(u, v) and is called the distance from u to v; the directed diameter
of D is the maximum distance from any one vertex of D to any other.

4.8 Network Flows


Various transportation networks or pipelines are conveniently represented by
weighted directed graphs. These networks possess some additional requirements.
Goods are transported through specific places or warehouses to final locations
or market places through a network of roads.
A network N consists of:
(i) An underlying digraph D = (V, E)
(ii) Two distinct vertices s and r, known as the source and the sink of N.
(iii) A capacity function A : V × V → IR+ for which
α(e) = 0, iff e ∉ E.
We denote VN = V and EN = E.
Let A ⊆ VN be a set of vertices
and f : VN × VN → IR any function such that f(e) = 0 if e ∉ EN.
We can adopt the following notations:
4

2
5 5
s 4 2 r
4
6 5
4

Fig. 4.14

[A, A ] = {e ∈ ED |e = uv, u ∈ A, v ∉ A|}.

f +(A) = ∑ f (e) and f –(A)


e ∈[ A, A]

= ∑ f (e) .
e ∈[ A, A]

Particularly,
f +(u) = ∑ f (uv)
v∈ N

and f –(u) = ∑ f (uv)


v∈ N
130 Advanced Graph Theory

Hence
A flow in a network N is a function
f : VN × VN → IR such that o ≤ f(e) ≤ A(e) ∀e
and f –(v) = f +(v) ∀v ∉ {s, r}
Note:
(i) Every network N has a zero flow defined by f(e) = o∀e.
(ii) For a flow of and each subset A ⊆ VN, define the resultant flow from A and
the value of f as the number val(fA) = f +(A) – f –(A) and val(f) = val (fs) =
f +(s) – f –(s)
(iii) A flow f of a network N is a maximum flow, if there does not exist any flow
f ′ such that val(f) < val(f ′)

4.9 Improvable Flows


Let f be a flow in a network N, and let P = e1 e2 e3...en be an undirected path in N
where an edge ei is along p, if ei = vi vi+1 ∈ EN, and against P, if ei = vi+1 vi ∈ EN
we define a non-negative number l(p) for P as follows:
l(P) = min ei l(e),
where l(e) = {α(e) – f(e)
for e is along f(e). for e is againt P}
we may define,
Let f be a flow in a network N. A path P : s ∗
→ r is (f –) improvable, if
l(p) > 0
On the right, the bold path has value l(P) = 1 and therefore this path is
improvable. (see fig 4.15)

4
5
1
s 3 0 r
3
4
4

Fig. 4.15

Lemma 4.1
Let N = (D, s, r, α) be a network with a flow f
(i) If A ⊆ N \ {s, r}, then val(fA) = 0
Directed Graphs 131
(ii) val(f) = –val(fr).
Proof: Let A ∈ N \ {s, r}. Then

0= ∑ ( f + (v) − f − (v))
v ∈A

= ∑ ( f + (v ) − ∑ f − (v )
v ∈A v∈ A

= f +(A) – f –(A)
= val (fA)
where the third equality holds since the values of the edge uv with u, v ∈
A cancel each out.
Similarly we can prove second claim.
Lamma 4.2
Let N be a network. If f be a maximum flow of N, then it has no improvable
paths.
Proof:
We define,

{
{f(e) + l(p) if e is along P
f ′(e) = f(e) – l(p) if e is against P
f(e) if e is not in P

Than f ′ is a flow, since at each intermediate vertex v ∉ {r, s}, we have


f(f ′)–(v) = f(f ′)+(v). and the capacities of the edges are not exceeded.
Now val(f ′) = val (f) + l(p), since p has exactly one edge sv ∈EN for the
source s. Hence, if l(P) > 0, then we can improve the flow (see Fig. 4.16)

4.10 Max-Flow Min-Cut Theorem


Let N = (d, s, r, α) be a network. For a subset S ⊂ VN with s ∈ S and r ∉ S,
let the cut by S be
[S] = [S, S ] ( = {uv ∈ EN | u ∈ S, u ∉ S})
The capacity of the cut [S] is the sum
α[S] = α+(S) = ∑ α(e)
e∈[S]
A cut [S] is a minimum cut, if there is no cut [R] with α[R] < α[S]
for example in Fig. 4.17. The capacity of the cut for the indicate vertices
is equal to 10.
132 Advanced Graph Theory

5 2
5

s 4 r
4 2

6
5
4

Fig. 4.17

Lemma 4.3
For a flow f and a cut [S] of N, val(f) = val (fs) = f +(S) – f –(S)
Proof:
Let Si = S \ {s}
Now, val (Si) = 0 [since Si ⊆ N \ {s, r}]
and val (f) = val (fs)
val(fs) = val(fs) – ∑ f ( s, v) + ∑ f (v, s )
v ∈ si v ∈ si

+ val( fs ) +
i
∑ f (sv) − ∑ f (vs)
v ∈ si v ∈ si

= val(fs) = val(f)

Theorem 4.11
For a flow f and any cut [S] of N, val(f) ≤ α[S]. Furthermore, equality holds
if and only if for each u ∈ S and v ∉ S,
(i) if e = uv ∈ EN, then f(e) = a(e)
(ii) if e = uv ∈ En, then f(e) = 0.

Proof:
We have from definition of flow,
f +(S) = ∑
e ∈[ s ]
f (v ) ≤ ∑ α(e) = a[S]
e ∈[ s ]
...(i)

and f –(S) ≥ 0
Also val(f) = val(fS) = f +(S) – f –(S)
[Lemma 4.3]
Directed Graphs 133
Hence, val(f) ≤ α[S], as required
Also, the equality val(f) = α[S] holds iff
(1) f +(S) = α[S]
and (2) f –(S) = 0 ... (ii)
This holds iff f(e) = α(e) ∀ e ∈ [S]
( f(e) ≤ α(e))
and (2) f(e) = 0 ∀e = uv
with u ∈ S and v ∉ S.
This proves the claim. 

Note:

If f is a maximum flow and [S] a minimum cut, then val(f) ≤ α[S]

4.11 k-flow
A k-flow (H, α) of an undirected graph G is an orientation H of G together with
an edge colouring α : EH → [0, k –1]
such that for all vertices u ∈ V.
∑ α( f )
= ∑ α(e)
… (i)
f = uv∈EH e = uv∈EH

i.e. The sum of the incoming values equals the sum of outgoing values. A
k-flow is nowhere zero, if α(e) ≠ 0 ∀ e ∈ EH.
In the k-flows we do not have any source or sink for our convenience,
let α(e-1) = –α(e) ∀ e ∈ EH
in the orientation H of G so that the condition (i) becomes
∑ α(e) =0 …(ii)
e = uv∈EH

The condition (ii) generalizes to the subset A ≤ VG in a natural way


∑ α(e) = 0 …(iii)
e∈[ A, A ]

since the values of the edges inside A cancel out each other.

Note:

If G has nowhere zero k-flow for some k, then G has no bridges.


for example, the graph fig 4.18 is with a nowhere zero 4-flow.
134 Advanced Graph Theory

1 1
2

1 3 2

Fig. 4.18

4.12 Tutte’s Problem


This problem was conjected by TUTTE(1954). That every bridgeless graph
has a nowhere zero 5-flow but does not have any nowhere 4-flows, and so 5 is
the best one can think f. Tutte’s conjecture resembles the 4-colour theorem, and
indeed, the conjective is known to hold for the planar graphs. This proof uses
the 4-colour theorem, which will be discussed later on.

Proposition 4.1:

A graph has a 2-flow if and only if all its degrees are even.

Proof:
Since a multigraph admits a k-flow iff it admits a Zk-flow.
A graph G = (V, E) has 2-flow iff it has a Z2-flow i.e. iff the constant map.

E → Z 2 with value 1 satiesfies (F2).
This is the case iff all degrees are even. 

Proposition 4.2:

A cubic graph has a 3-flow iff it is bipertite.

Proof:
Let G = (V, E) be a cubic graph.
We assume that G has a 3-flow, and hence a Z3-flow f.
We can show that cycle C = x0x1,…, xpxo in G has been length.
We consider two consecutive edges on C
say Ci –1 : = xi -1.
Directed Graphs 135
If f assigned the same value to these edges in the direction of the foreward
orientation of C, i.e. f (ei -1, xi -1, xi) = f(ei, xi, xi+1), than f could not satisfy (F2) at
xi for any non-zero value of the third edge at xi.
Therefore, f assign the value 1 2 and to the edges of C alternately, and in
particular C has even length.
Conversely, let G is bipartite, with vertex bipartition {X, Y}. Since G is

cubic, the mapping E → Z3 defined by
f(e, x, y) : = 1 and f (e, y, x) : = 2 for all edges e = xy with x ∈ X and y ∈
Y is a Z3-flow on G.
Hence G has a 3-flow. 

Proposition 4.3:
For all even n > 4, φ(Kn) = 3.

Proof:
φ(Kn) ≥ 3 for even n.
By induction process on n, we show that every G = K n with even
n > 4 has a 3-flow.
Let n = 6, there G is the edge-disjoint union of three graphs G1, G2, G3, with
G1, G2 = K3 and G3 = K3, 3.
It is clear that G1 and G2 each have a 2-flow, whicle G3 has a 3-flow. The
union of all these flows is a 3-flow on G.
Now let n > 6, and assume the assertion holds for n – 2, clearly,
G is the edge-disjoint union of a K n–2 and a graph G′ = (V′, E′) with
G′ = Kn–2*K2.
The Kn–2 has a 3-flow by induction.
To find a Z3-flow on G′.
For every vertex z of the Kn–2 ⊆ G′,
let f3 be a Z3-flow on the triangle zxyz ⊆ G′,
where e = xy is the edge of the K2 in G′.
Let f : F 1 → Z3 be the sum of these flows.
It is clear that, f is nowhere zero, except possible in (e, x, y) and
(e, y, x).
If f(e, x, y) ≠ 0 then f is the desired Z3-flow on G′. If f(e, x, y) = 0, then f +
fz is a Z3-flow on G′.
136 Advanced Graph Theory

Proposition 4.4:
Every 4-edge-connected graphs has a 4-flow.

Proof:
Let G be 4-edge connected graph. G has two edge-disjoint spanning tree
Ti , i = 1, 2.
For each edge e ∉ Ti, let Ci, e be the unique cycle in Ti+e and let fi, e be a Z4-
flow of value i around Ci, e more precisely: a Z4-circulation on G with values
i and – i on the edges of Ci, e and zero otherwise.
Let fi : = ∑ f i ,e ...(i)
e ∈T1
since each e ∉ T1 lies only one cycle C1, e′, f1 takes only the value 1 and
– 1 (= 3 ) outside T1.
Let F: = {e ∈ E(T1) | f1(e) = o) ...(ii)

and f2; = ∑ f 2, e ...(iii)


e∈ F
As above,
f2(e) + 2 = – 2 ∀ e ∈ F ...(iv)
Now, f : = f1 + f2 is the sum of Z4. Circulations, and hence itself a Z4
circulation.
Moreover, f is nowhere zero: on edges in F it takes the value , on edges
of T1–F it agrees with f1, and on all edges outside T1 it takes one of the values
or .
Hence f is a Z4-flow on G.

SUMMARY
1. A diagraph D = (V, E) consists of a finite set of vertices V joined by a set
of directed edges E. A directed edge from vertex x to vertex y is denoted
by (x, y).
2. The indegree of a vertex v, denoted by indeg (v), is the number of edges
terminating at v; its outdegree, denoted by outdeg (v), is the number of edges
leaving v. A vertex with indegree 0 is a source; a vertex with outdegree 0 is
a sink.
3. The adjacency matrix of a diagraph is A = (aij), where aij = number of
directed edges from vertex vi to vertex vj
Directed Graphs 137
4. Let D be a diagraph with vertices v1, v2, ..., vn and e edges. Then
n n
∑ indeg(vi ) = e = ∑ outdeg(vi )
i = 1 i =1

5. A loop-free digraph with exactly one edge between any two distinct vertics
is a dominance diagraph or a tournament.
6. A weighted digraph has a weight w for every edge.
7. The weight of a directed path is the sum of the weights of the edges along
the path.
8. The weighted adjacency matrix of a digraph (V, E) is W = (wij), where

 ∞ if (vi , v j ) ∉ E

 weight of edge (i , j ) otherwise
  
9. A shortest path from u to v in a weighted digraph weighs the least.
10. Dijkstra’s algorithm finds a shortest path and its length from the source to
any vertex in a weighted digraph.

EXERCISES

1. Show that ∑ d − (v ) = Î = ∑ d + (v ) .
v ∈V v ∈V

2. Show that D is diconnected if and only if D is connected and each block of


D is disconnected.
3. Show that G has an orientation D s.t. |1d+(v) – d–(v)| ≤ 1 for all v ∈ V.
4. Show that if D is strict and max {δ– δ+} \ k > 0, then D contain a directed
cycle of length at least k + 1.
5. Prove that every tournament has a directed Hamilton path.
6. Prove that D(G) is k-are-connected iff G is k-edge-connected.
7. Find a circular sequence of seven 0’S and seven 1’s such that all 4-digit binary
numbers except 0000 and 1111 appear as blocks of the sequence.
8. Show, by considering the Petersen graph, that the following statement is false:
every graph G has an orientation in which, for every S ⊆ V, the cordinalities
of (S, S ) and (S , S) differ by atmost one.
138 Advanced Graph Theory

9. Apply the method of ranking.


(a) the four tournaments shown in Fig. below.
(b) the tournament with adjacency matrix.
A B C D E F G H I J
A
0 1 1 1 1 1 0 0 1 1
B 0 0 1 0 0 1 0 0 0 0
C
0 0 0 0 0 0 0 0 0 0
D
0 1 1 0 1 1 0 0 1 0
E
0 1 1 0 0 0 0 0 0 0
F
0 0 1 0 1 0 0 0 0 0
G
1 1 1 1 1 1 0 0 1 0
H
1 1 1 1 1 1 1 0 1 1
I 0 1 1 0 1 0 0 0 0 0
J 0 1 1 1 1 1 1 0 1 0

10. (a) Show that Nash-Williams’ theorem is equivalent to the following


statement: if every bond of G has at least 2k edges, then there is an
orientation of G in which every bond has at least k arcs in each direction.
(b) Show, by considering the Grotzsch graph, that the following analogue
of Nash-Williams’ theorem is false: if every cycle of G has at least 2k
edges, then there is an orientation of G in which every cycle has at least
k arcs in each direction.
11. Let v1, v2...,vv be the vertices of a digraph D. The adjacency matrix of D is
the v × v matrix A = [aij] in which aij is the number of arcs of D with tail
vi and head vj. Show that the (i, j)th entry of Ak is the number of directed
(vi, vj)-walks of length k in D.
12. Let D1, D2,...,Dm be the components of D̂ . The condensation D̂ of D is a
directed graph with m vertices w1, w2,..., wm; there is an arc in D̂ with tail wi
and head wj if and only if there is an arc in D with tail in Di and head in Dj.
Show that the condensation D̂ of D contains no directed cycle.
13. In a network N, Prove that the value val(f) of a maximum flow equals the
capacity a[S] of a minimum cut.
14. State ant prove seymour’s 6-flows theorem.
15. Prove that a connected graph G has a flow number f(G) = 2 if and only if it
is eulerian.
Directed Graphs 139
Suggested Readings
1. J.A. Bondy and U.S.R. Murty, Graph Theory with Applications, Elsevier,
New York, 1976.
2. T.H. Cormen, Introduction to Algorithms, McGraw-Hill, New York, 1990.
3. L. Ford and D. Fulkerson, Flows and Networks, Prinecton University
Press, Princeton, NJ, 1962.
4. R.P. Girmaldi, Discrete and Combinatorial Mathematics: An Applied
Introduction, 4th ed., Addison-Wesley, Reading, MA, 1999, pp. 324-480.
5. E. Horowitz and S.Sahni, Fundamentals of Data Structures, Computer
Science Press, Potomac, MD, 1976 pp. 301-334.
qqq
5
Matching & Covering

Joseph Bernard
Kruskal
(1928–)

5.1 Introduction
If we are given a graph and are asked to find in it as many independent edges
as possible. How would we go about this? Will we be able to pair up all its
vertices in this way? If not, how can we be sure that this is indeed impossible?
Somewhat surprisingly, this basic problem does not only lie at the heart of
numerous applications, it also gives rise to some rather interesting graph theory.
A subset M of E is called a matching in G, if its elements are linked
and no two are adjacent in G; the two ends of an edge in M are called
matched under M. A matching M saturates a vertex v, and v is said to
be M-saturated, if some edge of M is incident with v; otherwise, v is
M-unsaturated. If every vertex of G is M-saturated, the matching M is perfect.
M is a maximum matching if G has no matching M′ with |M′|>|M|;
It is clear that every perfect matching is maximum. Maximum and perfect
matching in a graph are indicated in Fig. 5.1. (a & b).

© The Author(s) 2023 141


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_5
142 Advanced Graph Theory

V7

V6 V1

V8
V5 V2

(a) (b)
V4 V3
Fig. 5.1: (a) A Maximum Matching; (b) a Prefect Matching

Let M be a matching in G. An M-alternating path in G is a path whose edges


are alternately in E \ M and M. In Fig. 5.1(a), the path v5 v8 v1 v7 v6 in the graph
is an M-alternating path.
An M-augmenting path is an M-alternating path whose origin and terminus
are M-unsaturated.
Frankly speaking, a set M of independent edges in a graph
G = (V, E) is called a matching. M is a matching of U ⊆ V if every vertex in U
is incident with an edge in M. The vertices in U are then called matched (by
M); vertices not incident with any edge of M are unmatched.
A k-regular spanning subgraph is called a k-factor. Thus, a subgraph H ⊆
G is a 1-factor of G if and only if E(H) is a matching of V. The problem of how
to characterize the graphs that have a 1-factor, i.e. a matching of their entire
vertex set, will be our main theme in this chapter.
Each vertex of H has degree either one or two in H, since it can be incident
with atmost one edge of M and one edge of M′. Thus each component of H is
either an even cycle with edges alternately in M and M ′, or else a path with
edges alternately in M and M ′. from equ.(i), H contains more edges of M ′ than
of M, and therefore some path component P of H must start and end with edges
of M ′. The origin and terminus of P, being M′-saturated in H, are M-unsaturated
in G. Thus we can say that P is an M-augmenting path in G.

(a) (b)
Fig. 5.2: (a) G, with M heavy and M´ broken (b) G[M∆M′]
Matching & Covering 143
Theorem 5.1: (Berge Theorem, 1957)
A matching M in G is a maximum matching, if G contains no
M-augmenting path.
Proof:
We consider a matching M in a graph G, and suppose G contains an
M-augmenting path v0 v1 v2,…, v2m + 1
Redefining M ′ ⊆ E by
M′ = (M \ {v1, v2, v3 v4,…,v2m – 1, v2m} ∪ {v0, v1, v2 v3,…, v2m v2m – 1}
Then M ′ is a matching in G, and |M ′| = |M| + 1
Thus M is not a maximum matching.
Conversely, we consider that M is not a maximum matching, and let M ′ be
a maximum matching in G.
Then, |M ′| > |M| ...(i)
Set H = G [M ∆ M ′], where M ∆ M ′ denotes the symmetric difference of
M and M ′. 

5.2 Matching and Covering in Bipertite Graphs


For any set S of vertices in G, we define the neighbour set of S in
G to be the set of all vertices adjacent to vertices in S; this set is
denoted by NG(S). Suppose, that G is a bipartite graph with bipartition
(X, Y). In many applications one wishes to find a matching of G that saturates
very vertex in X; an example is the personnel assignment problem. Necessary
and sufficient conditions for the existence of such a matching were first given
by Hall (1935) (Theorem 5.3).
For this whole section, let G = (V, E) be a fixed bipartite graph with
bipartition {A, B}. Vertices denoted as a, a′ etc. will be assumed to lie in A,
vertices denoted as b etc. will lie in B.
How can we find a matching in G with as many edges as possible? Let us
start by considering an arbitrary matching M in G. A path in G which starts in
A at an unmatched vertex and then contains, alternately, edges from E \ M and
from M, is an alternating path with respect to M. An alternating path P that ends
in an unmatched vertex of B is called an augmenting path (Fig. 5.3), because
we can use it to turn M into a larger matching: the symmetric difference of M
with E(P) is again a matching (consider the edges at a given vertex), and the
set of matched vertices is increased by two, the ends of P.
144 Advanced Graph Theory

M1
P

M
A B
A B

Fig. 5.3: Augmenting the Matching M by the Alternating Path P

Alternating paths play and important role in the practical search for large
matchings. In fact, if we start with any matching and keep applying augmenting
paths until no further such improvement is possible, the matching obtained will
always be an optimal one, a matching with the largest possible number of edges.
The algorithmic problem of finding such matchings thus reduces to that of finding
augmenting paths­—which is an interesting and accessible algorithmic problem.
Our first theorem characterizes the maximal cardinality of a matching
in G by a kind of duality condition. Let us call a set U ⊆ V a cover of
E (or a vertex cover of G) if every edge of G is incident with a vertex in U.
Theorem 5.2: (König’s Theorem 1931)
The maximum cardinality of matching in G is equal to the minimum
cardinality of a vertex cover.
Proof:
Let M be a matching in G of maximum cardinality. From every edge in M
let us choose one of its ends: its end in B if some alternating path ends in that
vertex, and its end in A otherwise. We shall prove that the set U of these |M|
vertices covers G; since any vertex cover of G must cover M, there can be none
with fewer than |M| vertices, and so the theorem will follow.

U UB

U UA

Fig. 5.4 The vertex cover U

Let ab ∈ E be an edge; we show that either a or b lies in U. If


ab ∈ M, this holds by definition of U, so we assume that ab ∉ M. Since M is a
maximal matching, it contains an edge a′b′ with a = a′ or b = b′. In fact, we may
assume that a = a′; for if a is unmatched (and b = b′), then ab is an alternating
Matching & Covering 145
path, and so the end of a′b′ ∈ M chosen for U was the vertex b′ = b. Now if
a′ = a is not in U, then b′ ∈ U, and some alternating path P ends in b: either
P′ : = P′ (if b ∈ P) or P′ : = Pb′a′b. By the maximality of M, however, P′ is not an
augmenting path. So b must be matched, and was chosen for U from the edge of
M containing it.
Theorem 5.3: [Hall, 1935] [Marriage Theorem]
G contains a matching of A if and only if |N(S)| ≥ |S| for all S ⊆ A.
Proof:
We give three proofs for the non-trivial implication of this theorem, i.e. that
the ‘marriage condition’ implies the existence of a matching of A. The first of
these is based on König’s theorem; the second is a direct constructive proof by
augmenting paths; the third will be an independent proof from first principles.
First proof. If G contains no matching of A, then by Theorem 5.2 it has a
cover U consisting of fewer than |A| vertices, say U = A′ ∪ B′ with A′ ⊆ A and
B′ ⊆ B. Then
|A′| + |B′| = |U| < |A|,
and hence
|B′| < |A| – |A′| = |A \ A′|
(Fig. 5.5). By definition of U, however, G has no edges between
A \ A′ and B \ B′, so
|N (A \ A′) ≤ |B′| < |A \ A′|
and the marriage condition fails for S : A \ A′.

A

B

Fig. 5.5: A Cover by Fewer than |A| Vertices

Second proof: Consider a matching M of G that leaves a vertex of A


unmatched; we shall construct an augmenting path with respect to M. Let a0,
b1, a1, b2, a2,…, be a maximal sequence of distinct vertices ai ∈ A and bi ∈ B
satisfying the following conditions of all i ≥ 1 (Fig. 5.6):
(i) a0 is unmatched;
(ii) bi is adjacent to some vertex af (|i) ∈ {a0,…, ai – 1};
(iii) aibi ∈ M.
146 Advanced Graph Theory

By the marriage condition, our sequence cannot end in vertex of A: that


i vertices a0,…,ai –1 together have a least i neighbours in B, so we can always
find a new vertex bi ≠ b1,…, bi –1 that satisfies (ii). Let bk ∈ B be the last vertex
of the sequence. By (i) – (iii),
P: = bkaf(k)bf(k)af 2(k)af 3(k),…, afr(k)
with f r(k) = 0
is an alternating path.
a2 b2
a0 b1
a1 b3

a3 b4

a4 b5

Fig. 5.6: Proving the Marriage Theorem by Alternating Paths

What is it that prevents us from extending our sequence further? If bk is


matched, say to a, we can indeed extend it by setting ak : = a, unless a = ai with
0 < i < k, in which case (iii) would imply bk = bi with a contradiction. So bk is
unmatched, and hence P is an augmenting path between a0 and bk.
Third proof: We apply induction on |A|. For |A| = 1 the assertion is true.
Now let |A| ≥ 2, and assume that the marriage condition is sufficient for the
existence of a matching of A when |A| is smaller.
If |N(S)| ≥ |S| + 1 for every non-empty set S ⊂ A, we pick an edge ab ∈ G
and consider the graph G′ : = G – {a, b}. Then every non-empty set S ⊆ A \
{a} satisfies
|NG ′ (S)| ≥ |NG (S) – 1| ≥ |S|,
so by the induction hypothesis G′ contains a matching of A \ {a}. Together with
the edge ab, this yields a matching of A in G.
Suppose now that A has a non-empty proper subset A′ with |B′| = |A′| for
B′ := N(A′). By the induction hypothesis, G′ := G[A′ ∪ B′] contains a matching
of A′. But G – G′ satisfies the marriage condition too: for any set S ⊆ A \ A′
with |NG–G ′(S) < |S| we would have |NG(S ∪ A′)| < |S ∪ A′|, contrary to our
assumption. Again by induction, G – G′ contains a matching of A \ A′. Putting
the two matchings together, we obtain a matching of A in G.

Matching & Covering 147
Corollary 5.1:
If |N(S)| ≥ |S| – d for every set S ⊆ A and some fixed d ∈ N, then G contains
a matching of cardinality |A| – d.
Proof:
We add d new vertices to B, joining each of them too all the vertices in A.
By the marriage theorem the new graph contains a matching of A, and at least
|A| – d edges in this matching must be edges of G. 
Corollary 5.2:
If G is k-regular with k ≥ 1, then G has a 1-factor.
Proof:
If G is k-regular, then clearly |A| = |B|; it thus suffices to show that G contains
a matching of A. Now every set S ⊆ A is joined to N(S) by a total of k|S| edges,
and these are among the k|N(S)| edges of G incident with N(S). Therefore k|S|
≤ k|N(S)|, so G does indeed satisfy the marriage condition. 
Corollary 5.3:
If G is a k-regular bipartite graph with k > 0, then G has a perfect matching.
Proof:
Let G be a k-regular bipartite graph with bipartition (X, Y). Since G is
k-regular, k|X| = |E| = k|Y| and so, since k > 0, |X| = |Y|. Now let S be a subset
of X and denote by E1 and E2 the sets of edges incident with vertices in S and
N(S), respectively. By definition of N(S), E1 ⊆ E2 and therefore
k|N(S)| = |E2| ≥ |E1| = k|S|
It follows that |N(S) ≥ |S| and hence, by theorem 5.3, that G has a matching
M saturating every vertex in X. Since |X| = |Y|, M is a perfect matching.

Note:
The above theorem is called marriage theorem since it can be more colourfully
restated as follows: If every girl in a town knows exactly k boys, and every boy
knows exactly k girls, then each girl can marry a boy she knows, and each boy
can marry a girl he knows.
5.2.1 Covering
A covering of a graph G is a subset k of V such that every edge of G has at
least one and in K. A covering K is a minimum covering if G has no covering
K′ with |K′| < |K|.
148 Advanced Graph Theory

If K is a covering of G, and M is a matching of G, then K contains at least


one end of each of the edges in M. For any matching M and any covering K,
|M| ≤ |K|.
If M* is a maximum matching and K is a minimum covering, then
|M*| ≤ | K |
This result in due to König (1931) and closely related to Hall’s Theorem.
(see Fig. 5.7).
Lemma 5.1:
Let M be a matching and K be covering such that |M| = |K|. Then M is a
maximum matching and K is a minimum covering.
Proof:
If M* is a maximum matching and K is a minimum covering then,
|M| ≤ |M*| ≤ | K | ≤ |K|
since |M| = |K|
it follows that,
|M| = |M*|
and |K| = | K |.

(a) (b)

Fig. 5.7 (a) A Covering; (b) a Minimum Covering

Theorem 5.4:
In a bipartite graph, the number of edges in a maximum matching is equal
to the number of vertices in a minimum covering.
Proof:
Let G be a bipartite graph with bipartition (X, Y), and let M* be
a maximum matching of G. Denote by U the set of M*-unsaturated
vertices in X, and by Z the set of all vertices connected by M*-alternating
Matching & Covering 149
paths to vertices of U. Set S = Z ∩ X and T = Z ∩ Y. Then, we have that
every vertex in T is M*-saturated and N(S) = T. Define K = (X \S) ∪ T
(see Fig. 5.7). Every edge of G must have at least one of its ends in K .
For, otherwise, there would be an edge with one end in S and one end Y\T,
contradicting N(S) = T. Thus K is a covering of G and clearly

S
X\S
U

T = N (S)

Fig. 5.8

By lemma 5.1, K is a minimum covering, and the theorem follows.


5.3 Perfect Matching


A necessary and sufficient condition for a graph to have a perfect matching was
obtained by Tutte (1947). A component of a graph is odd or even accordingly
as it has an odd or even number of vertices.
Here 0(G) is the notation of number of odd components of G.
Theorem 5.5:
G has a perfect matching iff
0(G – S) ≤ |S| for all S ⊆ V.
Proof:
It is enough to prove this theorem for simple graphs.
Let G has a perfect matching M.
Let S be a proper subset of V.
Let G1, G2,…,Gn be the odd components of G – S.
Because Gi is odd, some vertex ui of Gi must be matched under M with a
vertex vi of S. (See Fig. 5.9)
∴ Since {v1, v2,…,vn} ⊆ S
0(G – S) = n = |{v1, v2,…, vn}| ≤ |S|
150 Advanced Graph Theory

Odd components of G-S Even components of G-S


G1 G2 Gn
u1 u2 un

V1 V2 Vn S

Fig. 5.9 (a)

Conversely,
Suppose that G satisties 0(G – S) ≤ |S| S ⊆ V but has no perfect matching.
Let G* be a maximal graph having no perfect matching.
Then G is a spanning subgraph of G*.
Since (G – S) is a spanning subgraph of (G* – S).
We have, 0(G* – S) ≤ 0(G – S)
By assumption,
0(G* – S) ≤ 0(G – S) ≤ |S|.
for all S ⊆ V (G*).
In particular, setting S = φ we have,
0(G*) = 0 and so V(G*) is even.
Denote by U the set of vertices of degree (V – 1) in G*
If U = V,
then G* has a perfect matching.
So we assume that U ≠ V.
Claim:
(G* – U) is a disjoint union of complete graphs.
Suppose that some component of (G* – U) is not complete.
Then in this component, there are vertices x, y, z ∈G
xy ∈ E(G*), yz ∈ E(G*) and xz ∉ E(G*)
y
W

x z

Fig. 5.9 (b)


Matching & Covering 151
Moreover, since y ∉ u, there is a vertex w in (G* – U) such that yw ∉ E(G*).
Since G* is a maximal graph having no perfect matching,
(G* + e) has a perfect matching for all e ∉ E(G*).
Let M1 and M2 be perfect matchings in (G* + xz) and (G* + yz) respectively.
Let H be a subgraph of G* U{xz, yw} induced by (M1 ∆ M2).
Since each vertex of H has degree two, H is a disjoint union of cycles.
Also, all of these cycles are even, since edges of M1 alternate with edges
of M2 around them.
We distinguish two cases.
Case 1:
xz and yw are in different component of H.

Fig. 5.9 (c)

Then if yw is in the cycle C of H, the edges of M1 in C, together with the


edges of M2 not in C, constitute a perfect matching in G*, contradicting the
detinition of G*.
Case 2:
xz and yw are in the same component of H.

Fig. 5.9(d)
152 Advanced Graph Theory

By symmetry of x and z, we may assume that the vertices x, y, w and z occur


in that order on C. (See Fig. 5.9 (d))
Then the edges of M1 in the section yw,…, z of c together with the edge yz
and the edges of M2 not in the section yw,…, z of c, constitute a perfect matching
in G*, again contradicting the definition of G*.
Since both case 1 and case 2 lead to contradictions it follows that (G* – U)
is a disjoint union of complete graphs.
By case (1), 0(G* – U) ≤ |U|
Thus atmost |U| of the components of (G* – U) are odd.
But then G* clearly has a perfect matching.
One vertex in each odd component of (G* – U) is matched with a vertex of
U; the remaining vertices in U, and in component of (G* – U) are then matched
as shown in Fig. 5.10.
Odd components of (G*- U) Even components of (G*- U)

Fig. 5.10

Since G* was assumed to have no perfect matching. We obtained the desired


contradiction.
Thus G have a perfect matching.

Corollary 5.1:

(Deduction of Petersen’s Theorem from Tutte’s Theorem)


Every 3-regular graph without cut edges has a perfect matching.
Proof:
Let G be a 3-regular graph without cut edges and S be a proper subset of V.
We denote by G1, G2, G3,…, Gn the odd components of (G – S).
Let m i be the number of edges with one end in G i and one end is
S, ∀1 ≤ i ≤ n.
Matching & Covering 153
Since G is 3-regular
∑ d (v ) = 3v (Gi) ∀1 ≤ i ≤ n ...(i)
v∈V ( Gi )
and
∑ d (v) = 3|S| ...(ii)
v∈ S
from (i)
mi = ∑ d (v )
– 2 ∈ (Gi) is odd
v∈V ( Gi )

Now mi ≠ 1 since G has no cut edge.


Thus, mi ≥ 3 for 1 ≤ i ≤ n ...(iii)
It follows from (ii) & (iii) that,
1 1
0(G – S) = n ≤ ∑ mi ≤ ∑ d (v) = |S|
3 i =1 3 v∈ S

Hence G has perfect matching.


Note:
if G has a 1-factor, then clearly
0(G – S) ≤ |S| for all S ⊆ V|G|,
since every odd component of (G – S) will send a factor edge to S.

Fig. 5.11: Deductive Graph

5.4 Factor-critical Graph


A graph G = (V, E) is called factor-critical if G ≠ φ and (G – v) has a 1-factor
for every vertex v ∈ G. Then G itself has no a-factor because it has odd order.
We call a vertex set S ⊆ V matchable to (G – S) if the graph HS, which
arises from G by contracting the components C ∈ CG–S to single vertices
and deleting all the edges inside S, contains a matching of S. Formally HS
is the graph with vertex set S ∪ CG–S and edge set {sC | ∃ c ∈ C : sc ∈ E}
(As shown in Fig. 5.11)
154 Advanced Graph Theory

Theorem 5.6:
Every graph G = (V, E) contains a vertex set S with the following two
properties:
(i) S is matchable to G – S;
(ii) every component of G – S is factor-critical.
Given any such set S, the graph G contains a 1-factor if and only if |S| =
|CG–S|.

Proof:
For any given G, the assertion of Tutte’s theorem follows easily from this
result. Indeed, by (i) and (ii) we have |S| ≤ |CG–S| = 0(G – S) (since factor-critical
graphs have odd order); thus Tutte’s condition of (G – S) ≤ |S| implies |S| = |CG–S|,
and the existence of a 1-factor follows from the last statement.
Note first that the last assertion of the theorem follows at once from the
assertions (i) and (ii); if G has a 1-factor, we have 0(G – S) ≤ |S| and hence
|S| = |CG–S| as above;
conversely if |S| = |CG – S|, then the existence of a 1-factor follows straight from
(i) and (ii).
We now prove the existence of a set S satisfying (i) and (ii). We apply
induction on |G|. For |G| = 0 we may take S = . Now let G be given with
|G| > 0, and assume the assertion holds for graphs with fewer vertices.
Let d be the least non-negative integer such that
0(G – T) ≤ | T | + d for every T ⊆ V. ... (i)
Then there exists a set T for which equality holds in (1); this follows from
the minimality of d if d > 0, and from 0(G – ) ≥ | | + 0 if d = 0.
Let S be such a set T of maximum cardinality, and let C := CG–S.
We first show that every component C ∈ C is odd. If |C| is even, pick a
vertex c ∈ C, and let S′ := S ∪ {c} and C′ := C – c. Then C ′ has odd order, and
thus has at least one odd component. Hence, 0(G – S′) ≥ 0(G – S) + 1. Since
T := S satisfies (1) with equality, we obtain
q(G – S ′) ≥ q(G – S) + 1 = |S| | d + 1 = |S′| + d ≥ q(G – S ′) ... (ii)
with equality, which contradicts the maximality of S.
Next we prove the assertion (ii), that every C ∈ C is factor-critical. Suppose
there exist C ∈ C and c ∈ C such that C ′ : = C – c has no 1-factor. By the
Matching & Covering 155
induction hypothesis (and the fact that, as shown earlier, for fixed G our theorem
implies Tutte’s theorem) there exists a set T ′ ⊆ V(C′) with
q(C ′ – T ′) > |T ′|.
Since |C| is odd and hence |C ′| is even, the numbers 0(C ′ – T ′) and [T ′]
are either both even or both odd, so they cannot differ by exactly 1. We may
therefore sharpen the above inequality to
0(C ′ – T ′) ≥ [T ′] + 2.
For T := S ∪ {c} ∪ T ′ we thus obtain
0(G – T) = 0(G – S) – 1 + 0(C ′ – T ′)
≥ |S| + d – 1 + |T ′| + 2
= |T| + d
≥ 0(G – T)
with equality, again contradicting the maximality of S.
It remains to show that S is matchable to G – S. If S = , this is trivial, so
we assume that S ≠ . Since T := S satisfies (1) with equality, this implies that
C too is non-empty. H := HS , but ‘backwards’, i.e. with A := C. Given C′ ⊆ C,
set S ′ := NH(C ′) ⊆ S. Since every C ∈ C ′ is an odd component also of G – S′,
we have
|NH(C ′)| = |S ′| ≥ 0(G – S) – d ≥ |C ′| – d.
H contains a matching of cardinality
|C| – d = 0(G – S) – d = |S|,
which is therefore a matching of S. 

5.5 Complete Matching


A complete matching of a vertex set V1 into those in V2 of the bipertite graph
with partition V1 and V2 is a matching of the graph in which there is one edge
incident with every vertex in V1 .i.e. every vertex of V1 is matched against one
vertex is V2.
The complete matching need not to exist for the entire bipertite graphs. We
can observe the fact by considering the interview with large number of suitable
candidates for less number of position.

Theorem 5.7:
A complete matching of the vertex set V1 and V2 in a bipertite graph exists
if and only if every subset of r vertices in V1 is collectively adjacent to r or more
vertices in V2 for all values of r.
156 Advanced Graph Theory

Proof:

As a homework. (see problems)


Problems 5.1:
Find whether a complete matching of V1 into V2 exists in the graph (Fig. 5.12)

A a

b
B
c
C
d
D
e

E f

V1 V1

Fig. 5.12

Solution:

No, Because we have to take subset {D, E} of V1 having two vertices, then the
elements of this set is collectively adjacent to only the subset {d} of V2. The
cardinality of {d} is one that is less than the cardinality of the set {D, E}.

Problem 5.2:

Find whether a complete matching of V1 into V2 exist for the following


graph? What can you say from V2 to V1. (see Fig. 5.13)

A a

B b

c
C
d
D
e
E f

V1 V2

Fig. 5.13
Matching & Covering 157
Solution:
Yes, we get a complete matching from V1 into V2 which is {Af, Bb, Cc,
Dd, Ea}
This matching is not unique, because
{Af, Bb, Cc, Dd, Ea} is also a complete matching from V1 into V2.
Complete matching from V2 into V1 does not exist because cardinality of
V2 is more than the cardinality of V1. 

Theorem 5.8:
For any bipertite graph G with partition V1 and V2, if these exists a positive
integer M satisfying the condition that degG(V1) ≥ M ≥ degG(V2), for all vertices
v1 ∈ V1, v2 ∈ V2 then a complete matching of V1 into V2 exists.

Proof:
Let G be a bipertite graph with partition V1 and V2.
Let M be a positive integer satisfying the condition that degG(v1) ≥ M ≥
degG(v2), for all vertices v1 ∈ V1 & v2 ∈ V2 consider a r-element subset S of the
set V1.
Since deg(r1) ≥ M from each element of S, there are atleast M edges incident
to the vertices in V1. (since no vertex of V1 is adjacent to the vertex of V2.
Thus there are M. r edges incident from the set S to the vertices in V1, but
degree of every vertex of V2 cannot exceed M implies that these M.r edges are
incident on atleast
M .r
= r vertices in V2
M
Hence, there exists a complete matching of V1 into V2. 

5.6 Matrix Method to Find Matching of a Bipertite Graph


The adjacency matrix of the bipartite graph G can be written by the rearrangement
of rows and columns as
 0 X n1 × n2 
X(G) =  T

 X n1 × n2 0 

where Xn × n is (0, 1) whose rows are corresponds the vertices of V1 and columns
1 2
corresponds to the vertices of V2. A matching V1 into V2 such that no row or a
column has more than one 1. The matching is complete if the n1 × n2 matrix so
obtained contains exactly one in each row.
158 Advanced Graph Theory

Problem 5.3:
Find a complete matching of the graph (Fig. 5.14) by matrix method.

A a

B b

c
C
d
D
e
E f

V1 V2

Fig. 5.14

Solution:
 0 X n1 × n2 
X(G) =  
T
 X n1 × n2 0 

a b c d e f
A0 1 0 0 0 1
B0 1 0 0 0 0
Where Xn1 × n2 =
C0 0 1 0 1 0
D0 0 0 1 0 0
E1 0 0 1 0 0

here n1 = 5, n2 = 6 & n = n1 + n2 = 11 = total numbers of vertices of G.


Step 1: Choose the row B and the column b.
(since B contains 1 in only one place in the entire now)
Step 2: Discard the column b (since it has already chosen)
Step 3: Choose the row D and the column d (Since D contains 1 in only one
place in the entire row)
Step 4: Discard the column d (Since it has already chosen)
Step 5: Choose the row E and the column a (Since Eath entry is one and not
chosen earlier)
Step 6: Discard the column a (chosen in Step 5)
Step 7: Choose the row A and column f (since the row A contains exactly one
1 in the column f).
Matching & Covering 159
Step 8: Discard the column f (chosen in step 7)
Step 9: Choose the row C and the column e (or c) [since C is the final (unique)
row]
Step 10: Now, no row is left to choose and all the rows are able to be chosen.
Hence the matching is complete (if any zero row remains, then the
matching is not complete but the process slops)
The resultant matrices after each step and the final matching is given below.
After the steps After the steps After the steps After the steps
1 and 2 3 and 4 5 and 6 7 and 8
a b c d e
a c e f
A0 0 0 0 1
c e f
C0 1 0 1 0 A0 0 0 1
D0 0 1 00   A  0 0 1 c e
C 0 1 1 0
 
E1 0 1 00 E 1 0 0 0  C 1 1 0  C (1 1)

Resultant matrix and the corresponding matching are shown in Fig. 5.15

A a
B b
c
C
d
D
e
E f

V1 V2

Fig. 5.15
a b c d e f
A0 0 0 0 0 1
 
B 0 1 0 0 0 0
C 0 0 0 0 1 0
 
D0 0 0 1 0 0
E 1 0 0 0 0 0 

The complete matching is {Af, Bb, Ce, Dd, Ea}


160 Advanced Graph Theory

5.7 Path Covers


In this section we put the above question more generally: how many paths in a
given directed graph will suffice to cover its entire vertex set? Of course, this
could be asked just as well for undirected graphs. As it turns out, however, the
result we shall prove is rather more trivial in the undirected case (exercise), and
the directed case will also have an interesting corollary.
A directed path is a directed graph P ≠ with distinct vertices x0,…, xk and
edges e0,…, ek –1 such that ei is an edge directed from xi to xi+1, for all i < k. We
denote the last vertex xk of P by ter(P). In this section, path will always mean
‘directed path’. A path cover of a directed graph G is a set of disjoint paths in
G which together contain all the vertices of G. Let us denote the maximum
cardinality of an independent set of vertices in G by α(G).

Theorem 5.9: (Gallai & Milgram Theorem, 1960)


Every directed graph G has a path cover by at most α(G) paths

Proof:
Given two path covers p1, p2 of a graph, we write p1 < p2 if {ter(P) | P ∈ p1} ⊆
{ter(P) | P ∈ p2} and |p| < |p|2. We shall prove the following:
If p is a <-minimal path cover of G, then G contains an independent set {vP
| P ∈ p} of vertices with vP ∈ P for every P ∈ p.
Clearly, (i) implies the assertion of the theorem.
We prove (i) by induction on |G|. Let p = {P1,…, Pm} be given as in (i), and
let vi := ter(Pi) for every i. If {vi | 1 ≤ i ≤ m} is independent, there is nothing
more to show; we may therefore assume that G has an edge from v2 to v1. Since
P2v2v1 is again a path, the minimality of p implies that v1 is not the only vertex
of P1; let v be the vertex preceding v1 on P1. Then p′ := {P1v, P2,…, Pm) is a
path cover of G′ := G – v1. We first show that p′ is <-minimal with this property.
Suppose that p” < p′ is another path cover of G′. If a path P ∈ p” ends in
v, we may replace P in p” by Pvv1 to obtain a smaller path cover of G than p, a
contradiction to the minimality of p. If a path P ∈ p” ends in v2 (but none in v), we
replace P in p” by Pv2v1, again contradicting the minimality of p. Hence {ter(P)
| P ∈ p”} ⊆ {v3,…, vm), and in particular |p”| ≤ |p| – 2. But now p” and the trivial
path {v1} together form a path cover of G that contradicts the minimality of p.
Hence p′ is minimal, as claimed. By the induction hypothesis, {V(P) | P ∈ p′}
has an independent set of representatives. But this is also a set of representatives
of p, and (i) is proved. 
Matching & Covering 161
5.8 Applications

5.8.1 The Personnel Assignment Problem


In a certain company, there are n worker X1, X2, X3,…, Xn, available for n jobs
Y1, Y2, Y3,…, Yn. Each worker being qualified for one or more of these jobs. The
questions arise; can all the men be assigned, one man per job, to jobs for which
they are qualified? This problem is called the personnel assignment problem.
We construct a bipartite graph G with bipartition (X, Y), where X = {x1, x2,…,
xn), Y = {y1, y2,…, yn) and xi is joined to yi if and only if worker Xi is qualified
for job Yj. The problem becomes one of determining whether or not G has a
perfect matching. According to Hall’s theorem either G has such a matching or
there is a subset S of X such that |N(S) < |S|. Given any bipartite graph G with
bipartition (X, Y), the algorithm either finds a matching of G that saturates every
vertex in X or, failing this, finds a subset S of X such that |N(S)| < |S|.
We start with an arbitrary matching M. If M saturates every vertex in X,
then it is a matching of the required type. If not, we choose an M-unsaturated
vertex u in X and systematically search for an M-augmenting path with origin
u. Our method of search, to be described in detail below, finds such a path P if
one exists; in this case = M ∆ E(P) is a larger matching than M, and hence
saturates more vertices in X. We then repeat the procedure with instead of
M. If such a path does not exist, the set Z of all vertices which are connected to
u by M-alternating paths is found. Then S = Z ∩ X satisfies |N(S)| < |S|.
Let M be a matching in G, and let u be an M-unsaturated vertex in X. A
tree H ⊆ G is called an M-alternating tree rooted at u if (i) u ∈ V(H), and (ii)
for every vertex v of H, the unique (u, v)-path in H is an M-alternating path. An
M-alternating tree in a graph is shown in Fig. 5.17.
x6

x1 x2 x3 x4 x5 x6 y5 y6

x3 x4 x2

y1 y3 y4
y1 y2 y3 y4 y5 y6

x1 = u
(a) (b)

Fig. 5.17: (a) A Matching M in G; (b) an M-alternating Tree in G


162 Advanced Graph Theory

The search for an M-augmenting path with origin u involves ‘growing’ an


M-alternating tree H rooted at u. Initially, H consists of just the single vertex u.
It is then grown in such a way that, at any stage, either

u u
(a) (b)

Fig. 5.18: (a) Case (i) (b) Case (ii)

(i) all vertices of H except u are M-saturated and matched under M


(as Fig. 5.18a), or
(ii) H contains an M-unsaturated vertex different from u (as in Fig. 5.18 b).
If (i) is the case (as it is initially) then, setting S = V(H) ∩ X and
T = V(H) ∩ Y, we have N(S) ⊇ T; thus either N(S) = T or N(S) ⊃ T.
(a) If N(S) = T then, since the vertices in S\{u} are matched with the vertices in
T, |N(S) = |S| – 1, indicating that G has no matching saturating all vertices
in X.
(b) If N(S) ⊃ T, there is a vertex y in Y \ T adjacent to a vertex x in
S. Since all vertices of H except u are matched under M, either
x = u or else x is matched with a vertex of H. Therefore xy ∉ M. If y is
M-saturated, with yz ∈ M, we grow H by adding the vertices y and z and
the edges xy and yz. We are then back in case(i). If y is M-unsaturated, we
grow H by adding the vertex y and the edge xy, resulting in case (ii). The
(u, y)-path of H is then an M-augmenting path with origin u, as required.
Figure 5.19 illustrates the above tree-growing procedure.
The algorithm described above is known as the Hungarian method, and can
be summarised as follows:
We start with an arbitrary matching M.
1. If M saturates every vertex in X, stop. Otherwise, let u be an M-unsaturated
vertex in X. Set S = {u} and T = .
Matching & Covering 163
2. If N(S) = T then |N(S)|<|S|, since |T| = |S| – 1. Stop, since by Hall’s theorem
there is no matching that saturates every vertex in X. Otherwise, let y ∈
N(S)\T.
3. If y is M-saturated, let yz ∈ M. Replace S by S ∪ {z} and T by
T ∪ {y} and go to step 2. (Observe that |T| = |S| – 1 is maintained
after this replacement.) Otherwise, let P be an M-augmenting
(u, y)-path. Replace M by M̂ = M D E(P) and go to step 1.
Consider, for example, the graph G in Fig. 5.20a, with initial matching
M = {x 2y 2, x 3y 3, x 5y 5}. In Fig.5.20 b an M-alternating tree is grown,
starting with x1, and the M-augmenting path x1y2x2y1 found. This results
in a new matching M̂ = (x 1y 2, x 2y 1, x 3y 3, x 5y 5), and an M̂ -alternating
tree is now grown from x4 (figures 5.20 c and 5.20 d) Since there is no
M̂ -augmenting path with origin x 4, the algorithm terminates. The set
S = {x1, x3, x4), with neighbour set N(S) = (y2, y3), shows that G has no perfect
matching.
A flow diagram of the Hungarian method is given in Fig. 5.21. Since the
algorithm can cycle through the tree-growing procedure, I, at most |X| times
before finding either an S ⊆ X such that |N(S)| < |S| or an M-augmenting path,
and since the initial matching can be augmented at most |X| times before a
matching of the required type is found.
z

M - saturated
y

u u u
Case (i) Case (ii )

y
M - unsaturated
x
Or

v v
Case (i) Case (ii)
Fig. 5.19: The tree-growing Procedure
164 Advanced Graph Theory

x1 x2 x3 x4 x5

y1 y2 y3 y4 y5
(a)
y1

x2 x2 x3 x2 x3
x2

y2 y2 y2 y3 y2 y3 y2 y3

x1 x1 x1 x1 x1
(b)
x1 x2 x3 x4 x5

y1 y2 y3 y4 y5

(c)
y3 x3
x1 x1

y3
y2 y2 y2 y2 y3

x4 x4 x4 x4

(d)

Fig. 5.20: (a) Matching M ; (b) an M-alternating tree; (c) Matching M; (d) an
M-alternating tree
Matching & Covering 165

START:
Input
arbitrary
matching M

Yes:
M M Is X STOP:
M - saturated M saturates

NO:
E an M - unsaturated
vertex u in X

{u} S
 T

II

STOP Yes: I
In(S)|<|S| N (S) = T?

No:
 a vertex y S u {z}  S
in N(S)\T T u {y}  T

NO:
M= Is y Yes:
M  E (P) M - saturated ?
 an M - ougmenting
(u, y) - path P E yz  M

Fig. 5.21 Flow Chart

5.8.2 The Optimal Assignment Problem


The Hungariam method is the efficient way to determine a feasible assignment of
workers to jobs, if one exists. If we wish to take into account the effectiveness of
the workers in their various jobs. On this care we are interested in an assignment
that maximises the total effectiveness of the workers. This problem of finding
such an assignment is called the optimal assignment problem.
166 Advanced Graph Theory

We consider a weighted complete bipertite graph with bipartition (X, Y),


where X = {x1, x2, x3,…, xn}, Y = {y1, y2, y3,…, yn), and edge xi yj has weight
wij = w(xi.yj), the effectiveness of workers Xi in job Yi. The optimal assignment
problem in clearly equivalent to that of finding a maximum-weight perfect
matching in this weighted graph.
We define a feasible vertex labelling as a real-valued function l on the vertex
set X ∪ Y such that, for all x ∈ X and y ∈ Y
l(x) + l(y) ≥ w(xy) ...(i)
(The real number l(v) is called the lable of the vertex v.)
A feasible vertex labelling is thus a labelling of the vertices such that the
sum of the labels of the two ends of an edge is at least as large as the weight of
the edge. No matter what the edge weights are, there always exists a feasible
vertex labelling; one such is the function l given by
l ( x) = max w( xy ) if x ∈ X 
y ∈y
 ...(ii)
l ( y) = 0 if y ∈Y 

If l is a feasible vertex labelling, we denote by El the set of those edges for


which equality holds in (i); that is
El = {xy ∈ E | l(x) + l(y) = w(xy)}
The spanning subgraph of G with edge set El is referred to as the equality
subgraph corresponding to the feasible vertex labelling l, and is denoted by Gi.

5.8.3 Covering to Switching Functions


In logic design of digital machines, we have to minimize the logical functions
which are Boolean functions before its implementation, which can be done
by using coverings of a graph of Boolean functions. To explain the graph of
Boolean function and the procedures of its simplifications, we consider the
following Boolean expression.
In Boolean expression, we have P′ (or p ) denote NOT P, p.q
(or p ^ q) denote p AND q, p + q (or p v q) denote p OR q.
φ = xyz + x′yz + xy′z + xyz′ + x′y′z + xy′z′ + x′yz′ + x′y′z′
Each term correspond to the vertices of a graph of Boolean function and
the edges are between those terms that differ by only one variable. The edge
between the variables in represented by means of common variables of its end
vertices. The graph of f is shown in Fig. 5.22.
Matching & Covering 167
x'yz x'y'z
(100) x'z (110)

x'y'

yz x'y'

y'z

xyz xz x'z' x'y'z'


(000) xy'z (111)
(010) x'y'z
xy'
(101)
xy y'z'
yz'

xyz' xz' xy'z'


(001) (011)

Fig. 5.22 Covering of Switching

One of the covering of the graph is {yz, yz′}, which is the minimal
covering of the graph. Further the graph of expression for φ = yz + yz′
contains only one edge between yz and yz′. This edge is labelled by y
and is the minimal covering. Hence the simplified expression for φ is
φ = y.
Problem 5.4:
Minimize the switching function given below using Boolean graph.
φ = w1x1y1z1 + w1x1yz1 + wx1y1z1 + w1x1yz + w1xyz1 + wxyz.
Solution:
The graph of the function f is shown below.
xyz w'xyz w'xy w'xyz'
wxyz

w'yz

w'x'y w'x'z' x'y'z'


w'x'yz w'x'y'z' w'x'y'z' wx'yz'

Fig. 5.23

One of the minimal covering of the graph is {xyz, x1y1z1, w1xy, w1x1y}
∴ The expression
φ = xyz + x1y1z1 + w1xy + w1x1y is the simplified expression of φ.
168 Advanced Graph Theory

To minimize further this expression φ, we consider the graph of this function


(As above) we get
w′y
οο ο ο
xyz w′x′y x′y′z w′x′y
Now the edge w y is the minimal cover of the connected component of
1

this graph. Considering the minimal cover with isolated vertices we get the set
{w1y, x1y1z1, w1x1y}.
Thus the minimized expression for φ is
φ = w1y + x1y1z1 + w1x1y.
We note that this expression cannot be further simplified as the graph of
this function is a totally disconnected graph.

SUMMARY
1. If every vertex in a digraph is reachable from every other vertex, the digraph
is strongly connected.
2. Let A = (aij) be the adjacency matrix of a digraph D with vertices v1, v2,…,
vn. Let R = A ∨ A[2] ∨ ,…, ∨A[n – 1] = (rij). Then vertix vj is reachable from
vertex vi if and only if rij > 0, where i ≠ j. R. is the reachability matrix of the
digraph.
3. A de Bruijn sequence for a binary alphabet is a 2n-bit sequence that contains
every n-bit word as a subsequences in a cyclic fashion.
4. A vertex vj is reachable from a vertex vi if there is a directed path from vi to
vj
5. A dag is a digraph with no directed cycles.
6. Dags pictorially represent assignment statements and algebraic expressions
with repeating subexpressions; they help find the prefix and postfix forms of
such expressions.

EXERCISES

1. Show that a tree has at most one perfect matching.


2. Two people play a game on a graph G by alternately selecting distinct vertices
v0, v1, v2,…, such that, for i > o, vi is adjacent to vi–1. The last player able to
select a vertex wins. Show that the first player has a winning strategy iff G
has no perfect matching.
3. A k-factor of G is a k-regular spanning subgraph of G, and G is k-factorable
if there are edge-disjoint k-factors H1, H2,…, Hn such that G = H1 È H2
È,…, È Hn.
Matching & Covering 169
(a) Show that
(i) Kn, n and K2n are 1-factorable;
(ii) the Petersen graph is not 1-factorable.

(b) Which of the following graphs have 2-factors?

4. A non-negative real matrix Q is doubly stochastic if the sum of the entries


in each row of Q is 1 and the sum of the entries in each column of Q is 1. A
permutation matrix is a (0, 1)-matrix which has exactly one 1 in each row and
each column. (Thus every permutation matrix is doubly stochastic.) Show
that
(a) every doubly stochastic matrix is necessarily square;
(b) every doubly stochastic matrix Q can be expressed as a convex linear
combination of permutation matrices, that is
Q = c1P1 + c2P2 +,…,+ ckPk
where each Pi is a permutation matrix, each ci is a non-negative real
k
number, and ∑ ci = 1.
1
5. Show that a tree G has a perfect matching iff 0(G – v) = 1 for all v ∈ V.
v δ
6. Leg G be simple, with v even and S < . Show that if ∈ >   + (v – 2d – 1)
2 2
+ d (v – d), then G has a perfect matching.
7. A diagonal of an n × n matrix is a set of n entries no two of which belong to
the same row or the same column. The weight of a diagonal is the sum of the
entries in it. Find a minimum-weight diagonal in the following matrix:

4 5 8 10 11
7 6 5 7 4 

8 5 12 9 6 
 
6 6 13 10 7 
 4 5 7 9 8 
170 Advanced Graph Theory

8. Show that a complete matching of V1 into V2 exists in the following graph.

9. Let A be a finite set with subsets A1,…, An, and let d1,…, dn Î N. Show that
there are disjoint subsets Dk Í Ak, with |Dk| = dk for all k £ n, if and only if-

 Ai ≥ ∑ di
i←I i∈I

for all I ⊆ {1,…, n}.


10. Find a cubic graph without a 1-factor.

Suggested Readings
1. A.V. Aho et al, Data Structures and Algorithms, Addison-Wesley, Reading,
MA, 1983 pp. 198-229.
2. R.K. Ahuja et al., Network Flows, Prentice-Hall, Englewood Cliffs, NJ,
1993.
3. S. Sahni, Concepts in Discrete Mathematics, 2nd ed., Camelot, Fridley, MN,
1985, pp. 379-397.
4. R.J. Wilson and J.J. Watkins, Graphs: An Introductory Approach, Wiley,
New York, 1990, pp. 80-111.
5. S.K. Yadav, Elements of Graph Theory, Ane Books, New Delhi, 2011.
qqq
6
Colouring of Graphs

Francis Guthrie
(1831–1899)

6.1 Introduction
In graph theory, Graph Colouring is a special case of graph labeling. It is an
assignment of labels traditionally called “Colour’s” to elements of graph subject
to certain constraint in. Its simplest form, it is a way of colouring the vertices of
a graph such that no two adjacent vertices share the same colour, this is called
vertex colouring. Similarly, an edge colouring assigns a colour to each edge
so that no two adjacent edges share the same colour, and a face colouring of a
planer graph assigns a colour to each face or region so that no two faces that
share a boundary have the same colour.
Vertex colouring is the starting point of the subject and the other colouring
problems can be transformed into a vertex version. For example, an edge
colouring of a graph is just a vertex colouring of its line graph, and a face

© The Author(s) 2023 171


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_6
172 Advanced Graph Theory

colouring of a planar graph is just a vertex colouring of its planar dual. However,
non-vertex colouring problems are often stand and studied as it. That is partly
for perspective, and partly became some problems are best studied in non-
vertex form, as for instance is edge colouring. The convention of using colours
originates from colouring the countries or states of a map, where each face
is titerally coloured. This was generalized to colouring the faces of a graph
embedded in the plane. By planar duality it became colouring the vertices,
and in this form it generalizes to all graphs. In mathematical and computer
representation it is typical to use the first few positive or non-negative integers
as the colours.
Generally we can use any finite set as the colour set. The nature of the
colouring problem depend on the number of colours but not on what they are.
Red

Blue
Blue
Green Blue

Red

Red
Green
Red
Green

Fig. 6.1: A Proper Vertex Colouring of the Petersen Graph with 3 Colors,
the Minimum Number Possible

Colouring of graph enjoys many practical applications as well as theoretical


challenges. Beside the classical types of problems, different limitations can
be set on the graph, or on the way a colour is assigned, or even on the colour
itself. It has reached popularity with the general public in the form of popular
number puzzle Sudoku. Graph colouring is very active in the field of research.
The first results about graph colouring deal almost exclusively with planar
graphs in the form of the coloring of maps, While trying to color a map of the
counties of England. Francis Guthrie postulated the four color conjecture,
noting that four colors were sufficient to color the map so that no regions
sharing a common border received the same color. Guthrie’s brother passed on
the question to his mathematics teacher Augustus de Morgan at University
College, who mentioned it in a letter to William Hamilton in 1852. Arthur
Cayley raised the problem at a meeting of the London Mathematical Society in
1879. The same year, Alfred Kempe published a paper that claimed to establish
the result, and for a decade the four color problem was considered solved. For
Colouring of Graphs 173
his accomplishment Kempe was elected a Fellow of the Royal Society and later
President of the London Mathematical Society.
In 1890, Heawood pointed out that Kempe’s argument was wrong. However,
in that paper he proved the five color theorem, saying that every planar map
can be colored with no more than, five colors, using ideas of Kempe. In the
following century, a vast amount of work and theories were developed to reduce
the number of colors to four, until the four color theorem was finally proved
in 1976 by Kenneth Appel and Wolfgang Haken. Perhaps surprisingly, the
proof went back to the ideas of Heawood and Kempe and largely disregarded
the intervening developments. The proof of the four color theorem is also
noteworthy for being the first major computer-aided proof.
In 1912, George David Birkhoff introduced the chromatic polynomial to
study the coloring problems, which was generalised to the Tutte polynomial
by Tutte, important structures in algebraic graph theory. Kempe had already
drawn attention to the general, non-planar case in 1879, and many results on
generalisations of planar graph coloring to surfaces of higher order followed
in the early 20th century.
In 1960, Claude Berge formulated another conjecture about graph
coloring, the strong perfect graph conjecture, originally motivated by an
information-theoretic concept called the zero-error capacity of a graph
introduced by Shannon. The conjecture remained unresolved for 40 years,
until it was established as the celebrated strong perfect graph theorem in 2002
by Chudnovsky, Robertson, Seymour, Thomas.
Graph coloring has been studied as an algorithmic problem since the early
1970s: the chromatic number problem is one of Karp’s 21 NP-complete problems
from 1972, and at approximately the same time various exponential-time
algorithms were developed based on backtracking and on the deletion­contraction
recurrence of Zykov (1949). One of the major applications of graph coloring,
register allocation in compilers, was introduced in 1981.
Painting all the vertices of a graph with colours such that no two adjacent
vertices have the same colour is called the proper colouring of a graph. A graph
in which every vertex has been assigned a colour according to a proper colouring
is called a properly coloured graph. (see Fig. 6.1).

6.2 Vertex Colouring


When used without any particular qualification, a colouring of graph is almost
always a proper vertex colouring namely a labelling of the graph’s vertices with
colours such that no two vertices sharing the same edge have the same colour.
Since a vertex with a loop could never be properly coloured, it is understood
that graphs in this context are loopless. The terminology of using colours for
174 Advanced Graph Theory

vertex lebels goes back to map colouring. Lebels like red and blue are only
used when the number of colours is small, and normally it is understood that
the labels are drawn from the integers {1, 2, 3,…}.

Fig. 6.2: This Graph can be 3-coloured in 12 Different Ways

A colouring using at most k colours is called a proper k-colouring. The


smallest number of colours needed to colour a graph G is called needed to colour
a graph G is called its chromatic number X(G). A graph that can be assigned a
proper k-colouring is k-colourable, and it is k-chromatic of its chromatic number
is exactly k. A subset of vertices assigned to the same colour is called a colour
class, every such class forms an independent set. Thus, a k-colouring is the same
as a partition of the vertex set into k independent sets, and the terms k-partite
and k-colourable have the same meaning.

6.3 Chromatic Polynomial


The chromatic polynomial counts the number of ways a graph can be coloured
using no more than a given number of colours. For example, using three colours,
the graph in the image to the right can be coloured into 12 ways. With only
two colours, it can not be coloured at all. With four colours, it can be coloured
in 24+4*12 = 72 ways. There are 4! = 24 valid colourings (every assignment of
four colours to any 4-vertex graph is a proper colouring) and for every choice
of three of the four colours, there are 12 valid 3-colourings. So, for the graph
in the example, a table of number of valid colouring would start like this:

Available Colour 1 2 3 4 …
No of Colouring 0 0 12 72 …
The chromatic Polynomial is a function P(G, t) that counts the number
of t-colourings of G. As the name indicates, for a given G the function is a
polynomial in it. For example the graph, P(G, t) = t(t – 1)2(t – 2) and indeed
P(G, 4) = 72.
Colouring of Graphs 175
The Chromatic Polynomial includes at least as much information about
the colourability of G as does the chromatic number. Indeed, X is the smallest
positive integer that is not a root of chromatic polynomial.
X(G) = min{k : P(G, k) > 0}.
Chromatic polynomials for certain graphs are:
Triangle K3 t(t – 1)(t – 2)
Complete graph Kn t(t – 1)(t –2) ...(t – (n – 1))
Tree with n vertices t(t –1)n–1
Cycle Cn (t – 1)n + (–1)n(t – 1)
Petersen graph t (t – 1)(t – 2)(t7 – 12t6 + 67t5 – 230t4
+ 529t3 – 814t2 + 775t – 352)
6.3.1 Bounds of the Chromatic Number
1. Assigning distinct colours to distinct vertices always yields a proper
colouring. So,
1 ≤ χ(G) ≤ n.
2. The only graph that can be 1-coloured are edgeless graphs, and the
complete graph Kn of n vertices requires χ(Kn) = n colours. In the optimal
colouring there must be atleast one of the graph’s m edges between every
pair of colour classes. So,
χ(G) [χ(G) – 1] ≤ 2m
3. If G contains a clique of size k, then atleast k colours are needed to colour
that clique; in other words, the chromatic number is at least the clique
number:
χ(G) ≥ w(G).
for interval of graphs this bound is tight.
4. The two-colourable graphs are exactly the bipertite graphs, including
trees and forests. By the four colour theorem, every planar graph can be
4-colurable.
5. A greedy colouring shows that every graph can be coloured with one more
colour than the maximum vertex degree, X(G) ≤ ∆(G) + 1.
6. Complete graphs have χ(G) = n and ∆(G) = n – 1, and odd cycles have
χ(G) = 3 and ∆(G) = 2 so, for these graphs this bound is best possible. In
all other cases, the bound can be slightly improved.
6.3.2 Clique
A graph G is perfect iff χ(H) = w (H) for every induced subgraph H of G.
A clique is a set of pairarise adjacent vertices .
176 Advanced Graph Theory

As usual, maximum means maximum-sized.


So, w (H) = a(H)
Properly coloring H means expressing V(H) as a union of cliques as H; such a
set of clique in H is a clique covering of H.
Hence for every graph G we must have four optimization parameters of
interest viz:
(i) Independence number a(G) [max. size of a stable set]
(ii) Clique number w(G) [max. size of a clique]
(iii) Chromatic number χ(G) [min. size of a coloring]
(iv) Clique covering number θ(G) [min. size of a clique covering]
A clique of a graph is a set of mutually adjacent vertices, and the
maximum size of a clique of a graph G. A set of vertices is a clique of a
simple graph G iff it is a stable set of the complement G
i.e.. w(G) = a(G)
Hence any assertion about stable sets can be restated in terms of cliques
or coverings.
n Example 6.1: Find the chromatic polynomial of the graphs given in Fig. 6.3.

v
v

v
v

v

Fig. 6.3: A 3-Cromatic Graph

Solution:
We have

P5(λ) = C1λ + C2 λ(λ − 1) + C3 λ(λ − 1)(λ − 2)


2! 3!

λ(λ − 1)(λ − 2)(λ − 3) λ(λ − 1)(λ − 2)(λ − 3)(λ − 4)


+ C4 + C5
4! 5!
Colouring of Graphs 177
The graph has a triangle, so, it will require at least three different colours
for proper colouring.
Therefore, C1 = C2 = 0 and C5 = 5!
to evaluate C3, we consider three colours x, y and z These three colours can be
assigned properly to vertices v1, v2 and v3 in 3!(= 6) different ways.
After doing that, no more choice is left because v5 must have the same
colour as v3 and v4 must have as v2.
Therefore C3 = 6
Similarly, with four colours v1, v2 and v3 can be properly coloured in 4*6
(= 24) different ways.
The fourth colour can be assigned to v4 and v5 with two choices. The fifth
vertex provides us additional choice.
Therefore, C4 = 24*2 = 48
making substitution in P5(λ), we get
P5(λ) = λ(λ – 1) (λ – 2) + 2λ(λ – 1)(λ – 2)(λ – 3) + λ(λ – 1)
(λ – 2)(λ – 3)(λ – 4)
= λ(λ – 1)(λ – 2) (λ2 – 5λ + 7)
The presences of factors λ – 1 and λ – 2 indicates that G has at least
3-chromatic. n
n Example 6.2: Find the chromatic number for the graph K3, 3.
Solution:
The chromatic polynomial for K3, 3 is given by λ(λ-1)5
Thus the chromatic number of this graph is 2. (see Fig. 6.4)

b c
a

f
e
d

Fig 6.4

The vertices a, b and c may have the same colour, as they are not adjacent.
Similarly, vertices d, e and f can be coloured in proper way using one colour.
178 Advanced Graph Theory

But a vertex from {a, b, c} and a vertex from {d, e, f} both can not have
the same colour.
i.e. every chromatic number of any bipertite graph is always 2.
 n
Theorem 6.1:
Let ∆(G) be the maximum of degrees of the vertices of a graph G. Then χ(G) ≤
1 + ∆(G).
Proof:
The theorem can be proved by induction on V i.e. the vertices of the graph.
When V = 1, ∆(G) = 0 and χ(G) = 1, (holds)
Let K be an ∀ integer K ≥ 1, and assume that the result holds for all graphs
with V = K vertices. Suppose G is a graph with (K + 1) vertices
G
Let v be any vertex of G and let G0 = be the subgraph with v deleted.
{v}
We note that ∆(G0) ≤ ∆(G)
Then G0 has K vertices. We can use the induction hypothesis to conclude
that X(G0) ≤ 1 + ∆(G0)
Then, χ(G 0 ) ≤ 1 + ∆(G 0 ), so G 0 can be coloured with atmost
[1 + ∆(G)] colours.
Since there are atmost ∆(G) vertices adjacent to v, one of the variable [1 +
∆(G)] colours remains for v. Thus, G can be coloured with atmost [1 + ∆(G)]
colours. n
Theorem 6.2:
The minimum number of hours for a schedule of committee meetings in one
scheduling problem is χ(G0).
Proof:
We consider χ(G0) = K.
and the colours used in colouring G0 are 1, 2, 3,…, K. firstly we assest that all
committees can be scheduled in K one-hour time periods.
We also consider all these vertices coloured 1(say) and the committees
corresponding to these vertices. Since no two vertices coloured 1 are adjacent,
no two such committees contain the same member.
Hence, all these committees can be scheduled to meet at the same time.
Thus, all committees corresponding to same colour vertices can meet at
the same time.
Colouring of Graphs 179
Therefore, all committees can be scheduled to meet during K time periods.
Further, we show that all committees cannot be scheduled in less than K
hours. We can prove this by contradiction. Suppose that we can schedule the
committees in m one hour time periods, where K > M
So, we can give G0 as m-colouring by colouring with the same colour all
vertices which correspond to committees meeting at the same time.
To see that this is a legitimate m-colouring of G0.
We consider two adjacent vertices.
These vertices correspond to two committees containing one or more
common members.
Hence, these committees meet at different times, and thus the vertices are
coloured differently.
However, an m-colouring of G0 gives a contradiction since, we have χ(G0)
= K. n

6.4 Exams Scheduling Problem


This problem aims “How can the final exams at a university be scheduled so
that no student has two exams at the same time?”
This scheduling problem can be solved by using a graph model, with vertex
colouring. In this problem vertices represent the course and with an edge between
two vertices of there is a common student in the courses they represent. Each
time slot for a final exams represented by different colour. A scheduling of
exams corresponds to a colouring of the associated graph.
Suppose there are seven finals to be scheduled
Suppose the colours are numbered 1 through 7 and the following pairs of
colours have common students:
1 and 2, 1 and 3, 1 and 4, 1 and 7, 2 and 3, 2 and 4, 2 and 5, 2 and 7, 3 and
4, 3 and 6, 3 and 7, 4 and 5, 4 and 6, 5 and 6, 5 and 7, and 6 and 7. (see Fig. 6.5)
A scheduling consists of a colouring of this graph. Since the chromatic
number of this graph is 4 so, four times slots are needed.
A colouring of graph using four colours and the associated schedule are
shown in Fig. 6.6.
Time Courses
(I) 1, 6
(II) 2
(III) 3, 5
(IV) 4, 7
180 Advanced Graph Theory

7
2

5 4

Fig. 6.5: Scheduling Problem


1 (Red)

(Black) 7 2 (Blue)

3
(Red) (Green)
6

4
(Black)
5 (Green)

Fig. 6.6: Colouring Schedule

Using colouring to schedule final exams.


n Example 6.3: What is the chromatic number of the complete bipertite graph
Km, n where m and n are positive integers?
Colouring of Graphs 181
Solution.
In this problem, the number of colours needed may seem to depend upon m and n.
However, only two colours are needed. Colour the set of m-vertices with
one colour and the set of n-vertices with a second colour.
Since edge can not only a vertex from the set of m-vertices and a vertex
from the set of n-vertices, no two adjacent vertices have the same colour.
We can take a colouring of K3, 4 with two colours as shown in Fig. 6.7.

(Green) (Green) (Green)


b c
a

d e f g
(Red) (Red) (Red) (Red)

Fig. 6.7 A colouring of K3, 4.

A colouring of Kn can be constructed using is colours by assigning a different


colour to each vertex. There is no colouring of fewer colours. No two vertices can
be assigned the same colour, since every two vertices of this graph are adjacent.
Hence, the chromatic number of Kn = n.
we can see the colouring of K5 in Fig. 6.8
(Brown)
(Black)
a b

(Red) c
e
(Blue)

d
(Green)

Fig. 6.8 A colouring of K5. n


182 Advanced Graph Theory

Theorem 6.3:
If G is k-critical, then d ≥ k – 1.
Proof:
This theorem can be proved by contradiction. If possible, let G be a k-critical
graph with δ < k – 1, and let v be a vertex of degree δ in G.
Since G is k-critical, (G – v) is (k – 1)-colourable
Let (V1, V2, V3,…,Vk-1) be a (k–1)-colouring of (G – v).
By definition, v is adjacent us G to δ < (k – 1) vertices, and, therefore v
must be nonadjacent in G to every vertex of some Vj. But then (V1, V2, V3,…,Vj)
∪ {v},…,Vk–1) is a (k–1)-colouring of G. (a contradiction).
Hence δ ≥ k – 1. n
Theorem 6.4:
In a critical graph, no vertex cut is a clique.
Proof:
This result is to be proved by contradiction. Let G be a k-critical graph, and
suppose that G has a vertex cut S that is a clique. We denote the S-component
of G by G1, G2, G3,…,Gn. Since G is k-critical, each Gi is (k–1)-colourable.
Furthermore, because S is a clique, the vertices in S must receive distinct colours
in any (k–1)-colouring of Gi. It follows that there are (k–1)-colourings of G1,
G2, G3,…,Gn which agree on S.
But these colourings together yield a (k–1)-colouring of G, which is a
contradiction. n
Theorem 6.5:
If G is simple, then πk(G) = πk(G – e) — πk(G ⋅ e) for any edge e of G.
Proof:
Let u and v be the ends of e. To each k-colouring of (G – e) that assigns the
same colour to u and v, there corresponds a k-colouring of (G ⋅ e) in which the
vertex of (G ⋅ e) formed by identifying. u and v is assigned the common colour
of u and v. This correspondence is clearly a bijection (refer Fig. 6.9). Therefore
πk(G ⋅ e) is precisely the number of k-colourings of (G – e) in which u and v are
assigned the same colour.
Also, since each k-colouring of (G – e) that assigns different colours to u
and v is a k-colouring of G.
Conversely, πk(G) is the number of k-colourings of (G – e) in which u and
v are assigned different colours. It follows that πk(G – e) = πk(G) + πk(G ⋅ e)
Colouring of Graphs 183

Fig. 6.9

 n
n Example 6.5: Suppose that in one particular semester there are students
taking each of the following combinations of courses.
• Mathematics, English, Biology, Chemistry
• Mathematics, English, Computer Science, Geography
• Biology, Psychology, Geography, Spanish
• Biology, Computer Science, History, French
• English, Psychology, History, Computer Science
• Psychology, Chemistry, Computer Science, French
• Psychology, Geography, History, Spanish.
What is the minimum number of examination periods required for exams in
the ten courses specified so that students taking any of the given combinations
of courses have no conflicts ?
Find a possible schedule which uses this minimum number of periods.
Solution:
In order to picture the situation, we draw a graph with ten vertices labeled M,
E, B, ... corresponding to Mathematics, English, Biology and so on, and join
two vertices with an edge if exams in the corresponding subjects must not be
scheduled together.
The minimum number of examination periods is evidently the chromatic
number of this graph. What is this ? Since the graph contains K5 (with vertices
M, E, B, G, CS), at least five different colours are needed. (The exams in he
subjects which these vertices represent must be scheduled at different times).
Five colours are not enough, however, since P and H are adjacent to each other
and to each of E, B, G and CS.
The chromatic number of the graph is, infact 6.
In Figure (6.10), we show a 6-colouring and the corresponding exam
schedule.
184 Advanced Graph Theory

Fig. 6.10

Period 1 Mathematics, Psychology


Period 2 English, Spanish, French
Period 3 Biology
Period 4 Chemistry, Geography
Period 5 Computer Science
Period 6 History
Theorem 6.6:
For any graph G, χ(G) ≤ 1 + max δ(G′),
Where the maximum is taken over all induced subgraph G′ of G.
Proof:
The result is obvious for totally disconnected graphs.
Let G be an arbitrary n-chromatic graph, n ≥ 2.
Let H be any smallest induced subgraph such that χ(H) = n
The graph H therefore has the property that
χ(H – v) = n - 1 for all its points v.
It follows that deg v ≥ n – 1 so that δ(H) ≥ n – 1 and hence
n – 1 ≤ δ(H) ≤ max δ(H′) ≤ max δ(G′)
The first maximum taken over all induced subgraphs H′ of H and the second
over all induced subgraphs G′ of G.
This implies that
χ(G) = n < 1 + max δ(G′) n
Corollary:
For any graph G, the chromatic number is atmost one greater than the maximum
degree χ ≤ 1 + ∆.
Colouring of Graphs 185
Theorem 6.7:
For any graph G, the sum and product of χ and χ satisfy the inequalities:
2 P ≤ χ + χ ≤ P + 1.
2
 P +1
P ≤ χχ ≤  
 2 
Proof:
Let G be n-chromatic and let V1, V2,...Vm be the colour classes of G, where
| Vi | = Pi
P
Then of course ∑ P = P and max Pi ≥
i .
n
Since each Vi induces a complete subgraph of G
P
χ ≥ max Pi ≥ so that χ χ ≥ 2 P .
n
This establishes both lower bounds.
To show that χ + χ ≤ P + 1, we use induction on P, noting that equality
holds when P = 1.
We thus assume that χ(G) + χ(G) ≤ P for all graphs G having
P – 1 points.
Let H and H be complementary graphs with P points, and let v be a point of H.
Let H and H be complementary graphs with P points, and let v be a point
of H.
Then G = H – v and G + H – v are complementary graphs with
P – 1 points.
Let the degree of v in H be d so that the degree of v in H is P – d – l. It is
obvious that
χ(H) ≤ χ(G) + 1 and χ (H) ≤ χ(G) + 1
If either
χ(H) < χ(G) + 1 or χ (H) < χ (G) + 1.
then χ(H) + χ (H) ≤ P + 1.
Suppose then that χ(H) = χ(G) + 1 and χ (H) = χ (G) + 1.
This implies that the removal of v from H, producing G, decreases the
chromatic number so that d ≥ χ(G).
Similarly P – d – 1 ≥ χ (G),
thus χ(G) + χ (G) ≤ P – 1
Therefore, we always have
χ(H) + χ (H) ≤ P + 1
186 Advanced Graph Theory

Finally, applying the inequality


4χ χ ≤ (χ + χ )2 we see that

 ( P + 1) 
2

χχ ≤  
  2  n

Theorem 6.8:
n
If G is a graph with n vertices and degree δ then χ(G) ≥ .
n−δ
Proof:
Recall that δ is the minimum of the degrees of vertices.
Therefore, every vertex v of G has atleast δ number of vertices adjacent to it.
Hence there are at most n – δ vertices can have the same colour.
Let K be the least number of colours with which G can be properly coloured.
Then K = χ(G).
Let α1, α2,…, αK be these colours and let n1 be the number of vertices having
colour α1, n2 be the number of vertices having colour α2 and so on, and finally
nK be the number of vertices having colour αK.
Then n1+ n2 + n3 + ,…, nk = n ...(1)
and n1 ≤ n – δ, n2 ≤ n – δ,…, nk ≤ n – δ ... (2)
Adding the K in equalities in (2), we obtain
n1 + n2 + ,…, nk ≤ K(n – d)
orn ≤ K(n – d), using (1)
Since K = χ(G), this becomes
n
χ(G) ≥  n
n−δ

6.5 Edge Colouring


A k-edge colouring of a loopless graph G is an assignment of k colours, 1, 2, 3,
..., k, to the edges of G. The colouring is proper if no two adjacent edges have
the same colour.
Alternatively, a k-edge colouring can be thought of as a partition (E1, E2,
E3,…, Ek) of E where Ei denotes the possibly empty subset of E assigned colour
i. A proper k-edge colouring is than a k-edge colouring (E1, E2, E3,…, Ek) in
which each subset Ei is a matching.
Colouring of Graphs 187

Fig. 6.11: Edge Colouring

The proper four edge colouring for Fig. 6.11 is ({a, g}, {b, e},
{c, f}, {d})
G is k-edge-colourable if G has a proper k-edge colouring.
Trivially, every loopless graph G is E-edge colourable.
If G is k-edge-colourable, then G is also l-edge-colourable for every 1 >
k. The edge chromatic number χ′(G), of a loopless graph G, is the minimum k
for which G is k-edge­colourable. G is k-edge-chromatic if χ′(G) = k. It can be
readily verified that the graph of Fig.6.11 has no proper 3-edge colouring. This
graph is therefore 4-edge-chromatic.
Clearly, in any proper edge colouring, the edges incident with any one vertex
must be assigned different colours. It follows that
χ′ ≥ ∆ ...(i)
We shall show that, in the case when G is bipertite,
χ′ = ∆. we can say that colour i is represented at vertex v if same edge
incident with v has colour i.
Lemma 6.1:
Let G be a connected graph that is not an odd cycle. Then G has a 2-edge
colouring in which both colours are represented at each vertex of degree at
least two.
Proof:
We may clearly assume that G is nontrivial. Suppose, first, that G is eulerian. If
G is an even cycle, the proper 2-edge colouring of G has the required property.
Otherwise, G has a vertex v0 of degree at least four. Let voe1v1,…, e.v0 be an
Euler tour of G* and set
E1 = {ei | i odd}
and E2 = {ei | i even} ...(i)
188 Advanced Graph Theory

Then the 2-edge colouring (E,, E2) of G has the required property, since
each vertex of G is an internal vertex of v0e1v1 ,…, e∈,v0.
If G is not eulerian, construct a new graph G* by adding a new vertex v0
and joining it to each vertex of odd degree in G. Clearly G* is eulerian. Let v0e1,
v1 ,…, eÎv0 be an Euler tour of G* and define E1 and E2 as in ( is then easily verified
that the 2-edge colouring (E1, Ç E, E2 Ç E) of G has the required property. n
Lemma 6.2:
SLet = (E1, E2,…, Ek) be an optimal k-edge colouring of G. If there is a
vertex u, in G and, colours i and j such that i is not represented at u and j is
represented at least twice at u, then the component of G[Ei, ∪ Ej] that contains
u is an odd cycle.
Proof:
Let u be a vertex that satisfies the hypothesis of the lemma, and denote
by H the component of G[Ei U Ej] containing u. Suppose that H is not an odd
cycle. Then, by lemma 6.1, H has a 2-edge colouring in which both colours are
represented at each vertex of degree at least two in H. When we recolour the
edges of H with colours i and j in this way, we obtain a new k-edge colouring .
b′= (E′1, E′2,…, E′k ) of G. Denoting by c′(v) the number of distinct colours
at v in the colouring .
we have
c′(u) = c(u) + 1
since, now, both i and j are represented at u, and also
c′(v) ≥ c(v) for v ≠ u
Thus ∑ c '(v) > ∑ c(v) , contradicting the choice of C.
v∈V v∈V
It follows that H is indeed an odd cycle n
Theorem 6.9: (König’s Theorem) (1916)
Every bipartite graph G satisfies χ′(G) = ∆(G).
Proof:
We apply induction on ||G||. For ||G|| = 0 the assertion holds. Now assume that
||G|| ≥ 1, and that the assertion holds for graphs with fewer edges. Let ∆ := ∆(G),
pick an edge xy ∈ G, and choose a ∆­edge-colouring of (G – xy) by the induction
hypothesis. Let us refer to the edges coloured α as α-edges, etc.
In (G – xy) each of x and y is incident with at most (∆ – 1) edges. Hence
there are α, β ∈ { 1,…, ∆) such that x is not incident with an α-edge and y is
not incident with a (β-edge. If α = β, we can colour the edge xy with this colour
and are done; so we may assume that α ≠ β, and that x is incident with a β-edge.
Colouring of Graphs 189
Let us extend this edge to a maximal walk W whose edges are coloured b
and a alternately. Since no such walk contains a vertex twice (why not?), W
exists and is a path. Moreover, W does not contain y: if it did, it would end in y
on an a-edge (by the choice of b) and thus have even length, so (W + xy) would
be an odd cycle in G. We now recolour all the edges on W, swapping a with b.
By the choice of a and the maximality of W, adjacent edges (G – xy) are still
coloured differently. We have thus found a D-edge-colouring of (G – xy) in
which neither x nor y is incident with a b-edge. Colouring xy with b, we extend
this colouring to a D-edge-colouring of G. n
Theorem 6.10: (Vizing Theorem, 1964)
Every graph G satisfies
∆(G) ≤ χ′(G) ≤ ∆(G) + 1.
Proof:
We prove the second inequality by induction on ||G||. For ||G|| = 0 it is trivial.
For the induction step let G = (V, E) with ∆ := ∆(G) > 0 be given, and assume
that the assertion holds for graphs with fewer edges. Instead of ‘(∆ + 1)-edge-
colouring’ let us just say ‘colouring’. An edge coloured α will again be called
an α-edge.
For every edge e ∈ G there exists a colouring of (G – e) by the induction
hypothesis. In such a colouring, the edges at a given vertex v use at most
d(v) ≤ ∆ colours, so some colour β ∈ { 1,…, ∆ + 1} is missing at v. For any
other colour a, there is a unique maximal walk (possibly trivial) starting at v,
whose edges are coloured alternately α and β. This walk is a path; we call it
the α/β - path from v.
Suppose that G has no colouring. Then the following holds:
Given xy ∈ E, and any colouring of (G – xy) in which the colour α is missing
at x and the colour β is missing at y,(1) the α/β-path from y ends in x.
Otherwise we could interchange the colours α and β along this path and
colour xy with α, obtaining a colouring of G (contradiction).
Let xy0 ∈ G be an edge. By induction, G0 := G – xy0 has a colouring c0.
Let α be a colour missing at x in this colouring. Further, let y0, y1,…, yk be a
maximal sequence of distinct neighbours of x in G, such that c0 (xyi) is missing
in c0 at yi –1 for each i = 1,…, k. For each of the graphs Gi := G – xyi we define
a colouring ci, setting
c0 ( xy j +1 ) for=
e xy j with j ∈{0,..., i −1}
ci (e):= 
c0 (e) otherwise;

note that in each of these colourings the same colours are missing at x as in c0.
190 Advanced Graph Theory

Now let β be a colour missing at yk in c0. Clearly, β is still missing


at yk in ck. If β were also missing at x, we could colour xyk with β and
thus extend ck to a colouring of G. Hence, x is incident with a β-edge
(in every colouring). By the maximality of k, therefore, there is an i ∈ {1,…,k
– 1} such that
c0(xyi) = b.
Let P be the α/β-path from yk in Gk (with respect to ck; Fig. 6.12). By (1),
P ends in x, and it does so on a β-edge, since α is missing at x. As β = c0(xyi)
= ck(xyi – 1), this is the edge xyi–1. In c0, however, and hence also in ci–1, β is
missing at yi–1 (by (2) and the choice of yi); let P′ be the α/β-path from yi–1 in
Gi–1 (with respect to ci–1). Since P′ is uniquely determined, it starts with yi–1 Pyk;
note that the edges of Px are coloured the same in ci–1 as in ck. But in c0, and
hence in ci–1, there is no β-edge at yk (by the choice of β). Therefore P′ ends in
yk , contradicting (1).



yk


yi + 1 P


Yi 
x




yo yi - 1 Gk

Fig. 6.12: The α /β -path P in Gk

Note:
Vizing’s theorem divides the finite graphs into two classes according to their
chromatic index; graphs satisfying χ′ = ∆ are called (imaginatively) class 1,
those with χ′ = ∆ + 1 are class 2. n

6.6 List Colouring


Suppose we are given a graph G = (V, E), and for each vertex of G a list
of colours permitted at that particular vertex: when can we colour G (in
the usual sense) so that each vertex receives a colour from its list? More
formally, let (Sv )v∈ V be a family of sets. We call a vertex colouring c of G
with c(v) ∈ Sv, for all v ∈ V a colouring from the lists Sv. The graph G is
called k-list-colourable, or k-choosable, if, for every family (Sv)v∈ V with
|Sv| = k for all v, there is a vertex colouring of G from the lists Sv. The least
integer k for which G is k-choosable is the list-chromatic number, or choice
number ch(G) of G.
Colouring of Graphs 191
List-colourings of edges are defined analogously. The least integer k such
that G has an edge colouring from any family of lists of size k is the list-chromatic
index ch′(G) of G; formally, we just set ch′(G) := ch(L(G)), where L(G) is the
line graph of G.
In principle, showing that a given graph is k-choosable is more difficult
than proving it to be k-colourable: the latter is just the special case of the former
where all lists are equal to {1,…, k}. Thus,
ch(G) ≥ χ(G) and ch′(G) ≥ χ′(G)
for all graphs G.
List colouring conjecture. Every graph G satisfies ch′(G) = χ′(G).
We shall prove the list colouring conjecture for bipartite graphs. As a tool
we shall use orientations of graphs . If D is a directed graph and v ∈ V(D), we
denote by N +(v) the set, and by d+(v) the number, of vertices w such that D
contains an edge directed from v to w.
To see how orientations come into play in the context of colouring, let us
recall the greedy algorithm. In order to apply the algorithm to a graph G, we
first have to choose a vertex enumeration v1,…,vn of G. The enumeration chosen
defines an orientation of G: just orient every edge vivj ‘backwards’, from vi to
vj if i > j. Then, for each vertex vi to be coloured, the algorithm considers only
those edges at vi that are directed away from vi: if d+(v) < k for all vertices v,
it will use at most k colours. Moreover, the first colour class U found by the
algorithm has the following property: it is an independent set of vertices to
which every other vertex sends an edge. The second colour class has the same
property in G – U, and so on.
The following lemma generalizes this to orientations D of G that do not
necessarily come from a vertex enumeration, but may contain some
if, for every vertex v ∈ D – U, there is an edge in D directed from v to a
vertex in U. Note that kernels of non-empty directed graphs are themselves
non-empty.

Lemma 6.3:

Let H be a graph and (Sv)v ∈ V(H) a family of lists. If H has an orientation D with
d+(v) < |Sv| for every v, and such that every induced subgraph of D has a kernel,
then H can be coloured from the lists Sv.
192 Advanced Graph Theory

Proof:
We apply induction on |H|. For |H| = 0 we take the empty colouring. For the
induction step, let-|H| > 0. Let α be a colour occur­ring in one of the lists Sv and
let D be an orientation of H as stated. The vertices v with α ∈ Sv span a non-
empty subgraph D′ in D; by assumption, D′ has a kernel U ≠ 0/ .
Let us colour the vertices in U with α, and remove α from the lists of all
the other vertices of D′. Since each of those vertices sends an edge to U, the
modified lists S′v for v ∈ D – U again satisfy the condition d+(v) < |S′v| in D – U.
Since D – U is an orientation of H – U, we can thus colour H – U from those
lists by the induction hypothesis. As none of these lists contains α, this extends
our colouring U → {α} to the desired list colouring of H.
6.7 Greedy Colouring
The greedy algorithm considers the vertices in a specific order V1,…,Vn and
assigns to Vi the smallest available color not used by vi’s neighbours among
V1,…,Vi–1, adding a fresh color if needed. The quality of the resulting coloring
depends on the chosen ordering. There exists an ordering that leads to a greedy
coloring with the optimal number of χ(G) colors. On the other hand, greedy
colorings can be arbitrarily bad; for example, the crown graph on n vertices can
be 2-colored, but has an ordering that leads to a greedy coloring with n / 2 colors.
If the vertices are ordered according to their degrees, the resulting greedy
coloring uses at most maxi min {d(xi) + 1, i} colors, at most one more than the
graph’s maximum degree. This heuristic is sometimes called the Welsh–Powell
algorithm. Another heuristic establishes the ordering dynamically while the
algorithm proceeds, choosing next the vertex adjacent to the largest number of
different colors. Many other graph coloring heuristics are similarly based on
greedy coloring for a specific static or dynamic strategy of ordering the vertices,
these algorithms are sometimes called sequential coloring algorithms.

4 8 7 8

3 7 5 6

2 6 3 4

1 5 1 2

Fig. 6.13: Two Greedy Colorings of the same Graph using Different Vertex
Orders. The Right Example Generalises to 2-colourable Graphs with n Vertices
when the Greedy Algorithm Expends n/2 Colours
Colouring of Graphs 193
Theorem 6.11: Four Colour Problem
Every planar graph has a chromatic number of four or less.

4
2 3

Fig. 6.14: Four Colour Problem

Proof:
We assume the four colour conjecture holds and let G be any plane map.
Let G* be the underlying graph of the geometric dual of G.
Since two regions of G are adjacent if and only if the corresponding vertices
of G* are adjacent, map G is 4-colorable because graph G* is 4-colorable.
Conversely, assume that every plane map is 4-colorable and let H be any
planar graph.
Without loss of generality, we suppose H is a connected plane graph.
Let H* be the dual of H, so drawn that each region of H* encloses precisely
one vertex of H. The connected plane pseudograph H* can be converted into a
plane graph H′ by introducing two vertices into each loop of H* and adding a
new vertex into each edge in a set of multiple edges.
The 4-colorability of H′ now implies that H is 4-colorable, completing the
verification of the equivalence.
If the four color conjecture is ever proved, the result will be best possible,
for it is easy to give examples of planar graphs which are 4-chromatic, such
as K4 and W6.

Theorem 6.12: Five Colour Theorem


Every planar graph is 5-colourable.
Proof:
Let G be a plane graph with n ≥ 6 vertices and m edges. We assume inductively
that every plane graph with fewer than n vertices can be 5-coloured.
We have,
d(G) = 2m/n ≤ 2(3n – 6)/n < 6 ;
194 Advanced Graph Theory

let v ∈ G be a vertex of degree at most 5. By the induction hypothesis, the


graph H := G – v has a vertex colouring c: V(H) → (1,…,5 }. If c uses at most
4 colours for the neighbours of v, we can extend it to a 5­colouring of G. Let us
assume, therefore, that v has exactly 5 neighbours, and that these have distinct
colours.
Let D be an open disc around v, so small that it meets only those five straight
edge segments of G that contain v. Let us enumerate these segments according
to their cyclic position in D as s1,…, s5, and let vvi be the edge containing
si (i = 1,…, 5; Fig. 6.15) Without loss of generality we may assume that
c(vi) = i for each i.
v

s1 v
s2
s5 P
v
D
s4 s3
v

v

Fig. 6.15: The Proof of the Five Colour Theorem

Let us show first that every v1–v3 path P ⊆ H separates v2 from v4 in H.


Clearly, this is the case if and only if the cycle C := vvjPv3v separates v2 from v4
in G. We prove this by showing that v2 and v4 lie in different faces of C.
Consider the two regions of D \ (sl ∪ s3). One of these regions meets s2,
the other s4. Since C ∩ D ⊆ sl ∪ s3, the two regions are each contained within
a face of C. Moreover, these faces are distinct: otherwise, D would meet only
one face of C, contrary to the fact that v lies on the boundary of both faces.
Thus D ∩ s2 and D ∩ s4 lie in distinct faces of C. As C meets the edges vv2 ⊇
s2 and vv4 ⊇ s4 only in v, the same holds for v2 and v4.
Given i, j ∈ {1,…, 5}, let H i , j be the subgraph of H induced by
the vertices coloured i or j. We may assume that the component C1 of
H1 , 3 containing vl also contains v3. Indeed, if we interchange the colours
1 and 3 at all the vertices of C1, we obtain another 5-colouring of H; if v3 ∉ C1,
then vl and v3 are both coloured 3 in this new colouring, and we may assign colour
1 to v. Thus, H1, 3 contains a v1 – v3 path P. As shown above, P separates v2 from
v4 in H. Since P ∩ H2, 4 = 0, this means that v2 and v4 lie in different components
of H2, 4. In the component containing v2, we now interchange the colours 2 and
4, thus recolouring v2 with colour 4. Now v no longer has a neighbour coloured
2, and we may give it this colour.
Colouring of Graphs 195
n Example 6.6: Find all possible maximal independent sets of the following
graph using Boolean expression.
a b

c d e

Fig. 6.16

Solution:
The Boolean expression for this graph
φ = Σxy = ab + ad + cd + de and
φ′ = (a′ + b′)(a′ + b′)(d′ + e′)
= {a′(a′ + d′) + b′(a′ + d′)}
{c′(d′ + e′) + (d′(d′ + e′)
= {a′ + b′a′ + b′d′} {c′d′ + c′e′ + d′}
= {a′(1 + b′) + b′d′}{d′(c′ + 1) + (c′e′}
= {a′ + b′d′}{d′ + c′e′}
= a′d′ + a′c′e′ + b′d′ + b′c′d′e′
= a′d′ + a′c′e′ + b′d′ (1 + c′e′)
= a′d′ + a′c′e′ + b′d′
Thus, φ1= a′d′, f2 = a′c′e′
and φ3 = b′d′.
Hence maximal independent sets are
V – {a, b} = {b, c, e}
V – {a, c, e} + {b, d}
and V – {b, d} = {a, c, e}. n

n Example 6.7: Prove that for a graph G with n vertices


n
β(G) ≥ .
χ(G )
Solution:
Let K be the minimum number of colours with which G can be properly colored.
Then K = χ(G). Let a1, a2,…,aK be these colours and let n1, n2,…, nK be the
number of vertices having colours αl, α2,…,αK respectively.
196 Advanced Graph Theory

Then n1, n2,…, nK are the orders of the maximal independent sets, because a
set of all vertices having the same colour contain all vertices which are mutually
non-adjacent.
Since β(G) is the order of a maximal independent set with largest number
of vertices, none of n1, n2,…,nK can exceed β(G).
i.e., n1 ≤ β(G), n2 ≤ β(G),…,nK ≤ β(G) n

6.8 Applications

6.8.1 The Time Table Problem


In a school, there are m teachers X1, X2,…, Xm, and n classes Y1, Y2,…, Yn. Given
that teacher Xi is required to teach class Yi for pij periods, schedule a complete
timetable in the minimum possible number of periods.
The above problem is known as the timetabling problem, and can be solved
completely using the theory of edge colourings developed in this chapter. We
represent the teaching requirements by a bipartite graph G with bipartition
(X, Y), where X = {x1, x2,…, xm}, Y = {y1, y2,…, yn} and vertices xi and yi are
joined by pij edges. Now, in any one period, each teacher can teach at most
one class, and each class can be taught by at most one teacher—this, at least,
is our assumption. Thus a teaching schedule for one period corresponds to a
matching in the graph and, conversely, each matching corresponds to a possible
assignment of teachers to classes for one period. Our problem, therefore, is,
to partition the edges of G into as few matchings as possible or, equivalently,
to properly colour the edges of G with as few colours as possible. Since G is
bipartite. Hence, if no teacher teaches for more than p periods, and if no class
is taught for more than p periods, the teaching requirements can be scheduled
in a p-period timetable. Furthermore, there is a good algorithm for constructing
such a timetable. We thus have a complete solution to the timetabling problem.
However, the situation might not be so straightforward. Let us assume
that only a limited number of classrooms are available. With this additional
constraint, how many periods are now needed to schedule a complete timetable?
Suppose that altogether there are 1 lessons to be given, and that they have
been scheduled in a p-period timetable. Since this timetable requires an average
of l/p lessons to be given per period, it is clear that at least {l/p} rooms will be
needed in some one period. It turns out that one can always arrange l lessons in
a p-period timetable so that at most {l/p} rooms are occupied in any one period.

6.8.2 Scheduling of Jobs

Vertex coloring models to a number of scheduling problems. In the cleanest


form, a given set of jobs need to be assigned to time slots, each job requires
one such slot. Jobs can be scheduled in any order, but pairs of jobs may be in
Colouring of Graphs 197
conflict in the sense that they may not be assigned to the same tine slot. For
example because they both rely on a shared resource. The corresponding graph
contains a vertex for every job and an edge for every conflicting pair of jobs. The
chromatic number of the graph is exactly the minimum makes an, the optimal
time to finish all jobs without conflicts.
Details of the scheduling problem define the structure of the graph. For
example, when assigning aircrafts to flights, the resulting conflict graph is an
interval graph, so the coloring problem can be solved efficiently. In bandwidth
allocation to radio stations, the resulting conflict graph is a unit disk graph, so
the coloring problem is 3-approximable.
6.8.3 Ramsey Theory
An important class of improper coloring problems is studied in Ramsey theory,
where the graph’s edges are assigned to colors, and there is no restriction on
the colors of incident edges. A simple example is the friendship theorem says
that in any coloring of the edges of K6 the complete graph of six vertices there
will be a monochromatic triangle; often illustrated by saying that any group
of six people either has three mutual strangers or three mutual acquaintances.
Ramsey theory is concerned with generalisations of this idea to seek regularity
amid disorder, finding general conditions for the existence of monochromatic
subgraphs with given structure.

6.8.4 Storage Problem

A company manufactures n chemicals C1, C2,…,Cn. Certain pairs of these


chemicals are incompatible and would cause explosions if brought into contact
with each other. As a precautionary measure the company wishes to partition
its warehouse into compartments, and store incompatible chemicals in different
compartments. What is the least number of compartments into which the
warehouse should be partitioned?
We obtain a graph G on the vertex set {v1, v2,…, vn} by joining two vertices
vi and vj if and only if the chemicals Ci and Cj are incompatible. It is easy to
see that the least number of compartments into which the warehouse should be
partitioned is equal to the chromatic number of G.
The solution of many problems of practical interest (of which the storage
problem is one instance) involves finding the chromatic number of a graph.
Unfortunately, no good algorithm is known for determining the chromatic
number. Here we describe a systematic procedure which is basically ‘enumerative’
in nature. It is not very efficient for large graphs.
198 Advanced Graph Theory

Since the chromatic number of a graph is the least’number of independent


sets into which its vertex set can be partitioned, we begin by describing a method
for listing all the independent sets in a graph. Because every independent set is
a subset of a maximal independent set, it suffices to determine all the maximal
independent sets. In fact, our procedure first determines complements of maximal
independent sets, that is, minimal coverings.

SUMMARY

1. A graph in which every vertex has been assigned a colour according to a


proper colouring is called a properly coloured graph.
2. A colouring using at most k colour is called a proper k-colouring.
3. A Chromato Polynomial includes at least as much information about the
colourability of G as does the Chromatic number.
4. Every Chromatic number of any bipartite graph is always 2.
5. A minimum number of hours for a scheduled of committee meeting in one
scheduling problem is X(G0).
6. If G in k-critically, then d ≥ k-1.
7. In a critical graph, no vertex cut is a clique.
8. A k-edge colouring of a loopless graph G is an assignment of k colours 1, 2,
3, ..., k, to the edge of G.
9. The colouring is proper if no two adjacent edges have the same colour.
10. Every planar graph is 5-colourable.

EXERCISES

1. Describe a good algorithm for finding a proper (∆ + 1)-edge colouring of a


simple graph G.
2. Show that if G is simple with d > 1, then G has a (d – 1)-edge colouring such
that all (d – 1) colours are represented at each vertex.
3. If G is bipertite, then prove that c′ = D.
4. If G is simple, Hence prove that either c′ = D or c′ = ∆ + 1.
5. The product of simple graphs G and H is the simple graph G × H with vertex
set V(G) × V(H), in which (u, v) is adjacent to (u′, v′) if and only if either u
= u′ and vv′ ∈ E(H) or v = v′ and uu′ ∈ E(G).
(a) Using Vizing’s theorem, show that c′(G × K2) = D(G × K2).
(b) Deduce that if H is nontrivial with c′(H) = D(H), then c′(G × H) = D(G
× H).
Colouring of Graphs 199
6. In a school there are seven teachers and twelve classes. The teaching
requirements for a five-day week are given by the matrix
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9 Y10 Y11 Y12
X1 3 2 3 3 3 3 3 3 3 3 3 3
X2 1 3 6 0 4 2 5 1 3 3 0 4
X3 5 0 5 5 0 0 5 0 5 0 5 5
X4 2 4 2 4 2 4 2 4 2 4 2 3
X5 3 5 2 2 0 3 1 4 4 3 2 5
X6 0 3 4 3 4 3 4 3 4 3 3 0
where pij is the number of periods that teacher Xi must teach class Yj.
(a) Into how many periods must a day be divided so that requirements can
be satisfied?
(b) If an eight-period/day timetable is drawn up, how many class-rooms will
be needed?

Suggested Readings
1. R.P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied
Introduction, 4th ed., Addison-Wesley, Reading, MA, 1999 pp. 547-590.
2. E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms,
Computer Science Press, Rockville, MD, 1978, pp. 152-370.
3. A.Tucker, Applied Combinatorics, 2nd ed., Wiley, New York, NY, 1984,
pp. 80-122.
4. R.J. Wilson and J.J. Watkins, Graphs: An Introductory Approach, Wiley,
New York, 1990, pp. 185-214.
 qqq

7
Ramsey Theory for Graphs

Frank P. Ramsey
(1903–1930)

7.1 Introduction
Ramsey theory refers to the study of partitions of large structures. Typical
results state that a special substructure must be occuring in some class of
the partition. Motzkin described that “complete disorder is impossible”. The
objects we consider are merely sets and numbers, and the techniques are little
more than induction. Ramsey’s theorem generalizes the pigeonthole principle,
which itself concerns the partition of sets. We study the applications of the
pigeonhole principle, prove Ramsey’s theorem, and then focus on Ramsey-type
questions for graphs. Ramsey’s Theorem guarantees a special substructure. We
can warmly discuss Revised Pigeonhole Principle. The pigeonhole principle
states that if m objects are partitioned into n classes, then some class has at
least [m/n] objects. This is a discrete version of the statement that every set of
a number contains a number at least as large as the average.
Among six persons it is possible to find three mutual acquaintances or three
mutual non-acquaintances. In the language of graph theory, we are asked to
show that for every simple graph G with six vertices, there is a triangle in G or
© The Author(s) 2023 201
S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_7
202 Advanced Graph Theory

in G . The degree of vertex x in G and G sum to 5, so the pigeonhole principle


implies that one of them is at least 3.
By symmetry we may assume that dG(x) ≥ 3. If two neighbours of x are
adjacent, then they form a triangle in G with x; otherwise, three neighbours of
x form a triangle in G (as shown in Fig. 7.1).

Fig. 7.1: Ramsey Theory

The pigeonhole principle guarantees a class with objects where we partition


objects into classes. The famous theorem of Ramsey (1930) makes a similar
statement about partitioning the r-element subsets of objects into classes.
Ramsey’s theorem says that whenever we partition the r-sets in a sufficiently
larger set S into k-classes, there is a p-subset of S whose r-sets all line in the
same class. A partition is a separation of a set into subsets, and the set we want
to partition consists of subsets of another set, so far the language of partitioning.
Recall that a k-colouring of a set is a partition of it into k classes.
A class or its label is a colour. Typically we can use [k] as the set of
colours, in which are of k-colouring of X can be viewed as a function
f: X → [k].
Let (Sr ) denote the set of r-element subsets (r-sets) of a set S. A set T ⊆ S is
homogeneous under a colouring of (Sr ) of all r-sets in T receive the same colour;
it is i-homogeneous of that colour is i.
Let r and p1, p2,…, pk be the positive integers. If there is an integer N such
that every k-colouring of (|N|
r ) yields an i-homogeneous set of size pi for some i,
then the smallest such integer is the Ramsey number R(p1, p2,…, pk : r).
Ramsey’s theorem states that such integer exists for every choice of r and
p1, p2, p3,…, pk. When the mates all equal to p, the theorem states that every
k-colouring of the r-sets of a sufficiently large set has a p-set whose r-sets
receive the same colour.
Ramsey theorem defines the Ramsey number R(p1, p2,…, pk : r) = N, we
must exhibit a k-colouring of the r-sets among N-1 points that meets no quote
and we must show that every colouring on N points meets the same quota.
In principle, we could use a computer to examine all k-colourings of (|n|r) for
successive n until we find the first N such that every such colouring meets a
Ramsey Theory for Graphs 203
( n2 )
quota pi for some i. Even for two colour Ramsey numbers, 2 rapidly becomes
too large to contemplate.
Ramsey Theorems for r = 2 says that k-colouring the edges of a large enough
complete graph forces a monochromatic complete subgraph. A non-chromatic
(subgraph) p-clique contains a monochromatic copy of every p-vertex graph.
Perhaps monochromatic copies of graphs with fewer edges can be forced by
colouring a smaller graph needed to force kp. For example, 2-colouring the edges
of k3 always yields a monochromatic P3, although six points are needed to force
a monochromatic triangle. This suggests many Ramsey number questions, some
easier to answer than the questions for cliques.
7.2 Independent Sets and Cliques
A subset S of V is called an independent set of G if no two vertices of S are
adjacent in G. An independent set is maximum of G has no independent set S′
with |S′| > |S|.
We recall that a subset K of V such that every edge of G has at least one
and in K is called a covering of G.
Theorem 7.1:
A set S ⊆ V is an independent set of G if and only if V\S is a covering of G.
Proof:
By definition, S is an independent set of G iff. no edge of G has both ends in S
or, equivalently, if and only if each edge has atleast one end in V \ S. But this
is so iff V \ S is a covering of G.
Note:
(i) The number of vertices in a maximum independent set of G is called the
independence number of G and is denoted by a(G); similarly, the number
of vertices in a minimum covering of G is the covering number of G and
is denoted by β(G).
(ii) The edge analogue of an independent set is a set of links no two of which
are adjacent, that is, a matching. The edge analogue of a covering is
called an edge covering. An edge covering of G is a subset L of E such
that each vertex of G is an end of some edge in L. Note that edge coverings
do not always exist; a graph G has an edge covering if and only if d > 0.
We denote the number of edges in a maximum matching of G by a′(G),
and the number of edges in a minimum edge covering of G by b′(G); the
numbers a′(G) and b′(G) are the edge independence number and edge
covering number of G, respectively.
204 Advanced Graph Theory

(iii) Matchings and edge coverings are not related to one another as simply
as are independent sets and coverings; the complement of a matching
need not be an edge covering, nor is the complement of an edge covering
necessarily a matching. However, it so happens that the parameters α′
and β′ are related in precisely the same manner as are α and β.
Corollary 7.1: α + β = v.

Proof:
Let S be a maximum independent set of G and let K be a minimum covering
of G. Then, we have V \ K is an independent set and V \ S is a covering.
Therefore v – b = |V \ K| ≤ α ...(i)
and v – α = |V \ S| ≥ β ...(ii)
from (i) & (ii) we get α + β = v.

7.3 Original Ramsey’s Theorems


Ramsey’s theorem says that, given an integer r ≥ 0, every large enough graph
G contains either Kr or Kr as an induced subgraph. This may seem surprising:
we need about (r – 2) / (r – 1) of all possible edges to force a Kr subgraph in G,
but neither G nor G can be expected to have more than half the total number
of edges. As the Turan graphs squeezing many edges into G without creating
a Kr imposes additional structure on G, which may help us find an induced Kr.
We try to build a Kr or Kr in G inductively, starting with an arbitrary vertex
v1 ∈ V1 := V(G). If |G| is large, there will be a large set V2 ⊆ V1 \ {v1} of vertices
that are either all adjacent to v1 or all non-adjacent to v1.
We may think of v1 as the first vertex of a Kr or whose other vertices
all lie in V2. Let us then choose another vertex v2 ∈ V2 for our Kr or . Since
V2 is large, it will have a subset V3, still fairly large, of vertices that are all ‘of
the same type’ with respect to v2 as well: either all adjacent or all non-adjacent
to it. We then continue our search for vertices inside V3, and so on (Fig. 7.2).

Fig. 7.2: Choosing the Sequence v1, v2,…, vn

This depends on the size of our initial set V1: each set Vi has at least half the
size of the predecessor Vi – 1, so we shall be able. to complete s construction steps
Ramsey Theory for Graphs 205
if G has order about 2s. As the proof shows, the choice of s = 2r – 3 vertices vi
suffices in order to find among them the vertices of a Kr or .
The least integer n associated with r is the Ramsey number R(r) of r; proof
shows that R(r) ≤, 22r–3. We can use a simple probabilistic argument to show
that R(r) is bounded below by 2r/2.
A colouring of (the elements of) a set X with c colours, or c-colouring for
short, is simply a partition of X into c classes (indexed by the ‘colours’). These
colourings need not satisfy any non-adjacency requirements. Given a c-colouring
of [X]k, the set of all k-subsets of X, we call a set Y ⊆ X monochromatic if all the
elements of [Y]k have the same colour, i.e. belong to the same of the c partition
classes of [X]k. Similarly, if G = (V, E) is a graph and all the edges of H ⊆ G have
the same colour in some colouring of E, we call H a monochromatic subgraph
of G, speak of a red (green, etc.) H in G, and so on.
In the above terminology, Ramsey’s theorem can be expressed as follows: for
every r there exists an n such that, given any n-set X, every 2-colouring of [X]2
yields a monochromatic r-set Y ⊆ X. Interestingly, this assertion remains true for
c-colourings of [X]k with arbitrary c and k-with almost exactly the same proof!
Theorem 7.3: (Ramsey’s Theorem, 1930)
For, every r ∈ N there exists on n ∈ N such that every graph of order at
least n contains either Kr or Kr as an induced subgraph.
Proof:
The asertion is trivial for r ≤ 1.
we assume that r ≥ 2.
Let n: = 22r–3, and let G be a graph of order atleast n.
We define a sequence V1, V2,…,V2r – 2 of sets and choose vertices vi ∈ Vi with
the following properties;
(i) |Vi| = 22r – 2 – i i = 1, 2,…, 2r–2 ;
(ii) Vi ⊆ Vi – 1\ {vi – 1} i = 2,…, 2r–2.
(iii) vi–1 is adjacent either to all vertices is Vi or to no vertex in Vi i = 2,…,
2r – 2.
Let Vi ⊆ V(G) be any set of 22r–3 vertices.
Pick vi ∈ V1 arbitrarily.
Then (i) holds for i = 1
while (ii) and (iii) holds trivially.
Suppose now that Vi–1 and vi–1 ∈ Vi–1 have been chosen so as to satisfy (i) –
206 Advanced Graph Theory

(iii) for i – 1, where 1 < i ≤ 2r–2


since |Vi–r \ {vi–1}| = 22r–1–i – 1. is odd.
Vi–1 has a subset Vi satisfying (i) – (iii);
we pick vi ∈ Vi arbitrarily.
Among the (2r – 3) vertices v1,…, v2r–3. These are (r – 1) vertices that show
the same behaviour when viewed as vi–1 in (iii), being adjacent either to all the
vertices in Vi or to none. Accordingly, these (r–1) vertices and v2r–2 induce either
a Kr or a Kr in G,
because v1,…, v2r–2 ∈ Vi ∀ i.

Theorem 7.4:
Let k, c be positive integers, and X an infinite set. If [X]k is coloured with c
colours, then X has an infinite monochromatic subset.
Proof:
We prove the theorem by induction on k, with c fixed. For k = 1 the assertion
holds, so let k > 1 and assume the assertion for smaller values of k.
Let [X]k be coloured with c colours. We shall construct and infinite sequence
X0, X1,…, of infinite subsets of X and choose elements xi ∈ Xi with the following
properties (for all i):
(i) Xi+1 ⊆ Xi \ {xi};
(ii) all k-sets {xi} ∪ Z with Z ∈ [Xi+ 1]k–1 have the same colour, which we
associate with xi.
We start with X0 := X and pick x0 ∈ X0 arbitrarily. By assumption, X0 is
infinite. Having chosen an infinite set Xi and xi ∈ Xi for some i, we c-colour
[Xi \ { xi }k–1 by giving each set Z the colour of { xi } ∪ Z from our c-colouring
of [X]k. By the induction hypothesis, Xi \ {xi} has an infinite monochromatic
subset, which we choose as Xi+1. Clearly, this choice satisfies (i) and (ii).
Finally, we pick xi+1 ∈ Xi+1 arbitrarily.
Since c is finite, one of the c colours is associated with infinitely many xi.
These xi form an infinite monochromatic subset of X. 

Lemma 7.1: (König’s Infinity Lemma)


Let V0, V1,…, be an infinite sequence of disjoint non-empty finite sets, and let
G be a graph on their union. Assume that every vertex v in a set Vn with n ≥ 1
has a neighbour f(v) in Vn–1. Then G contains an infinite path v0vl ,…, with vn
∈ Vn for all n.
Ramsey Theory for Graphs 207

Fig. 7.3: (Konig’s Infinity Lemma)

Proof:
Let P be the set of all paths of the form v f (v) f (f (v)),…, ending in V0. Since
V0 is finite but p is infinite, infinitely many of the paths in P end at the same
vertex v0 ∈ V0. Of these paths, infinitely many also agree on their penultimate
vertex v1 ∈ V1, because V1 is finite. Of those paths, infinitely many agree even on
their vertex v2 in V2—and so on. Although the set of paths considered decreases
from step to step, it is still infinite after any finite number of steps, so vn gets
defined for every n ∈ N. By definition, each vertex vn is adjacent to vn–1 on one
of those paths, so v0vl,…, is indeed an infinite path.
Theorem 7.5:
For all k, c, r ≥ 1 there exists an n ≥ k such that every n-set X has monochromatic
r-subset with respect to any c-colouring of [X]k.
Proof:
As is customary in set theory, we denote by n ∈ N (also) the set {0, ... ,
n – 1}. Suppose the assertion fails for some k, c, r. Then for every n ≥ k there
exist an n-set, without loss of generality the set n, and a c-colouring [n]k → c
such that n contains no monochromatic r-set. Let us call such colourings bad;
we are thus assuming that for every n > k there exists a bad colouring of [n]k.
Our aim is to combine these into a bad colouring of [N]k, which will contradict.
For every n ≥ k let Vn ≠ θ be the set of bad colourings of [n]k. For
n > k, the restriction f (g) of any g ≠ Vn to [n - 1]k is still bad, and hence
lies in V n–1. By the infinity lemma, there is an infinite sequence g k,
gk+1,…, of bad colourings gn ∈ Vn such that f (gn) = gn–1 for all n > k.
For every m ≥ k, all colourings gn with n ≥ m agree on [m]k, so for each
Y ∈ [N]k the value of gn(Y) coincides for all n ≥ max Y. Let us define g(Y) as
this common value gn(Y). Then g is a bad colouring of [N]k : every r-set S ⊆ Nis
contained in some sufficiently large n, so S cannot be monochromatic since g
coincides on [n]k with the bad colouring 9n. 
Note: R(k, c, r) → Ramsey Number for Parameters, Gn
208 Advanced Graph Theory

Proposition 7.1:

Let s, t be positive integers, and let T be a tree of order t. Then R(T, Ks) =
(s – 1)(t – 1) + 1.

Proof:

The disjoint union of (s – 1) graphs Kt–1 contains no copy of T, while the


complement of this graph, the complete (s – 1)-partite graph Kt–1
s–1
, does not
contain Ks. This proves R(T, Ks) ≥ (s – 1)(t – 1) + 1.
Conversely, let G be any graph of order n = (s –1)(t – 1) + 1 whose
complement contains no Ks. Then s > 1, and in any vertex colouring of G at
most S – 1 vertices can have the same colour. Hence, χ(G) ≥ [n / (s – 1)] = t. G
has a subgraph H with δ(H) ≥ t – 1, which contains a copy of T.

7.4 Induced Ramsey Theorems


For every graph H = Kr there exists a graph G such that every 2-colouring of the
edges of G yields a monochromatic H ⊆ G; as it turns out, this is witnessed by
any large enough complete graph as G. Let us now change the problem slightly
and ask for a graph G in which every 2-edge-colouring yields a monochromatic
induced H ⊆ G, where H is now an arbitrary given graph.
The fact that such a Ramsey graph exists for every choice of H is one of
the fundamental results of graph Ramsey theory. It was proved around 1973,
independently by Deuber, by Erdos, Hajnal & Posa, and by Rodl.
Theorem’s. Every graph has a Ramsey graph. In other words, for every
graph H there exists a graph G that, for every partition {El, E2} of E(G), has an
induced subgraph H with E(H) ⊆ E1 or E(H) ⊆ E2.

Proof:

In our construction of the desired Ramsey graph we shall repeatedly replace


vertices of a graph G = (V, E) already constructed by copies of another graph
H. For a vertex set U ⊆ V let G [U → H] denote the graph obtained from G
by replacing the vertices u ∈ U with copies H(u) of H and joining each H(u)
completely to all H(u′) with uu′ ∈ E and to all vertices v ∈ V \ U with uv ∈ E.
(As shown in Fig. 7.4)
Ramsey Theory for Graphs 209

Fig. 7.4: A Graph G [U → H] with H = K3

Formally, G[U → H] is the graph on


(U × V(H)) ∪ ((V \ U) × {φ})
in which two vertices (v, w) and (v′, w′) are adjacent if and only if either
vv′ ∈ E, or else v = v′ ∈ U and ww′ ∈ E(H)3.
We can prove the following:
For any two graphs H1, H2 there exists a graph G = G(H1, H2) such that
every edge colouring of G with the colours 1 and 2 yields either an induced
H1 ⊆ G with all its edges coloured 1 or an induced H2 ⊆ G with all its edges
coloured 2,…,(*)
This formal strengthening makes it possible to apply induction on |H1| +
|H2|, as follows:
If either H1 or H2 has no edges (in particular, if |H1| + |H2| ≤ 1), then (*)
holds with G = for large enough n. For the induction step, we now assume
that both H1 and H2 have at least one edge, and that (*) holds for all pairs (H1,
H2) with smaller |H′1| + |H′2|.
For each i = 1, 2, pick a vertex xi ∈ Hi that is incident with an edge. Let
H′i := Hi – xi, and let Hi′′ be the subgraph of H′i induced by the neighbours of xi.
We shall construct a sequence G0,…, Gn of disjoint graphs; Gn will be the
desired Ramsey graph G(H1, H2). Along with the graphs Gi, we shall define
subsets V′ ⊆ V(G′) and a map
f:V1∪,…,∪Vn → V 0 ∪,…,∪ Vn–1
such that
f(V′) = V i-1 …(1)
for all i ≥ 1. Writing f i := f 0 ,…, 0 f for the i-fold composition of f whenever it
is defined, and f 0 for the identity map on V 0 = V(G0), we thus have f ′(v) ∈ V 0
for all v ∈ V i. We call f i(v) the origin of v.
The subgraphs G i [V i ] will reflect the structure of G0 as follows:
210 Advanced Graph Theory

Vertices in V i with different origins are adjacent in G′ if and only if their


origins are adjacent in G0,…,(2)
Assertion (2) will not be used formally in the proof below. However,
it can help us to visualize the graphs Gi: every Gi (more precisely, every
G i [ V i ]–there will also be some vertices x ∈ G i – V i) is essentially an
inflated copy of G0 in which every vertex w ∈ G0 has been replaced by the
set of all vertices in V i with origin w, and the map f links vertices with the
same origin across the various G i.
By the induction hypothesis, there are Ramsey graphs
Gl : G(H1, H2) and G2 : = G(H1, H2).
Let G0 be a copy of G1, and set V0 := V(G0). Let W′0,…, W′n–1 be the subsets
of V0 spanning an H′2 in G0. Thus, n is defined as the number of induced copies
of H′2 in G0, and we shall, construct a graph G i for every set W′i–1, i = 1,…,n.
Since H1 has an edge, n ≥ 1: otherwise G0 could not be a G(H1, H2). For i = 0,...,
n – 1, let W′′i be the image of V (H′′2) under some isomorphism H′2 , G0 [ W′i ].
Assume now that G0,…, G i–1 and V 0,…, V i–1 have been defined for some
i ≥ 1, and that f has been defined on V1 ∪ ,…, ∪ Vi–1 and satisfies (1) for all j ≤
i. We expand G i–1 to G i in two steps. For the first step, consider the set Ui–1 of
all the vertices v ∈ V i–1 whose origin f i–1(v) lies in W′i–1. (For i = 1, this gives
U 0 = W′′0.) Expand G i–1 to a graph G i–1 by replacing every vertex u ∈ U i–1
with a copy G2(u) of G2, i.e. let
G i–1 : = G i–1 [U i–1 → G2]
(see Figs. 7.5 and 7.6). Set f(u′) := u for all u ∈ U i–1 and

Fig. 7.5: The Construction of G1

u′ ∈ G2(u), and f(v′) := v for all v′ = (v, φ) with v ∈ Vi–1 \ Ui–1 (Recall that
(v, φ) is simply the unexpanded copy of a vertex v ∈ Gi–1 in Gi–1.) Let Vi be the
set of those vertices v′ or u′ of G i–1 for which f has thus been defined, i.e. the
Ramsey Theory for Graphs 211
vertices that either correspond directly to a vertex v in V i–1 or else belong to
an expansion G2(u) of such a vertex u. Then (1) holds for i. Also, if we assume
(2) inductively for i – 1, then (2) holds again for i (in G i-1). The graph G i-1 is
already the ‘essential part’ of G i : the part that looks like an inflated copy of G 0.
In the second step we now extend G i-1 to the desired graph Gi by adding
some further vertices x ∉ V i. Let F denote the set of all families F of the form
F = (Hl′(u) | u ∈ U ) , i–1

where each H ′1 (u) is an induced subgraph of G2 (u) isomorphic to H′l. (Less


formally: F is the collection of ways to select from each G2(u) exactly one
induced copy of H′1.) For each F ∈ F, add a vertex x(F) to G i-1 and join it to
all the vertices of H ′′1 (u) for every u ∈ U i-1, where H′′l (u) is the image of H′′1
under some isomorphism H′1→ H′1 (u). Denote the resulting graph by G i. This
completes the inductive definition of the graphs G0,…, G n.
Let us now show that G := G n satisfies (*). To this end, we prove the
following assertion (**) about G i for i = 0,…, n:
For every edge colouring with the colours 1 and 2, G i contains either an
induced H1 coloured l, or an induced H2 coloured 2, or an induced subgraph
H coloured 2 such that V (H) ⊆ V i and the restriction of f i to V(H) is an
isomorphism between H and G0 [ W′k] for some k ∈ { i,…, n –1 }.....(*)
Note that the third of the above cases cannot arise for i = n, so (**) for n is
equivalent to (*) with G := G′′.
For i = 0, (**) follows from the choice of G0 as a copy of G1 = G(H1, H2)
and the definition of the sets W′k. Now let 1 ≤ i ≤ n, and assume (**) for smaller
values of i.
Let an edge colouring of G i be given. For each u ∈ U i-1 there is a copy of
G2 in G i:
G i ⊇ G2(u) = G(H′1, H2)
If G 2(u) contains an induced H 2 coloured 2 for some u ∈ U i–1, we
are done. If not, then every G2 (u) has an induced subgraph H′i (u) H′i
coloured 1. Let F be the family of these graphs H′ i (u), one for each
u ∈ U i–1, and let x := x(F). If, for some u ∈ U i-1, all the x-H′′i (u) edges in G i
are also coloured 1, we have an induced copy of H1 in G i and are again done.
We may therefore assume that each H′′l (u) has a vertex yu for which the edge
xyu is coloured 2. Let
i–1
: = { yu | ∪ U i –1 } ⊆ V i.
Then f defines an isomorphism from
i–1
:= G i [ i–1
∪ {(v, 0) | v ∈ V (G i–1) \ U i – 1}]
212 Advanced Graph Theory

to G i–1: just map every yu to u and every (v, φ) to v. Our edge colouring of G i
thus induces an edge colouring of G i–1. If this colouring yields an induced H1
⊆ G i–1 coloured 1 or an induced H2 ⊆ G i–1 coloured 2, we have these also in
G i–1 ⊆ G i and are again home.
By (**) for i – 1 we may therefore assume that G i – 1 has an induced
subgraph H′ coloured 2, with V(H′ ) ⊆ V i –1 and such that the restriction of
f i–1 to V(H′ ) is an isomorphism from H′ to G [ W ′k ] = H ′2 for some k ∈ { i – 1,…,
0

n – 1} . Let be the corresponding induced subgraph of i–1


∈ G i (also coloured
2); then V( ′) ∈ V i.
f i (V(H′)) = f i –1 (V(H′)) = W′k,
and f i: → G0 [ W′k ] is an isomorphism.

If k ≥ i, this completes the proof of (**) with H := ′; we therefore assume


that k < i, and hence k = i – 1. By definition of U i–1 and G i–1, the inverse image
of W′′i–1 under the isomorphism f i is ′ → G0 [ W′i–1 ] is a subset of U i–1. Since
x is joined to precisely those vertices of ′ that lie in i–1
, and all these edges
xyu have colour 2, and the proof of (**) is complete.

Fig. 7.6: A Monocromatic Copy of H2 in Gi


Ramsey Theory for Graphs 213
7.5 Applications

7.5.1 Schur’s Theorem


We consider the partition ({1, 4, 10, 13}, {2, 3, 11, 12}, {5, 6, 7, 8, 9} of the set
of integers {1, 2,…, 13}. We observe that in no subset of the partition are there
integers x, y and z (not necessarily distinct) which satisfy the equation
x+y =z ...(i)
Yet, no matter how we partition {1, 2,…, 14} into three subsets, there always
exists a subset of the partition which contains a solution, Schur (1916) proved
that, in general, given any positive integer n, there exists an integer fn such that,
in any partition of {1, 2,…, fn} into n subsets, there is a subset which contains
a solution. We shall show how Schur’s theorem follows from the existence of
the Ramsey numbers rn.
Theorem 7.7:
Let (S1, S2,…, Sn) be any partition of the set of integers {1, 2,…, rn}. Then, for
some i, Si contains three integers x, y and z satisfying the equation x + y = z.
Proof:
Consider the complete graph whose vertex set is {1, 2,…, rn}. Colour the edges of
this graph in colours 1, 2,…, n by the rule that the edge uv is assigned colour j if and
only if |u – v| ∈ Sj. By Ramsey’s theorem, there exists a monochromatic triangle;
that is, there are three vertices a, b and c such that ab, bc and ca have the same
colour, say i. Assume, without loss of generality that a > b > c and write x = a – b,
y = b – c and z = a – c. Then x, y, z ∈ Si and x + y = z.

Theorem 7.8:
Suppose H1, H2,…, Hk are any k graphs. Then there exists an integer R(H1,
H2, … Hk), any k-painting of kv, must contain a subgraph isomorphic to Hi that
is monochromatic in colour i for some i, 1 < i < k.
Proof:
It is sufficient to prove the theorem in the case where all the Hi are complete.
Then, if v is sufficiently large that a k-painted Kv must contain a monochromatic
Kv(H ) in color ci for some i, it must certainly contain a monochromatic copy of
i
Hi in color c, , so
R(H1, H2,…, Hk) < R(v(H1), v(H2),…, v(H2),…, v(Hk)).
We proceed by induction on k to prove that R(p1, p2,…, Pk) exists for all
parameters. In the case k = 2. Now suppose it is true for k < K, and suppose
integers p1, p2,…, pk are given. Then R(p1, p2,…, pK–1) exists.
214 Advanced Graph Theory

Suppose
v > R(R(p1, p2,…, pk–1), pk).
Select any k-painting of Kv. Then recolor by assigning a new color c0 to all edges
that received colors other than ck. The resulting graph must contain either a
monochromatic KR(p , p ,…, p ) in color c0 or a monochromatic Kpk in color cK. In the
1 2 k–1
former case, the corresponding KR(p , p ,…, p in the original painting has edges in
1 2 K–1)
the K – 1 colors c1, c2,…, cK–1 only, so by induction it contains a monochromatic
Kpi in color c, for some i.
Theorem 7.9:
If T is a tree with m vertices, then
R(T, Kn) = (m – 1)(n – 1) + 1
Proof:
We can see that R(T, Kn) > (m – 1)(n – 1). To do so, we consider a graph of
(m – 1) disjoint copies of Kn–1 with all edges coloured red (say).
We can complete this graph to a K(m–1)(n–1) by colouring all remaining edges
blue (say).
Since the red subgraph contains no m-vertex component, it contains no copy of
T. The blue graph is (n–1)–partite, so it can contain no Kn.
Using induction on n. The case n = 1 is trivial. Suppose n > 1 and suppose
the theorem is true of R(T, Ks) whenever s < n. Suppose there is a coloring
of the edges of in red and blue that contains neither a red T nor a blue Kn,
and examine some vertex x. If x lies on more than (m – 1)(m – 2) blue edges,
then the subgraph of G induced by the “blue” neighbors of x contains either
a red copy of T or a blue Kn–1, by the induction hypothesis. In the former case
K(m–1)(n–1)+1 contains a red T, in the latter the blue Kn–1 together with x forms a
blue Kn. Therefore x lies on at most (m – l)(n – 2) blue edges, so it lies on at least
m – 1 red edges. Since x could be any vertex of the K(m–1)(n–1)+1, the red subgraph
has minimum degree at least m – 1. Since T has m – 1 edges, this red subgraph
will contain a subgraph isomorphic to T. So the K(m–1)(n–1)+1 contains a red copy
of T, a contradiction.
7.5.2 Geometry Problem
The diameter of a set S of points in the plane is the maximum distance between
two points of S. It should be noted that this is a purely geometric notion and is
quite unrelated to the graph-theoretic concepts of diameter and distance.
We shall discuss sets of diameter 1. A set of n points determines
( ) distances between pairs of these points. It is intuitively clear that if n is
‘large’, then some of these distances must be ‘small’. Therefore, for any d
Ramsey Theory for Graphs 215
between 0 and 1, we can ask how many pairs of points in a set {x1, x2,…, xn} of
diameter 1 can be at distance greater than d. Here, we shall present a solution
to one special case of this problem, namely when d =1 .
As an illustration, consider the case n = 6. We then have ‘six points x1, x2,
x3, x4, x5 and x6. If we place them at the vertices of a regular hexagon so that the
pairs (x1, x4), (x2, x3) and (x3, x6) are at distance 1, as shown in Fig. 7.7a, these
six points constitute a set of diameter 1.
It is easily calculated that the pairs (x1, x2), (x2, x3), (x3, x4), (x4, x5), (x5, x6)
and (x6, x1) are at distance 1/2, and the pairs (x1, x3), (x2, x4), (x3, x5), (x4, x6),
(x5, x1) and (x6, x2) are at distance . Since > = , there
are nine pairs of points at distance greater than in this set of diameter 1.

Fig. 7.7
However, nine is not the best that we can do with six points. By placing
the points in the configuration shown in Fig. 7.7 b, all pairs of points except
(x1, x2), (x3, x4) and (x5, x6) are at distance greater than . Thus we have
twelve pairs at distance greater than ; this is, in fact, the best we can do.
Theorem 7.10: (Ramsey’s Multiplicity Theorem)

 n  n  n − 1 
2
Prove that N2,n (K3) =   −   
 3   2  2  
 
Proof :
Suppose Kv is colored in two colors, red and blue. Write R for the number
of red triangles, B for the number of blue triangles, and P for the number of
 n
partial triangles — triangles with at least one edge of each color. There are  
 3
triangles in Kv. So
 v
R+B+P =   ... (i)
 3
Since N2.v(K3) equals the minimum possible value of R + B.
 v
N2.v(K3) =  3 – max (P) ... (ii)
 
216 Advanced Graph Theory

Suppose the vertices of Kv are x1, x2,…, xv, and xi, is incident with ri, red
edges. Then it is adjacent to v – 1 – ri, blue edges. Therefore the Kv contains.
ri(v – 1 – ri) paths of length 2 in which one edge is red and the other blue. Let
us call these mixed paths. The total number of mixed paths in the Kv is
v
∑ ri (v − 1 − ri )
(iii)
i =1
The triangle xyz can be considered as the union of the three paths xyz, yzx and
zxy. Moreover, the paths corresponding to different triangles will all be different.
If the triangle is monochromatic, no path is mixed, but a partial triangle gives
rise to two mixed paths. So there are 2P mixed paths in the Kv, and
1 v
P= ∑ ri (v − 1 − ri )
2 i =1
(iv)

(v − 1) 2
If v is odd, the maximum value of ri(v – 1 – r) is , attained when r, =
4
(v – l)/2. If v is even, the maximum of v(v – 2)/4 is given by r = v/2 or (v – 2)/2.
In either case, the maximum is
 v − 1 2 
  
 2  


so

1 v  v − 1 
2
P< ∑  
2 L =1  2  

v  v − 1 2 
<  1
2  2  
and since P is an integer,
 v  v − 1 2  
P <    
 2  2   

 v  v  v − 1  
2
So N2,v(K3) >  3 −    ... (v)
   2  2   
  
It remains to show that equality can be attained.
If v is even, say v = 2t, then partition the vertices of Kv into the two sets
{x1, x2,…, xt} and {xt+1, xt+2,…, x2t} of size t, and color an edge red if it has one
endpoint in each set, blue if it joins two members of the same set. (The red
edges form a copy of Kt.t) Each ri, equals v/2. If v = 2t+1, carry out the same
Ramsey Theory for Graphs 217
construction for 2t vertices, except color edge xi xi+t blue for 1 < i < [1/2]. Then
add a final vertex x2+1. The edges xix2t+1 and xi+tx2t+1 are red when 1 < i < [1/2]
and blue otherwise. In both cases it is easy to check that the number of triangles
equals the required minimum. 
Theorem 7.11: (Classical Ramsey Number Theorem)
For all integers p, q > 2,
 p + q − 2
R(p, q) < 
 p − 1 
Proof:
We may write n = p + q. The proof proceeds by induction on n. Clearly
 2 + 2 − 2
R(2, 2) = 2 =  2 − 1  . Since p, q > 2, we can have n = 4 only if p = q = 2.
Hence the given bound is valid for n = 4. Also for any value of q, R(2, q) = q
 2 + q − 2  p + 2 − 2
=  2 − 1  and similarly for any value of p, R(p, 2) = p =  p − 1  , so the
bound is valid if p = 2 or q = 2.
Without loss of generality we assume that p > 3, q > 3 and that
 p ′ + q ′ − 2
R(p′ + q′) < 
 p ′ − 1 
for all integers p′, q′ and n satisfying p′ > 2, q′ > 2, p′ + q′ < n and n > 4. Suppose
the integers p and q satisfy p + q = n.
We apply the induction hypothesis to the case p′ = p – 1, q′ = q, obtaining
 p + q − 3
R(p –1, q) < 
 p − 2 
and to p′ = p, q′ = q – 1, obtaining

 p + q − 3
R(p, q –1) < 
 p − 1 
But by the properties of binomial coefficients.

 p + q − 3  p + q − 3  p + q − 2
 p − 2  +  p − 1  =  p − 1 

and from Lemma, we have


R(p, q) < R(p – 1, q) + R(p, q – 1).
 p + q − 3  p + q − 3  p + q − 2
So, R(p, q) <  + =
 p − 2   p − 1   p − 1 

218 Advanced Graph Theory

SUMMARY
1. Ramsey theory is the study of partitions of large structures.
2. Ramsey theorem is the generalization of pigeonhole principle as partitions
of sets (as substructures).
3. It T is a spanring tree of the k-dimensional cube Qk, then there is an edge of
Qk outside T whose addition to T creates a cycle of length at least 2k.
4. Every list of more than n2 distinct numbers has a monotone sublist of length
more than n.
5. If S pi – k + 1 object are partitioned into k-classes with quotes {pi}, then
some class must meet its quota.
6. Like the pigonhole principle, Ramsey’s theorem has subtle and fascinating
applications.
7. Ramsey’s theorem defines the Ramsey numbers R(p1, p2, ...., pk; r). No exact
formula is known, and few Ramsey numbers are to be computed.
8. Ramsey’s theorem for r = 2 says that k-coloring the edges of a large enough
complete graph forces a monochromatic complete subgraph.
9. R(G, G) is called the Ramsey number of G for all 113 graph with at most six
edges and no isolated vertices.
10. If T is an m-vertex tree, then R(T, Kn) = (m – 1)(n – 1) + 1.
11. A completely labeled cell is a cell having all three labels on its corners.

EXERCISES

1. A graph G is b-critical if b(G – e) < β(G) for all e ∈ E. Show that


(a) A connected β-critical graph has no cut vertices;

(b) If G is connected, then β (∈ + 1).

2. For any two integers k ³ 2 and l ³ 2, Prove that, r (k, l) £ r(k, l – 1) +


r(k – 1, l).
k + l − 2
3. Prove that, r(k, l) ≥ 
 k − 1 
4. Prove that, r (k, k) ≥ 2k/2.
5. Show that for all k and l, r (k, l) = r (l, k).
6. Let rn denote the Ramsey number r(k1, k2,…, kn) with ki = 3 for all i.
(a) Show that rn ≤ n(rn–1– 1) + 2.
(b) Noting that r2= 6, use (a) to show that rn ≤ [n! e] + 1.
(c) Deduce that r3 ≤ 17.
Ramsey Theory for Graphs 219
7. The composition of simple graphs G and H is the simple graph G[H] with
vertex set V(G) × V(H), in which (u, v) is adjacent to (u′, v′) if and only
if either uu′ ∈ E(G) or u = u′ and vv′ E(H).
(a) Show that a(G[H]) ≤ a(G) a(H).
(b) Using (a), show that
r(kl + 1, kl + 1) – 1 ≥ (r(k + 1, k + 1) –1) × (r(l +1, 1+l) –1)

(c) Deduce that r(2n + 1, 2n + 1) ≥ 5n + 1 for all n ≥ 0.
8. Let G1, G2,…, Gm, be simple graphs. The generalised Ramsey number
r(G1, G2,…, Gm) is the smallest integer n such that every m-edge colouring
(E1, E2,…, Em) of Kn contains, for some i, a subgraph isomorphic to Gi in
colour i. Show that
(a) If G is a path of length three and H is a 4-cycle, then r(G, G) = 5,
r(G, H) = 5 and r(H, H) = 6;
(b) If T is any tree on m vertices and if m – 1 divides n – 1, then
r(T, K1, n) = m + n – 1;
(c) If T is any tree on m vertices, then r(T, Kn) = (m – 1)(n – 1)+ 1.
A certain bridge club has a special rule to the effect that four members may
play together only if no two of them have previously partnered one another.
At one meeting fourteen members, each of whom has previously partnered
five others, turn up. Three games are played, and then proceedings come to
a halt because of the club rule. Just as the members are preparing to leave, a
new member, unknown to any of them, arrives. Show that at least one more
game can now be played.
10. Show that s1 = 2, s2 = 5 and s3 = 14.

Suggested Readings
1. Agnorsson G, Greenlaw R., Graph Theory: Modeling, Applications and
Algoriithms, Pearson Education, 2008.
2. Arumugam S, Ramachandran S, Invitation to Graph Theory, Scitech
Publications, (2nd Ed.), 2003.
3. Balakrishanan V.K., Theory and Problems of Graph Theory, TMH (Schaum
Series), 2005.
4. Bela Bollatas, Modern Graph Theory, Springer, 2002.
5. Bondy J.A., Murty U.S.R., Graph Theory, Springer, 2008.
6. Deo Narsingh, Graph Theory with Applications to Engineering and
Computer Science, PHI, 2002.
7. Diestal R., Graph Theory, Springer, 2003.
220 Advanced Graph Theory

8. Gary Chartrand, Ping Z., Introduction to Graph Theory, TMH, 2006.


9. Godril C., Royle G., Algebraic Graph Theory, Springer, 2000.
10. Harary F., Graph Theory, Narosa, 2001.
11. Vasudev C., Graph Theory with Application, New Age, 2006.
12. Yadav, S.K., Discrete Mathematical Structures, Satya Prakashan, 2001.
13. Yadav S.K., Discrete Mathematics, with Graph Theory, Ane Books, 2013.
qqq
8
Enumeration and Pölya’s Theorem

George Pölya
(1887-1985)

8.1 Introduction

The famous mathematician Arthur Cayley (1857), became interested in graph


theory for the purpose of counting trees. The number of trees of n–vertices gave
him the number of isomers of the saturated hydrocarbon with n carbon atoms
(CnH2n+1). This work on counting of different types of graphs, and the results
been applied in solving some practical as enumeration.
We can not end this theme without considering the most basic question about
graphs to count the graphs with a given set of vertices or we may be interested
in the number of isomorphic classes of certain graphs.
All graph enumeration problems have two categories viz.
Category 1. Counting the number of different graphs of a particular type (non
isomorphic)

© The Author(s) 2023 221


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_8
222 Advanced Graph Theory

Category 2. Counting the number of sub graphs of a particular kind in a graph


G, such as the number of edge–disjoint paths of lengths k between vertices a,
b in G (i.e. matrix representation)
8.2 Labelled Counting
Let n∈N and P be a graph-theoretic property. A labelled counting or balled
enumeration is a counting of the number of graphs on the vertices {u1,
u2,…, un}That satisfy the property P.
Let G and G' be the graphs on the vertices {u1, u2,…, un}That both satisfy the
property P. In a labelled counting G and G' are the same iff every two vertices ui
and uj are joined by the same number of edges in both graphs.

Note:
(i) The property P may be any property which can be stated in graph theoretic
terms: being simple, connected, Eulerian, Hamiltonian, 5–colorable,
planer, acylic, having perfect matching, containing exactly 2004 edges
and so or any combination of much graph theoretic properties.
(ii) Two graphs G and G' on vertices {u1, u2,…, un} are the same in a labelled
counting (enumeration), if the edge multiplicity of each pair of vertices in G
is the same as G'. (the edges are not labeled at all).
 Example 8.1: Labelled graph of three vertices

u1 u1 u1 u1

u2 u3 u2 u3 u2 u3 u2 u3

u1 u1 u1 u1

u2 u3 u2 u3 u2 u3 u2 u3

Fig. 8.1: Eight labeled simple graphs on three vertices

We want to count the number of labelled simple graphs on three vertices.


Counting the number of simple graphs on the vertices
V = {u1, u2, …, un}
p is simple.
for every pair ui and uj disjoint vertices from V, either they are adjacent or not.
3
There are   = 3 distinct pairs of vertices in V viz {u1, u2} {u2, u3} and {u1, u3}
 2
Enumeration and Pölya‘s Theorem 223
3
Hence there are precirely 2   = 8 possibilities of forming a simple graph
 2
on V = {u1, u2, u3}
Hence there are 8 labelled simple graphs on three vertices.

8.3 Unlabelled Counting


Let n ∈ N and P be fa graph theoretic property. An unlabeled counting or an
unlabelled enumeration is a counting of the number of graph on the vertices
(u1, u2,…, un} that satisfy the property P and are not isomorphic.
Let G and G' are the graph on the vertices (u1, u2,…, un}that both satisfy the
property P. In an unlabelled counting, G and G' are considered to be the same
iff they are isomorphic i.e. G ≅ G'.

 Example 8.2: Number of unlabelled simple graphs on three vertices.


All simple graphs with one edgs are isomorphic, as are all simple graphs with
two edges. No other pairs of labelled simple graphs on 3 labelled vertices V =
{v1, v2, v3} are isomorphic. Hence the number of unlabelled single graphs on n
= 3 vertices in four as shown in Fig 8.2.

v1 v1 v1 v1

v2 v3 v2 v3 v2 v3 v2 v3

Fig. 8.2: There are only four nonisomorphic simple graphs on three vertices.

Theorem 8.1
Then number of simple, labelled graphs of n vertices is 2 n(n–1)/2

Proof:
The number of simple graphs of n vertices and 0, 1, 2,…, n (n – 1)/2 for e.
(There are n(n–1)/2 unordered pairs of vertices. If we regard the vertices as
distinguishable from one another (labelled graph).
 
 
n(n − 1) 
There are  ways of selecting e edges to from the graphs.
 2 
 
 e 
224 Advanced Graph Theory

The sum of all such numbers is the number of all simple graph with n
vertices.
We can use the following identity to prove the theorem.

 K  K  K  K   K
2k
 0  + 1  +  2  + , …, +  k − 1 +  k  =

Theorem 8.2
There are nn–2 trees on n labelled vertices.
Proof:
Let V = {1, 2,…, n}be the set of vertices.
Given a tree T, associate a code with T.
Remove the and vertex with the smallest label and write down the label
of the adjacent vertex. Repeat the process until only two vertices remain. The
code obtained is a sequence of length (n – 2) consisting of some numbers from
1, 2,…, n any number may occur several times code in the code (As shown in
Fig 8.3. Each of the nn-2 possible codes correspond to a unique tree.
Corollary 1. n
Let d1 < d2 < ,…, < dn be the degree sequence of a tree. d1 > 1 and ∑ d=
i 2n − 2s
i =1
. Then the number of labelled trees of order n with degree sequence (di)n1 given
by the multinomial coefficient.
n− 2 
 d − 1, d − 1, …, d − 1
1 2 n

7
1 2

6
5
3 8
10
9

11 4

Fig. 8.3 : The Priefer code of this tree is (3, 8, 11, 8, 5, 8, 3, 5, 3)


Enumeration and Pölya‘s Theorem 225
8.4 Generating Function
Generating functions are the tools which connect discrete mathematics to
continuous analytic mathematics. In this matter we include additional tools of
our tool box to treat discrete object i.e. the known methods and techniques from
analytic mathematics. These tools have proved invaluable results for solving
many problems of combinatorics. Some minimal knowledge is needed in order
to understand generating function from analytic mathematics. The purpose of
generating functions is two fold viz.
(i) To use known analytic methods an a particular functions, f(x) or f(x,y), to
obtain the corresponding closed expression or formula for the number of
possibilities of a certain finite combinational structure.
(ii) The cryptological aspect i.e. to encode the number of possibilities of a
certain finite combinatorio structure in terms of simple analytic function,
f(x) or f(x,y). Since very often it is possible to state the discrete results
of functions where it is not possible to do so in a discrete fashion. On
decoding the function, many times we can obtain just enough information
for the desired purpose.
Let {a0, a1, a2,…, an} = {an}n > 0 be a given sequence of real or complex
number then.
1. The generating function a(x) of the sequence {an}n > 0 is given by a series.
a(x) = a0 + a1x + a2x2 + a3x3 + ,…, an xn = ∑ an x n (x be a dummy variable)
n≥0
2. The exponential generating function a(x) of the sequence {an}n > 0 is given
by the series.
1 x x2 xn xn
a(x) = a0 + a1 + a2 +, …, an = ∑ an (x be a dummy variable)
0! 1! 2! n! n ≥ 0 n!
For example
(i) The generating functions for a constant sequence (1, 1, 1, …, 1) consisting
1
entirely of 1’s, in 1+ x + x2 + ,…, + xn = ∑ xn = 1 − x
n≥0

(ii) The generating function for the sequence 1,1, 1 , 1 ,…, 1  is


 2 6 n !
 1 1 1
1,1, , , …,  = e (the exponential function)
x
2 6 n!
(iii) The generating function for the sequence (1, 1, 2, 6 ,…, n!,…) is 1 + x +
2x2 + 6x3 + ,…, n! xn = ∑ n! xn
n≥0
Note: The above example are valid only for real and complex numbers.
226 Advanced Graph Theory

 Example 8.3: Consider the sequence of trees T1, T2 ,…, as shown in


Fig. 8.4. Let n > 1 and all trees on n or fewer vertices where all of the vertices
have degree three or less. Obtain generating function by using enumeration
of graphs.
Solution

T1

T2 T3

T4

Fig. 8.4: The first four trees in the sequence T1, T2 ,…, Tk

Let tk denotes the number of vertices of the kth tree Tk and satisfies.
t1 = 1, t2 = 4
tk = 3tk–1– 2tk–1 for all k > 3
Let ak = tk–1, we can derive a closed formula for ak and have for tk as well.
We consider generating functions:

a(x) = a0 + a1x + a2x2 + ,…, + ak xk = ∑ ak xk


k ≥0

Since a0 = 1, a1 = 4 and ak = 3ak–1 – 2ak–2 ∀ k > 2.


For the generating function, we get

a(x) = a0 + a1x + ∑ akxk


k ≥0


k–1
= 1 + 4x + ∑ (3a – 2ak–2) xk
k ≥0

   
x k −1  + 2x2  ∑ ak − 2
 ∑ k −1
 = 1 + 4x + 3x a xk −2 
  
k ≥2  k ≥2 
= 1 + 4x + 3x [a(x) – 1] + 2x2 a(x)
Solving for a(x) and using partial fractions, we get
1+ x 3 2
a(x) = = −
1 − 3x + 2 x 2 1 − 2x 1 − x
Enumeration and Pölya‘s Theorem 227
Expanding the last two functions into Geometric series, we get
a(x) = 3 ∑ 2 x − 2 ∑ x
k k k

k ≥0 k ≥0

Since ak is the coefficient of xk in a(x).


It must be the coefficient of xk on the right hand side.
We obtained that
ak = 3. 2k – 2
Hence tk = 3. 2k–1 – 2
(Derived formula for tk)
 Example 8.4 : Define the catalan number C0, C1, C2,…, recursively.
Solution
The number {Cn : n > 0} = {C0, C1, C2,…} defined recursively by C0 = 1.
C1 = 1
n −1
and Cn = ∑ Ci . Cn−i −1 for n > 2.
i=0

are called Catalan numbers. Hence Cn is called the nth Catalan number.
Q Cn = C0 Cn–1 + C1 Cn–2 + ,…, Cn–1 C0
Let C (x) be the generating function for the Catalan numbers.
C(x) = C0 + C1x + C2x2 + ,…, = ∑ Cn xn ... (i)
n≥0
From equ. (i) we can see that
C(x) – C (x) = C(x)2 is given by
C(x)2 = C02 + (C0 C1 + C1 C0 ) x + (C0 C2 + C1 C1 + C0 C2) x2 + ,…,
 n −1 
= ∑  ∑ Ci Cn − i −1  xn–1 ... (ii)
n ≥1  i =
0 
Multiplying both side by x in equ. (ii), we get the sequence definition of Cn as.
 n −1 
x C (x) = ∑  ∑ Ci Cn − i −1  xn
2
n ≥1  i =0 
Cn=
x C ( x) − 1 = ∑ n

n ≥1

Solving for C(x) at x = 0 yields C (0) = C0 = 1

i.e, C(x) =
1
2x
(
1 − 1 − 4x ) ... (iii)
228 Advanced Graph Theory

using generalized Binomial theorem,


a
(1 + x)a = ∑  n  x n for any real a.
n≥0 
a
Where   = a (a – 1) ,…, (a – 1+ 1)/n!
n 

\
1
2x
C (x) =
1 − (1 − 4 x) ( )
1
1  2  (−4 x) n
= − ∑
2 x n ≥ 0  
n 
1  2n − 2  n −1
= ∑ n  n −1 x ... (iv)
n≥0  

Comparing coefficients for xn–1, we get


1  2n − 2
Cn–1 = ∀ n ≥1
n  n − 1 

1  2 n
\ Cn = ∀n ≥0
n + 1  n 

8.5 Partitions of a Finite Set


In graphs and hyper graphs, the presentation of a fundamental labelled counting
lemma for graphs depends on the use of exponential generating functions and
the use of weak ordered partitions of a set.
Let K ∈ N and S be a fixed finite set containing n > k elements then.
(i) A weak ordered partition of s into k parts is an ordered k – tuple
{S1, S2 ,…, Sk) of subsets of S satisfying:
k
Si ∩ Sj = f , i.e.  Si =S ∀i≠j
i =1

(ii) A proper partition of S into k parts is a k–elements set {S1, S2,…, Sk} of
none empty subsets of S satisfying the condition in section (i)
The above definition can be illustrated as under
me consider the set S ={ 1, 2, 3, 4}
The following are all the weak ordered partitions of S into two parts
(S1, S2) :
(f { 1, 2, 3, 4}) , ({1}, { 2, 3, 4}), ({2} { 1, 3, 4}), ({3} { 1, 2, 4}), ({4}
{1, 2, 3}), ({1, 2} {3, 4}) , ({2, 3} {1, 4}), ({3, 4} {1,2}), ({1, 3} {2, 4}),
({2, 4} {1, 3}), ({2, 4}, {1, 3}), ({1, 4} {2, 3}), ({1, 2, 3} {4}) ({1, 2, 4}
{ 3}), ({1, 3, 4} {2}), ({2, 3, 4} {1}), ({1, 2, 3, 4}f)
Enumeration and Pölya‘s Theorem 229
Since ({1} (2, 3, 4}) and ({2, 3, 4} {1}) are distinct weak ordered partitions.
Since there are 24 subsets of (1, 2, 3, 4)
When ever we consider proper partitions of S into nonempty parts { S1,
S2} , there is no distinction between {S1, S2} and {S2, S1}
Hence there are precisely seven proper partitions of S into two nonempty
parts {S1, S2}:
({1} {2, 3, 4}), ({2} {1, 3, 4}), ({3} {1, 2, 4}), ({4} {1, 2, 3}), ({1, 2} {3,
4}), ({2, 3} {1, 4}), ({1, 3} {2, 4})
Note:
The number of weak ordered partitions of S into two proper parts is given by.
2! S(4, 2) + 2 Where S (4, 2) = 7
i.e. the number of proper partitions of S into two nonempty parts.

Theorem 8.3

The stirling number of second kind satisfy the following recursive equation:
S(n, k) = K S(n – 1, k) + S (n – 1, k – 1) for all k, n ∈ N

Proof:

There are two types of partitions of the set { 1, 2,…, n} into k parts.
(i) The first type consists of those partitions where the set containing n is
singleton set {n}
In this case the remaining (k – 1) sets form a nonempty partition of
{1, 2,…, n –1}
Hence, there are S (n–1, k – 1) partitions of the first type
(ii) The second type consists of those nonempty partition where the set
containing n has two or more elements in it.
On removing n from the set yields one of the set S (n–1, k) partitions of
{1, 2,…, n) into k parts.
Since n could have been in any of the k possible sets, we can see that there
are k. S(n–1, k) partitions of the second type.
Which completes the entire proof. 
Note:

The Stirling numbers of the second kind are named after the scoltish
mathematician James Stirling (1692 –1770)
230 Advanced Graph Theory

Theorem 8.4
The Bell numbers B(n), where n is a non–negative integer, satisfy the recessive
formula
 n  n  n
B (n + 1) =   B (0) +   B (1) + ,…, +   B (n)
 0 1   n
n
n
= ∑  k  B(k )
k=0 
Proof:
For n ∈ N
The unrestricted nonempty partitions of {1,…, n, n + 1} are of exactly (n
+ 1) is contained in a set with k elements from { 1,…, n}
n
There are   ways of choosing k elements to join (n + 1) in a set and are
k 
B (n – k) unrestricted partitions of the remaining (n – k) elements]
n  n 
Since   =  
k
  n−k 
We have
n
n
B(n+1) = ∑  k  B (n–k)
k =0 

n
n
= ∑  k  B (k)
k =0 
Hence the result. 
8.6 The Labelled counting Lemma
This lemma is fundamental for counting labelled graphs.
For a non negative n, let a0 be the number of labelled graphs on n vertices
satisfying the graphs property P(a) and let bn be the number of labelled graphs
on n vertices satisfying the graphs property P (b).
Let a (x) and b (x) be the corresponding exponential generating function
for the sequences {an}n > 0 and {bn}n > 0 respectively.
If Cn is defined by
Cn = ∑ as
1
bs
2
( S1 S2 )
Where the sum is taken over all weak ordered partitions (S1, S2) of
{1,…, n}, then the exponential generating functions c (x) of the sequence
{Cn}n > 0 is given by.
c (x) = a (x) b(x)
Enumeration and Pölya‘s Theorem 231
Proof:
For each n ∈ N and i ∈ {a, 1,…, n}
 n
There are   weak ordered partitions (S1, S2) of {1, 2,…, n}where
i 
|S1| = i and |S2| = n – i

Hence we have
n
n
Cn = ∑  i  ai bn−i
i=0 
Which in the coefficient for
xn
in a (x) b (x) 
n!

8.7 Permutations
Let X be a set. By a permutation on X we mean a bijection mapping s : X → X
We only study permutations in the case when the set X is finite.
A permutation on X = { a1, a2, …, am}will be denoted by a 2xm matrix.
a a2 … am 
i.e. σ= 1
 s (a 1 ) s ( a2 ) … s ( am )
Since σ is bijective, each element on X is mapping onto exactly one element
in X by σ . Hence each element in X occurs exactly once in the second row of
the matrix shown above.
Note: Let ρ and σ be permutations on X. Then the product ρσ of ρ and σ is
defined as the composite mapping ρoσ.
For each x ∈ X, we have
ρs(x) = ρoσ(x) = ρ(σ(x)).
Illustration:
1 2 3 4 1 2 3 4
Let ρ =  and σ= 
 3 2 4 1   3 2 4 1 
Then ρ σ (1) = ρ (σ (1)) = ρ (3) = 2

ρ σ (2) = ρ (σ (2)) = ρ (2) = 3

ρ σ (3) = ρ (σ (3)) = ρ (4) = 1

ρ σ (4) = ρ (σ (4)) = ρ (1) = 1
Hence
1 2 3 4 

ρσ =  
 2 3 1 4
232 Advanced Graph Theory

8.7.1 Cycle Index


The cycle index of a permutation group G is the average of
j (g) j (g) j (g)

a1 1 a2 2 a3 3 …
Over all permutation g of the group, where jk(g) is the number of cycles of
length k in the disjoint cycle decomposition of g.
The cycle index Z(G) of G is given by
n
1 j (g)
Z(G) =
G
∑ ∏ ak k
g ∈G k = 1

8.8 Pölya’s Enumeration Theorem


Polya’s therorem can be used to enumerate objects under permutation groups.
By using group theory, combinations and some other example Pölya’s theorem
and Burnside’s lemma are derived. The example used in Pöolya’s theorem are a
square, pentagon, hexagon and heptagon under their respective dihedral graphs
(group), generalization by using more permutation and applications to graph
theory. Using Pölya’s theorem, Harary and Palmer give a functions which gives
the number of unlabelled graphs of n verticer, and m edges.
Suppose G is a group of permutations of a set X, and let G be the induced
group of permutations of the set Y of colour of X. Now each permutation g in
G induces a permutation ĝ of Y in the following way. Given a colouring w, we
define ĝ(w) to be the colouring in which the colour assigned to x is the colour
w assigns to g(x); that is.

w( g ( x ))
(( g ) (w)) ( x ) =

We require the generating function KE(c1, c2,…, ck), where E is a set of
colouring containing one representative of each orbit of G on Y. The coefficient
of c1sc2j,…, in KE will be the number of distinguishable colouring in which colour
c1 is used x times, colour c2 is used t times, and so on.
Pölya’s theorem state that KE is obtained from the cycle index ZG(a1, a2, ...
an) by substituting
c1i + c2i + ,…, + cik

for ai(1 < i < n). Before going to the proof, let us see how this works in the
simple case of the red-and-white colouring of the corners of a square.
Let G be a group of permutations of a set X, where frequently we take X
to be the set {1, 2,…, n}. Each element g in G can be written in cycle notation
with ji cycles of length i(1 < i < n), and we recall that the type of g is the
corresponding partition.
[1j1 2j2 ,…, njn]
Enumeration and Pölya‘s Theorem 233
of n. We have j1 + 2 j2 + ,…, + njn = n . We shall associate with g an expression
Zg (a1, a2, …, an) = a1j1 a2j2 , …, anjn
where the ai(1 < i < n) are, for the moment, simply formal symbols like
the x in a polynomial. For example, if G is the group of symmetries of a square,
regarded as permutations of the corners 1, 2, 3, 4 then the expression Zg are
given in Table 8.1. Note that although the 1-cycles are conventionally omitted
in the notation for g it is important to include them in Zg.
Table 8.1: Cycles in a sequence
g j1 j2 j3 j4 Zg
id 4 – – – a14
(1234) – – – 1 a4
(13)(24) – 2 – – a22
(1432) – – – 1 a4
(12)(34) – 2 – – a22
(14)(23) – 2 – – a22
(13) 2 1 – – a12a2
(24) 2 1 – – a12a2
The formal sum of the Zg taken over all g in G, is a ‘polynomial in a1,
a2,…, an. Dividing by |G| we obtain the cycle index of the group of the group
of permutations:
1
Zg (a1, a2,…, an) =
G
∑ Z g (a1, a 2 ,…, an )
g ∈G

For example, the cycle index of the group of the square is, as considered
above, is
1 4
8

a1 + 2a12 a2 + 3a22 + 2a4 ( )
and we have to substitute
a1 = r + w, a2 = r2 + w2, a3 = r3 + w3, a4 = r4 + w4
we get
1
( ) ( ) ( )
( r + w )4 + 2 ( r + w )2 r 2 + w2 + 3 r 2 + w2 + 2 r 4 + w4 
2
KE(r, w) = 
8 
= r + r w + 2r w + rw + w 4 3 2 2 3 4

Theorem 8.5
The number of orbits of G on X is.
1
G
∑ F (g) where F (g) = { x ∈ X, g ∈ G| g(x) = x}
g ∈G

Its weighted form is


234 Advanced Graph Theory

1
∑ I ( x) = G ∑ ∑ I ( x)
x∈ D g ∈G x ∈ F ( g )
Proof:
Let G be a group of permutations of X, and let I(x) be an expression which is
constant on each orbit of G, so that
I(g(x)) = I(x) for all g ∈ G, x ∈ X
Let D be a set of representatives, one from each orbit, and let E = {(g, x)|g(x)
= x}. By evaluating the sum
∑ I ( x)
( g , x )∈ E

in two different ways, we can show that

∑ I ( x) =
1
∑ ∑ I ( x)
x∈ D G g ∈G x ∈ F ( g )

This is the required ‘weighted’ version. 


Theorem 8.6 (Polya)
Let ZG(a1, a2,…, an) be the cycle index for a group G of permutations of X. The
generating function KE(c1, c2,…, cn) for the number of inequivalent colouring
of X, when the colours available are c1, c2,…, cn is given by
KE (c1, c2,…, cn) = ZG (t1, t2 ,…,tn)
where t1 = c1i + c2i + ,…, + cni) ∀(1 < i < n)

Proof:
We shall begin by finding an alternative formula for
KE (c1, c2, ... cn) = ∑ ind ( w)
w∈ E
where E is a set of colouring containing one representative of each orbit
of Ĝ on Y.
Applying this result to the action of Ĝ on Y , we get
 
∑ ind ( w) =
1
∑ ∑  ind ( w ) 
w∈ E Gˆ gˆ ∈Gˆ 
 w∈ F ( ˆ
g ) 

Now the sum in the bracket is just KF(ĝ), by definition. Further more, a
colouring w is in K(ĝ), if and only if it is constant on each cycle of g. Hence
the explicit form of KF(ĝ) is given by
KF(ĝ) (c1, c2,…, cn) = (c1m1 + ,…, + cnm1) ,…, (c1mk + ,…, + cnmk)
= tm ,…, tm
1 k
Enumeration and Pölya‘s Theorem 235
Where m1, m2,…, mk are the lengths of the cycles of g. In other words, if
g has ji cycles of length i(1 < i < n) then
KF(ĝ) (c1, c2,…, cn) = (t1j1, t2j2 ,…, tnjn)
= Zg (t1 , t2,…, tn)
Since the representation g → ĝ is a bijection. we have |G| = |Ĝ|, and
substituting for KF(ĝ) above we get.
KE (c1, c2, ,…, cn) = Zg (t1, t2 ,…, tn)
as required. 
8.9 Burnside’s Lemma
Let G be a finite group that acts on the finite set X, Let r denote the number of
orbits in X under the action of G. Then
1
r=
G
∑ Xg
g ∈G
Proof:
Suppose the set M = {g, x) ∈ G × X |g.x = x} contains m elements. The idea
is to count the elements of M in two different ways, and thereby obtain two
different expressions, both equal to m. Combining these expressions will yield
Burnside’s Lemma. Now M contains all pairs (g, x) such that g.x = x. We recall
that the set Xg for each fixed g ∈ G. contains all x ∈ X such that g.x = x. Thus,
for each fixed g ∈ G , there must be |Xg| elements x that fulfills g.x = x. Therefore
m= ∑ Xγ
g ∈G

The isotropy subgroup Gx contains, on the other hand, those elements


g ∈ G fulfilling g.x = x, for each fixed x ∈ X. So for each fixed x, there are |Gx|
elements g such that g.x = x. This yields

m= ∑ Gx
x ∈X

Q |orbG(x)| = |G| / |Gx|. Thus


G 1
∑ Gx
= ∑
=
orb ( x )
G ∑ orb G ( x )
x ∈X x ∈X G x ∈X

Let B1, B2 ,…, Br, denote all orbits in X. For each x ∈ X we have orbG(x) =
Bi for some i. Since X = B1 ∩ B2 ∪ ,…, ∪ Br and Bi ∩ Bj = f on i ≠ j (the orbits
are equivalence classes) we get.
1 1 1 1
∑ orbG ( x )
= ∑ + ∑
B1 x ∈B B2
+ , …, + ∑
B
x ∈X x ∈B1 2 x ∈B
r r
236 Advanced Graph Theory

But for each i.


1 1
∑ Bi
= Bi .
Bi
=1
x ∈ Bi

and therefore
1
m = G ∑ orbG ( x ) = |G| (1 + 1 + ,…, + 1) = |G| r
x∈ X

In the beginning of proof we also found that m = ∑ g ∈G X g . If we combine


these expressions for m, we obtain an equation which we solve for r, in order
to obtain Burnside’s Formula.
That is
1
r=
G
∑ Xg 
g ∈G

 Example 8.5: In how many ways, can we colour the corners of the square
with two colours?

Solution.
y-axis
d1 d2
4 3

1 2 x-axis

Fig. 8.5 Square

In the given figure, the permutation group is D4. We have only two colours.
At initial level, we find all possible permutations under the actions of rotation
and reflection, and the sets of all permutations are isomorphic to D4.
1 2 3 4 
i.e., e=  = (1) (2) (3) (4)
1 2 3 4 
Possible ways under actions e are
|Xe| = 24 = 16 ... (i)
Enumeration and Pölya‘s Theorem 237
We have
1 2 3 4
ρ1 =  2 3 4 1  = (1 2 3 4) (90° Anti clock wise)
 

ρ2 =  
1 2 3 4
 = (1 3) (2 4) (180° Anti clock wise)
3 4 1 2
1 2 3 4
ρ3 =   = ( 1 4 3 2) (90° clock wise)
4 1 2 3
\ Possible ways under action ρ1, ρ2, ρ3 are
|Xρ | = |Xρ | = 21 = 2 ... (ii)
1 3
|Xρ | = 22 = 4
2
By reflections of square along axis, we get.
1 2 3 4
σx =   = (1 4) (2 3)
4 3 2 1 
[Rotating along x– axis]
1 2 3 4
σy =   = ( 1 2 ) (3 4)
2 1 4 3

[Rotating along y– axis]
\ Possible ways under actions σx σy are
|σx| = | σy |= 2 = 4
2
... (iii)
By reflection of square along diagonals, we get
1 2 3 4 
σd1 =   = ( 1 3) (2) (4)
3 2 1 4
[Relation along d1 diagonal]

1 2 3 4 
σd1 =   = (1) (3) (2 4)
1 4 3 2 
[Relation along d2 diagonal]
\ Possible ways under action σd1 and σd2 are
|σd1| = |σd2| = 23 = 8 ... (iv)
1
\ Required number of colouring = (16 + 2.2 + 4 + 2*4 + 2*8]
8
1
= (16 + 4 + 4 + 8 + 16)
8
1 1
= (24 + 24) = (48) = 6
8 8
Using Pölya’s Enumeration theorem for two colours in a square.
The cycle of permutation will be.
238 Advanced Graph Theory

(1) (2) (3) (4)


(1 2 3 4)
(1 3) (2 4)
(1 4 3 2)
(1 4) (2 3)
(1 2) (3 4)
(1 3) (2) (4)
(1) (3) (2 4)
Hence the cycle index of D4 will be
1
Z(D4) = (1. a14 + 3a22 + 2a21 a2 + 2a4) ... (v)
8
Generating function colouring one corner is
F (x, y) = 1. x + 1. y
we may use colour x or y to colour a corner in the square.
By Polya’s Enumeration Theorem, we have
1
Z(D4) (x, y) = [(x + y) 4 + 3 (x2 + y2)2 + 2 (x+y)2 (x2 + y2) + 2(x4 + y4)]
8
Generating functions for the colouring of the square we have
Z(D4) ( ) = x4 + y4 + x3y + xy3 +2x2y2
Z(D4) (1. 1) = 1 + 1 + 1 + 1 + 2 = 6 (Replacing the colour by 1)
Total number of colouring = 6
Hence the possible colouring be:
1 – All corners have colour x.
1 – All corners have colour y.
1 – Three corners have colour x and one has y.
1 – One corner has colour x and three have y.
2. Two have colour x and two have y. 
 Example 8.6: In how many ways can we colour the corners of a square by
using three different colour?
Solution
In example 8.5 we have 2 colours but here we have 3 colours, so replacing 2
by 3 in the base of number of colouring, we get
|XE| = 34 = 81
|Xρ | = | Xρ | = 31 = 3
1 3
|Xρ | = 32 = 9
2
|σx| = |σy| = 32 = 9
|σd | = |σd | = 33 = 27
1 2
Enumeration and Pölya‘s Theorem 239
\ Required number of colourings
1
= ( 81 + 2*3 + 9 + 2*9 + 2*27)
8
1
= (81 + 6 + 9 + 18 + 54)
8
1
= (168) = 21
8
\ Cycle index of D4 is.
1
Z(D4) = (1. a14 + 3a22 + 2a21 a2 +2a4)
8
Generating function colouring one corner is.
F (x, y, z) = 1. x + 1. y + 1 .z
This shows that, we can use colour x, y or z to colour a corner of the square.
By using Polya’s Enumeration theorem, we have
1
Z (D4) (x, y, z) = [(x + y + z)4 + 3 (x2 + y2 + z2)2 + 2 (x+ y + z)2 (x2+ y2+ z2)
8
+ 2(x2 + y4 + z4)]
Generating function for the colouring of the square will be
Z(D4) (x, y, z) = x4 + x3y + 2x2y2 + xy3 + y+x3z + 2x2yz + 2xy2z + 2x2z2 +
2xyz2 + 2y2z2 + xz3 + yz3 + z4
Z(D4) (1, 1, 1) = 1 + 1 + 2 + 1 + 1 + 1 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 1 + 1
+ 1 + 1 = 21
Hence total number of colouring = 21
\ When we use two colours at a time the possible colourings are = 12

 Example 8.7 : In the how many ways can we colour the corners of a square
by using four different colours?
Solution:
In examples 8.5 we have 2 colour of colourings, we have replacing 2 by 4 in
the base of number of colouring, we have
|Xε| = 44 = 256
|Xρ | = |Xρ | = 41 = 4
1 1
|Xρ | = 42 = 16
2
|σx| = |σy| = 42 = 16
|σd | = |σd | = 43 = 64
1 2
240 Advanced Graph Theory

1
Required number of colouring = (256 + 2*4 + 16 + 2*64)
8
1
= (440)
8
= 55
Cycle index of D4 is
1
Z(D4) = (1. a14 + 3a22 + 2a12 . a2 + 2a4)
8
Generating functions colouring one corner is
F (X, Y, Z, U) = 1. X + 1. Y + 1. Z + 1. U
We can use colour X, Y, Z or U colour corner of the square.
By Polya’s Enumeration Theorem, We have
1
Z(D4) (X, Y, Z, U) = [(X + Y + Z + U)4 + (X 2 + Y 2 + Z 2 + U 2)2 +
8
(X + Y + Z + U)2 + (X 2 + Y 2 + Z 2 + U 2) +
2(X 4 + Y 4 + Z 4 + U 4)]
Generating function for the colourings of the square. we have,
Z(D4) (X, Y, Z, U) = U 4 + U 3 X + 2 U 2 X 2 + UX 3 + X 4 + U 3Y +
2U X 2Y + X 3Y + 2 U 2 Y 2 + 2 U X Y 2 + 2 X 2 Y 2 +
UY 3 + XY 3 + Y 4 + U 3Z + 2U 2XZ + 2UX 2Z +
X 3Z + 2U 2YZ + 3 UXYZ + 2X 2YZ + 2UY2Z +
2XY 2Z + Y 3Z + 2U 2Z2 + 2UXZ 2 + 2X 2Z 2 +
2UYZ 2 + 2XYZ 2 + 2Y 2Z 2 + UZ 3 + XZ3 + YZ3 + Z 4
Z(D4) (1, 1, 1, 1) = 55
So total number of colourings = 55
Hence from above we can say that, when we use three colours at a time,
the possible colouring are 24. 

SUMMARY
 n(n − 1) 
1. Expression  can be used to obtain the number of simple labelled
2 
 e 
graphs of n vertices and (n – 1) edges.
2. In a rooted graph one vertex is marked as the root. For each of the n n–2
labelled tree we have n rooted labelled trees because any of the n vertices can
be mode a root. The number of different rooted labelled tree with n vertices
is nn–1.
Enumeration and Pölya‘s Theorem 241
3. To find the number of trees it is necessary to start by counting rooted trees.
A rooted tree has one point, its root, distinguished from the others.
4. When a positive integer P is expressed as a sum of positive integers P = λ1 +
λ2 + λ3 + ,…, + λn such that λ1 > λ2 > λ3 > ,…, λn > 1, the n-tuple is called a
partition of integer P.
5. A generating function f(x) is a power series f(x) = a0 + a1x + a2x2 + ,…, + akxk,
with some dummy variable x. The coefficient ak of xk is the desired number,
which depends upon a collection of k objects being enumerated.
6. The problem of enumeration of unlabelled trees is more involved and
required familiarity with the concepts of generating functions and partitions.
7. Every tree has either one centroid or two centroids. If a tree has two centroids,
the centroids are adjacent.
8. On a finite set A of some objects, a permutation p is a one-to-one mapping
from a onto itself.
9. The number of permutations m in a permutation group is called its order,
and the number of elements in the object set on which the permutations are
acting is called the degree of the permutation group.
n(n − 1)
10. Which the n vertices of a group G are subjected to permutation the
unordered vertex pair also get permuted. 2

EXERCISES

1. Prove that the number of different rooted, labelled trees with n vertices is
nn–1.
()
2. Prove that the number of labelled graph with P points is 2 .
P
2

3. State and prove power Group enumeration theorem.


4. Prove that
l
| Γ | ∑ w (Oi ) = ∑ ∑ w ( x) .
i =1 a∈Γ x∈F ( a )

5. If X = {1, 2, 3, 4} and Γ = {1, (1 2), (3 4) (1 2) (3 4)}. What is the value of


N(Γ) ? [Ans. 2}
6. Consider all bracelets made up of 5 beads. The beads can be red, blue and
green, and two bracelets are considered to be identical if one can be obtained
from the other by rotation. How many distinct bracelets are there? [Ans. 5]
7. In how many essentially ways can we colour the six faces of a cube with
atmost three colours? [Ans. 57]
242 Advanced Graph Theory

8. Suppose there is a k-regular graph G of order n = k2 + 1 and diameter 2. Then


prove that k = 2, 3, 7 or 57.
9. Prove that there are nn–2 vertices on n labelled vertices.
10. State and prove Pölya’s Enumeration Theorem.

Suggested Readings
1. J.A. Bondy and U.S.R. Murty, Graph Theory, Springer, 2008.
2. R. Diestel, Graph Theory, Springer, 2016.
3. J. Gross and J. Yellen (Editors), Handbook of Graph Theory, CRC Press,
2003.
4. J. Gross and J. Yellen. Graph Theory and Its Applications, Second Edition,
Chapman & Hall/CRC, 2006.
5. D.B. West, Introduction to Graph Theory, Prentice Hall, 2001.
qqq
9
Spectral Properties of Graphs

Arthur Cayley
(1821-1895)

9.1 Introduction

The properties of a graphs can be judged by the entire knowledge of their


vigenvalues. The set of eigenvalues of a particular graph G is called spectrum of
G and it is denoted by Sp(G). For some well known families of graphs like the
family of complete graphs, the family of cycles, the spectra can be computed.
Some well known mathematicians like Such, Cayley and Ramanujan have some
special contribution in spectral graph systems. We can also obtain the spectra
of product graphs like cartesian product, direct product and strong product.
Let G be a graph of order n with vertex V = {v1, v2,…, vn}. The adjacency
matrix of G is the n by a matrix A = {aij}
where

aij = { 1
0
if vi is adjacent to vj in G
otherwise

© The Author(s) 2023 243


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_9
244 Advanced Graph Theory

A is a real symmetric matrix of order n.


Hence
(i) The spectrum of A (i.e. the set of its eigen values) is real.
(ii) n has an orthonormal basis of eigenvalues of A.
(iii) The sum of the entries of the ith row or column of A is d(vi) in G.
The spectrum of G i.e. Sp(G) depends on the labelling of vertex set V of G.
Let A′ be the adjacency matrix of G with respect to this labelling can be
obtained from the original labelling by means of a permutation p of V(G).
Any such permutation can be effected by means of a permutation matrix
P of order n.
Let P = (pij), given the new labelling of V i.e. given the permutation p on
{1, 2, .... , n) and the vertices vi and vj, there exists unique a0 and b0 such that
p(i) = a0 and p(j) = b0.
Equivalently pa i = 1 and pb j = 1 for a ≠ a0 and b = b0 and pai = 0 = pbi
0 0
Thus (a0, b0) the entry of the matrix A′ = PAP–1 = PAPT (PT is Transpose of P)
n
∑ pa 0 k akl pb0l = a
ij
k ,l = 0

Hence va vb ∈ E(G) iff vivj ∈ E(G)


0 0

We arrange the eigenvalues of G in their nondecreasing order


λ1 > λ2 > λ3 > ,…, > λn

If λ1,…, λs are the distinct eigenvalus of G and if mi is the multiplicity of


λi as and eigenvalue of G
 λ1 λ2 … λs 
Sp(G) = 
 m1 m2 … ms 
The characteristic Polynomial of G is the characteristic polynomial of the
adjacency matrix of G with respect to some labelling of G. It is denoted by
χ(G : λ)
Hence χ(G : λ) = det (xI – A) = det (P(xI – A)P–1)
= det (xI – PAP–1)
for any permutation matrix of P, and hence χ(G : λ) is also independent
of the labelling of V(G)
A circulant of order n is a square matrix of order n in which all the rows
are obtainable by successive cyclic shifts of one of its rows.
Spectral Properties of Graphs 245

 a1 a2 a3 
e.g. the circulant with first row (a1 a2 a3) is the matrix  a3 a1 a2 
a a1 
 2 a3

Lemma 9.1

Let A he a circulant matrix of order n with first row (a1 a2,…, an). Then Sp(A)
= {a1 + a2w + ,…, + anwn–1 : w = an nth root of unity} = {a1 + zr + z2r + ,…, +
z(n–1)r, 0 < r < n – 1 and z = a primitive nth root of unity}

Proof:

The characteristic polynomial of A is the determinant D = det(xl – A).


Hence,
x − a1 − a2 ... − an
− an x − a1 ... − an −1
D=    
− a2 − a3 ... x − a1

Let Ci denote the ith column of D, 1 < i < n, and w, an nth root of unity.
Replace C1 by C1 + C2w + ,…, + Cnwn–1. This does not change D. Let λw = a1
+ a2w + ,…, + anwn–1. Then the new first column of D is (x – λw, w(x – λw))T,

and hence x – λw is a factor of D. This gives D = ∏ ( x − λ w ) , and Sp(A) =


w : w n =1
{λw: wn = 1}.

9.2 Spectrum of the Complete Graph Kn

0 1 1 ... 1
1 0 1 ... 1
For Kn, the adjacency matrix A is given by A = 
    
 
1 1 1 ... 0

λw = w + w2 + ,…, + wn–1
n − 1 , if w =1
=  − 1 , if w ≠ 1

 n −1 −1 
Hence, Sp(Kn) = 
 −1 n − 1
246 Advanced Graph Theory

9.3 Spectrum of the Cycle Cn


Label the vertices of Cn as 0, 1, 2 ,…, n – 1 in this order. Then i is adjacent to
i ± 1 (mod n). Hence.
0 1 0 0 ... 0 1
 0
A = 1 0 1 0 ... 0

    ...  
1 0 0 0 ... 1 0 

is the circulant with the first row (0 1 0 ... 0 1). Again, Sp(Cn) = {wr + wr(n–1)
: 0 < r < n – 1, where w is a primitive nth root of unity}.
2p 2p
Taking w = cos + i sin we get
n n
λr = wr + wr(n–1)
 2pr 2pr   2pr (n − 1) 2pr (n − 1) 

=  cos + i sin +  cos + i sin 
 n n  n n

This simplifies to the following:


 2p (n − 1)p 
2 2cos ... 2cos
(i) If n is odd, Sp(Cn) =  n n 
 1 2 ... 2 

 2p (n − 1)p 
2 2cos ... 2cos −2
(ii) If n is even, Sp(Cn) =  n n 
 1 
 1 2 ... 2

9.4 Spectra of Regular Graphs Theorem


Let G be a k-regular graph of order n. Then
(i) k is an eigenvalue of G.
(ii) If G is connected, every eigenvector corresponding to the eigenvalue k is
a multiple of I, (the all 1-column vector of length n) and the multiplicity
of k as an eigenvalue of G is one.
(iii) For any eigenvalue λ of G, |λ| < k. (Hence Sp(G) ⊂ [–k, k]).
Proof:
(i) We have A1 = k1, and hence k is an eigenvalue of A.
(ii) Let x = (x1,…, xn)T be any eigenvector of A corresponding to the eigenvalue
k so that Ax = kx. We may suppose that x has a positive entry (otherwise,
take–x in place of x) and that xj is the largest positive entry in x. Let vi1,
Spectral Properties of Graphs 247
vi2,…, vik be the k neighbours of vj in G. Taking the inner product of the
jth row of A with x, we get xi1 + xi2 + ,…, + xik = kxj. This gives, by the
choice of xj, xi1 – xi2 + ,…, xik = xj.
Now start at vi1,vi2,…, vik in succession and look at their neighbours in G.
As before, the entries xp in x corresponding to these neighbours must all
be equal to xj. As G is connected, all the vertices of G are reachable in this
way step by step. Hence x = xj (1, 1,…, 1 )T, and every eigenvector x of
A corresponding to the eigenvalue k is a multiple of 1. Thus, the space of
eigenvectors of A corresponding to the eigenvalue k is one-dimensional,
and therefore, the multiplicity of k as an eigenvalue of G is 1.
(iii) The proof is similar to (ii). If Ay = λy, y ≠ 0, and if yj is the entry in y with
k
the largest absolute value, we see that the equation ∑ yip = λyj implies
k k p =1
that |λ||yj| = ∑ yip < ∑ | yip | < k|y |. Thus, |λ| < k.
j
p =1 p =1
Corollary: If D denotes the maximum degree of G, then for any eigenvalue λ
of G, |λ| < D.
Proof :
Considering a vertex vj of maximum degree D, and imitating the proof of (iii)
above, we get | λ||yj| < D|yj|.

9.5 Theorem of the Spectrum of the Complement of a Regular


Graph
Let G be a k-regular connected graph of order n with spectrum
 k λ 2 λ 3 ... λ s 
 . Then the spectrum of G , the complement of G,
c
 1 m m ... m
2 3 s
is given by
 n −1− k −λ 2 − 1 −λ 3 − 1 ... −λ s − 1
Sp(Gc) = 
 1 m2 m3 ... ms 

Proof:

As G is k-regular, Gc is n – 1 – k regular, and hence n – 1 – k is an eigenvalue


of Gc. Further, the adjacency matrix of Gc is Ac = J – 1– A, where J is the
all-1 matrix of order n, l is the identity matrix of order n, and A is the adjacency
matrix of G. If χ(λ) is the characteristic polynomial of A. χ(λ) = (λ – k)χ1 (λ).
By Cayley-Hamilton theorem, χ(A) = 0 and hence we have Aχ1(A) = kχ1(A).
Hence, every column vector of χ(A) is an eigenvector of A corresponding to
248 Advanced Graph Theory

the eigenvalue k. But the space of eigenvectors of A is generated by 1, G being


connected. Hence, each column vector of χ1(A) is a multiple of 1. But χ1(A)
is symmetric and hence χ1(A) is a multiple of J, say, χ1(A) = aJ, a ≠ 0. Thus,
J and hence J – I – A are polynomials in A (remember : A0 = 1). Let λ ≠ k be
any eigenvalue of A [so that χ1(A) = 0]m and Y eigenvector of A corresponding
to λ. Then
ACY = (J – 1 – A)Y

 χ ( A) 
ACY =  1 − 1 − A Y
 a 

 χ ( A) 
=  1 − 1 − λ Y
 a 
= (–1 – λ)Y
Thus, AcY = (–1 – λ)Y, and therefore – 1 – λ is an eigenvalue of Ac corresponding
to the eigenvalue λ(≠ k) of A.

9.6 Sachs’ Theorem

This theorem determines the spectrum of the line graph of a regular graph
G in terms of Sp(G).
Let G be a labelled graph with vertex set
V(G) = {v1,v2,…, vn}
and edges set E(G) = {e1, e2,…, em}
with respect to these labellings, the incidence matrix B = (bij) of G,
which describes the incidence structure of G, is defined as the m by n matrix

B = (bij), where bij = { 1 if ei is incident to vj


0 otherwise
First of all we should go through the following lamma:

Lemma 9.2

Let G be a graph of order n and size m with A and B as its adjacency and
incidence matrices respectively. Let Ai, denote the adjacency matrix of the line
graph of G. Then
(i) BBT = AL + 2lm
(ii) If G is k-regular, BTB = A + kln
Spectral Properties of Graphs 249
Proof:

Let A = (aij) and B = (bij). We have


n
(i) (BBT)ij = ∑ bipb jp
p =1
= number of vertices vp that are incident to both ei and ej

{
1 if ei and ej are adjacent
= 0 if i ≠ j and e, and ej are nonadjacent
2 if i = j.
(ii) Proof of (ij) is similar.
Theorem 9.1 (Sachs’ theorem).
Let G be a k-regular graph of order n. Then χ(L(G): λ) = (λ + 2)m–n χ(G: λ +
2 – k). where L(G) is the line graph of G.
Proof:
We consider the two partitioned matrices U and V, each of order n + m (where
B stands for the incidence matrix of G):
λI − BT  In BT 
U=  n ,V= B
 0 I m   λI m 

We have
λI − BT B 0 
UV =  n
 B λI m 

λI n 0 
and VU = 
 λB λI m − BB T

Now det(UV) = det(VU) yields:


λ det(λIn – BTB) = λn det(λIm – BBT).
m
... (i)
Replacement of λ by λ + 2 in (i) yields
(λ + 2)m–n det((λ + 2)ln – BTB) = det((λ + 2)Im – BBT). ... (ii)
Hence, by Lemma 9.2
χ(L(G): λ) = det(λIm – AL)
= det((λ + 2)Im – (AL + 2Im))
= det((λ + 2)Im – BBT)
= (λ + 2)m–n det((λ + 2)In – BTB) by using (ii)
250 Advanced Graph Theory

= (λ + 2)m–n det((λ + 2)In – (A + kln))


(by Lemma 9.2)
= (λ+ 2) m–n
det((λ + 2 – k)In – A)
= (λ + 2) m–n
χ(G: λ + 2 – k). 
9.7 Cayley Graphs and Spectrum
Cayley graph are special type of regular graphs which are constructed out
of group.
Let Γ be a finite group and S ⊂ Γ
Such that
(i) e ∉ S i.e., e is the identity to Γ
(ii) If a ∈ S then a–1 ∈ S
(iii) S generates Γ
If we construct a graph G with V(G) = Γ and in which ab ∈ E(G) if and only
if b = as for some s ∈ S. Since as = as′ in Γ implies that s = s', it follows that
each vertex a of G is of degree |S|; that is, G is a |S|-regular graph. Moreover,
if a and b are any two vertices of G, there exists c in Γ such that ac = b. But
as S generates Γ, c = s1s2,…, sp, where si ∈ S, 1 < i < p. Hence, b = as1s2,…,
sp, which implies that b is reachable from a in G by means of the path a (as1)
(as1s2) ,…, {as1s2,…, sp = b). Thus, G is a connected simple graph. [Condition
(i) implies that G has no loops.] G is known as the Cayley graph Cay(Γ: S) of
the group Γ defined by the set S.
We then consider a special family of Cayley graphs. Taking Γ = (n, +), the
additive group of integers modulo n. If S = {s1, s2,…, sp}, then 0 ∈ S and si ∈ S
if and only if n – si ∈ S. The vertices adjacent to 0 are s1, s2,…, sp, while those
adjacent to i are (si + i)(mod n), (s2 + i)(mod n),…, (sp + i)(mod n). Consequently,
the adjacency matrix of Cay(n : S) is a circulant and, its eigenvalues are
{ws1 + ws2 + ,…, + wsp : w = an nth root of unity}.
We now take S(⊂ n) to be the set Un of numbers less than n and prime to
n. Note that (a, n) = 1 if and only if (n – a, n) = 1. The corresponding Cayley
graph Cay(n; Un) is denoted by Xn and called the unitary Cayley graph mod
n (Note that Un is the set of multiplicative units in n.) Now suppose that
(n1, n2) = 1. What is the Cayley graph Xn n ? Given x ∈ n n , there exist unique
1 2 1 2
c ∈ n and d ∈ n such that
1 2
x ≡ a1(mod n1) and x ≡ d(mod n2) ... (i)
Conversely, given c ∈ n and d ∈ n by the Chinese Remainder Theorem
1 2
there exists a unique x ∈ n n satisfying (i). Define f : n n → n × n (the
1 2 1 2 1 2
direct product of the groups n and n ) by setting f(x) = (c,d). Then f is an
1 2
additive group isomorphism with f(Un n ) = Un × Un .
1 2 1 2
Spectral Properties of Graphs 251

Two vertices a and b are adjacent in n n if and only if a – b ∈ Un n . Let


1 2 1 2
a ≡ a1 (mod n1), b ≡ b1 (mod n1)
a ≡ a2(mod n2) and b ≡ b2(mod n2).
Then (a – b, n1n2) = 1 if and only if (a – b, n1) = 1 = (a – b, n2): equivalently,
(a1 –b1, n1) = 1 = (a2 – b2, n2) or, in other words, a1b1 ∈ E(Xn ) and a2b2 ∈
1
E(Xn ).
2
The adjacency matrix of Xn, as noted before, is a circulant, and hence the
spectrum (λ1, λ2 ,…, λn) of Xn is given by
2 pi
λr = ∑ w rj where w = e n
... (ii)
i≤ j≤n
( j .n ) =1

The sum in (ii) is the well-known Ramanujan sum c(r, n).It is known that
f( n ) n
c(r, n) = m (tr ) where tr = , 0 < r < n – 1...(iii)
f(tr ) ( r , n)
In relation (ii), m stands for the Möebius function. Further, as tr divides n,
divides f(n), and therefore c(r, n) is an integer for each r.

SUMMARY
1. The set of eigenvales of a group G is known as the spectrum of G and denoted
by Sp(G).
2. Let G be a group of order n and size m and let χ(G : x) = xn + a1xn–1 + a2xn–2
+ ,…, + an be the characteristic polynomial of A. Then
(i) a1 = 0
(ii) a2 = – m
(iii) a3 = – (twice the number of triangles in G)
3. The complete graph K10 cannot be decomposed into three copies of the
Peterson graph.
4. A linear subgraph of a graph G is a subgraph of G whose components are
single edges or cycles.
5. Let A be the adjacency matrix of a simple graph G. Then
det A = ∑ ( − ) e ( H ) . 2c ( H )
H
where the summation is overall the spanning linear subgraph H of G and
e(H) denote respectively the number of even components and the number of
cycles in H.
252 Advanced Graph Theory

EXERCISES

1. Find the general method to calculate the coefficients of the characteristic


polynomial.
2. How can you calculate spectra of regular graphs?
3. Prove that the complete graphs K10 cannot be decomposed into three copies
of the Petersen graph.
4. State and prove general theorem for spectrum of the complete Bipertite graph
Kp.q.
5. State and prove Harary’s Theorem for linear subgraph.
6. Explain spectra of product graphs by suitable graph.
7. What are Cayley’s graph, Unitary Cayley Graph and spectra of the Cayley
Graph Xn.

8. Prove that the eigenvalues of the unitary Cayley graph Xn = Cay (Zn, Un) are
all integers C(r, n), 0 < r < n – 1

Suggested Readings
1. Balakrishanan R., Ranganathan K. A Textbook of Graph Theory, Spriner
(NY), 2012.
2. Bollobas B., Modern Graph Theory, Springer, 2001.
3. Diestel R. Graph Theory, Springer, 2005.
4. Godsil and Royle, Algebraic Graph Theory, Springer, 2010
5. Harary F., Graph Theory, Narosa, 2006
6. Vasudev C., Graph Theory with Application, New Age, 2006

qqq
10
Emerging Trends in Graph Theory

S. Ramanujan
(1887–1920)

10.1 Introduction
In this chapter we shall discuss some popular research areas in Graph Theory.
In each of the chosen topic, we introduce the problem, give some easily stated
theorem, important variation, direction of research and provide reference to
survey articles.

10.2 Perfect Graphs


A grpah G is said to be perfect iff χ(H) = w(H) for every induced subgraph H
of G. It is common to use stable set to mean an independent set of vertices. As
before, clique is a set of pairwise adjacent vertices.
Since we focus on vertex colouring, we restrict our attention to simple
graphs. Complementation converts cliques to stable sets and vice-versa, so
w(H) = α(H).

© The Author(s) 2023 253


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8_10
254 Advanced Graph Theory

Properly colouring H means expressing V(H) as a union of cliques in H;


such a set of cliques in H is a clique covering of H. For every graph G, we have
four optimization parameters of interest viz.
(i) Independent number α(G) max. size of a stable set.
(ii) Clique number w(G) max. size of a clique.
(iii) Chromatic number χ(G) min. size of a colouring.
(iv) Clique covering number θ(G) min. size of a clique covering.
Base defined two types of perfection:
(a) G is ϒ-perfect if χ[G(A)] = w[G(A)] for all A ⊆ V(G).
(b) G is α-perfect if θ[G(A)] = α[G(A)] for all A ⊆ V(G).
The definition of perfect is the same as the definition of ϒ perfect. Since
G[A] is the complement of G[A], the definition of α-perfect can be stated in
terms of G as
“χ[G(A)] = w[G(Α)] ∀A ⊆ V(G)”.
Thus ‘G is α-perfect’ has some meaning as ‘G is ϒ-perfect’.
Always χ(G) ≥ w(G) and θ(G) ≥ α(G).
If k ≥ 2, then χ(C2k + 1) > w(C2k + 1) and χ(C2k + 1) > w(C2k + 1).
Thus, odd cycles and their complements (except C3 and C3) are imperfect.
Duplicating a vertex x of G produces a new graph Gox by edding a vertex
x′ with N(x′) = N(x). The vertex multiplication of G by the nonnegative integer
vector h = (h1, h2,…, hn) is the graph H = Goh whose vertex set consists of hi
copies of each xi ∈ V(G) with copies of xi and xj adjacent in H iff xi ↔ xj is G.
An Important Lemma
Vertex multiplication preserves ϒ-perfection and α-perfection.
Proof:
We observe that Goh can be obtained from an induced subgraph of G by
successive vertex duplications. If every hi is 0 or 1, then Goh = G[A], where A
= [i : hi > 0). Otherwise, start with G[A] and perform duplications until there
are hi copies of xi (for each i ). Each vertex-duplication preserves the property
that copies of xi and xj are adjacent if and only if xixj ∈ E(G), so the resulting
graph is Goh.
If G is α-perfect but Goh is not, then some operation in the creation
of Goh from G[A] produces a graph that is not α-perfect from an
α-perfect graph. It thus suffices to prove that vertex duplication preserves
α-perfection. The same reduction holds for γ-perfection. Since every proper
induced subgraph of Gox is an induced subgraph of G or a vertex duplication
Emerging Trends in Graph Theory 255
of an induced subgraph of G, we further reduce our claim to showing that
α(Gox) = θ(Gox) when G is α-perfect. When G is γ-perfect, we extend a proper
coloring of G to a proper coloring of Gox by giving x′ the same color as x. No
clique contains both x and x′, so ω(Gox) = ω(G). Hence χ(Gox) = χ(G) = ω(G)
= ω(Gox).
When G is α-perfect, we consider two cases. If x belongs to a maximum
stable set in G, then adding x′ to it yields α(Gox) = α(G) + 1. Since θ(G) =
α(G), we can obtain a clique covering of this size by adding x′ as a 1-vertex
clique to some set of θ(G) cliques covering G.

Fig. 10.1: Clique Coversing

If x belongs to no maximum stable set in G, then α(Gox) = α(G).


Let Q be the clique containing x in a minimum clique cover of G.
Since θ(G) = α(G), Q intersects every maximum stable set in G. Since
x belongs to no maximum stable set, Q′ = Q – x also intersects every
maximum stable set. This yields α(G – Q′) = α(G) – 1. Applying the
α-perfection of G to the induced subgraph G – Q′ (which contains x) yields
θ(G – Q′) = α(G – Q′). Adding Q′ ∪ {x′} to a set of α(G) – 1 cliques covering
G – Q′ yields a set of α(G) cliques covering Gox. 
Theorem 10.1: (Perfect Graph Theorem)
A graph is perfect if and only if its complement is perfect.
Proof:
It is sufficient to show that α-perfection of G implies γ-perfection of G; On
applying this to G yields the converse. If the claim is faild, then we consider a
minimal graph G that is α-perfect but not γ-perfect. By lamma “In a minimal
perfect graph, no stable set intersects every maximum clique.” i.e. If a stable
set S in G intersects every w(G) - clique, then perfection of G – S yields χ(G –
S) = w(G – S) = w(G) – 1 and S completes a proper w(G)-colouring of G. This
makes G perfect. We may assume that every maximal stable set in G misses
some maximum clique Q(S).
256 Advanced Graph Theory

We design a special vertex multiplication of G. Let S = (Si) be the


list of maximal stable sets of G. We weight each vertex by its frequency
in [Q(S i )], letting h j be the number of stable sets S i ∈ S such that
xj ∈ Q(Si). H = Goh is α-perfect, yielding α(H) = θ(H). We use counting
arguments for α(H) and θ(H) to obtain a contradiction. (see Fig. 10.2)

Fig. 10.2 A perfect Machine

Let A be the 0, 1-matrix of the incidence relation between {Q (Si)} and V(G);
we have ai ,j = 1 if and only if xi ∈ Q(Si). By construction, hj is the number of
1s in column j of A, and n(H) is the total number of 1s in A. Since each row has
ω(G) 1s, also n(H) = ω(G) |S|. Since vertex duplication cannot enlarge cliques,
we have ω(H) = ω(G). Therefore, θ(H) ≥ n(H) /ω (H) = |S|.
We obtain a contradiction by proving that α(H) < |S|. Every stable set in
H consists of copies of elements in some stable set of G, so a maximum stable
set in H consists of all copies of all vertices in some maximal stable set of G.
Hence α(H) = maxT ∈ s ∑ hi i. The sum counts the 1s in A that appear in the
i : xi ∈T

columns indexed by T. If we count these 1s instead by rows, we obtain α(H) =


maxT ∈ s ∑ |T ∩ Q(S)|. Since T is a stable set, it has at most one vertex in
S ∈S
each chosen cligge Q(S). Furthermore, T is disjoint from Q(T). With |T Ç Q(S)|
≤ 1 for all S ∈ S, and |T Ç Q(T)| = 0, we have α(H) ≤ |S| – 1. 
 Example 10.1: Fractional solutions for an imperfect graph.
For the 5-cycle, the linear programs for ω , χ , α , θ all have optimal value
5/2. There are five maximal cliques and five maximal stable sets, each
of size 2. Setting each xj = 1/2 gives weight 1 to each clique and stable
set, thereby satisfying the constraints for either maximization problem.
Setting each yi = 1/2 in the dual programs covers each vertex with a total
weight of 1, so again the constraints are satisfied. These programs have no
optimal solution in integers, and the integer programs have a “duality gap”:
χ = 3 > 2 = ω and θ = 3 > 2 = ω.
Emerging Trends in Graph Theory 257
10.3 Chordal Graphs Revisited
A chordal graph can be built from a single vertex by iteratively adding a vertex
joined to a clique. This is the reverse of a simplicial elimination ordering
and we have seen that greedy colouring with respect to such a construction
ordering yields an optimal colouring. Many classes of perfect graphs have such
a construction procedure that produces the graphs in the class and no others.
A construction procedure on the reverse decomposition procedure may lead to
fast alogirthms or computations on graphs in the class.

10.4 Intersection Representation


An intersection representation of a graph G is a family of sets {Sv : v ∈ V(G)}
such that u ↔ v iff Su ∩ Sv ≠ Q. If {Sv} is an intersection representation of G,
then G is the intersection graph of {Sv}.
Theorem 10.2: (A Subtree Representation)
A graph is chordal if and only if it has an intersection representation using
subtree of a tree.
Proof:
First we will have to prove that the condition is equivalent to the existance of
a simplicial elimination ordering. We can use inductions with a trivial basis K1.
Let v1,…,vn be a simplicial elimination ordering for G. Since v2,…,vn is a
simplicial elimination ordering for G – v1, the induction hypothesis yields a
subtree representation of G – v1 in a host tree T. Since v1 is simplicial in G, the
set S = NG(v1) induces a clique in G – v1. Therefore, the subtrees of T assigned
to vertices of S are pairwise intersecting.

Fig. 10.3: Subtree Representation

If T1, T2,…,Tk are pairwise intersecting subtrees of a tree T then there is a


vertex belonging to all of T1, T2,…, Tk.
If each vertex v misses some T(v) among T 1 ,...,T k , we mark the
edge that leaves v on the unique path to T(v). If T has n vertices, then
258 Advanced Graph Theory

we make n marks, so some edge uw has been market twice. Now


T(u) and T(w) have no common vertex. These subtrees have a common vertex
x. We enlarge T to a tree T ′ by adding a leaf y a adjacent to x, and we add the
edge xy to the subtrees representing vertices of S. We represent v1 by the subtree
consisting only of y. This completes a subtree representation of G in T′.
Conversely, let T be a smallest host tree for a subtree representation of G,
with each v Î V(G)-represented by T(v) Í T. If xy Î E(T), then G must have a
vertex u such that T(u) contains x but not y; otherwise, contracting xy into y
would yield a representation in a smaller tree.
Let x be a leaf of T, and let u be a vertex of G such that T(u) contains x
but not its neighbor. The subtrees for neighbors of u in G must contain x and
hence are pairwise intersecting. Thus u is simplicial in G. Deleting T(u) yields
a subtree representation of G – u. We complete a simplicial elimination order
of G using such an ordering of G – u given by the induction hypothesis. 
 Example 10.2: The first vertex chosen in the MCS order is arbitrary.
An application of MCS to the graph G above could start by setting f (c) = 1
and hence 1(b) = 1(d) = l (e) = 1. Next we could select f (e) = 2 and update
1(d) = 2, 1(h) = 1(u) = 1. Now d is the only vertex with label as large as 2, and
hence f(d) = 3. We update l(b) = l(h) = l(u) = 2, l(g) = 1, l(a) = 0. Continuing
the procedure can produce the order c, e, d, b, h, g, a, u in increasing order
of f. This is a simplicial construction ordering, and u, a, g, h, b, d, e, c is a
simplicial elimination ordering.

10.5 Tarjan’s Theorem (1976)


A simple graphs G is a chordal if and only if the numbering v1, v2,...,vn produced
by the maximum cardinality search(MCS) algorithm is a simplicial construction
ordering of G.
Proof:
To prove the theorem we firstly discuss Maximum Cardinality search (MCS)
Algorithm.
Input: A graph G.
Output: A vertex numbering - a bijection f : V(G) → }1,…, n(G)}.
Idea: For each unnumbered vertex v, maintain a label l(v) that is its degree
among the vertices already numbered. The vertices at the end of a simplicial
elimination ordering are those clumped around the last vertex, so in a simplicial
construction ordering the vertices with high labels should be added first.
Initialization: Assign label 0 to every vertex. Set i = 1.
Iteration: Select any unnumbered vertex with maximum label. Number.
Number it i and add 1 to the label of its neighbors. Augment i and iterate.
Emerging Trends in Graph Theory 259
If MCS produces a simplicial construction ordering, then G is chordal.
Conversely, suppose that G is chordal, and let f : V(G) → [n] be the numbering
produced by MCS. A bridge of f is a chordless path of length at least 2 whose
lowest numbers occur at the endpoints. We prove first that f has no bridge.
Otherwise, let P = u, v1,…, vk , w be a bridge that minimizes mux{f (u), f (w)]. By
symmetry, we may assume that f (u) > f (w) (f is used as the vertical eoordinkt,e
to position vertices in the illustration).

Fig. 10.4

Since u is numbered in preference to vk at time f (u), and w is already


numbered at that time, there exists a vertex x ∈ N(u) – N(vk) with f (x) < f (u).
Letting v0 = u, set r = max{ j: x ↔ vj}. The path P′ = x, vk , w is chordless, since
x ↔ w would complete a chordless cycle. Since both of f (x), f (w) are less than
f (u), P′ is a bridge that contradicts the choice of P. Hence f has no bridge.
With this claim, the proof follows by induction on n(G). It suffices to show
that vn is simplicial, since the application of MCS to G – vn produces the same
numbering v1,…, vn –1 that leaves vn at the end. If vn is not simplicial, then vn has
nonadjacent neighbors u, w, in which case u, vn ,w is a bridge of f. 

Note:
(i) A tree T is a clique tree of G is there is a bijection between V(T) and the
maximal cliques of G such that for each, v ∈ V(G) the cliques containing
v induce a subtree of T.
(ii) Every tree of minimum order in which G has a subtree representation is
a clique tree of G.
(iii) The weighted intersection graph of a collection A of a finite set is a weighted
clique in which the elements of A are the vertices and the weight of each
edge AA′ is |A ∩ A′|.
260 Advanced Graph Theory

Theorem 10.3: (McKee [19931])


Let M(G) be the weighted intersection graph of the set of maximal cliques (Qi) of
a simple graph G. If T is a spanning tree of M(G), then w(T) ≤ Σn(Qi) – n(G),
with equality if and only T is a clique tree.
Proof:
Let T be a spanning tree of M(G). Let Tv be the subgraph of T induced by (Qi: v
∈ Qi}. Each vertex v ∈ V(G) contributes once to the weight of T for each edge
of Ti; hence w(T) Σv∈V (G) e(Tv). Each Tv is a forest, so e(Tv) ≤ n(Tv) – 1, with
equality if and only if Tv is a tree. The term n(Tv) contributes 1 to the size of
each clique containing v. Summing the inequality for each vertex yields w(T)
≤ Σ n(Qi) – n(G). Equality holds if and only if each Tv a tree, which is true if
and only if T is a clique tree. 
Classical Applications of Internal Graphs:
(i) Analysis of DNA chains: Interval graphs were invented for the study
of DNA. Benzer [1959] studied the linearity of the chain for higher
organisms. Each gene is encoded as an interval, except that the relevant
interval may contain a dozen or more irrelevant junk pieces called “introns”
among the relevant pieces called “exons”. Under the hypothesis that
mutations arise from alterations of connected segments, changes in traits
of microorganisms can be studied to determine whether their determining
amino-acid sets could intersect. This establishes a graph with traits as
vertices and “common alterations” as edges. Under the hypotheses of
linearity and contiguity, the graph is an interval graph, and this aids in
locating genes along the DNA sequence.
(ii) Timing of traffic lights: Given traffic streams at an intersection, a traffic
engineer (or a person with common sense) can determine which pairs of
streams may flow simultaneously. Given an “all-stop” moment in the cycle,
the intersection graph of the green-light intervals must be an interval graph
whose edges are a subset of the allowable pairs. These can be studied to
optimize some criterion such as average waiting time.
(iii) Archeological seriation: Given pottery samples at an archeological dig,
we seek a time-line of what styles. were used when. Assume that each
style was used during onetime interval and that two styles appearing in
the same grave were used concurrently. Let two styles be an edge if they
appear together in a grave. If this graph is an interval graph, then its interval
representations are the possible time-lines. Otherwise, the information is
incomplete, and the desired interval graph: requires additional edges.
Emerging Trends in Graph Theory 261
10.6 Perfectly Orderable Graph
A perfect order on a graph is a vertex ordering such that greedy colouring with
respect to the ordering inherited by each induced subgraph produces an optimal
colouring of that subgraph. A perfectly orderable graph is a graph having a
perfect order.
In an orientation of G, an obstruction is an induced 4-vertex path a, b, c, d
whose first and last edges are oriented toward the leaves. The orientation of G
associated with a vertex ordering L orients each edge toward the vertex earlier
in L : u ← v if u < v. A vertex ordering is obstruction ­free if its associated
orientation has no obstruction.

The orientation associated with a perfect order is obstruction-free, because


on an obstruction the greedy coloring would use three colors instead of two.
Chvatal proved that a graph is perfectly orderable if and only if it has an
obstruction-free ordering. The characterization implies that perfectly orderable
graphs are, perfect and that chordal graphs and comparability graphsnre perfectly
orderable.
 Example 10.7: Chordal graphs and comparability graphs are perfectly
or­derable. The orientation cbordal graph associated with a simplicial
construction ordering has. no induced u ← v → w. A transitive orientation
of a comparability graph has no induced u → v → w.
Every orientation with an obstruction has both an induced u → v → w and an
induced u ← v → w. Hence if G is a comparability graph or a chordal graph,
then G has an obstruction-free ordering. By Chvatal’s characterization, such
graphs are perfectly orderable.

10.7 Minimal Imperfect Graph


A star-cutset of G is a vertex cut S containing a vertex x adjacent to all of S —
{x}. A minimal imperfect graph is an imperfect graph whose proper induced
subgraphs are all perfect.
10.7.1 Star-cutset Lemma
If G has no stable set intersectingeverymaximumclique,andeveryproperinducedsubgraph
of G is w(G) - colourable, then G has no star-cut set.
Proof:
Suppose that G has a star-cutset C, with w adjacent to all of C – {w}. Since
G – C is disconnected, we can partition V (G – C) into sets V1, V2 with no edge
262 Advanced Graph Theory

between them. Let Gi = G(Vi ∪ C), and let fi be a proper w(G)-coloring of Gi.
Let Si be the set of vertices in Gi with the same color in fi as w; this includes w
but no other vertex of C. Since there are no edges between V1 and V2, the union
S = S1 ∪ S2 is a stable set.

Fig. 10.5: Star-cutset Graph

If Q is a clique in G – S, then Q is contained in G1 – S1 or in G2 – S2. Since


fi provides an w(G) – 1-coloring of Gi – Si, we have |Q| ≤ w(G) – 1. Since this
applies to every clique Q in G – S, the stable set S meets every w(G)-clique of
G, which contradicts the hypotheses. 

10.8 Imperfect Graphs


All p-critical graphs are the minimal imperfect graphs.
Study of p-critical, graphs has benefitted by enlarging the class to include
other graphs. Structural properties of the larger class are useful when proving
the SPGC for special classes of graphe. Padberg [1974] began the study of
these graphs. Several definitions were suggested to extend the class of p-critical
graphs but turned out to be alternative characterizations of the same class. The
definition we use originates in Bland–Huang–Trotter [1979].
For integers a, w ≥ 2, a graph G is a, w-partitionable if it has aw + 1 vertices
and for each x ∈ V(G) the subgraph G – x has a partition into a cliques of size
w and a partition into w stable sets of size a.
The property “w(G[A])α(G[A]) ≥ |A| for all A ⊆ V(G)” was suggested by
Fulkerson; we call it β-perfection. It is implied by α-perfection or γ­perfection;
if we can color G with w(G) stable sets, then some stable set has at least
n(G)/w(G) vertices. The converse involves counting arguments like those we
gave for the PGT, but more delicate. Since β-perfection is unchanged under
complementation.
Theorem 10.4:
If G is p-critical, then n(G) = α(G)ω(G) + 1. Furthermore, for every x ∈ V(G),
G – x has a partition into ω(G) stable sets of size α(G) and a partition into
α(G) cliques of size ω(G).
Emerging Trends in Graph Theory 263
Proof:
When G is p-critical, the condition for β-perfection fails only for the full vertex
set A = V(G). Hence for each x ∈ V(G) we have
n(G) – 1 ≤ α(G – x)ω(G – x) = α(G)ω(G) ≤ n(G) – 1.
Therefore, n(G) = α(G)ω(G) + 1. Since χ(G – x) = ω(G – x) = ω(G), we can
cover G – x by ω(G) stable sets. Having size at most α(G), these sets partition
the α(G)ω(G) vertices of G – x into ω(G) stable sets of size α(G). Similarly,
θ(G – x) = α(G – x) = α(G) yields a partition of V (G – x) into α(G) cliques of
size to ω(G). 
 Example 10.4:
d
Cycle-powers: The graph Cn , is constructed by placing n vertices on a circle
and making each vertex adjacent to the d nearest vertices in each direction on
d
the circle. When d = 1, Cn = Cn. We view the vertices as the integers modulo
n, in order.

Fig. 10.6: Cycle Power


2
The graph C10 , shown on the left below, is neither perfect nor p-critical (the
2
vertices 0, 2, 4, 6,8 induce C5), but C10 is 3,3-partitionable. When i is removed,
the unique partition of the remaining nine vertices into three triangles is {(i + 1,
i + 2, i + 3), (i + 4, i + 5, i + 6), (i + 7, i + 8, i + 9)}, and the unique partition into
three stable sets is {(i + 1, i + 4, i + 7), (i + 2, i + 5, i + 8), (i + 3, i + 6, i + 9)}.
Always Caw + 1 is a, w-partitionable. Every w consecutive vertices in G – x
w −1

form a clique, and every a vertices spaced by jumps of length w form a stable
+ 1 is p-critical if and only if w = 2 or a = 2 reduces the
w −1
set. Showing that Caw
SPGC to the statement that G is p-critical if and only if G = Caw((GG))w−(1G )+ 1 .
Theorem 10.5:
A graph G of order n = aw + 1 is a, w-partitionable if and only if both conditions
below hold:
264 Advanced Graph Theory

1. α(G) = a and ω(G) = ω, and each vertex of G belongs to exactly w cliques


of size w and a stable sets of size a.
2. G has exactly n maximum cliques {Qi} and exactly n maximum stable sets
(Sj), with Qi Ç Sj = q if and only if i = j (Qi and Si are mates).
Proof:
We have proved χ(G – x) = w = ω(G) and θ(G – x) = a = α(G) for each x ∈
V(G). Choose a clique Q of size w. For each x ∈ Q, G – x has a partition into
a cliques of size w. Together, Q and these w partitions form a list of n = aw
+ 1 maximum cliques Q1,…, Qn. Each vertex outside Q appears in one clique
in each partition. Each vertex in Q appears in Q and once in w – 1 partitions.
Hence every vertex appears in exactly w cliques in the list.
For each Qi, we obtain a maximum stable set Si disjoint from Qi. Choose x
∈ Qi. The w maximum stable sets that partition V(G – x) can meet Qi, only at
the w – 1 vertices other than x. Therefore, one of these stable sets misses Qi;
call it Si. We will show that these two lists contain all the cliques and stable sets
and have the desired intersection properties.
Let A be the incidence matrix with ai, j = 1 if xj ∈ Qi and ai, j = 0 otherwise.
Let B be the matrix with bi , j = 1 if xj ∈ Si and bi , j = 0 otherwise. The ijth entry
of ABT is the dot product of row i of A with row j of B, which equals |Qi ∩ Sj|.
By proving that ABT = J – I, where J is the matrix of all 1s, we obtain Qi ∩ Sj
≠ θ if and only if i ≠ j. Since J - I is nonsingular, this will also imply that A and
B are nonsingular. Nonsingular matrices have distinct rows, and hence Ql,... ,
Qn and Sl,... Sn will be distinct.
By construction, |Qi ∩ Si| = 0. Since cliques and stable sets intersect at most
once, to prove that ABT = J – I we need only show that each column of ABT sums
T
to n – 1. Multiplying by the row vector 1n on the left computes these sums. We
constructed A so that each column has w is (because each vertex appears in w
cliques in the list) and B so that each row has a 1s (because each stable set has
size a). Therefore,
T T T T
1n (ABT) = (1n A)BT = w1n BT = wa1n = (n – 1)1n ...(i)
To prove that G has no other maximum cliques, we let q be the incidence
vector of a maximum clique Q and show that q must be a row of A. Since A is
nonsingular, its rows span , and we can write q as a linear combination: q =
tA. To solve for t, we need A–1. Since every row of A sums to ω, we have A(ω−1
J – BT) = ω−1ωJ – (J – 1) = I, and hence A–1 = ω–1 J – BT . Thus,
T
t = qA – 1=q(ω−1 J – BT)= ω–1qJ – qBT = ω–1ω1n – qBT ...(ii)
The ith column of BT is the incidence vector of Si; hence coordinate i of
qB equals |Q ∩ Si|, which is 0 or 1. Hence t is a 0, 1-vector and q is a sum of
T
Emerging Trends in Graph Theory 265
rows of A. Since q sums to ω, only one row can be used. Thus q is a row of A
and Q1,…, Qn are the only maximum cliques.
The same argument applied to G shows that G has exactly n maximum
stable sets, with each vertex appearing in a of them.

Fig. 10.7

Sufficiency. we need only prove that χ(G – x) ≤ w and θ(G – x) ≤ a for all
x ∈ V(G). Given the cliques and stable sets as guaranteed by condition (2),
define the incidence matrices A, B as above. By condition (1), each column
of B has a 1s, and hence JB = aJ = BJ. The intersection requirements in
condition (2) yield ABT = J – I. This is nonsingular, so B is nonsingular and
ATB = B-1BATB = B-1(J – I)B = B-1 BJ – I = J – I.
In the product ATB = J – I, the row corresponding to x ∈ V(G) states that V(G
– x) is covered by, the mates of the w maximum cliques containing x (illustrated
below), and hence χ(G – x) ≤ w. Similarly, the column corresponding to x states
that V(G – x) is covered by the mates of the a maximum stable sets containing
x, and hence θ(G – x) ≤ a. 
Note:
An edge of a graph is critical if deleting it increases the independent number.
A pair of non-adjacent vertices is co-critical of adding an edge joining them
increases the clique number.
Theorem 10.6:
For an edge xy in a partitionable graph G, the following statements are
equivalent.
(a) xy is a critical edge.
(b) S ∪ {x} ∈ X(G – y).
(c) xy belongs to w – 1 maximum cliques.
Proof:
B ⇒ A. S ∪ {x, y} is a stable set of size α + 1 in G – xy.
A ⇒ C. If xy is critical, then there is a set S such that S ∪ {x} and
266 Advanced Graph Theory

S ∪ {y} are maximum stable sets in G. Hence every maximum clique


containing x but not y is disjoint from S ∪ {y}. Since there are ω
maximum cliques containing x and only one maximum clique disjoint from
S ∪ {y}, the remaining ω – 1 maximum cliques containing x must also contain y.
C ⇒ B. The stable sets in the unique coloring of G – x are the mates of the
cliques containing x. Since xy belongs to ω – 1 maximum cliques, the mates of
these ω – 1 cliques belong to both X(G – x) and X(G – y). This leaves only a
+ 1 vertices in the graph, consisting of the vertices x, y and a stable set S such
that S ∪ {y} ∈ X(G – x) and S ∪ {x} ∈ X(G – y). 

10.9 Strong Perfect Graph Coryecture


We have been proving properties of partitionable graphs in a “top down”
approach to the SPGC, trying to find enough properties to eliminate all but odd
cycles and their complements as p-critical graphs. The “bottom up” approach
is to verify that the SPEC holds on larger and larger classes of graphs, until all
are included.
One way to prove that a class G satisfies the SPGC is to prove that every
Berge graph in G is perfect. A hereditary class G satisfies the SPGC if the odd
cycles and their complements are the only p-critical graphs in G. Every cycle
is both a circle graph and a circular-arc graph, but neither of these classes
contains the other. One way to prove the SPGC for a class G is to show that
every partitionable graph in G belongs to another class H where the SPGC is
d
known to hold. In this role we use the class {Cn }.
Theorem 10.7:
The SPGC holds for circular-arc graphs.
Proof:
Recall that N[v] denotes N(v) ∪ {v), the closed neighborhood of v. When G is
partatisnable with distinct vertices x, y, we claim that N[x] ⊆
/ N[y]. Consider
the clique Q containing x in O(G – y); we have Q ⊆ N[x]. If N(y) contains N[x],
then Q ∪ {y} is a clique of size ω(G) + 1.
Now, if G is a partitionable circular-arc graph, it suffices to show that G
= Cnw (G ) − 1 , because the SPGC holds for cycle-powers Consider a circular-arc
representation that assigns arc Ax to x ∈ V. Since N[y] cannot contain N[x], the
arc Ax cannot lie within another arc Ay of the representation. If no arc contains
another, then every arc that intersects Ax contains at least one endpoint of Ax.
Since the vertices corresponding to the arcs containing one point induce a clique,
there are at most ω – 1 other arcs containing each endpoint of Ax. Equality holds
(and no other arc contains both endpoints of Ax), since δ(G) ≥ 2ω – 2.
Emerging Trends in Graph Theory 267
Starting from a given point p on the circle, let vi be the vertex represented by
the ith arc encountered moving clockwise from p. Since each arc meets exactly
ω – 1 others at each endpoint, vi is adjacent to vi + 1 (addition modulo n) for each
i. Hence G = . 

10.10 Hereditary Family


A hereducta family is a collection of sets, F, such that everysubset of a set in
F is also in F. A hereditary system M on E consists of a nonempty ideal IM of
subsets of E and the various ways of specifying the ideal, called aspects of M.
The elements of IM are the independent sets of M. The other subsets of E
are dependent. The bases are the maximal independent sets, and the circuts are
the minimal dependent sets; BM and CM denote these families of subsets of E.
The rank of a subset of E is the maximum size of an independent set in it. The
rank function rM is defined by r(X) = max {|Y| : Y ⊆ X, Y ∈ I}.
Hereditary systems are too general to behave nicely. We restrict our
attention to hereditary systems having an additional property, and these we call
matroids. We can translate any restriction on IM into a corresponding restriction
on some other aspect of the hereditary system. Because hereditary systems can
be specified in many ways, we have many equivalent definitions of matroids.
Using various motivating examples, we state several of these properties that
characterize matroids. Later we prove that they are equivalent. We begin with
the fundamental example from graphs.
Aspects of hereditary systems. A hereditary system M is determined by.
any of IM , BM , CM, , rM , etc., because each aspect specifies the others. We
have expressed BM , CM , rM in terms of IM . Conversely, if we know BM , then
IM , consists of the sets contained in members of BM . If we know CM , then IM
consists of the sets containing no member of CM . If we know rM , then IM = {X
⊆ E : rM(X) = |X|}.

10.11 Matroids
Many results of graph theory extend or simplify in the theory of matroids. These
include the greedy algorithm for minimum spanning trees, the strong duality
between maximum matching and minimum vertex cover in bipartite graphs,
and the geometric duality relating planar graphs and their duals.
Matroids arise in many contexts but are special enough to have rich
combinatorial structure. When a result from graph theory generalizes to matroids,
it can then be interpreted in other special cases. Several difficult theorems about
graphs have found easier proofs using matroids.
268 Advanced Graph Theory

Matroids were introduced by Whitney [1935] to study planarity and


algebraic aspects of graphs, by MacLane [1936] to study geometric lattices,
and by van der Waerden [1937] to study independence in vector spaces. Most
of the language comes from these contexts. Here we emphasize applications
to graphs.
The cycle Matroid M(G) of a graph G is the heredctary system on E(G)
whose circuits are the cycles of G. A hereditary system that is M(G) for some
graph G is called a graphic matroid.
In a hereditary system, a loop is an element forming a circuit of size 1.
Parallel elements are distinct non-loops forming a circuit of size 2. A hereditary
system is simple if it has no loops or parallel elements.
The vectorial matroid on a set E of vectors in a vector space is the hereditary
system whose independent sets are the linearly independent subsets of vectors
in E. A matroid expressible in this way is a linear ntatroid (or representable
matroid). The column matroid M(A) of a matrix A is the vectorial matroid
defined on its columns.
The transversal matroid induced by sets A1,…, Am, with union E is the
hereditary system on E whose independent sets are the systems of distinct
representatives of subsets of (A1,…, Am). Equivalently, letting G be the E, [m]-
bigraph defined by e ↔ i if and only if e ∈ Ai, the independent sets are the
subsets of E that are saturated by matchings in G.
10.11.1 Hereditary Systems
Label each vertex a = (a1,…,an) of the hypercube Qn by the corresponding set
Xa = (i : ai = 1). Draw Qn in the plane so that the vertical coordinates of vertices
are in order by the size of the sets labeling them.
The diagram below illustrates the relationships among the independent
sets, bases, circuits, and dependent sets of a hereditary system. The bases are
the maximal elements of the family I and the circuits are the minimal elements
not in I. In every hereditary system,∅ belongs to I. If every set is independent,
then there is no circuit, but there is always at least one base.
In the example on the right, the independent sets are the acyclic edge sets
in a graph with three edges. The only dependent sets are {1, 2} and {1, 2, 3},
the only circuit is {1, 2}, and the bases are {1, 3} and {2, 3}. The rank of an
independent set is its size. For the dependent sets, we have r({1, 2}) = 1 and
r({1, 2,3}) = 2.
Emerging Trends in Graph Theory 269

Fig. 10.8: Graph of Hereditary System

Bases in cycle matroids. The bases of the cycle matroid M(G) are the edge
sets of the maximal forests in G. Each maximal forest contains a spanning tree
from each component, so they have the same size. Consider B1, B2 ∈ B with
e ∈ B1 – B2. Deleting e from B1 disconnects some component of B1; since B2
contains a tree spanning that component of G, some edge f ∈ B2 – B1 can be
added to B1 – e to reconnect it.
For a hereditary system M, the base exchange property is: if B1, B2 ∈ BM ,
then for all e ∈ B1 – B2 there exists f ∈ B2 – B1 such that B1 – e + f ∈ BM . Matroids
are the hereditary systems satisfying the base exchange property.
10.11.2 Rank Function in Cycle Matroids
Let G be a graph with n vertices. For X ⊆ E(G), let GX denote the spanning
subgraph of G with edge set X. In M(G), an independent subset of X is the edge
set of a forest in GX. When GX has k components, the maximum size of such a
forest is n – k. Hence r(X) = n – k. Below we show such a forest Y (bold) within
X (bold and solid).
If r(X + e) = r(X) for some e ∈ E – X, then the endpoints of e lie in a single
component of Gx; adding e does not combine components. If we add two such
edges, then again we do not combine components. Therefore, r(X) = r(X + e)
= r(X + f) implies r(X) = r(X + e + f).
For a hereditary system M on E, the (weak) absorption property is: if X ⊆ E
and e, f ∈ E, then r(X) = r(X + e) = r(X + f ) implies r(X + e + f) = r(X). Matroids
are the hereditary systems satisfying the absorption property.

Fig. 10.9: Cycle Matroids


270 Advanced Graph Theory

Independent sets in transversal matroids. When M, M′ are matchings in


G and |M′| > |M|, the symmetric difference M ∆ M′ contains an M-augmenting
path P. Replacing M ∩ P with M′ ∩ P yields a matching of size |M| + 1 that
saturates all vertices of M plus the endpoints of P.
Consider independent sets I1, I2 in the transversal matroid generated by
A1,…, Am. In the associated bipartite graph, let M1, M2 be matchings saturating
I1, I2, respectively (on the left below, M1, is solid and M2 is dashed). If |I2| > |I1|
then the snatching obtained from M1 by using M1-augmenting path in M2 ∆ M1
saturates I1, plus an element e ∈ I2 – I1; this “augments” I2. For a hereditary
system on E, the augmentation property is for distinct I1, I2 ∈ I with |I2| > |I1|,
there exists e ∈ I2 – I1 such that I1 ∪ {e} ∈ I. Matroids are the hereiliitary systems
satisfying the augmentation property.

Fig. 8.10: Transversal Matroid

The transversal matroid of the family A = {1, 2}, {2, 3, 4}, {4, 5}}, illustrated
by the bipartite graph on the right, is again M(K4 – e). 

10.12 Basic Properties of Matroids


A hereditary system M on E is a matroid if it satisfies any of the following
additional properties, where I, B, C, and r are the independent sets, bases,
circuits, and rank function of M.
I: augmentation—if I1, I2 ∈ I with |I2| > |I1|, then I1 + e ∈ I for some
e ∈ I 2 – I 1.
U: uniformity—for every X ⊆ E, the maximal subsets of X belonging to
I have the same size.
B: base exchange—if B1, B2 ∈ B, then for all e ∈ B1 – B2 there exists
f ∈ B2 – B1 such that B1 – e + f ∈ B.
R: submodularity—r (X ∩ Y) + r(X ∪ Y) ≤ r(X) + r(Y) whenever X,
Y ⊆ E.
A: weak absorption—r(X) = r(X + e) = r(X + f) implies r(X + e + f) =
r(X) whenever X ⊆ E and e, f ∈ E,
A′: strong absorption­–if X, Y ⊆ E, and r(X + e) = r(X) for all e ∈ Y, then
r(X ∪ Y) = r(X).
Emerging Trends in Graph Theory 271
C: weak elimination—for distinct circuits C1 , C2 ∈ C and x ∈ C1 ∩ C2,
there is another member of C contained in (C1 ∪ C2) – x.
J: induced circuits—if I ∈ I, then I + e contains at most one circuit.
G: greedy algorithm—for each nonnegative weight function on E, the
greedy algorithm selects an independent set of maximum total weight.
The base exchange property implies that all bases have the same size: if |B1|
< |B2| for some B1, B2 ∈ B, then we can iteratively replace elements of B1 – B2
by elements of B2 – B1 to obtain a base of size |B1| contained in B2, but no base
is contained in another.

10.13 Span Function


The span function of a hereditary system M is the function σΜ on the subsets
of E defined by σM(X) = X ∪ {e ∈ E: Y + e ∈ CM for some Y ⊆ X}. If e ∈ σ(X),
then X Spans e.
In a hereditary system, X is a dependent set if and only if it contains a
circuit, holds if and only if e ∈ σ(X – e) for some e ∈ X. We can therefore find
the independent sets from the span function via I = {X ⊆ E: (e ∈ X) ⇒ (e ∉
σ(X – e))}.
The properties of span functions that we use in studying matroids are (s1, s2,
s3) below (an additional technical condition is needed to characterize the span
functions of hereditary systems). First we illustrate property (s3) using graphs.
Theorem 10.8:
If M is a hereditary system, then each condition below is necessary and sufficient
for M to be a matroid:
P: incorporation—r(s(X)) = r(X) for all X ⊆ E.
S: idempotence—σ2(X) = σ(X) for all X ⊆ E.
T: transitivity of dependence—if e ∈ σ(X) and X ⊆ σ(Y), then e ∈ σ(Y).
C′: strong elimination—whenever C1, C2 ∈ C, e ∈ C1 ∩ C2, and f ∈
C1∆C2, there exists C ∈ C such that f ∈ C ⊆ (C1 ∪ C2) – e.
Proof:
U ⇒ P: Every element in σ(X) – X completes a circuit with a subset
of X and thus lies in the span of every set between X and σ(X).
Thus it suffices to prove that r(Y + e) = r(Y) when e ∈ r(Y). Let
Z be a subset of Y such that Z + e ∈ C. Augment Z to a maximal
independent subset I of Y + e. By the uniformity property, |I| =
r(Y + e). Since Z + e ∈ C, we have e ∈ I. Thus I ⊆ Y, and we have r(Y) ≥
|I| = r(Y + e) (Absorption can be used instead.)
272 Advanced Graph Theory

P ⇒ S: Since σ is expensive, σ2(X) ⊇ σ(X), and we need only show that


e ∈ σ2(X) implies e ∈ σ(X). By the incorporation property, r(σ(X) + e)
= r(σ(X)) and r(σ(X)) = r(X). Since X ⊆ σ(X), monotonicity of r yields
r(X) ≤ r(X + e) ≤ r(σ(X) + e) = r(X). Since equality holds throughout,
yields e ∈ σ(X).
S ⇒ T: If X ⊆ σ (Y), then the order-preserving and idempotence properties
of a imply σ(X) ⊆ σ2(y) = σ(Y).
T ⇒ C′: Given distinct C1, C2 ∈ C with e ∈ C1 ∩ C2 and f ∈ Cl –C2, we
want f ∈ σ(Y), where Y = (Cl ∪ C2) – e – f. We have f ∈ σ(X), where
X = C1 – f. By T, it suffices to show X ⊆ σ(Y). Since X – e ⊆ Y ⊆ σ(Y),
we need only show e ε σ(Y). Since σ is order-preserving, we have
e ∈ σ(C2 – e) ⊆ σ(Y).
C′ ⇒ C: C is a leas restrictive statement than C′. 
Note:
(i) The dual of a hereditary system M on E is the hereditary system M* whose
bases are the complements of the bases of M. The aspects B*(BM*), C*,
I*, r*, σ*, of M* are the cobases, cocircuits, etc., of M.
The supbases S of M are the sets containing a base. The hypobases H are

the maximal subsets containing nobase. We write for E – X.
(ii) The bond malroid or cocycle matroid of a graph G is the heredctary system
whose circuits are the bonds of G.
(iii) For a hereditary system M on E, the restriction of M to F ⊆ E, denoted
M | F and obtained by deleting F , is the hereditary system defined by
IM | F = (X ⊆ F: X ∈ IM ). The contraction of M to F ⊆ E, denoted M.F
and obtained by contracting F , is the hereditary system defined by
SM .F = (X ⊆ F: X ∪ F ∈ SM ). When F = E – e, we write M – e = M | F and
M . e = M. F. The minors of M are the hereditary systems arising from M
using deletions and contractions.
Theorem 10.9: Matroid Intersection Theorem (1970)
For matroids M1, M2 on E, the size of a largest common independent set satisfies
max (| I | : I ∈ I1 ∩ I2) = minX ⊆ E(r1(X) + r2(X )).
Proof:
For weak duality, consider arbitrary I ∈ I 1 ∩ I 2 and X ⊆ E. The
sets I ∩ X and I Ç X are also common independent sets, and | I | =
|I ∩ X| + |I ∩ X | ≤ r1(X) | r2(X ).
Emerging Trends in Graph Theory 273
To achieve equality, we use induction on |E|; when |E| = 0 both sides are
0. If every element of E is a loop in M1 or in M2, then max | I | = 0 = r1(X) +
r2(X ), where X consists of all loops in M1. Hence we may assume that |E| > 0
and that some e ∈ E is a non-loop in both matroids. Let F = E – e, and consider
the matroids M1 |F, M2| F, M1.F, and M2.F.
Let k = minX ⊆ E (rl(X ) +r2(X )}; we seek a common independent k-set in M1
and M2. If there is none, then M1 | F and M2| F have no common independent
k­set, and M1.F and M2.F have no common independent k – 1-set. The induction
hypothesis and rank formula yield
r1(X) + r2(F – X) ≤ k – 1 for some X ⊆ F, and
rl(Y + e) – 1 + r2(F – Y + e) – 1 ≤ k – 2 for some Y ⊆ F.
We use (F – Y) + e = Y and F – X = X + e and sum the two inequalities:
rl(X) + r2(X + e)+rl(Y + e)+r2(Y) ≤ 2k – 1.
Now we apply submodularity of rl to X and Y + e and submodularity of r2
to Y and X + e . For clarity, write U = X + e and V = Y + e. Applying this to the
preceding inequality yields
rl(X ∪ V) + rl(X ∩ V) + r2(Y ∪ U ) + r2 (Y∩ U) ≤ 2k – 1.
Since Y ∪ U = X ∪ V and Y ∪ U = X ∩ V, the left side sums two instances
of r1(Z) + r2(Z ), and the hypothesis k ≤ r1(Z) + r2(Z ) for all Z ⊆ E yields 2k ≤
2k – 1. Hence M1 and M2 do have a common independent k-set.

Fig. 10.11: Intersection of Metroid

Theorem 10.10: Metroid Union Theorem [1965]


If M1,…, Mk are matroids on E with rank functions rl ,…, rk, then the union M =
M1 U ,…, U Mk is a matroid with rank function r(X) = minY⊆ x(|X – Y | + Σri(Y)).

Proof:
After proving the formula for the rank function, we will verify the submodularity
property to prove that M is a matroid. First we reduce the computation of the rank
function to the computation of r(E). In the restriction of the hereditary system M to
274 Advanced Graph Theory

the set X, we have IM | X = {Y ⊆ X: Y ∈ IM) and rM | X(Y) = rM(Y) for Y ⊆ X. Thus M |


X = Ui(Mi | X), and applying the formula for the rank of the full union to M | X
yields rM(X).
Consider a k by | E | grid of elements E′ in which the jth column Ej consists
of k copies of the element ej ∈ E. We define two matroids N1, N2 on E′ such that
the maximum size of a set independent in both N1 and N2 equals the maximum
size of a set independent in M. We then compute rM(E) by applying the Matroid
Intersection Theorem to N1 and N2. Let M′i be a copy of Mi defined on the
elements E i of row i in E′. Lets N1 be the direct sum matroid M′1⊕ ...⊕M′k ,
and let N2 be the partition matroid uiduced on E′ by the column partition {Ej}.

Fig. 10.12: Metroid Union

Each set X ∈ IM has a decomposition as a disjoint union of subsets


Xi ∈ Ii, because Ii is a hereditary family. Given a decomposition {Xi} of
X ∈ IM , let X′i; be the copy of Xi in E i. Since {Xi} are disjoint, ∪ X′j is
independent in N2, and Xi ∈ Ii implies that ∪X′i is also independent in N1.
From X ∈ IM , we have constructed ∪X′i of size |X| in IN1 ∩ IN2. Conversely,
any X′ ∈ IN1, ∩ IN2, corresponds to a decomposition of a set in IM of size |X′|
when the sets X′ ∩ E i are transferred back to E, because N2 forbids multiple
copies of elements.
Hence r(E) = max{| I | : I ∈ IN1, ∩ IN 2,). To compute this, let the rank
functions of N1, N2 be q1, q2, and let r′i be the rank function of the copy M′i
of Mi, on Ei. We have q1(X′) = Σr′i(X′ ∩ E i), and q2(X′) is the number of
elements of E that have copies in X′. The Matroid Intersection Theorem yields
r(E) = min x′ ⊆ Ε′ {q1(X′) + q2(E′ – X′)}.
The minimum is achieved by a set X′ such that E′– X′ is closed in N2. The
closed sets in the partition matroid N2 are the sets that contain all or none of the
copies of each element–the unions of full columns of E′. Given X′ with E′ – X′
closed in N2, let Y ⊆ E be the set of elements whose copies comprise X′. Then
Emerging Trends in Graph Theory 275
q2(E′ – X′) = |E – Y |, and X′ contains all copies of the elements of Y, so q1(X′)
= Σr′i(X′ ∩ E′) = Σri(Y). We conclude that r(E) = miny ⊆ E{|E – Y | + Σri(Y)}.
To show that M is a matroid, we verify submodularity for r. Given X, Y ⊆
E, the formula for r yields U ⊆ X and V ⊆ Y such that
r(X) = |X – U| + Σri(U);
r(Y) = |Y – V| + Σri(V).
Since U ∩ V ⊆ X ∩ Y and U ∪ V ⊆ X ∪ Y, we also have
r(X ∩Y) ≤ |(X ∩Y) – (U ∩ V)| + Σri(U ∩ V);
r(X ∪ Y) ≤ |(X ∪ Y) – (U ∪ V)| + Σri(U ∪ V).
After applying the submodularity of each ri and the diagram below, these
inequalities yield r(X ∩ Y) + r(X ∪ Y) ≤ r(X) + r(Y).

|(X ∩ Y) – (U ∩ V)| + |X ∪ Y) – (U ∪ V)| = |X – U| + |Y – V| 

10.14 Encodings of Graphs


Each model of encoding has assigning vectors to vertices, and the parameter
is the minimum length of vectors that suffice. We study the maximum of this
parameter over n-vertex graphs. The parameters are intersection number, product
dimension and squashed-cube dimension.
An intersection representation of length t assigns each vertex a 0, 1 vector
of length t such that u ↔ v if and only if their vectors have a 1 in a common
position. Equivalently, it assigns each x ∈ V(G) a set Sx ⊆ [t] such that u ↔ v if
and only if Su ∩ Sv ≠ Q. The intersection number; Q′(G) is the minimum length
of an intersection representation of G.
The elements of [t] in a representation correspond to complete subgraphs
that cover E(G). This motivates use of Q′ for intersection number: Q(G) is the
minimum number of cliques needed to cover V(G).
A product representation of length t assigns the vertices distinct vectors of
length t so that u ↔ v if and only if their vectors differ in every position. The
product dimension paradigm G is the minimum length of such a representation
of G.
By devoting one coordinate to each e ∈ E(G), in which the vertices of e have
value 0 and other vertices have distinct positive value, we obtain pain G ≤ e(G).
276 Advanced Graph Theory

An equivalence on G is a spanning subgraph of G whose components are


complete graphs.
A squashed-cube embedding of length N is a map f : v(G) → SN such that
dG(u, v) = ds(f(u), f(v)). The squashed-cube dimension q dim G is the minimum
length of such an embedding of G.

10.15 Ramanujan Graphs


Ramanujan Graph constitute a different family of regular graph. In contemporary
mathematics, a great deal of interest has been shown in Ramanujan graph
by research community in graph theory, number theory, cryptography and
communication theory. A Ramanujan Graph is a k-regular connected graph
G, k > 2 such that if λ be any eigenvalue of G with |λ| ≠ k, then λ < 2 k − 1 .
The following graph may be considered as Ramanujan graph:
(i) The complete graph Kn, n > 3.
(ii) Cycle Cn.
n 0 − n
(iii) Kn,n, Here k = n and Sp (Kn, n) = 
1 2n − 2 1 
(iv) The Petersen graph.
The Möebius ladder Mh is the cubic graph obtained by joining the opposite
vertices of the cycle C2h. we have
pj
λj = 2cos + (−1) j , 0 < j < 2h – 1
h
p (4 p − 2) p
Take h = 2p and j = 4p – 2. Then λ4p–2 = 2cos = + 1 2cos + 1 >
2p p
2 k − 1 (when p becomes large) = 2 2 (as k = 3). Hence, not every regular
graph is a Ramanujan graph.
Let G be a k-regular Ramanujan graph of order n, and A is adjacency matrix.
As A is symmetric, n has an orthonormal basis {u1 ,…, un} of eigenvectors of
T
 1 1 
A. Since A1 = k1, we can take u1 =  ,…,  . Let Sp(G) = {λ1 > λ2 > ,…,
 n n n
> λn}, where λ1 = k and Aui = λiui, 1 < i < n. We can write A = ∑ λ i ui ui . (This
T

i =1
is seen from the fact that the matrices on the two sides when postmultiplied by
p
uj, 1 < j < n both yield λjuj.) More generally, as λi , 1 < i < n are the eigenvalues
of Ap, we have
n
Ap = ∑ λipui uiT ... (i)
i =1
Emerging Trends in Graph Theory 277
Let u i = (u i) 1, (u i) 2 ,…, (u i) r, …, (u i) n). Then the (r, s)th entry of
n n
Ap = ∑ λ i (ui ) r (ui ) s = ∑ λip (ui )r (ui )s
p T
: = Xrs. As A is a binary matrix, Xr.s is
i =1 i =1
a nonnegative integer. Moreover, as G is k-regular and connected, λ1 = k. Set
λ(G) : = max | λ i | . Then,
|λ i |≠ k n
Xrs = ∑ λip (ui )r (ui )s
i =1
n
= ∑ λip (ui )r (ui )s
i =1

n
> kp(u1)r(u1)s –
∑ λip (ui )r (ui )s
i=2

n
1 1
= k p
n n
− | S 0 | where S 0 = ∑ λ ip (ui )r (ui )s ... (ii)
i=2

Assume that G is not bipartite, so that λn = – k. Hence, the eigenvalues


λ2,…, λn all satisfy |λi| < λ(G), and therefore
n
|S0| < λ(G) p
∑ | (ui )r || (ui )s |
i=2

1/2 1/2
 n 2   n 2 
< λ(G)  ∑ | (ui ) r |   ∑ | (ui ) s | 
p

=  i 2=  i 2 
(by Cauchy-Schwarz inequality)
1/2 1/2
< λ(G) p 1 − (u1 ) 2r 
1 − (u1 ) 2s 
  (as the ui’s are unit vectors)

1/2 1/2
< λ(G) p 1 − 1 
 1
 n  1 − n 

 1
< λ(G) p 1 − 

 n

kp  1
Hence, the (r, s)th entry of Ap is positive if > λ (G ) p 1 −  , that is,
n  n
kp
if > n – 1.
λ (G ) p
278 Advanced Graph Theory

on taking logarithms,

p> log(n − 1) (iii)


log(k / λ (G )
then every of Ap is positive. Now the diameter of G is the least positive
integer p for which Ap is positive. Hence, the diameter D of G satisfies the
inequality.

log(n − 1)
D< +1 (iv)
log(k / λ (G )
Note:

The author has only touched upon the periphary of Ramanujan graph. A
deeper study of Ramanujan graph requires expertise in number theory. Interested
readers can refers to the two survey articles by Ram Murty and the relevent
references contained therein. Some parts can also be seen in author’s book
entitled ‘Elements of Number Theory and Cryptography’.

EXERCISES

1. Prove that every tree of minimum order in which G has a subtree representation
is a clique tree of G.
2. Compute χ(G) and ω(G) for complement of odd cycle ⊂ 2k + 1.
3. Prove that every graph is the intersection graph of a family of subtree of some
graph.
4. Determine the trees that split graphs, and construct a pain of nonisomorphic
split graph with the same degree sequence.
5. Prove that every perfectly orderable graph is strongly perfect.
6. If M is a matroid, then prove that the subbases we the spanning sets and the
hypobases are the hypoplanes.
7. Characterize the graphs whose matchings from the family of independent
sets of a matroid on the set of edges.
8. Prove that for n ≥ 4, the minimum number of edges in a gossip scheme on
n-vertices is 2n – 4.
Emerging Trends in Graph Theory 279

 2k − 1
9. If m =   , than prove that Km, m is not k-chorable.
k

10. Prove that c¢i (G) = c¢(G) for all G.

Suggested Readings
1. Apostol, T.M., Introduction to Analytic Number Theory, Springer – Verlag,
Berlin, 1989.
2. Balakrishanan R., Ranganatham K., A Textbook of Graph Theory,
Springer NY. 2012.
3. Berge C., Graphs and Hypergraphs, Elsevier (6th ed.) 2001.
4. Harary F., Graph Theory, Narosa, 2006.
5. Ram Murty, M. Ramanujan Graphs, J. Ramanujan Maths Society 18(1),
1–20(2003).
6. West D.B., Introduction to Graph Theory, PHI, 2001.
qqq
References

1. Agnorsson G, Greenlaw. R, Graph Theory: Modeling, Applications,


and Algorithms, Pearson Education, (2001).
2. Apostol, T.M., Introduction to Analytic Number Theory, Springer–
Verlag, Berlin, (1989).
3. Arumugam S, Ramachandran S, Invitation to Graph Theory, Scitech
Publications, (2001.
4. Balakrishnan R., Ranganathan K., A Textbook of Graph Theory, Springer
NY (2012).
5. Balakrishnan V.K., Theory and Problems of Graph Theory, TMH
(Schaum’s series) (2006).
6. Bollobas B, Modern Graph Theory, Springer (2008).
7. Bondy J.A. and Murty U.S.R., Graph Theory, Springer, (2008).
8. Bore N.K.& Hiang P., Neural Networks Fundamentals with Graphs,
Algorithms and Applications, TMH, (2006).
9. Deo Narsingh, Graph Theory with Applications to Engineering and
Computer Science, PHI, (2000).
10. Diestal R, Graph Theory, (2nd Ed.), Springer (2001).
11. Douglas B. West, Introduction to Graph Theory, (2nd Ed.), PHI, (2001).
12. Edward & Bonder, Basic Concepts in Graph Theory, EWS Publication
USA, (2007).
13. Gibbons A., Algorithmic Graph Theory, Cambridge University Press,
(1985).
14. Godsil C.D., & Royle G., Algebraic Graph Theory, Springer, (2001).
15. Gross J.L., Tycker, T.W., Topological Graph Theory, Springer, (2001).
16. Gross J.L., Yellow J., Handbook of Graph Theory, CRC Press, (2004).
17. Harary F, Graph Theory, Narosa, (2006).
18. Harary F., Palmer E.M., Graphical Enumeration, Academic Press, NY
(2003).

© The Author(s) 2023 281


S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8
282 Advanced Graph Theory

19. Ore, O. The Four Colour Problem, Academic Press, NY (1967).


20. Parathasarthy K.R., Basic Graph Theory, TMH, New Delhi, (1994)
21. Serre J.P.., Trees, Springer, Verlag, NY (1980).
22. Welsh. D.J.A., Matroid Theory, Academic Press, London (1976).
23. Vasudev C, Graph Theory with Applications, New Age, New Delhi,
(2006).
24. Yap, H.P., Some Topics in Graph Theory, Cambridge University Press,
(1968).
25. Zhang P., Chartrand G., Introduction to Graph Theory, TMH, New
Delhi (2009).
qqq
Index

3-Cromatic Graph 176 D


Data Structures 40
A
Decision Tree 87
A Computer Network Problem 3
Deductive Graph 153
Acyclic Graph 119
Diagraph 136
Adjacency Matrix 29
Diconnected Tournament 116
Airline Connections 40
Dijkstra’s Algorithm 78
B Di-Orientable Graph 120
Bell Numbers 230 Directed Cycles 116
Berge Theorem 143 Directed Edges 40

BFS and DFS 64 Directed Graph 111


Directed Path 113
Binary Search Tree 87
Directed Walk 34
Binary Tree 61
Dominance Diagraph 137
Bipertite Graphs 92
E
C
Edge Colouring 187
Cayley Graphs 250
Efficient Computer Drum 125
Chromatic Number 177
Electrical Network Problem 39
Chromatic Polynomial 174 Equivalence Relation 15
Circuit 18 Equivalence Relations 10
Cities Graph 5 Euler’s Formula 100
Classical Ramsey Number Theorem 217 Eulerian Circuit 21
Complement Of A Graph 27 Eulerian Graph 21
Complete Matching 155 Eulerian Trail 21
Connected Components 20 Exams Scheduling Problem 179
Covering 147
F
Covering To Switching Functions 166
Five Colour Theorem 193
Cycle Index 232
Flow of Commodities 16
Cycle Matroids 269 Floyd-Warshall Algorithm 79
Cycle Power 263 Four Colour Problem 193
© The Author(s) 2023 283
S. K. Yadav, Advanced Graph Theory,
https://doi.org/10.1007/978-3-031-22562-8
284 Advanced Graph Theory

Functional Digraph 59 L
Fusion of Graph 28 Labelled Counting Lemma 230
Labelled Graph 222
G
Level 86
Gallai & Milgram Theorem 160
List Colouring 190
Generating Function 225 Loops 7
Ghosts of Departed Graphs 11
Ghouila – Houri’s Theorem 117
M
Marriage Theorem 145
Graph Colouring 171
Matching Problem 8
Graphs Isomorphism 23
Matroid Intersection Theorem 272
Greedy Algorithm 192
Matroids 267
H Max-Flow Min-Cut Theorem 131
Hamiltonian Cycle 22 Maximal Subgraph 20
Hamiltonian Graph 22 Metroid Union Theorem 273
Minimal Imperfect Graph 261
Handshaking Lemma 15
Minimal Spanning Tree 71
Hereditary Family 267
MTNL Network Problem 38
Homeomorphic Graph 93
Huffman Code 87 N
Nduced Subgraph 20
I Network Flows 129
Improvable Flows 130 Null Graph 14
Indegree 136 Nullity 28
Induced Ramsey Theorems 208
O
Infix 87
Optimal Assignment Problem 165
Inorder 87
Outdegree 136
Isolated Vertex 13, 18
Isomorphic Graphs 23 P
Partitions 228
J Path 17
Job Sequencing Problem 124 Perfect Graph Theorem 255
Perfect Matching 149
K
Perfectly Orderable Graph 261
K-Flow 133
Permutations 231
Konig’s Infinity Lemma 207
Personnel Assignment Problem 161
König’s Theorem 144, 188
Petersen’s Theorem 152
K-Outerplanar Graphs 103
Planar Graph 89
Kruskal’s Algorithm 72 Postfix 87
Kuratowski’s Graphs 94 Postorder 87
Index 285
Postorder Traversal 87 Spanning Subgraph 20
Prefect Matching 142 Spanning Tree 63
Prefix 87 Spectrum of the Cycle Cn 246
Preorder 87 Stanley Theorem 119
Prim’s Algorithm 76 Star-Cutset Lemma 261
Problem of Routes Between Cities 5 Storage Problem 197
Subgraph 18
R
Subgraph-Key Information 18
Ramanujan Graph 276
Ramsey Number 207 T
Ramsey Theory 197 The Königsberg Bridge Problem 36
Ramsey’s Multiplicity Theorem 215 Three Utilities Problem 37
Ramsey’s Theorem 205 Tournament Graph 34
Regular Graph 8 Trail 17
Relay Centres And Their Distance 39 Traveling Salesman Problem 38
Revised Pigeonhole Principle 201 Tree 51
Robbins Theorem 120 Tutte’s Problem 134
Rooted Graph 54
U
Rooted Plane Tree 55
Unlabelled Counting 223
S
V
Sachs’ Theorem 248
Vertex Attachment 96
Schur’s Theorem 213
Vizing Theorem 189
Sets And Cliques 203
Shortest Path 137 W
Simple Digraph 14 Walk 17
Simple Graph 2, 3 Weighted Adjacency Matrix 137
Span Function 271 Weighted Digraph 137
qqq

You might also like