Rv2

16
Digressions in Graph Theory Sayan Mukherjee Project Report for Summer Programme at TIFR Mumbai Instructor: Dr. Amitava Bhattacharya June 8 to July 8, 2015 Abstract We investigate several classical results from graph theory, specifically results in Matching Theory, Flows, Colouring, and Combinatorial Nullstellensatz. Most of the Graph Theory was studied from R. Diestel’s book on Graph theory, [1]. The problems were taken from exercises in Bella Bollobas’ book on Modern Graph Theory, [2]. Contents 1 Matching 2 1.1 Matching in Bipartite Graphs ............................... 2 1.2 Matching in General Graphs ................................ 5 1.3 Dilworth’s Theorem .................................... 6 1.4 Nash-Williams Theorem .................................. 7 1.5 A Few Problems in Matching Theory ........................... 7 2 Flows and an Application: Baranyai’s Theorem 12 2.1 Network Flows ....................................... 12 2.2 Baranyai’s Theorem .................................... 13 0 Indian Statistical Institute, Bangalore Centre sayanmukherjee1995(at)gmail(dot)com 1

Transcript of Rv2

Page 1: Rv2

Digressions in Graph Theory

Sayan Mukherjee

Project Report for Summer Programme at TIFR Mumbai

Instructor: Dr. Amitava Bhattacharya

June 8 to July 8, 2015

Abstract

We investigate several classical results from graph theory, specifically results in Matching

Theory, Flows, Colouring, and Combinatorial Nullstellensatz. Most of the Graph Theory was

studied from R. Diestel’s book on Graph theory, [1]. The problems were taken from exercises

in Bella Bollobas’ book on Modern Graph Theory, [2].

Contents

1 Matching 2

1.1 Matching in Bipartite Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Matching in General Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Dilworth’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Nash-Williams Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.5 A Few Problems in Matching Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Flows and an Application: Baranyai’s Theorem 12

2.1 Network Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Baranyai’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

0Indian Statistical Institute, Bangalore Centresayanmukherjee1995(at)gmail(dot)com

1

Page 2: Rv2

1 Matching

1.1 Matching in Bipartite Graphs

A graph G is said to be k-partite iff the vertex set V (G) can be partitioned into k many subsets

A1, A2, · · · , Ak such that there are no edges between two vertices of Ai for any i ∈ {1, 2, · · · , n}.When k = 2 works, we call G bipartite. Throughout this section, we let G be a bipartite graph

with bipartition A tB.

G is said to have a perfect matching, or a 1-factor, when we can cover all the vertices using

non-intersecting edges of G. For a bipartite graph G with bipartition into sets A and B, we say

that A has a matching if for every element in A we can find a distinct neighbor from B. So, a

matching can be looked upon as a one-one map f : A → B with uf(u) ∈ E for each u ∈ A. For a

perfect matching we need a bijective such f .

Theorem 1.1.1 (Hall’s Theorem). A has a matching in G if and only if |N(S)| ≥ |S| for each

subset S ⊆ A, where N(S) denotes the set of neighbors of vertices from S in G.

This theorem can be proved in several ways. The necessity of the condition is obvious, as if A

has a matching in G, then we can find a one-one map from A to B, which immediately forces the

necessity. The sufficiency part, however, needs justification.

Proof 1 (Induction on |A|). When |A| = 1, the result is obvious. Let |A| ≥ 2. We will consider two

cases:

• Case 1: |N(S)| ≥ |S| + 1 for all S ( A. Then, pick any edge a0b0 of G and note that

G′ = G− {a0, b0} satisfies the Hall condition, so by induction hypothesis we take a matching

M ′ of G′ that matches A− {a0} and extend to a matching of A by adding a0b0.

• Case 2: There exists an S ( A such that |N(S)| = |S|.

S N(S)

Figure 1: |N(S)| = |S|

2

Page 3: Rv2

Then, we have an obvious matching M1 between S and N(S), in which we pick a distinct

representative for each element in N(S). It suffices to construct a matching M2 of the graph

G′ = G− (S ∪N(S)).

Note that if R ⊆ A− S,

|NG′(R)| = |NG(R ∪ S)| − |NG(S)| = |NG(R ∪ S)| − |S|

≥ |R ∪ S| − |S|

= |R|.

So, G′ satisfies Hall condition, and hence by induction we can find a matching of G′.

Proof 2 (Augmenting Paths). Let G satisfy the Hall’s condition. Take M , a maximal matching in

G. Assume that M does not cover all the vertices of A. Let r1, r2, · · · , rk be these unmatched

vertices. Generate a subtree T as follows:

a1

a2

a3

b1

b2

b3

a4

a5

a6

b4

b5

b6

a2

b1 a1

b3 a4 b6 a6 b4 a5

Figure 2: Using Alternating Paths to generate a subtree of G

• Start at r1. As |N({r1})| ≥ 1, therefore r1 has a neighbor in B. Let b1 be the first neighbor.

• If b1 has no match in G, stop. Otherwise go along M to the vertex a1 in A. Check for all

neighbors of a1 adjacent along E −M .

• Continue till all the neighbors of a1 are exhausted.

3

Page 4: Rv2

• Continue till all the neighbors of r1 are exhausted.

• Repeat the same algorithm for each of ri to get a tree Ti rooted at ri.

Let T be the forest T1∪T2∪· · ·∪Tk. The leaves of T are always elements of A, as if the algorithm

terminates at some level at a node b in B we can take a minimal path P from the corresponding

root ri to b, and then M∆P gives us a new matching which matches ri, contradicting maximality

of M .

Now, let S = {set of all vertices from A appearing in T}. Note that |N(S)| = |S| − k by con-

struction. So S does not respect Hall’s condition, a contradiction.

This theorem has several interesting consequences.

Corollary 1.1.2. Every k-regular bipartite graph has a perfect matching.

Proof. By regularity we can see that the number of edges between A and B is both k|A| and k|B|,so that |A| = |B|. Take an S ⊆ A, then the number of S-N(S) edges equals k|S|, and is at most

k|N(S)|. The Hall’s condition implies that G has a 1-factor.

Corollary 1.1.3. Every 2k-regular graph has a 2-factor.

Proof. Let W be an Eulerian walk in G. Replace each vertex v ∈ G with two vertices, v− and v+ to

get the graph G′ as follows: direct the edges along W , and join an edge of v to v+ if the direction

is inward, otherwise join to v−. Add an edge between v+ and v−. This way we get a k-regular

bipartite graph G′ which has partitions + and −. So G′ has a 1-factor. Contracting the vertices

v+ and v− back gives us a 2-factor of G.

Theorem 1.1.4 (Konig’s Theorem). The minimum cardinality of a vertex cover in G equals the

maximum cardinality of a matching M in G.

Proof. Let G be a minimal counterexample. Then G is connected, and has a vertex of degree at

least 3, say u. Let uv ∈ E. If maximum cardinality of a matching in G− v, say k, is less than that

of G, then G − v has a cover S with |S| < k. Then S ∪ {v} is a desired cover of G. So WLOG

there exists a maximum matching M of G having no edge incident at v. Let e be an edge of G−Mincident at u but not at v. Let S be a vertex cover of G − e with |S| = k. S does not contain v,

hence So S contains u and is a vertex cover of G.

1.2 Matching in General Graphs

Now we consider simple graphs in general.

4

Page 5: Rv2

Theorem 1.2.1 (Tutte). A graph G contains a 1-factor if and only if for every S ⊆ V (G) we have

q(G− S) ≤ |S|,

Where q(G− S) denotes the number of components having odd number of vertices in G− S.

Note that for any perfect matching M , each of the odd components C of G−S have at least one

vertex unmatched from edges of C. So, the necessity is immediate. The sufficiency can be shown

in a few ways.

Proof 1. (Edge-maximality). Note that if e = xy /∈ E, then the following holds:

q(G+ e− S) =

{q(G− S)− 2, if e is a bridge between two odd components,

q(G− S) otherwise

So adding edges does not violate the Tutte condition. Therefore, let G have no 1-factor. Look at

an edge-maximal such G. It suffices to check that ∃S ⊆ V (G) with q(G− S) > |S|.Let S = {v ∈ G : deg v = n − 1}. Look at G′ = G − S. We will show that G′ is a union of

cliques.

To show this, let C be a component of G′ that is not a clique. Then ∃x, y, z ∈ C such that

xy, yz ∈ E but xz /∈ E. As y /∈ S, we can select a vertex w ∈ G− S with yw /∈ E.

As G is an edge-maximal counterexample, let M1 be a matching of G + xz and M2 be a

matching of G + yw. Take M = M1∆M2, then M is a union of even cycles. Now, if w /∈ C then

(M2−C)∪(M1−(G−C)) matchesG. So w ∈ C. let C|M be the cycle y, w, a1, · · · , ap, z, b1, · · · , bq, x.

This is an even cycle, so p + q ≡ 0 mod 2. Also, the path wa1 · · · apz has the same num-

ber of edges from M1 as they have from M2, so that p is odd. Then, we can match C using

wa1, a2a3, · · · , ap−1ap, b1b2, · · · , bqx, yz.Thus G′ is a disjoint union of cliques, and q(G − S) − |S| is even. We can therefore match up

the ‘odd-one-out’ from each odd component to a vertex in S, and match up the remaining (even

number of) vertices of S. This contradicts the fact that G was a counterexample.

Proof 2 (Maximality of an ‘equality’ S). Assume that q(G− S) ≤ |S| for each S ⊆ V (G). If q(G−S) < |S| for all S ⊆ V (G), then we can pick an edge ab and find a matching of G − {a, b} using

induction, and extend to a 1-factor of G. Therefore, WLOG assume ∃S ⊆ V (G) with q(G−S) = |S|.Let S be maximal wrt inclusion.

Let C be an even component in G− S. Then we can find a v ∈ C with C − v being connected

(using a leaf of a spanning tree). Then q(G−S ∪ {v}) = 1 + q(G−S), contradicting maximality of

S. Therefore, all components of G−S are odd. Let these be C1, C2, · · · , Ck and C = {C1, · · · , Ck}Construct a bipartite graph G′ = (S, C, E|S−C). For each T ⊆ C, note that |NG′(T )| ≥ q(G −NG′(T )) ≥ |T |. So, G′ satisfies the Hall condition, giving us a matching from C to S. Call it M .

Let M connect a v ∈ C to S, then we have to show that C − v has a 1-factor.

5

Page 6: Rv2

Let there exist a T ⊆ C − v such that qC(C − v − T ) > |T |, implying qC(C − v − T ) ≥ |T |+ 2.

Then,

|S ∪ T ∪ {x} = |S|+ |T |+ 1 ≤ qC(C − v − T ) + qG(G− S) + 1− 2

= q(G− S − v − T ),

Contradicting maximality of S. Hence for every C ∈ C and a corresponding v ∈ C, C − v satisfies

the Tutte condition. By induction, we get a 1-factor MC−v for C − v, and then M +⋃C∈C

MC−v is

a perfect matching of G.

1.3 Dilworth’s Theorem

Let G be a directed graph. Denote by α(G) the maximum cardinality of an independent set in G.

Theorem 1.3.1 (Gallai). G has a path cover by at most α(G) paths.

Proof (Diestel). Let P1 and P2 be two path covers of G. We write P1 < P2 if |P1| < |P2| and

the terminal vertices of paths in P1, ie {ter(P ) : P ∈ P1} is a subset of {ter(P ) : P ∈ P2}. Then

we claim that every <-minimal path cover P has an independent set with vertices from each of

the paths in the cover. We prove this by induction on |G|. Let P = {P1, P2, · · · , Pn}, and let

Figure 3: P ′ as a path cover of G′

vi := ter(Pi) for every i. If {vi : 1 ≤ i ≤ m} is independent, we are done. WLOG there is an edge

from v2 to v1. As P2v2v1 is again a path, the minimality of P implies |P1| > 1. Let v be the vertex

preceding v1 on P1. Then P ′ := {P1v, P2, · · · , Pm} is a path cover of G′ := Gv1. We first show that

P ′ is <-minimal with this property. Suppose that P” < P ′ is another path cover of G′. If a path

P ∈ P” ends in v, we may replace P in P” by Pvv1 to obtain a smaller path cover of G than P ′, a

contradiction to the minimality of P. If a path P ∈ P” ends in v2 (but none in v), we replace P in

P” by Pv2v1, again contradicting the minimality of P. Hence {ter(P ) : P ∈ P ′′} ⊆ {v3, · · · , vm},

6

Page 7: Rv2

and in particular |P”| ≤ |P| − 2. But now P ′′ and the trivial path {v1} together form a path cover

of G that contradicts the minimality of P. Hence P ′ is minimal, as claimed. By the induction

hypothesis, {V (P ) : P ∈ P ′} has an independent set of representatives. But this is also a set of

representatives for P.

Corollary 1.3.2 (Dilworth’s Theorem). Let (P,≤) be a finite poset. The minimum number of

chains covering P is equal to the maximum size of an antichain in P .

Proof. If A is a largest antichain in P , of course |A| many chains are required to cover P . Let G be

a graph on vertex set P and having an edge from x to y if x ≤ y and x 6= y. Using Gallai’s theorem

on G gives us the desired result.

1.4 Nash-Williams Theorem

Theorem 1.4.1. A graph G contains k pairwise edge-disjoint spanning trees iff for every partition

P of V (G), the graph G/P (G contracted by P ) has at least k(|P | − 1) edges.

1.5 A Few Problems in Matching Theory

Problem 1. Let H be a bipartite multigraph without loops, with vertex classes V1 and V2. Given a

vertex x, denote by Γ(x) the set of edges incident with x and by d(x) = |Γ(x)| the degree of x. Prove

that given any natural number k, the set of edges E can be partitioned into k subsets E1, · · · , Eksuch that for every vertex x and every set Ei we have⌊

d(x)

k

⌋≤ |Γ(x) ∩ Ei| ≤

⌈d(x)

k

⌉.

Proof. Construct a simple bipartite graph G out of H by splitting every vertex v ∈ G into⌊d(v)k

⌋of degree k, and (possibly) one more vertex of degree d(v) − k

⌊d(v)k

⌋. Note that ∆(G) = k. By

Konig’s Line Colouring Theorem, χ′(G) = ∆(G). Let E(G) be coloured using colours 1, 2, · · · k.

Collapsing back the vertices of G to H, we get an equitable colouring of E, ie in each vertex, the

distribution of the colours is as equal as possible.

Problem 2 (Schroder-Bernstein Lemma). Let A,B be two sets such that f : A→ B and g : B → A

are two injections. Then we have a bijection from A to B.

Proof. Construct a bipartite graph G with vertex set A t B, and edge set {(a, f(a)) : a ∈ A} ∪{(g(b), a) : b ∈ B}. Every vertex of G then, has degree ≤ 2. Now we look at the connected

components of G.

7

Page 8: Rv2

Assertion. If G is a graph with deg v ≤ 2 for every vertex v ∈ G, then the connected compo-

nents of G are either cycles, or finite paths, or infinite paths (bilateral or unilateral)1

We can look at a connected component C of G. If C has a vertex of degree 1, then we either

get a finite path starting at v and ending at a vertex of degree 1, or a unilateral path starting at v.

Call this path P . as P saturates degrees of all vertices in P , C−P is empty. Otherwise all vertices

in C are of degree 2. Take any trivial path P = {v0}. v0 has two neighbors; call them v−1 and

v1. Now extend P to both sides using the degree condition. If at some point v−k and vk have a

common neighbor u, then we get a (finite) cycle. Otherwise we get a bilateral path in C. In either

case, all the vertex degrees are exhausted, so C is either a cycle or a bilateral path. This proves

the claim.

Now, we have a bipartite graph G. Therefore we can write G =⋃γCγ , where Cγ is a unilateral

path or an even cycle, or a bilateral path. In each case it is easy to construct a perfect matching

in Cγ , which combined, gives us a bijection from A to B.

Problem 3. Show that every 2-edge-connected cubic graph G has a 1-factor.

Proof. We will show that G satisfies the Tutte condition. Note that 2-edge-connected graphs are

characterised by not having any bridge between two connected components, otherwise we cannot

get two edge-disjoint paths between a vertex of each component.

So, take any S ⊆ V (G). Our aim is to show that q(G− S) ≤ |S|. Let C be an odd component

of G − S. Every edge in C has an odd degree, so s =∑v∈C

deg v is odd. However the (C,C) edges

contribute only even degree to s, and therefore we must have an odd number of (C, S) edges. As

G is 2-edge connected, the number of (C, S) edges is ≥ 3. So number of edges between S and odd

components of G− S is ≥ 3q(G− S).

The total number of edges from S to G is exactly 3|S|, therefore we have 3|S| ≥ 3q(G−S). So,

G has a 1-factor.

Problem 4. Given a set of rk+1 distinct natural numbers, either there exists a set of r+1 numbers,

none of which divides any of the other r numbers, or else there exists a sequence a0 < · · · < ak such

that for all 0 ≤ i ≤ j ≤ k, we have ai | aj.

Proof. Note that if S ⊂ N with |S| = rk + 1, then (S, |) is a partially ordered set. So it suffices to

show that either it contains an (r+ 1)-antichain or a (k+ 1)-chain. Assume that it had no (r+ 1)-

antichain, then it would have at most an r-antichain, say A. |S| = rk + 1 and |A| ≤ r implies that

S must have a path cover which has a path of length ≥ k + 1. This gives us a (k + 1)-chain.

1We call a path ‘bilateral’ if it is infinite on both ends (compare with a straight line), and ‘unilateral’ if it isinfinite at only one end (compare with a ray). So · · · v−1v0v1 · · · might be a bilateral path, and v0v1v2 · · · might bea unilateral path.

8

Page 9: Rv2

Problem 5. Let P = (X,<) be a partially ordered set containing no antichain on (m+1) elements.

Show that P is a union of m chains, ie

P =

m⋃i=1

Ci

Where each Ci is a chain in P .

Proof. Look at the set F = {1, 2, · · · ,m}X = {f : X → {1, 2, · · · ,m}} with the product topology.

As {1, 2, · · · ,m} with discrete topology is compact, so is the product F , by Tychonoff’s theorem.

For two non-comparable elements x and y, we set

Vxy = {f ∈ F : f(x) 6= f(y)} .

Notice thatV cxy = {f ∈ F : f(x) = f(y)}

=

m⋃k=1

{f ∈ F : f(x) = k} ∩ {f ∈ F : f(x) = k},

is open in the product topology. Therefore each of vxy is closed.

Also, take any k non-comparable elements x1, · · · , xk. Note that⋂i,j

Vxixj = {f ∈ F : f(xi) 6= f(xj) ∀i 6= j} 6= ∅,

As P has no antichain of size m + 1. Therefore, any finite intersection of the Vxy’s are nonempty.

So, ⋂x,y uncomparable

Vxy 6= ∅.

Take a g in the intersection. Then note that

P =m⋃a=1

g−1(a).

Each g−1(a) is a chain, as g(x) = g(y) = a =⇒ x, y are comparable!

Problem 6. Show that every sequence 〈xi〉n1 of real numbers with n ≥ k`+ 1 terms contains either

an increasing subsequence with (k + 1) terms, or a decreasing subsequence of (`+ 1) terms.

Proof. Consider the set P = {(i, ai) : 1 ≤ i ≤ n}. Give this set P the partial order < defined by

(i, ai) < (j, aj) iff i < j and ai ≤ aj .

9

Page 10: Rv2

Thus in this poset (P,<), chains are increasing subsequences. And, two elements (i, ai) and (j, aj)

are not comparable iff i < j and ai ≥ aj or i > j and ai ≤ aj . Therefore, antichains give us

decreasing subsequences.

Therefore, by Dilworth’s theorem, either there is a (k + 1)-chain, or an (` + 1)-antichain, as

desired.

Problem 7. Let S =([n]s

)and T =

([n]t

)be the set of s and t-subsets of {1, 2, · · · , n} respectively,

s ≤ t. Let V (G) = S t T be bipartite, and join A ∈ S with B ∈ T iff A ⊆ B. Show that G has a

matching of S or T , depending on their cardinality.

Proof. Firstly, if we have a matching of([n]s

)into

([n]t

)and a matching of

([n]t

)into

([n]u

), then we can

find a matching of([n]s

)into

([n]u

)via composition. Now suppose that we have showed the problem

for every s < t < n2 .

Now if s > t > n2 , Then we can look at a graph G′ by taking the complement of each subset

of {1, 2, · · · , n}. Then the problem reduces to showing the above for s < t < n2 . Now suppose

s > n2 > t. Then we can first find a matching M1 of

([n]s

)into

([n]n/2

), followed by a matching M2

from([n]t

)into

([n]n/2

). If M1 and M2 intersect at some n

2 -subset, we just match the two vertices in

S and T , respectively. And if they do not intersect, we are anyway well-off in finding a matching

of either S or T .

Therefore it suffices to show the problem for s < t < n2 . Note that this again, can be reduced to

just checking the case of t = s+ 1. We can then extend via induction to every possible s < t < n2 .

Consider the(ns

)×(ns+1

)incidence matrix M , indexed by subsets of S and T and entries

M(A,B) = IA⊆B . As for each A ∈ S, we have |{B ∈ T : B ⊃ A}| =(n−st−s)

= (n− s), therefore M

is a matrix where each column has (n− s) many 1’s and all others as zero.

Assertion. After a suitable rearrangement in the order of the subsets, the matrix M will

contain an(ns

)×(ns

)submatrix N , where

N =

1 0 0 · · · 1 1

1 1 0...

......

.... . . 0 1

1 1. . . 0 0

0 1...

......

... 1 0

0 0 0 · · · 1 1

(ns)×(n

s)

Proof of Assertion. Construct a graph H([n], s) with vertex set V (H) =([n]s

), and join two

subsets X,Y ∈([n]s

)iff |X ∩ Y | = s − 1. Our problem now reduces to rearranging the subsets in

S according to a spanning path in H. That is, if we have a spanning path X1X2 · · ·X(ns)

in H,

10

Page 11: Rv2

then we can arrange the subsets in S according to this order, and arrange the subsets in T in such

a way that the(ns

)×(ns

)principal submatrix of M looks like N , ie

M =

[N ∗0 ∗

]

Now, we prove the existence of such a spanning path using induction on ns. For n = s+1, note that

H([s+ 1], s) is simply Ks. And for s = 1, H([n], 1) is again Kn. Assume that we have a spanning

path in H([n], s) for all ns < k. Let ns = k. The s-subsets of {1, 2, · · · , s} all either contain n or

don’t. Take spanning paths P1 in H([n − 1], s) and a spanning path P2 in H({2, · · · , n}, s − 1),

such that P1 ends at {1, 2, · · · , s} and P2 starts at {2, 3, · · · , s}, using symmetry. Get a path P ′2 in

H([n], s) by adding 1 to each subset of P2. Then P1P′2 is a spanning path in H([n], s).

Now, it suffices to check that the matrix N that we got above has full rank. We will show that

Ker(NT ) = {0}. Let NT v = 0 for some v ∈ R(ns).

Then we have the following(ns

)equations:

v1 + v2 + · · ·+ vn−s = 0

v2 + v3 + · · ·+ vn−s+1 = 0

...

v(ns)

+ v1 + · · ·+ vn−s−1 = 0

=⇒

v1 = vn−s+1

v2 = vn−s+2

...

v(ns)

= vn−s

.

It easily follows that v = (k, k, · · · , k)T for some k ∈ R. However, then NT v = 0 =⇒ v = 0. So,

NT has full rank, and we are done.

Problem 8 (Havel-Hakimi Degree Conditions). Call a sequence of integers d1, d2, · · · , dn graphic

if there exists a graph G with vertices {xi}n1 such that deg xi = di. Show that a sequence d1 ≥ d2 ≥· · · ≥ dn is graphic if and only if the sequence d2− 1, d3− 1, · · · , dd1+1− 1, dd1+2, · · · , dn is graphic.

Proof. The backward implication is obvious: given any graphG with degree sequence d2−1, · · · , dd1+1−1, dd1+2, · · · , dn, we can add a vertex v and join it to the vertices with degrees di − 1 for i ∈{1, 2, · · · , d1 + 1}. This way we get a graph G ∪ {v} on n vertices with the degree sequence

d1, · · · , dn.

Conversely, let G be a graph with vertices xi having degrees di. We will construct a graph G′ in

which x1 is adjacent with x2, · · · , xd1+1, and deg xi = di. If G already satisfies this, we are done.

Otherwise we have vertices x and z such that xx1 ∈ E, zx1 /∈ E, and deg z > deg x. Then, take

a vertex y for which zy ∈ E and yx /∈ E. Delete the edges x1x, zy and add edges x1z, xy. Then

the new degree of x and y still remain the same, whereas now x1z ∈ E.

Continue this way till we cannot switch any further without disrupting the degree sequence.

Then we get a graph G′ in which x1 is adjacent with each of x2, x3, · · · , xd1+1. Then the graph

11

Page 12: Rv2

x1

x

z

y

Figure 4: Switching vertices z and x

G′ − {x1} realises our required degree sequence.

2 Flows and an Application: Baranyai’s Theorem

2.1 Network Flows

Let G = (V,E) be a directed multigraph. Now we denote edges as ordered triples (e, u, v) where e

is an edge from u to v. A capacity function on G is a function c : E → R+≥0.

A network flow defined on (G, s, t, c) is a function f : E → R+≥0 along with two vertices s (called

the ‘source’) and t (called the ‘sink’) and a capacity function c such that

• f(e, x, y) = −f(e, y, x)

•∑v∈V

∑(e,x,v)∈E

f(e, x, v) = 0 (∀)x 6= s, t

• f(e, x, y) ≤ c(e, x, y) (∀)(e, x, y) ∈ E.

We denote f(x, S) :=∑v∈S

f(e, x, v), and f(S, T ) :=∑s∈S

f(s, T ).

Proposition 2.1.1. For every subset S of V (G), with s ∈ S and t ∈ V − S, we have f(s, V ) =

f(S, V − S).

Proof.

f(S, V − S) = f(S, V )− f(S, S) = f(s, V ) +∑

v∈S−{s}

f(v, V )− 0 = f(s, V ).

As f(S, S) = 0 and∑f(v, V ) = 0 for all v not equal to s.

12

Page 13: Rv2

This common value is called the value of f , and denoted as val(f). Such a partition of V into

sets S and V − S with s ∈ S and t /∈ S is called an s, t-cut. The capacity of an s, t-cut is given by

c(S, V − S) =∑

u∈S,w/∈S(e,u,w)∈E

c(e, u, w).

Of course, the value of each flow is bounded above by the quantity min(S,V−S)

c(S, V − S) over all

s, t-cuts (S, V − S). This bound is also attained for integral flows:

Theorem 2.1.2 (Ford-Fulkerson). In every network, the maximum value of a network flow equals

the minimum capacity of an s, t-cut.

Corollary 2.1.3. Every network with integral valued capacity function has a maximum-valued

integral flow.

We will use this theorem to prove Baranyai’s theorem, which does not have any other elementary

proofs without using flows.

2.2 Baranyai’s Theorem

Theorem 2.2.1. Call a set of nk many k-subsets partitioning an n-set S to be a parallel class. Let

k | n. Then the set of all(nk

)many k-subsets of S can be partitioned into disjoint parallel classes

Ai, where i ∈{

1, 2, · · · ,(n−1k−1)}.2

Proof (Brouwer, Schrijver)[3]. Call a multiset A of m pairwise disjoint subsets of X to be an m-

partition of a set X, where some of the partitioning sets may be empty, and which have union X.3

We will proceed by induction. However, we will prove the following ‘stronger’ statement:

Assertion.

Let n and k be such that k divides n, and let m := nk , and M :=

(n−1k−1). Then for any integer `,

0 ≤ ` ≤ n, there exists a set A1,A2, · · · ,AM of m-partitions of {1, 2, · · · , `} such that every subset

S ⊆ {1, 2, · · · , `} occurs in exactly (n− `k − |S|

)many of the m-partitions Ai. 4

Proof of Assertion (induction on `).

2The number of such classes is obviously kn

(nk

)=

(n−1k−1

)3Here we need to allow the empty set in order to ensure that the total number of subsets is m.4The binomial coefficient above is interpreted as zero if |S| > k, and for S = ∅, the m-partitions containing ∅ are

to be counted with multiplicity equal to the number of times ∅ appears.

13

Page 14: Rv2

For ` = 0, each Ai will have m copies of the empty set. And, note that Baranyai’s theorem is a

special case of the assertion for ` = n, as the binomial coefficient becomes I|S|=k.

Assume for some value of ` < n that m-partitions A1, · · · ,AM exist as desired. We construct a

network as follows.

Add a source vertex s, vertices Ai for each i ∈ {1, 2, · · · ,M}, and vertices labelled after S for

every subset S ⊆ {1, 2, · · · , `}, and a sink vertex t. Add directed edges from s to Ai each with

capacity 1. Add edges from Ai to the vertices corresponding to members of Ai (use j edges to ∅,if ∅ occurs j times in Ai) with infinite capacity. From each S, add an edge to t of capacity(

n− `− 1

k − |S| − 1

).

Figure 5: The Network constructed for proving Baranyai’s theorem

Let f be the following flow in this network: assign a flow value of f(s,Ai) = 1, f(Ai, S) =(k − |S|)(n− `)

, and a flow value of

(n− `− 1

k − |S| − 1

)to the edge from S to t.

Note that f is a flow, as the total flow value leaving Ai is

∑S∈Ai

k − |S|n− `

=mk − `n− `

= 1,

and the sum of flow values into S is∑i:Ai⊇S

k − |S|n− `

=k − |S|n− `

(n− `k − |S|

)=

(n− `− 1

k − |S| − 1

).

Note that all edges leaving s are saturated. So f is a maximal flow and val(f) = M . The edges

into t are also saturated in f , and hence in any maximum flow.

Let g be a maximal integral flow, which exists by the Ford-Fulkerson theorem. All edges leaving

s will be saturated, so g assigns flow 1 to one of the edges leaving Ai and 0 to all others. Let g

assign 1 to the edge from Ai to its member Si. For each S, the number of values of i such that

14

Page 15: Rv2

Si = S is

(n− `− 1

k − |S| − 1

).

Finally, we obtain a set of m-partitions A′1, · · · ,A′M of the set {1, 2, · · · , `+ 1} as follows:

A′i = Ai − Si⋃{Si ∪ `+ 1},

for each i ∈ {1, 2, · · · ,M}. Then each subset T of {1, 2, · · · , `+ 1} occurs exactly(n− `− 1

k − |T |

)times among A′1, · · · ,A′M . This completes the induction step.

Baranyai’s theorem is a very useful theorem, and its uses discussed in [6]. It also can be used

to find clique numbers of Kneser Graphs. 5 [7]

However, the simplest proof of this is uses Flows, as given by Brouwer and Schrijver in 1979.

5ω(K(n, k)) =⌊nk

⌋, as seen here.

15

Page 16: Rv2

References

[1] Diestel R.: Graph Theory (Springer)

[2] Bollobas B.: Modern Graph Theory (Springer)

[3] J. H. van Lint, R.M. Wilson: A Course in Combinatorics (Cambridge University Press)

[4] M. A. Bahmanian: Connected Baranyai’s Theorem (Combinatorica 34 (2) (2014) pp 129-138)

[5] T. Kaiser: A Short Proof of the Tree Packing Problem (arXiv:0911.2809, 2009)

[6] Tamm, U.: Applications of Baranyai’s Theorem in Information Theory (1996)

[7] Godsil, C. and Royle, G.: Kneser Graphs (Ch. 7 in Algebraic Graph Theory) (Springer)

16