14

graph theory chapter 0

Embed Size (px)

DESCRIPTION

Introduction

Citation preview

  • 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 .