Kleitman-Winston Algorithm
Published on March 19, 2024Graph containers & bounds on the number of independent sets in a locally dense graph.
Overview
We will show that for a locally dense graph we can give a strong upper bound on the number of independent sets of a certain size. This specific method for graphs is an instance of the so-called container method, that allows to give bounds on structures appearing in larger objects with specific local properties. More specifically as applied to graph theory, this turns out to be quite helpful in proving lower bounds in Ramsey theory.
The proof presented here follows the one presented in the survey paper by Samotij [1] using methods originally presented in the paper by Winston and Kleitman [2]. Some elementary knowledge of graph theory is helpful, such as the notion of independent sets and induced subgraphs, but I try to be as explicit and clear as possible. I will try to stick to common graph theoretical notation, but for the sake of both readability and completeness an overview of notation is given at the end of the post.
Basic bounds
Let’s start with some basic bounds on the number of independent sets in a graph . Recall that an independent set is a set of vertices in which no two are connected by an edge. If refers to the independence number, ie. the size of the largest independent set in , we can certainly say that
because every subset of the largest independent set is itself an independent set (recall that is the number of different subsets that can be formed from a set ).
Similarly, we can give an upper bound of
as every independent set is a subset of size at most over the vertices of .
Theorem Statement
We will now bound the number of independent sets of a certain size in a locally dense graph by showing that every independent set is part of a small container. These containers are constructed with the Kleitman-Winston algorithm. By counting these countainers, we can estimate the number of independent sets. The tightness property of the containers then allows us to give useful bounds on the number of independent sets.
Let us now turn to the actual theorem. For and with , let be a graph on vertices satisfying:
In addition, we also require that G must be a -locally dense graph. That is, for every vertex subset of size at least we have the following lower bound on the number of edges in the induced subgraph :
Note that this corresponds to the situation where the subgraph spanned by over contains at least a -fraction of the edges of the corresponding complete graph over , or in other words, that the average degree of is at least .
Given such a -locally dense graph satisfying (1) and (2), we can construct up to small containers for of size at most . Every independent set of size exactly for belongs to a container .
For the number of independent sets in of size exactly we obtain:
Algorithm
Before describing the algorithm, let us fix a few technicalities. We need the notion of max-degree ordering to ensure high-degree vertices are quickly removed from the graph and the container quickly shrinks. For a vertex set , the max-degree ordering is defined by the degree of vertices over the induced subgraph in descending order, where potential ties are broken by a fixed but arbitrary total order over . In this case has the highest degree, etc.
The Kleitman-Winston algorithm works by iteratively removing high-degree vertices as outlined above:
Input
: Independent set , integerOutput
: selected vertices , available verticesProcedure
:- Set available vertices , selected vertices
- Iterate for :
- Let be ordered by max-degree
- Let be the first index in the ordering of such that
(i.e. first remaining vertex of by max-degree ordering in induced subgraph ). - Move from to
- Remove higher-degree vertices from :
- Remove and its neighborhood from :
- Output and
The container of is given by . Notice that the tightness of the container is apparent in that fact that .
Proof
The algorithm maintains a few invariants, that help prove correctness: decreases monotonically as we remove vertices in every iteration, while increases monotonically. Also notice that the previous observation holds at every iteration of the algorithm.
It is clear that the algorithm always succeeds in constructing the set of selected vertices from vertices of . This is because the algorithm always selects the next highest degree vertex of occuring in the subgraph at every step, i.e. no vertex is ever removed from and not added to as a discarded higher-degree vertex. In addition, the vertices of form an independent set by assumption, and as such a vertex is never removed as part of the neighborhood of another selected vertex.
Size of A
To conclude tightness of the containers, we must show that the final returned from the algorithm is sufficiently small. In fact, we will show that . In the following, we will denote by the set of available vertices at the beginning of the i-th iteration of the algortithm, and by the set of available vertices after removing higher-degree vertices but before remoing .
First, note that by the Handshaking lemmawe obtain an expression for the average degree of vertices:
Suppose for sake of contradiction for the final set of available vertices. Then it must be that the selected in every iteration must have been selected from a set of size at least , even after removal of other higher-degree vertices (recall that decreases monotonically throughtout the algorithm). Or, in other words, at the start of the i-th iteration with currently available vertices and higher-degree vertices scheduled for removal, .
Using the bound (2) on the edge-count:
As we choose with maximum degree from , we know must at least have the average degree (4) of :
Recalling the definition of :
In total we remove vertices from in every round. Putting everything together:
where we used that for the last inequality
We find that the set of available vertices shrinks at least by a factor of in every iteration. Together with the fact that the initial set is we obtain a contradiction to the initial condition (1) on the number of vertices in :
Here we used the well-known inequality . After iterations, the initial set of available vertices has necessarily shrunk to a set of at most vertices.
Final bound
Let us now finally give the bound on the number of independent sets of size exactly . The bound (3) follows from the observation, that there are at most different ways to choose and therefore the first vertices of an independent set, and at most different ways to choose the remaining vertices from , which has size at most .
Another useful, but less sharp bounds, can be obtained from one of the various inequalities on the binomial coefficient:
Wikipediahas an extensive collection of such bounds.
Overview of notation
- Vertex set
- Edge count : Number of edges in on vertex set
- Neighborhood : set of vertices adjacent to
- Induced subgraph : Obtained from by keeping all vertices in and their edges among them
- Independence number : Size of largest independent set in
- Independent sets : Collection of all independent sets in
- Independent sets : Collection of all independent sets in of size exactly
Further reading
Some ressources for further details, including applications to various combinatorial problems and extensions of the container method to hypergraphs, are given below:
- Wikipedia: https://en.wikipedia.org/wiki/Container_method
- Survey paper by Samotij: https://arxiv.org/pdf/1412.0940.pdf
- Lecture notes by Liu: https://homepages.warwick.ac.uk/staff/H.Liu.9/topic-comb-lecture15.pdf