graph theory chapter 0
-
Upload
roozbeh-bassirian -
Category
Documents
-
view
42 -
download
0
description
Transcript of graph theory chapter 0
-
1 Introduction Section 0: Introduction 2
0. INTRODUCTION
Many applications ask for the best structure of a certain type in a
given binary relation, or among a family of binary relations the best one
under some criterion. This book is devoted to such problems. We use
graphs to model binary relations, and we study problems in graph the-
ory with an extremal flavor.
Problems where we seek for each given input an extremal substruc-
ture of a special type are called optimization problems, and the out-
put is a parameter or invariant of the input structure. We use extremal
problem to mean determining the extreme value of a parameter over a
class of inputs. Our discussion will include related existence or enumer-
ation problems where appropriate. Topics whose primary flavor involves
existence or enumeration appear in other volumes in this series.
This introduction collects fundamental definitions and examples and
proves elementary structural results. It is background material for the
remainder of the book, to be consulted as a quick reference.
Our notation for sets includes N for the set of positive integers, N0for the set of nonnegative integers, [n] for the set of the first n positiveintegers (for n N0), 2n for the family of subsets of [n], and (Sk) for thefamily of k-element subsets of a set S.
VERTICES, EDGES, AND ADJACENCY
The fundamentalmodelwe study may depend on the context in which
applications arise. Thus there are alternative definitions of the word
graph; authors use this word to describe whichever model they study
most often. We use the definition favored by most graph theorists.
0.1. DEFINITION. A graph G is an ordered pair consisting of a vertex
set V(G) and an edge set E(G), where each edge (element of E(G))is a set of two vertices (elements of V(G)). The vertices of an edgeare its endpoints. We write xy for an edge with endpoints x and y.
A graph is finite if its vertex set is finite. All our graphs are finite
unless explicitly stated otherwise.
A binary relation on a set U is a subset of the cartesian product
U U. A relation is symmetric when it contains (x , y) if and only ifit contains (y , x); adjacency in graphs can model any symmetric binaryrelation. Thus we may say that a graph with vertex set U is a graph on
U or defined on U. To model general binary relations, we need ordered
pairs of vertices.
0.2. DEFINITION. A directed graph or digraph G consists of a ver-
tex set V(G) and an edge set E(G), where each edge is an orderedpair of vertices. The vertices of an edge are its endpoints, the first
being the tail and the second the head. We write xy for the edge
with tail x and head y and call it an edge from x to y.
A digraph is symmetric if xy is an edge whenever yx is an edge.
A digraph is antisymmetric if xy and yx cannot both be edges.
Since graphs can be modeled by symmetric digraphs, they can be
treated as a special class of digraphs. We view general digraphs as a com-
mon extension of graphs and antisymmetric digraphs, since those are the
most applicablemodels. For this reason, we use the same terms vertex and
edge in both contexts. Many results about graphs have natural extensions
or analogues for digraphs, sometimes with the same proofs, and it would
be artificial to change the terminology to state the extension.
In various contexts for graphs and digraphs, vertices have also been
called points, nodes, etc., and edges have been called lines, links, arcs,
segments, etc. The terms vertex and edge arise from the vertices and
edges of polyhedra in space, such as cubes or tetrahedra.
Some graphs and digraphs are related in natural ways.
0.3. DEFINITION. A graph G obtained froman antisymmetric digraph
D by treating the edges as unordered pairs is the underlying graph
of D. An orientation of a graph G is an antisymmetric digraph
whose underlying graph is G. An oriented graph is a digraph that
is an orientation of a graph.
To visualize a [di]graph, we draw it.
0.4. DEFINITION. A drawing of a graph (in the plane)assigns distinctpoints to the vertices and distinct curves to the edges, such that the
endpoints of the curve for an edge are the points for its vertices. For
a digraph, arrows on the curves direct the edges from tails to heads.
-
3 Introduction Section 0: Introduction 4
We further assume that distinct curves in a drawing have only
finitely many common points and dont intersect themselves. We may
omit the names of vertices or edges in drawings. We show two drawings
of a graph and a drawing of an orientation of it.
u
vw
x
y
u
v w
xy
u
v w
xy
0.5. DEFINITION. The adjacency relation of a [di]graphG is {(x , y): xy E(G)}. When xy E(G), in a graph we say x is adjacent to y (writ-ten x y), and in a digraphwe say x dominates y (written x y).We write xy / E(G) as x = y or x 6 y. Given an ordering v1 , . . . , vnof V(G), the adjacency matrix A(G) is the binary matrix where theentry in position (i , j) is 1 if and only if vivj E(G).
In a graph, the neighborhood of a vertex x is {v: v x}, writ-ten N(x). The closed neighborhood is N(x){x}, written N[x]. Ina digraph, a successor of x is a vertex y such that x y; a prede-cessor is a vertex y such that y x. We write N+(x) for the set ofsuccessors of x and N(x) for the set of predecessors of x.
0.6. Example. Each ordering of the vertices determines an adjacency
matrix. Belowwe draw a graph G and an orientation H of G and give the
adjacency matrices associated with the vertex ordering w, x , y , z.
G
w
x
y
z
a b c
H
w
x
y
z
a b c
w x y z
w 0 1 0 0
A(G) x 1 0 1 0y 0 1 0 1
z 0 0 1 0
w x y z
w 0 0 0 0
A(H) x 1 0 0 0y 0 1 0 1
z 0 0 0 0
0.7. DEFINITION. In a [di]graph G , vertex v and edge e are incidentif v is an endpoint of e. (We also use incident for two edges sharinga vertex.) With vertices v1 , . . . , vn and edges e1 , . . . , em, the inci-dence matrix M(G) for a graph G is the binary matrix with 1 in
position (i , j) if and only if vi ej , and {(vi , ej): vi ej} is the inci-dence relation.
For a digraph G with no edge of the form (v, v), the incidencematrix has +1 in position (i , j) if vi is the tail of ej , 1 if vi is thehead of ej , and otherwise 0.
In a drawing of G , the relation associating each curve with its end-
points is the incidence relation of G. In this sense, we can think of the
drawing as being the graph. Below we show incidence matrices for the
graph and digraph of Example 0.6.
a b c
w 1 0 0
M(G) x 1 1 0y 0 1 1
z 0 0 1
a b c
w 1 0 0M(H) x 1 1 0
y 0 1 1
z 0 0 1
To model binary relations, digraphs must allow ordered pairs of the
form(x , x)as edges. If xx E(G), then x belongs to both N+(x)and N(x).We may also want to allow multiple copies of edges, generalizing the edge
set to a multiset, for either graphs or digraphs.
0.8. DEFINITION. A multigraph [multidigraph] is a structure con-sisting of vertices and edges in which the edges form a multiset of
unordered [ordered] pairs of (not necessarily distinct) vertices; themultiplicity of an edge is its multiplicity in this multiset.
A loop is a (degenerate) edge whose two endpoints are equal.Multiple edges are sets of at least two edges having the same end-
points(in order if the edgesare orderedpairs). A loopless [di]graphis a multi[di]graph with no loops. A simple graph is a multigraphwith no loops or multiple edges.
Thus simple graph means precisely what we have called graph. We
sometimes use simple graph (or ordinary graph) to emphasize theabsence of loops and multiple edges, especially when discussing multi-
graphs. Multigraphs are equivalent to weighted graphs in which a
nonnegative integer weight is associated with each edge; the weight on
edge xy in the graph is the multiplicity of xy in the multigraph. For the
adjacency matrix of a multi[di]graph, the entry in position (i , j) is themultiplicity of the edge vivj . For a multigraph to be finite, we require
finiteness of both the vertex set and the edge multiset.
-
5 Introduction Section 0: Introduction 6
Sometimes loops and multiple edges are natural, and repeated use
of multigraph is awkard. In such topics, many authors define graph
to allow loops and multiple edges. For consistency, we do not change def-
initions. We will need multiple edges and loops only rarely; in this vol-
ume, they are most relevant in the discussion of edge-coloring (Chapter3). Many statements about graphs are valid also for multigraphs, butoften we consider only the simpler setting.
ISOMORPHISM AND VERTEX DEGREES
The adjacencymatrix of a graph implicitly indexes the vertices by the
order of the rows; the ith vertex corresponds to the ith row and column.
Usually we study properties that do not depend on the vertex names. If
there is a one-to-one correspondence between V(G) and V(H) that pre-serves the adjacency relation (and the multiplicities in the case of multi-graphs), then G and H have the same structural properties.
0.9. DEFINITION. An isomorphism fromG to H is a bijectionf : V(G)V(H) such that the multiplicity of uv in E(G) equals the multiplicityof f(u)f(v) in E(H). We say G is isomorphic to H , written G =H , if there is an isomorphism from G to H. On any set of graphs,
the isomorphism relation is {(G , H): G = H}.
To show that G is isomorphic to H , it suffices to exhibit an isomor-
phism. To show that none exists, it suffices to find a structural property
of G (independent of the names of vertices) that fails for H. No easilytested property is known that always demonstrates this.
An equivalence relation is a binary relation that is reflexive, sym-
metric, and transitive.
0.10. PROPOSITION. On any set of multigraphs, the isomorphism re-
lation is an equivalence relation.
Proof: The identity permutation of V(G) yields G = G ; hence = is reflex-ive. The inverse of an isomorphism from G to H is an isomorphism from
H to G ; hence = is symmetric. The composition of isomorphisms from Fto G and G to H is an isomorphism from F to H ; hence = is transitive.
0.11. DEFINITION. An isomorphism class is an equivalence class un-
der the isomorphism relation.
0.12. REMARK. Isomorphism classes. Comments about the structure of
a graph G apply also to every graph isomorphic to G. We therefore some-
times use the informal expression unlabeled graph to mean an isomor-
phism class of graphs. Every drawing of a graph is a representative of its
isomorphism class, usually chosen to illuminate some structural aspect.
When two graphs are isomorphic, we often use the same name for
them; this recognizes that the object of importance is the isomorphism
class. Therefore, we usually write G = H instead of G = H. Askingwhether a given graph is G is asking whether it is isomorphic to G.
0.13. DEFINITION. A path with n vertices is a [di]graph whose ver-tices can be named v1 , . . . , vn so that the edges are {vivi+1 : 1 i n 1}. In terms of the vertex names, we use v1 , . . . , vn to specifythe path. Without vertex names, Pn denotes the isomorphism class.
A cycle consists of a path plus an edge from its last vertex to its
first. That is, the vertices can be named v1 , . . . , vn so that the edges
are {vivi+1 : 1 i n 1} {vnv1}. In terms of the vertex names,we use [v1 , . . . , vn] to specify the cycle. Without vertex names, Cndenotes the isomorphism class.
The paths v1 , . . . , vn and vn , . . . , v1 are the same graph. Thesquare brackets used in specifying a cycle suggest its closing by the ad-
dition of vnv1 . Since choosing a different starting point or direction does
not change the graph, there are 2n ways to designate an n-vertex cycle
by listing its vertices in order.
Often we speak of paths and cycles in [di]graphs.
0.14. DEFINITION. A subgraph of a [di]graph G is a [di]graph H suchthat V(H) V(G) and E(H) E(G). A spanning subgraph of G isa subgraph H such that V(H) = V(G). An induced subgraph of G ,induced by vertex set S V(G), is the subgraph H with vertex set Ssuch that E(H) = {uv E(G): u , v S}; we write this as H = G[S].A proper subgraph of G is a subgraph of G not equal to G.
We use the term subgraph also with digraphs to avoid the awkward
term subdigraph. When the full structure is a digraph, the substruc-
tures will also be digraphs, not graphs. The same usage holds for multi-
graphs: when G is a multigraph, subgraphs of G are multigraphs and
may have loops or multiple edges if G does.
0.15. Example. We list several subgraphs of the graphdrawn below. The
only spanning induced subgraph of a graph is the full graph itself.
-
7 Introduction Section 0: Introduction 8
vertex edge spanning induced
set set subgraph? subgraph?
w, x , y , z xy , yz yes no
x , y , z xy , yz no no
x , y , z xy , yz , xz no yes
w
xy
z
0.16. DEFINITION. The complement of a [di]graph G is the [di]graphG on V(G) such that uv E(G) if and only if uv / E(G). A completegraph is a graph whose vertices are pairwise adjacent. A tourna-
ment is an orientation of a complete graph. We use Kn to denote a
complete graph with n vertices. Its complement Kn is the trivial
graph with n vertices. A triangle is a 3-vertex complete graph.
A set of pairwise adjacent vertices is a clique. A set of pair-
wise nonadjacent vertices is a stable set , independent set , or an-
ticlique. A nontrivial graph is a graph with at least one edge.
We say H is a subgraph of G or G contains a copy of H to mean
that H is isomorphic to a subgraph of G. For example, Kn is a subgraph of
G whenever G has a clique with n vertices. Using clique for a set of ver-
tices and complete subgraph for a graph treats cliques and independent
sets analogously; the size of a clique is thus its number of vertices.
0.17. DEFINITION. A graphG is bipartite if V(G) is the disjoint unionof two (possibly empty) stable sets. These sets form a bipartition ofG , and the sets in a bipartition are partite sets or simply parts. An
X , Y -bigraph is a bipartite graph with partite sets X and Y . The
biadjacency matrix of an X , Y -bigraph G is the submatrix of A(G)formed by the rows for X and the columns for Y .
A graph G is k-partite if V(G) is the disjoint union of k (possi-bly empty) stable sets, again called parts or partite sets. For k 2,the complete multipartite graph Kn1 ,... ,nk is the k-partite graph
with parts of sizes n1 , . . . , nk such that any two vertices from differ-
ent parts are adjacent. When k = 2, this is a complete bipartite
graph; we sometimes use the shorter term biclique.
Every graph is k-partite for some k , since individual vertices are sta-
ble sets. Partite sets may be empty, so every k-partite graph is l-partite
if k l.
0.18. Example. The Petersen graph. The Petersen graph has vertex set
([5]2), the family of 2-element subsets of {1 , 2 , 3 , 4 , 5}. The graph is de-
fined by letting two vertices be adjacent if they are disjoint as sets. Each
graph below is a drawing of the Petersen graph; that is, the graphsdrawn
are pairwise isomorphic. In labeling the vertices, we write the 2-element
sets as doubletons without set brackets or commas, for clarity. These
pairs designate vertices, not edges.
The Petersen graph is the smallest example illustrating many inter-
esting properties. It generally is small enough to permit exhaustive anal-
ysis but large enough to exhibit interesting behavior. An entire book(HoltonSheehan [1993]) is devoted to it. The more general Odd graphOk is the disjointness graph on (
[2k+1]k
), and the Kneser graph K(n , k)is the disjointness graph on ([n]
k).
12
34
5123
45
35
52
2441
13
0.19. PROPOSITION. In the Petersen graph, nonadjacent vertices
have exactly one common neighbor, the shortest cycle has five ver-
tices, and there is no spanning cycle.
Proof: Nonadjacent vertices are doubletons sharing one element; their
union S has three elements. A vertex adjacent to both must be a double-
ton disjoint from both. Since the doubletons are chosen from a 5-element
set, there is exactly one doubleton disjoint from S.
The graph is simple, so it has no 1-cycle or 2-cycle. A 3-cycle would
require three pairwise disjoint doubletons. A 4-cycle in the absence of 3-
cycles would require nonadjacent vertices with two common neighbors.
An example of a 5-cycle is [12 ,34 ,51 ,23 ,45].Suppose that the Petersen graph has a 10-cycle C, expressed as
[v0 , . . . , v9]. Each vertex of C has a neighbor in G via an edge not inC. Since the girth is 5, that neighbor must be opposite or nearly-opposite
on C. Making two consecutive vertices of C adjacent to the vertices oppo-
site themwould create a 4-cycle. By symmetry, we may therefore assume
that v0 v4. Now there is no way to give v9 another neighbor withoutcreating a cycle of length at most 4.
-
9 Introduction Section 0: Introduction 10
0.20. DEFINITION. An automorphism of G is an isomorphism from
G to G. A graph G is vertex-transitive if for each pair u , v V(G)some automorphism maps u to v. A graph G is edge-transitive if
for each pair e ,f E(G) some automorphism maps the vertex set ofe to the vertex set of f .
The Petersen graph is vertex-transitive and edge-transitive and has
120 automorphisms. The biclique Kr,s is edge-transitive, but whenm 6= nit is not vertex-transitive. We present other vertex-transitive graphs.
0.21. Example. Circulant graphs. We generalize Cn. Let V(G) be Zn , theset of integers modulo n. Given a set S Zn, put uv E(G) if and only ifvu S. Such a graph G is vertex-transitive. The example Ckn consists ofn vertices on a circle with each vertex adjacent to the k nearest vertices
in each direction. Below we show C39 .
0.22. Example. k-dimensional cubes. The k-dimensional cube or hy-
percube is the graph Qk defined on the vertex set {0 , 1}k by making twok-tuples adjacent if and only if they differ in exactly one position. Below
we show Q3, suggesting an equivalent inductive definition.
In the sense of isomorphism classes, Qk is a subgraph of Ql when
k l (even though the vertices of Qk have shorter names than those ofQl). The cube Qk is vertex-transitive and edge-transitive and has k!2kautomorphisms.
000 100
110010
001 101
111011
0.23. DEFINITION. The degree or valence of v, written dG(v) or d(v),
is the number of incidences of vertex v with edges. A loop at v con-
tributes twice to d(v). A vertex of degree k is k-valent. For digraphswe also define the indegree d(v) and the outdegree d+(v), whichare the number of edges entering and leaving v (an edge leaves itstail and enters its head). A graph is regular if its vertices have thesame degree, k-regular if that degree is k.
0.24. PROPOSITION. (Degree-SumFormula)A graphG has 12 v dG(v)
edges. A digraph G hasv dG(v) (or v d+G(v)) edges.Proof: Every edge of an undirected graph has two vertices, and every
edge of a directed graph has one head and one tail. Counting the inci-
dences by edges or by vertices yields the desired formula.
0.25. COROLLARY. Every undirected graph has an even number of
vertices of odd degree.
0.26. Example. Regular graphs. The Petersen graph is 3-regular; the
cube Qk is k-regular. A k-regular graph with n vertices has kn/2 edges.
No regular graph of odd degree has an odd number of vertices.
These definitions and statements about vertex degrees are valid also
for multigraphs.
WALKS AND TRAILS
Graph theorists disagree on terminology to describe movement along
edges. The difficulties involve repetitions of vertices or edgesand whether
to evoke terminology from topology or traveling. Due to the ease of con-
fusion, here we list only the terminology used in this book.
0.27. DEFINITION. A walk in a [di]graph G (of length k) is a listv0 , . . . , vk of vertices such that vi1vi E(G) for 1 i k (ver-tices and edges may repeat). These edges are in the walk. A walkwith no repeated edges is a trail (vertices may repeat). A u , v-trailor u , v-walk) is one with first vertex u and last vertex v; these areits endpoints. A walk is closed if its endpoints are the same. The
length of a walk, path, cycle, or trail is the number of edges.
The requirement vi1vi E(G) forces successive edges of a walk in adigraph to follow the arrows. In a multi[di]graph, technically we must
-
11 Introduction Section 0: Introduction 12
specify both the vertices and the edges in a walk, since there may be more
than one edge from vi1 to vi. In a simple graph, a walk is completelyspecified by its list of vertices, and this is the notation we usually use.
A path or cycle is a [di]graph, specified by an ordered list of vertices.The paths v1 , . . . , vn and vn , . . . , v1 are the same graphs, but theselists specify different trails, each of which traverses the path. Similarly,
a cycle of length k in a graph corresponds to 2k closed trails, and it is
specified by listing the vertices as [v1 , . . . , vn] in order along any of them(use of the closed bracket [ ] avoids the redundancy of repeating thefirst vertex, emphasizing that a cycle is a subgraph and can be specified
by any of the trails. A walk or trail traverses a (sub)graph, adding theinformation about the order of traversal.
Many arguments in graph theory use extremality, making extremal
choices to obtain extra leverage in a proof. If S is a set on which an inclu-
sion relation is defined, an element x S ismaximal in S if no other ele-ment of S contains it. For example, a maximal path in a graph G is a path
not contained in another path in G. Every path of maximum length is a
maximal path, but maximal paths need not have maximum length. The
existence of maximal paths depends on our restriction to finite graphs;
many arguments involving extremality require finiteness.
0.28. LEMMA. If every vertex of a graph has degree at least 2, then it
contains a cycle. If every vertex of a digraph has indegree at least 1
or every vertex has outdegree at least 1, then it contains a cycle.
Proof: Extend an arbitrary edge to a maximal path P. Every neighbor
of an endpoint of P must belong to P (for digraphs, this becomes everysuccessor of the terminal vertex and every predecessor of the initial
vertex). The endpoint of P has an edge not on P that completes a cyclewith the portion of P starting at its other endpoint.
u v
0.29. DEFINITION. A graph G is connected if for each pair x , y V(G) there is an x , y-path in G ; a component G is a maximal con-nected subgraph. A digraph G is strongly connected or strong
if for every ordered pair x , y V(G) there is an x , y-path in G ; astrong component is a maximal strong subdigraph.
The connection relation on V(G) is the set of pairs x , y V(G)such that G has a u , v-path; we say u is connected to v or u and
v are connected by a path. A set S V(G) is a connected set ofvertices in G if G[S] is a connected subgraph of G.
A u , v-path and a v, w-path need not together form a u , w-path, but
together they must contain a u , w-path. When we speak of a path or cycle
contained in a walk, wemean that its edges occur in order (not necessarilyconsecutively) among the edges traversed by the walk.
0.30. PROPOSITION. If P is a u , v-path in a graph or digraph G and
P is a v, w-path in G , then G contains a u , w-path.
Proof: Some vertex of P is also in P , since both contain v. Let x be thefirst vertex of P that is in P. Following P from u to x and then P fromx to w yields a u , w path, since no vertex of P before x belongs to P.
0.31. COROLLARY. Let G be a graph. The connection relation on V(G)is an equivalence relation, and its equivalence classes are the vertex
sets of the components of G.
Proof: Reflexive property: v is connected to v by a path of length 0. Sym-
metric property: if P is a u , v-path, then the vertices of P in reverse form
a v, u-path. Transitive property: this is proved in Proposition 0.30.
Vertices u and v satisfy the connection relation if and only if there is
a u , v-path, which (being connected) appears in one component.
A subwalk of a walk W must traverse only edges of W , and for this
reasonmany authors list the edges between successive verticeswhen spec-
ifying a walk. Subwalks properly contained in W are obtained by itera-
tively deleting portions of the vertex list between repeated vertices.
0.32. COROLLARY. If u , v are vertices in a graph or digraph G , then
every u , v-walk contains a u , v-path.
Proof: Given a u , v-walk W , let W be a minimal u , v-subwalk of W . Ifsome vertex repeats in W , then the portion of the list after its first ap-pearance up to and including its next appearance can be deleted to obtain
a shorter u , v-subwalk. Hence W has no repetition and is a u , v-path.
A loop is a cycle of length 1, and multiple edges form cycles of length
2. A walk is odd or even when its length is odd or even.
0.33. LEMMA. Every odd closed walk contains an odd cycle.
Proof: Given an odd closed walk W , let W be a minimal odd closed sub-walk of W when W is viewed cyclically. If some vertex repeats in W , itsplits W into closed portions of odd and even positive lengths. The odd
-
13 Introduction Section 0: Introduction 14
portion is a shorter odd closed subwalk of W . Hence no vertex repeatsand W traverses an odd cycle.
v
0.34. DEFINITION. If x is connected to y in G , then the distance from
x to y, written dG(x , y) or d(x , y), is the length of a shortest x , y-path in G. If G has no x , y-path, then d(x , y) = . Given a vertexindexing v1 , . . . , vn, the distance matrix is the matrix whose (i , j)-entry is d(vi , vj). The diameter of G is maxx ,yV(G) d(x , y).
The distance function of a graph is a metric on the vertex set: it is
nonnegative, symmetric, positive for distinct vertices, and satisfies the
triangle inequality d(x , y)+ d(y, z) d(x , z). The distance function for adigraph need not be symmetric. The notion of length extends naturally
for weighted graphs, where the length of a path (or walk) is the sum ofthe weights as edges are traversed. When edge weights are used to model
lengths in a road network, for example, it is natural to allow them to
be real numbers. For an optimization problem on weighted graphs, the
unweighted case arises when each edge weight is 1.
0.35. THEOREM. A graph is bipartite if and only if it has no odd cycle.
Proof: A walk in a bipartite graph alternates between the partite sets. A
cycle ends where it starts, so the alternation makes it even. When G has
no odd cycle, we construct a bipartition of each component H of G. Choose
a vertex v V(H), and partition the vertices of H by the parity (odd oreven)of their distance from v. If x and y are adjacent vertices in the samepart, then following xy with a shortest y , v-path and a shortest v, x-path
yields an odd walk, which by Lemma 0.33 contains an odd cycle.
u
v
v
0.36. Example. Trees. A tree is a connected graph having no cycle.
Trees thus satisfy the characterization of bipartite graphs. We explore
structural and enumerative questions involving trees in Section 6.1.
Parity conditions also arise in the problem said to be the origin of
graph theory.
0.37. Example. The Konigsberg Bridge Problem. Located on the Pregel
river and containing the island of Kneiphopf, Konigsberg had seven
bridges as shown on the left below. The citizens wondered whether a
stroll through the city could cross each bridge exactly once and return
home. This reduces to finding a closed trail traversing each edge in the
multigraph on the right.
The people convinced themselves that it was impossible. Euler [1736]discussed the problem in greater generality.
W
X
Y
Z
1 2
3 4
56
7
x
y
z
w
e1
e2
e3
e4
e5
e6
e7
0.38. DEFINITION. A circuit is a closed trail without specification of
the starting position. More precisely, it is an equivalence class of
closed trails that traverse the same edges in the same cyclic order. A
circuit containing every edge of G is an Eulerian circuit of G. A
trail containing every edge of G is an Eulerian trail. An Eulerian[di]graph is a [di]graph that has an Eulerian circuit.
Each time a circuit visits a vertex, it contributes twice to the degree
by its entrance and exit. Thus a graph whose edges lie in a single circuit
must have even degree at each vertex. Euler noted that, when combined
with having only one nontrivial component, the condition of even vertex
degrees is sufficient, but no proof was published until Hierholzer [1873].The key statement in our proof is equivalent to and perhaps more impor-
tant than the characterization of Eulerian graphs.
0.39. DEFINITION. The union of [di]graphs G and H is the [di]graphG H with vertex set V(G) V(H) and edge set E(G) E(H). Adecomposition of a [di]graph G is a list of pairwise edge-disjointsubgraphs whose union is G.
-
15 Introduction Section 0: Introduction 16
0.40. THEOREM. If every vertex of a graph G has even degree, then G
decomposes into cycles. In a digraph, the same statement holds if at
each vertex the indegree equals the outdegree.
Proof: We view trivial components as cycles of length 0, which suffices
when G has no edges. Proceeding by induction, consider a nontrivial com-
ponent of G. By Lemma 0.28, G contains a cycle C. Deleting the edges
of C from G leaves a [di]graph G with fewer edges than G. CombiningC with a decomposition of G provided by the induction hypothesis com-pletes a decomposition of G into cycles.
0.41. THEOREM. A graph has an Eulerian circuit if and only if it has at
most one nontrivial component and all vertex degrees are even. For
digraphs, the condition is that the underlying graph has at most one
nontrivial component and for each vertex, indegree equals outdegree.
Proof: The condition is necessary because we use an edge into and out of
a vertex every time we pass through it and must traverse all edges.
For sufficiency we use extremality. By Theorem 0.40, G decomposes
into cycles, which are circuits. Consider a decomposition of G into the
smallest number of circuits. If this has two distinct circuits, let e and ebe edges from distinct circuits in the decomposition. Since they lie in the
same component of G , there is a shortest path from the vertex set of e tothe circuit C containing e. The last edge on that path does not belong to
C. Hence we have two circuits sharing a vertex v. We can traverse one,
starting and ending at v, and then traverse the other, thereby forming a
single circuit that reduces the number of circuits partitioning E(G).The same proof works for digraphs, except that the statement that
the nontrivial component has a path from each vertex to every other re-
quires proof; see Exercise 32.
When the vertex degrees are not all even, we consider another de-
composition. We use a standard transformation argument that is often
useful when parity of vertex degrees is relevant. This proof requires the
generality of multigraphs and uses that Theorem 0.41 and its proof are
valid also for multigraphs.
0.42. COROLLARY. The edges of a connected multigraph with 2k > 0
vertices of odd degree can be partitioned into k trails and no fewer.
Proof: A trail contributes odd degree only to its endpoints, so a partition
of E(G) into trails has a trail ending at each vertex of odd degree. Toprove that k trails suffice, adding k edges joining pairs of vertices of odd
degree; multiple edgesmay arise. The resulting G is Eulerian. Deleting
the k added edges from an Eulerian circuit of G breaks it into k edge-disjoint trails whose union is G.
Inductive arguments often involve deleting a vertex or an edge.
0.43. DEFINITION. The induced subgraph of G obtained by deleting a
single vertex is Gv. More generally, for S V(G)wewrite V(G)Sas S and write G[S] as GS. If M E(G), then GM indicates thedeletion of edges only, so GM is a spanning subgraph of G. When eis an edge, we write G e for the graph obtained from G by deletinge. If (x , y) is a known pair of nonadjacent vertices in G , then G + xyis the graph obtained by adding the edge xy.
When G is edge-transitive, we write G for the graph obtainedby deleting any one edge fromG. When G is edge-transitive, we write
G+ for the graph obtained by adding to G any one edge of G.
A cut-vertex or cut-edge of G is a vertex or edgewhose deletion
leaves a subgraph with more components than G.
0.44. LEMMA. An edge is a cut-edge if and only if it lies in no cycle.
Proof: Given e = xy E(G), let G = G e. If e is not a cut-edge, thenx and y belong to the same component in G , so G contains a x , y-path,which completes a cycle with e in G.
Conversely, suppose that e belongs to a cycle C. We verify the defini-
tion of connectedness for G. For u , v V(G), let P be a u , v-path in G.If e / E(P), then P also exists in G. Otherwise, suppose by symmetrythat P reaches x before y when traveled from u to v. Since G contains au , x-path along P , an x , y-path along C, and a y , v-path along P (see fig-ure below), the transitivity of the connection relation implies that G ehas a u , v-path. Thus the connection relation is the same in G and G ,and e is not a cut-edge.
P
u e v
C
x y
In the remainder of this Introduction we introduce additional defini-
tions and examples but prove no further results.
-
17 Introduction Section 0: Introduction 18
GRAPH PARAMETERS
Graph parameters or invariants are numerical measures or struc-
tural properties of a graph that are independent of the indexing of the
vertices. They are invariant on the members of an isomorphism class.
0.45. DEFINITION. The order of a [di]graph G is the number of ver-tices, |V(G)|; its size is |E(G)|. An n-vertex [di]graph is one withorder n.
0.46.* REMARK. Concise notation for order and size as graph pa-
rameters would be useful, but there is no agreed notation for this.
Textbook authors have tried hard: (G) , (G) (BondyMurty [1976]);v(G) , e(G)(BondyMurty [2007]); |G| , e(G)(Bollobas [1978, 1979, 1998]);n(G) , e(G) (West [1996, 2001]); |G| , G (Diestel [1996, 2000, 2005]).Conflicts arise because we use v and e for individual vertices and edges
and often use n for the order of a given graph. Although |G| , G avoidthese problems, researchers polled on the Internet disliked them for var-
ious reasons.
Other authors use special conventions: p , q (Harary [1969], Gould[1988]); v, e (Wallis [2000]); n , m (ChartrandLesniak [19792005],Volkmann [1991, 1996], BuckleyLewinter [2002]). These are not wellsuited for discussing more than one graph at a time. The suggestion
#V(G) , #E(G) by V. Strehl avoids the difficulty, but voters did not pre-fer it to |V(G)| , |E(G)|.
We therefore adopt the practice of many research authors and most
books not listed above. We do not write order and size as functions, but
given a graph G we often set n = |V(G)| or say let G be an n-vertexgraph. We thus encourage the habit of using n for the order of a given
graph. Similarly, we often let m = |E(G)|, reserving e for a given edge.
0.47. DEFINITION. The list of vertex degrees of a graph G is the de-
gree sequence or degree list (often indexed in nondecreasing or-der). The maximum and minimum vertex degrees are denoted (G)and (G), respectively. We use +(G) , +(G) ,(G) , (G) similarlyfor maximum and minimum outdegree and indegree in digraphs.
0.48. DEFINITION. A graph G is k-connected if it has more than k
vertices and all subgraphs obtained by deleting fewer than k vertices
are connected. It is k-edge-connected if all subgraphs obtained by
deleting fewer than k edges are connected. The connectivity (G)
and edge-connectivity (G) are the maximum k such that G is k-connected or k-edge-connected, respectively.
The girth and circumference of a graph are the lengths of
its shortest and longest cycles. A graph having a spanning cycle is
Hamiltonian; a spanning cycle is a Hamiltonian cycle.
The definitions extend to digraphs by using strongly connected in-
stead of connected. Because many aspects of k-connected graphs and
Hamiltonian cycles are structural in nature, the main discussion of these
appears in Volume II. Nevertheless, we will obtain the fundamental min-
max relations about connectivity as applications in Chapter 2.
0.49. DEFINITION. The largest number of pairwise adjacent vertices
in a graph G is its clique number (G). The largest number ofpairwise nonadjacent vertices is its independence number (G). Amatching is a set of edges with no pair sharing a vertex. The maxi-
mum size of a matching (edge-independence number) is (G).
The use of (G) for independence number is common (also has beenused). From an evolutionary viewpoint, constructing a graph by iter-atively adding edges, there are no edges present in the beginning, and
all are present in the end. This motivates our usage of and , which
are the first and last letters of the Greek alphabet. We often add tothe notation for a vertex parameter to form notation for a related edge
parameter.
The computation of (G) is a packing problem; we wish to packin many vertices with no two in one edge. The corresponding covering
problem seeks a small number of independent sets to cover the vertex
set. Another covering problem seeks a small number of closed neighbor-
hoods to cover the vertex set.
0.50. DEFINITION. The chromatic number of G , written (G), isthe minimum number of stable sets with union V(G). Equivalently,this is the minimum number of colors (labels) in a labeling of V(G)such that adjacent vertices receive different colors. A graph is k-
colorable if its chromatic number is at most k , which is equivalent
to being k-partite.
The minimum number of matchings with union E(G) is theedge-chromatic number or chromatic index (G). This is thenumber of colors needed to label the edges so that incident edges get
different colors. This problem is of interest also for multigraphs.
-
19 Introduction Section 0: Introduction 20
A vertex subset S is a dominating set in a graph G if every ver-
tex outside S has a neighbor in S. The domination number of G is
the minimum size of a dominating set.
We study matchings in Chapter 2 and colorings in Chapter 3, in-
cluding generalizations of both problems. In Chapter 4 we study perfect
graphs; a graph G is perfect if (G[S]) = (G[S]) for every S V(G).In Chapter 5 we consider a variety of additional graph parameters, many
related to packing or decomposition of graphs.
We postpone to Volume II many extremal problems about structural
topics, such as connectivity, circumference, and planarity. A graph is
planar if it has a drawing in the plane such that edges intersect only
at their common endpoints. For example, we postpone discussion of the
famous Four Color Theorem, which states that every planar graph is 4-
colorable.
OPERATIONS ON GRAPHS
We often construct new graphs from one or more other graphs. We
have mentioned complementation, vertex deletion, and edge deletion;
here we introduce several other operations.
0.51. DEFINITION. For e = uv E(G), the contraction of e producesthe multigraph G e from G by replacing u , v and e with a single ver-tex w incident to the edges formerly incident to u or v (other than e).In a context restricted to simple graphs, the extra copies of edges that
arise by contraction of edges on triangles are discarded. The subdi-
vision of e is the replacement of e = uv with a path u , w, v of length
two, where w is a new vertex.
For S V(G), the operation of collapsing or combining S pro-duces a [multi]graph from G by replacing S with a single vertexhaving incident edges corresponding to the edges of G that join S
to V(G) S.
Subdivision inverts the contraction of an edge incident to a vertex
of degree 2. Collapsing a pair of adjacent vertices has the same effect as
contracting the edge joining them. Sometimes we want to combine non-
adjacent vertices, which is like contracting edges in the complement. Col-
lapsing nonadjacent vertices has also been called identifying them, where
identifying is used in the sense of making identical.
The next operation turns incidence of edges into adjacency.
0.52. DEFINITION. The line [di]graph of G , written L(G), is the[di]graph whose vertices are the edges of G , with ef E(L(G))whene = uv and f = vw in E(G).
ef
g
h e
f
g
h
G L(G)
ef g
h
i
j
H
ef g
h
i
j
L(H)
For graphs, (G) = (L(G)) and (G) = (L(G)), which motivatesour notation for (G) and (G). Associated with each vertex of L(G) isa set of size two (the endpoints of the corresponding edge in G), and ver-tices of L(G) are adjacent when the corresponding sets intersect. Thisdescription generalizes.
0.53. DEFINITION. The intersection graph of a family S1 , . . . , Sn of
sets has a vertex for each set Si , with Si and Sj adjacent when SiSj 6=. The family is an intersection representation of the graph.
There are several ways to combine two graphs.
0.54. DEFINITION. The disjoint union or sum G + H is the union of
G and H when V(G) and V(H) are disjoint. Thus mG denotes thedisjoint union of m copies of G. The join of G and H , denoted G H ,
is the union of G+ H with the biclique having parts V(G) and V(H).The intersection G H has vertex set V(G) V(H) and edge setE(G) E(H). The symmetric difference GH is the subgraph ofG H having edge set E(GH) = E(G)E(H) and no isolated ver-tices.
0.55. Example. Union, join, and symmetric difference. If G , H are con-
nected graphs, then G+H is the disconnected graph with components G
and H. This is convenient when we have not named the vertices. Using
G = P4 and H = K3 below, on the left we have chosen vertex sets that
share two elements.
-
21 Introduction Section 0: Introduction 22
G H G + H G HThe graphmK2 consists of m pairwise disjoint edges. We can express
Kr,s as Kr,s = Kr + Ks or as Kr,s = (rK1) (sK1). More generally, we al-ways have G + H = G H . We use join to express adjacency in u andv are joined by an edge to reflect the definition of the join operation.
The symmetric difference of two matchings in G is a subgraph whose
components are paths and even cycles.
There are several varieties of graph products in which the vertex set
of the product is the cartesian product of the vertex sets of the factors.
0.56. DEFINITION. We specify a product of graphs G and H on the
vertex set V(G) V(H) by putting (u , v) (u , v) under specifiedconditions on equality or adjacency for (u , u) in G and (v, v) in H.
coordinate conditions
name notation for (u , v) (u , v)cartesian product G H one equality, one adjacency
weak product G*H adjacency in both coordinates
strong product GH (equality or adjacency) in bothThe cartesian product G H consists of a copy of G for each vertex of
H and a copy of H for each vertex of G. The weak product (also called di-rect product , tensor product , Kronecker product , and categorical
product) is particularly appropriate in algebraic contexts. The strongproduct (also called normal product) is rarely used.
Various notations have been used for these products; has been usedfor each. When the factors are K2 and K2 , the three products are C4 , 2K2 ,
and K4 ; thus Nesetril popularized the notations , ,(always the strongproduct is the union of the cartesian and tensor products). We honor thisidea but use instead of to reserve for the cartesian product of sets.Each of these products is associative and commutative.
The cartesian product was introduced by Shapiro [1953] and bySabidussi [1957, 1960]. The tensor product was introduced at least ninetimes with different names, initially by Berge [1958] and Culik [1958].
0.57. Example. Cartesian products. We show C3 K2 below. For k 1, the hypercube Qk is defined recursively by Qk = Qk1 K2 if k 1.
The m by n grid is the cartesian product Pm Pn; its subgraphs are
grid graphs. The toroidal grid or discrete torus is Cm Cn. The
toroidal grid is 4-regular and vertex-transitive. The multi-dimensional
grid Pn1 Pnk is a common generalization of the grid and the k-cube.
a
b
c1 2
=
a1
b1
c1
a2
b2
c2
Although repeated cartesian or tensor products of a graph with it-
self can be written using exponentiation, the most common use the this
notation has a different meaning.
0.58. DEFINITION. The kth power Gk of G is the graph defined by
V(Gk) = V(G) and E(Gk) = {uv: dG(u , v) k}.
The graph Ckn of Example 0.21 is the kth power of the cycle Cn.
0.59. DEFINITION. For graphs G0 , G1 , . . . , Gk on disjoint vertex sets
V0 and V1 , . . . , Vk with V0 = {v1 , . . . , vk}, the compositionG0[G1 , . . . , Gk]consists of G1 + + Gk plus the edges {xy: x Vi , y Vj , vivj E(G0)}. When G1 = Gk = H , we abbreviate the notation to G0[H]and also use the term lexicographic product.
0.60. Example. Compositions. The composition can be viewed as ex-
panding vi into a copy of Gi for each i. To describe a graph consisting
of two disjoint cliques and a stable set, with all vertices in the cliques
adjacent to all in the stable set, we could write G = P3[Km , Kn , Kp]; al-ternatively, G = Km,p + Kn. The complete k-partite graph Kn1 ,... ,nk is
Kk[K n1 , Knk]. The graph C5[K d], obtained by expanding each vertexof C5 into a stable set of size d, is regular of degree 2d; it is in fact the
largest graph with maximum degree at most 2d that has no induced 2K2(see Chapter 5).
The lexicographic product was introduced by Harary [1959]. The useof product in this term arises from V(G[H]) = V(G) V(H), but theoperation is not commutative.
-
23 Introduction Section 0: Introduction 24
COMPLEXITY
We occasionally discuss algorithms for graph computations and de-
scribe their performance in terms of computational complexity. A simple
measure of the performance of a graph algorithm is its worst-case run-
ning time, as a function of the number of vertices (or edges) in the inputgraph. A problem is efficiently solved if it has a solution algorithm whose
running time is bounded by a polynomial function of the size of the input.
The size of the input is its length in bits in some encoding of the
problem. Measuring size in a graph problem by the number of vertices
or edges suffices for our purposes. A polynomial in n is also a polynomial
in n2 or n3 , so the distinction between using vertices or edges or bits in
an encoding is unimportant for efficient solvability unless the problem
involves edge weights larger than exponential in the number of vertices.
Complexity considers asymptotic growth rates. The set of functions
whose magnitude is bounded above by a constant multiple of f (for suf-ficiently large arguments) is called O(f). Several pertinent sets of func-tions arise when comparing growth rates to f as listed below.
o(f) = {g : |g(x)|/|f(x)| 0}O(f) = {g : c , a R such that |g(x)| c|f(x)| for x > a}(f) = {g : c , a R such that |g(x)| c|f(x)| for x > a}(f) = {g : |g(x)|/|f(x)| }(f) = O(f) (f).
Derbyshire [2003] attributes Big Oh notation to Landau [1909],but Landau [1909, p. 883] said he borrowed it from Bachmann [1884].
Properly speaking, o(f), O(f), (f), (f), and (f) are sets, andit is correct to write g O(f) when describing the growth rate of g .Mathematicians and computer scientists routinely write g(n) = O(f(n))to mean g O(f) (see Knuth [1976]). Some avoid this by writing g(n) isO(f(n)), treating O(f) as an adjective. We can compute with membersof O(f) somewhat as we do with congruence classes, but we have no nosymbol like for doing this. Thus in this book we sometimes use ex-pressions like f(n) = n2+O(n3/2)(meaning f(n)n2 O(n3/2)), but wherethe grammar is appropriate we use the membership symbol.
Complexity theory considers decision problems that have yes/no
answers, such as does the input graph have a spanning cycle? Opti-
mization problems (such as what is the maximum length of a cycle inthis graph?) can be solved by repeated decision problems, such as doesthis graph have a cycle of length at least k?, where k is part of the input.
The class of decision problems solvable by an algorithm whose running
time is bounded by a polynomial in the size of the input is called P.
Many decision problems have no known polynomial-time solution al-
gorithm but have a polynomial-time algorithm for verifying a YES an-
swer. For example, if G has a Hamiltonian cycle, this can be verified by
giving the order of vertices on such a cycle and checking that successive
vertices are adjacent. It is verifying a NO answer that is difficult. If
we could check all possible sequences in parallel, each computation path
would be short.
A deterministic algorithm has only one computation path on a
given input. A nondeterministic algorithm has multiple computation
paths. A nondeterministic polynomial-time algorithm has one com-
putation path for each value of a polynomial-lengthsequence of bits, with
each computation path running in polynomial time. It solves a decision
problem if for every input I , the answer to the problem on I is YES if
and only if the algorithm applied to I has at least one computation path
that returns YES. The class of decision problems having nondeterminis-
tic polynomial-time solution algorithms is NP. Because a machine hav-
ing the power to followmany computation paths in parallel can also follow
one, P NP.Most theoreticians believe that P 6= NP. A problem is NP-complete
if it belongs to NP and is NP-hard. A problem is NP-hard if it is as hard
as every problem in NP in the following sense. If a polynomial-time algo-
rithm for B can be used to obtain a polynomial-timealgorithm for A, then
B is as hard as A in the sense of polynomial-time worst-case complexity.
To show that B is as hard as A in this sense, we use B as a subroutine in
an algorithm to solve A or provide a polynomial-time transformation that
converts an arbitrary instance of A into an instance of B such that the
answer in B is YES if and only if the answer in A was YES. This allows
us to use an algorithm for B to obtain an algorithm for A.
Cook [1971] devised a generic transformation to reduce any problemin NP to that of deciding whether an input logical formula is true for
some truth assignment for its variables. This problem is called SATIS-
FIABILITY or SAT. Cooks result made SAT the first knownNP-complete
problem. To prove that a problem B is NP-hard, we can reduce SAT to B.
Every problemprovedNP-complete can then be used like SAT in this way.
In practice, a few fundamental NP-complete problems (see Karp [1972])serve as the knownNP-complete problem inmost NP-completenessproofs.
A polynomial-time algorithm for an NP-complete problem could be
used to construct a polynomial-time algorithm for each problem in NP,
yielding P=NP. The conjecture that P 6=NP is supported by the failureto find a polynomial-time algorithm for any problem in the large class of
NP-complete problems, despite years of search.
A thorough introduction to the theory of NP-completeness appears in
-
25 Introduction Section 0: Introduction 26
GareyJohnson [1979]. An NP-completeness proof now only begins thestudy of a problem. One often seeks to refine the boundary between P
and NP by finding polynomial-time solution algorithms for large classes
of inputs or by finding restricted classes of inputs on which the problem
remains NP-hard.
Mostly we use the notion of NP-completeness as motivation. NP-
completeness justifies studying heuristics that run quickly but do not ob-
tain the optimal solution. It also leads us to study bounds on optimization
problems in terms of other parameters of a graph: a constructive proof of
a bound for graphs in a particular class yields an algorithm that does at
least as well as that bound at finding the true value of the parameter.
EXERCISES
A mark of () indicates that a problem is easier or shorter thanmost, while(+) indicates that it is harder or longer than most, and () indicates that itis particularly useful or instructive.
0.1. () Prove that the graphs of Example 0.18 are pairwise isomorphic.0.2. () In each class below, determine the smallest order of a nonisomorphic pairof multigraphs having the same list of vertex degrees.
a)multigraphs. b) loopless graphs. c) simple graphs.
0.3. () Prove that if a connected graph G is not a complete graph, then everyvertex of G belongs to some induced P3.
0.4. () Let H be the square of a graph G. Prove that for every vertex v in H ,the neighborhood of v in H induces a connected subgraph in G.
0.5. () Prove that a graph G is bipartite if and only if every subgraph H of Ghas an independent set consisting of at least half of V(H).
0.6. () Prove that (G)+ (G) |V(G)| when G is a bipartite graph.0.7. () Given u V(G) and v V(H), determine the degree of the vertex (u , v)in each of G H , G H , and GH in terms of dG(u) and dH(v).0.8. For each k 4, determine the smallest n such that
a) There is a k-regular graph with n vertices.b) There exist nonisomorphic k-regular graphs with n vertices.
0.9. Prove or disprove the following statements about graphs.
a) The union of the edge sets of distinct u , v-walks must contain a cycle.b) The union of the edge sets of distinct u , v-paths must contain a cycle.c) Every circuit is a union of pairwise edge-disjoint cycles.d) If (G) 2, then every vertex of G belongs to some cycle.
0.10. ()Use maximal paths to prove the following statements.a) A graph G has a cycle of length at least (G)+ 1, if (G) 2.b)Every nontrivial graph has at least two non-cut-vertices.
0.11. (+)For a graph G, let c(G)denote the minimum k such that every edge liesin a cycle of length at most k (c(G) is infinite when G has a cut-edge). Prove thatfor n 3 the minimum of |E(G)|+ c(G), taken over all n-vertex connected graphs,is n+ 2
n 1 . (ButlerMao [2007])
0.12. Prove that two maximum-length paths in a connected graph must inter-
sect. Must they have a common edge?
0.13. Determine the maximum size of an n-vertex graph G under each of the
following conditions.
a) G has an independent set of size a.b) G has k components.
0.14. Count the components of the graph with vertex set {0 ,1}n such that ver-tices are adjacent when they differ in exactly two coordinates.
0.15. Let G be a connected n-vertex graph with no induced subgraph isomorphic
to P4 or C4 . Prove that (G)= n 1. (Wolk)0.16. (+) Suppose that G does not have two vertices of degree 1 with a commonneighbor. Prove that G has two adjacent vertices whose deletion does not increase
the number of components of G. (Hint: prove that the last two vertices of somelongest path have this property.) (Lovasz [1979, p269])
0.17. Prove or disprove:
a)Deleting a maximum degree vertex cannot increase the average degree.b)Deleting a minimum degree vertex cannot reduce the average degree.
0.18. () Let G be a graph with average vertex degree a.a) Determine a necessary and sufficient condition on d(x) so that G x has
average degree at least a.
b) Use part (a) to give an algorithmic proof that if a > 0, then G has a sub-graph with minimum degree greater than a/2.
c) Prove that part (b) is best possible: for all > 0, construct a graph havingno subgraph with minimum degree greater than half its average degree plus .
0.19. () Let G be an n-vertex graph with m edges. Prove that if n > k and m >(k1)(n k/2), then G has a subgraph with minimum degree at least k (Bollobas[1978], pxvii])
0.20. Let G be a graph with average degree a and no isolated vertices. Let t(v)denote the average of the degrees of the neighbors of v. Prove that t(v) a forsome v V(G). Construct an infinite family of connected graphs G such thatt(v) > a for all v V(G). (Ajtai-Komlos-Szemeredi [1980])0.21. () Let G be a graph with n vertices.
a) Prove that if (G) n/2 , then G is connected.
-
27 Introduction Section 0: Introduction 28
b) Prove or disprove: If (G) = n/2 1 and (G) = n/2 , then G is con-nected.
0.22. ()Let G be an X , Y -bipartite graph that is regular of degree k 2. Provethat |X | = |Y |. Prove also that G has no cut-edge.0.23. Determine the smallest bipartite graph that is not a subgraph of the k-
dimensional cube Qk for any k.
0.24. Prove that Qk has connectivity k.
0.25. For k N, let G be the subgraph of Q2k+1 induced by the vertices in whichthe number of ones and zeros differs by 1. Prove that G is vertex-transitive and
edge-transitive, and compute the order, size and girth of G.
0.26. Let S be a subset of V(Qk) such that dQk(x , y) 3 whenever x , y are dis-tinct vertices of S. Use the pigeonhole principle to prove that |S| 2k/(k + 1) .Show that the bound is best possible when k = 3. (Comment: this bound is notbest possible when k = 4.)
0.27. Prove or disprove each statement below.
a) For every nontrivial graph G, there is a partition of V(G) into twononempty sets such that for each vertex at least half of its neighbors lie in the
other of the two sets in the partition.
b) For every nontrivial graph G, there is a partition of V(G) into twononempty sets such that for each vertex at least half of its neighbors lie in its
own set.
0.28. ()For each k , prove that every loopless multigraph G has a k-partite sub-graph with at least (1 1/k) |E(G)| edges.0.29. Let G be a graph, and let f(G) be the maximum number of edges in a bi-partite subgraph of G.
a) Prove that f(G)> |E(G)|/2 for every nontrivial graph G.b) Construct a sequence of graphs, with Gn having order 2n, such that
limn fn/ |E(Gn)| = 1/2.0.30. For the Petersen graph, determine the largest number of edges in a bipar-
tite subgraph, the chromatic number, the edge-chromatic number, the connec-
tivity, the edge-connectivity, and the diameter.
0.31. (+) The Odd graph Ok (Example 0.18). Determine the maximum numberof edges in a bipartite subgraph of Ok .
0.32. () Characterization of Eulerian digraphs.a) Prove that every graph G has an orientation D that is balanced at each
vertex, meaning that RRRRd+
D(v) d
D(v)RRRR 1 for every v V(G).
b) Use part (a) to complete the proof of the characterization of Eulerian di-graphs in Theorem 0.41.)
0.33. Let P be a path in an Eulerian graph G. Prove that G has an Eulerian
circuit in which the edges of P appear consecutively (in the order on P) if andonly if G E(P) has only one nontrivial component. (T. Jiang)
0.34. () Prove that an even graph with n vertices and m edges decomposes intoat most n logm cycles. (Comment: ErdosGoodmanPosa [1966] conjectured thatO(n) cycles suffice to decompose any even graph with n vertices.)
0.35. Given a strong digraph G, let f(G) be the minimum length of a closed walkvisiting every vertex of G. Prove that the maximum of f(G) over strong n-vertexdigraphs is (n+ 1)2/4 if n 2. (Cull [1980])0.36. Prove that each graph below is isomorphic to C3 C3 .
0.37. Determine whether the graphs below are isomorphic.
0.38. () Prove that Kn is a union of k bipartite graphs if and only if n 2k .