CS application: Large cuts
For graph , we say that a set of vertices is non-trivial if it is non-empty and not equal to . A cut is a non-trivial set , and the size of this cut is the number of edges with exactly one endpoint in . Denote by the set of edges with exactly one endpoint in (these are the edges in the cut ).
For every graph , there exists a cut of size at least half of the number of edges of .
Denote by and the number of edges and vertices of respectively. For simplicity, (so that we have vertices as numbers). To prove this theorem, we present a randomized algorithm that finds such a large cut. We start from . For each vertex , toss an unbiased coin and if the result is head, we put in set ; otherwise, is not in .
This algorithm defines a probability space which is the same as tossing our coin times, i.e., and uniform distribution. Each atomic event corresponds to a cut (i.e., is the set of indices where the -th toss is head). Let be the number of edges in (this is a random variable since it is a function of ). So we can write where indicates whether an edge is in .
We argue that . Let .
Therefore, we have . Overall, this gives us a randomized algorithm that finds a cut of expected size in graph .
In a probability space , let be a random variable. If , then for some .
Using the implication from Exercise 117, there exists a sequence of coin tossings corresponding to a cut of size at least . This type of result belongs to a broad class of techniques, called probabilistic methods, in which one defines a randomized algorithm that finds a certain object. The success of such randomized algorithm implies the existence of the object we are looking for.
In this exercise, you will see how to get a slightly larger cut when is even (i.e., for some ). We define the following probability space where and is uniform. That is, each atomic event corresponds to a cut .
Let be a random variable denoting the size of the cut. That is, for each atomic element , we have . Our goal is to show that .
- Define where is the indicator of whether . Prove that .
- Derive that there exists a cut of size larger than .
📄️ Derandomization via smaller sample space
One way to turn the above randomized algorithm into a deterministic one is to go over all $S \in \Omega$ and check whether $|\delta_G(S)| \geq m/2$. Since we know that such $S$ exists, our algorithm would always find one. But such an algorithm would take exponential time, since the sample space size is $2^n$.