Santosh Kumar Yadav - Advanced Graph Theory-Springer (2023)
Santosh Kumar Yadav - Advanced Graph Theory-Springer (2023)
Advanced
Graph Theory
Advanced Graph Theory
Santosh Kumar Yadav
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
v
Acknowledgments
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.
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
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
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.
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′.
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.
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).
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)
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
Thus
∑ 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).
∑ 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|:
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)
Ga Gb
We get form Fa and Form Fb have a certain similarity as shown in Fig 1.8.
12 Advanced Graph Theory
Fa Fb
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
∑ P ( a1 , ..., aN ) = ∑
a1 , ..., aN
P* ( a1 ) ×,…, × P* ( aN )
a1 , ..., aN
= ∑ P ( a1 ) × ,…, × ∑ P ( aN )
* *
a1 aN
= 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.
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)
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)
∑
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
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.
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
(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.
Example 1.9: Show that the two Graphs shown in Fig. 1.18 are Isomorphic
(G1) (G2)
Fig. 1.18
Solution:
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.
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.
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
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.
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) G2(G1)
(G) (G1)
and
The self-complementary graph with five vertices is (as shown in Fig. 1.25(c))
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
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.
Proof:
Let ni the number of vertices is component i, i ≤ i ≤ k
k
Then ∑n
i =1
i =n
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:
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
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)
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
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.
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.
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
Fig. 1.35
(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:
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
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 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
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 ) .
v2 v4
v3
v7
v5
v6 v8
v9 v10 v11
a b
2 3
c d e f
4 6 7
5
g
h i j
8
9 10 11
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
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
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
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
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
(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 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
(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
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
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.
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
= 2 + ∑ deg (vi ) − 2
deg (vi )≥3
(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
u3
5
6
u3
u4
11 5
6
v3
v6
v4
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
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
e f
d c
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).
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
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
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
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
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
a c
e d
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
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.
K3, 3 K4, 2
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.
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
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)
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
Proof:
Lemma 3.4
Proof:
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.10
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
G G*
(a) (b)
* *
f1 e2
e8
*
*
e1
* *
e4 e7 f 5* e*
9
e*6 *
f2
*
* * e3
f4 e5 *
f3
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).
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.
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
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
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.
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
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”.
(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.
Fig. 4.3
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
Theorem 4.2
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:
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
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.
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
− 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.
u
e
1
p o
Q
w
Fig. 4.8
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
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
V6 V2
V5
V3
V4
Contacts
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
1
1
1 1
1 1
1 1
1
1
1
1
1
1
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)
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.
2
5 5
s 4 2 r
4
6 5
4
Fig. 4.14
= ∑ f (e) .
e ∈[ A, A]
Particularly,
f +(u) = ∑ f (uv)
v∈ N
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
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
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:
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
since the values of the edges inside A cancel out each other.
Note:
1 1
2
1 3 2
Fig. 4.18
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:
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)
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
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).
V7
V6 V1
V8
V5 V2
(a) (b)
V4 V3
Fig. 5.1: (a) A Maximum Matching; (b) a Prefect Matching
(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 ′.
M1
P
M
A B
A B
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
A
B
a3 b4
a4 b5
(a) (b)
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
V1 V2 Vn S
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(d)
152 Advanced Graph Theory
Fig. 5.10
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.
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:
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:
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.
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
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
A0 0 0 0 0 1
B 0 1 0 0 0 0
C 0 0 0 0 1 0
D0 0 0 1 0 0
E 1 0 0 0 0 0
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
x1 x2 x3 x4 x5 x6 y5 y6
x3 x4 x2
y1 y3 y4
y1 y2 y3 y4 y5 y6
x1 = u
(a) (b)
u u
(a) (b)
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
x'y'
yz x'y'
y'z
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
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
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
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
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
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
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
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,…}.
v
v
v
v
v
Solution:
We have
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
7
2
5 4
(Black) 7 2 (Blue)
3
(Red) (Green)
6
4
(Black)
5 (Green)
d e f g
(Red) (Red) (Red) (Red)
(Red) c
e
(Blue)
d
(Green)
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
( 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−δ
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-edgecolourable. 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
yk
yi + 1 P
Yi
x
yo yi - 1 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
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 occurring 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
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.
s1 v
s2
s5 P
v
D
s4 s3
v
v
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
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
SUMMARY
EXERCISES
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
(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.
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
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:
Proof:
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
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
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
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
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
George Pölya
(1887-1985)
8.1 Introduction
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
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
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
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:
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
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
i.e, C(x) =
1
2x
(
1 − 1 − 4x ) ... (iii)
228 Advanced Graph Theory
\
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
1 2 n
\ Cn = ∀n ≥0
n + 1 n
(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
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
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
∑ I ( x) =
1
∑ ∑ I ( x)
x∈ D G g ∈G x ∈ F ( g )
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
m= ∑ Gx
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
and therefore
1
m = G ∑ orbG ( x ) = |G| (1 + 1 + ,…, + 1) = |G| r
x∈ X
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
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
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
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
aij = { 1
0
if vi is adjacent to vj in G
otherwise
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:
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,
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
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
2p (n − 1)p
2 2cos ... 2cos −2
(ii) If n is even, Sp(Cn) = n n
1
1 2 ... 2
Proof:
χ ( 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.
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
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:
{
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
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
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.
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
Fig. 10.4
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
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.
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
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
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
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.
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).
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
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
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,
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
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
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