Sampling Theorem
In 1994, Karger gave the following result:
[Sampling Karger] [Using randomized sparsification to approximate minimum cuts] Given a graph G and a collection of random variables associated with all edges e, with probability that every cut in the instance generated by putting weight on each e has value with times its expected value, where
and c' is G's minimum expected value.
As an application, if we fix and let , where c is the minimum cut of G, then G' approximate all its original graph cuts by a factor p with high probability.
The limitation is that either or p depends on c. When c is little, we could not reduce many edges.
Improvement: In 1996, Benczur and Karger improved previous sampling method such that the dependence on c is removed.
New Result:
Given a graph G and a parameter , there is a new graph G' such that
- G' has edges.
- every cut in G' has value times its original cut value.
The intuition is that in the dense parts of the graph, each edge can be sample with smaller probability in order to preserve cut value while edge should be sample with higher probability where the graph is sparse.
Before moving on we first formalize the notion of a dense region. We characterize a dense region by Strong Connectivity.
k-Connected
A graph G is k connected if its minimum cut value is no less than k.
Vertex-Induced Subgraph
is a vertex induced subgraph of if is a subset of and is all edges of whose endpoints are both in .
k-Strong Component
A k-Strong Component is a maximal k-connected vertex-induced subgraph.
Strong Connectivity
The strong connectivity of an edge e is the maximum value of k such that a k-Strong component contains e.
Generating the graph
Here is how new sampling technique operates
Given a parameter , let , we assign to each edge a random weight , which takes value with probability and with probability , where . When , we eliminate e from the new graph.
Immediately follows from the definition of we see that .
To check the sampling technique works, we need to verify two things:
- The number of edge generated is
- Each cut does not deviate much from its original value.
Number of edges
Theorem 1
If an undirected connected graph has k(n - 1) edges, then it must has a k strong component.
Proof: We prove it by induction. When k = 1, then the graph itself is a k-strong component. When n = 2, the theorem clearly holds.
Now we consider the general case. Suppose that the graph does not contain a k-strong component. Then there exist a cut in the graph such that . Now both A and B have less than n nodes. By induction, A has less then k(|A| - 1) edges inside and B has less then k(|B| - 1) edges inside. The total number of edges is less than k(|A| - 1) + k + k(|B| - 1) = k(|A|+|B| - 1) = k(n - 1). A contradiction.
Theorem 2
Proof: Suppose that , then by theorem 1, there is a 2-strong component. Let e* be the edge with minimum in that component. Then there is a cut C in the 2-strong component containing e* such that . Now
A contradiction.
Error analysis
To analyze the errors, we denote the set of edges whose strong connectivity are between for . Let .
In , each edge is sampled in the following way
Then, by sampling theorem, the sampled graph is within .
So
But there is a log m term in the final result. We can eliminate the log m term with more sophisticated techniques.
The random variable assigned to e in is revised as follows:
It can be shown that every cut in is at least heavy.
So