



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Randomized Algorithms, Las Vegas Algorithms, Monte Carlo Algorithms, Motivation, Load Balancing, Symmetry Breaking, Sampling, Searching for witnesses, Elementary Probability Theory, Global Min Cut, Deterministic Method, Karger's Algorithm, Advanced Algorithms, Shuchi Chawla, Lecture Notes, University of Wisconsin, United States of America.
Typology: Study notes
1 / 6
This page cannot be seen from the preview
Don't miss anything!




CS787: Advanced Algorithms Scribe: Yudong Tang and Baris Aydinlioglu Lecturer: Shuchi Chawla Topic: Randomized Algorithms Date: September 17, 2007
In this lecture and the next we cover randomized algorithms. Today we begin by motivating the use of randomized algorithms. Next we recall some related definitions and results from probability theory. We end today’s lecture with studying Karger’s randomized algorithm for computing a min-cut of a graph.
We define a randomized algorithm as an algorithm that can toss coins and act depending on the outcome of those tosses. There are two kinds of randomized algorithms that we will be studying:
Randomized algorithms have several advantages over deterministic ones. We discuss them here:
We now list several more examples of tasks where randomization is useful:
Load Balancing: In this problem there are m machines and incoming jobs, and the goal is to assign the jobs to the machines such that the machines are equally utilized. One simple way that
i αi^ ·^ Xi] =^ αi^ ·
i E[Xi], where^ αi’s are scalars and no indepen- dence assumptions are made on Xi’s. It follows from this rule that the above two definitions of variance are identical.
i Ei] = 1, then^ E[X] =^
i E[X|Ei]^ ·^ Pr[Ei].
i Ei]^ ≤^
i Pr[Ei].
We only give a proof of the last statement:
Proof: This is a proof of Markov’s inequality.
E[X] = E[X| 0 ≤ X ≤ α] · Pr[0 ≤ X ≤ α] + E[X|α < X] · Pr[α < X] (6.3.1) ≥ E[X|α < X] · Pr[α < X] (6.3.2) ≥ α · Pr[α < X] (6.3.3)
Let G = (V, E) be a graph. For simplicity, we assume G is undirected. Also assume the capacity of each edge is 1, i.e., Ce = 1, ∀e ∈ E. A cut is a partition (S, S¯) of V such that S 6 = ∅, V. We define the capacity of (S, S¯) to be the sum of the capacities of the edges between S and S¯. Since Ce = 1, ∀e ∈ E, it is clear that the capacity of (S, S¯) is equal to the number of edges from S to S¯, |E(S, S¯)| = |(S × S¯) ∩ E|.
Goal: Find a cut of globally minimal capacity in the above setup.
This problem can be solved by running max-flow computation (Ford-Fulkerson algorithm) n − 1 times, n = |V |. One fixes a node s to be the source, and let the sink run through all other nodes. In each case, calculate the min cut using the Ford-Fulkerson algorithm, and compare these min cuts. The minimum of the n − 1 min cuts will be the global min cut.
To see the above statement, consider the following: Let (S, S¯) be the global min cut. For the node s we fixed, either s ∈ S or s ∈ S¯. If s ∈ S, then pick a node t in S¯ as the sink. The max-flow computation with s as source and t as sink gives a flow f. f must be no greater than the capacity of (S, S¯) since f has to flow from S to S¯. So the min cut when s is source and t is sink must be no
greater than (S, S¯). Therefore, when t ∈ S¯ is chosen as sink, the min cut has the same capacity as the global min cut. In the case s ∈ S¯, notice that G is undirected, so flow can be reversed and it goes back to the first case.
Description of the algorithm:
Theorem 6.4.1 Karger’s algorithm returns a global min cut with probability p ≥ 1 (n 2 )
Proof: Let (S, S¯) be a global min cut of G, and k be the capacity of (S, S¯). Let E be the event that the Karger’s algorithm produces the cut (S, S¯).
First, we show that E occurs if and only if the algorithm never picks up any edge from S to S¯. The “only if” part is clear, so we show the “if” part: Assume the algorithm doesn’t pick up any edge of cut (S, S¯). Let e be the first edge of cut (S, S¯) which is eliminated by the algorithm, if there is any. The algorithm can only eliminate edges in two ways: Pick it up or remove it as a self loop. Since e can’t be picked up by assumption, it must be eliminated as a self-loop. e becomes a self-loop if and only if its two end points u, v are merged, which means an edge e′^ connects u, v is selected in some iteration. In that iteration, u, v may be the combination of many nodes in original graph G, ie, u = u 1 u 2 ...ui, v = v 1 v 2 ...vj , but since none of the previous picked up edges is in cut (S, S¯), the nodes merged together must belong to the same set of S or S¯. So if e connects S to S¯, the e′^ will also connects S to S¯, which contradicts to the assumption that the algorithm doesn’t pick up edges of cut (S, S¯).
Second, notice that (S, S¯) remains to be global min cut in the updated graph G as long as no edge of (S, S¯) has been picked up. This is because any cut of the updated graph is also a cut in the orig- inal graph and the edges removed are only internal edges, which don’t affect the capacity of the cut.
Now let Ei be the event that the algorithm doesn’t pick any edge of (S, S¯) in i-th iteration. Then,
Pr[E] = Pr[E 1 ] · Pr[E 2 |E 1 ] · Pr[E 3 |E 1 ∩ E 2 ]... (6.4.4)
Observe that, in the i-th iteration, assuming
1 ≤j≤i− 1 Ej^ has occurred, every node has at least^ k edges. For otherwise the node with fewer than k edges and the rest of the graph would form a partition with capacity less than k. It follows that there are at least (n − i + 1)k/2 edges in i-th