A Randomized Algorithm for Minimum Cuts Andreas Klappenecker

  • Slides: 16
Download presentation
A Randomized Algorithm for Minimum Cuts Andreas Klappenecker

A Randomized Algorithm for Minimum Cuts Andreas Klappenecker

Connected Multigraphs

Connected Multigraphs

Cut

Cut

Size of a Cut The size of a cut is given by the number

Size of a Cut The size of a cut is given by the number of edges crossing the cut. Our goal is to determine the minimum size of a cut in a multigraph.

Edge Contraction

Edge Contraction

Cuts in the Contracted Multigraph

Cuts in the Contracted Multigraph

Randomized Algorithm

Randomized Algorithm

Basic Idea The algorithm Contract selects uniformly at random one of the remaining edges

Basic Idea The algorithm Contract selects uniformly at random one of the remaining edges and contracts this edge until two vertices remain. The cut determined by these two vertices contains precisely the edges that have not been contracted. Counting the number of edges between the two vertices gives an upper bound on the minimum size of a cut.

Two Example Runs Contract {E, F} Contract {D, F} Contract {C, D} Contract {B,

Two Example Runs Contract {E, F} Contract {D, F} Contract {C, D} Contract {B, D}

Possible Errors The examples show some unsettling property of the algorithm Contract: It does

Possible Errors The examples show some unsettling property of the algorithm Contract: It does not always return the size of a minimum cut. How likely is it that the algorithm produces a correct result?

Time Complexity

Time Complexity

Analysis Let us start with a few simple observations: Let E 1, E 2,

Analysis Let us start with a few simple observations: Let E 1, E 2, . . . , En be events. Then the definition of a conditional probability yields Pr[E 2∩E 1] = Pr[E 2|E 1] Pr[E 1]. Therefore, Pr[E 3∩E 2∩E 1] = Pr[E 3|E 2∩E 1] Pr[E 2∩E 1] = = Pr[E 3|E 2∩E 1] Pr[E 2|E 1] Pr[E 1] More generally, Pr[En∩. . . ∩E 2∩E 1] = Pr[En|En-1∩. . . ∩E 1] Pr[En-1|En-2∩. . . ∩E 1]. . . Pr[E 2|E 1] Pr[E 1]

Prelude Suppose that a multigraph has just one minimum cut C. If any edge

Prelude Suppose that a multigraph has just one minimum cut C. If any edge crossing this cut C is selected by Contract, then the algorithm will not produce the correct size of the minimum cut. This will be the guiding principle for the analysis. Our analysis is very pessimistic. If the multigraph has more than one minimum cut (which is typically the case), then a minimum cut will be found with greater probability than our analysis will suggest.

Analysis of Contract (1)

Analysis of Contract (1)

Analysis of Contract (2)

Analysis of Contract (2)

Number of Repetitions We have shown that the algorithm will succeed with probability >=

Number of Repetitions We have shown that the algorithm will succeed with probability >= 2/n 2. fail with probability <=(1 -2/n 2). Since each run is independent, Pr[fail 1∩. . . ∩ failn] = Pr[fail 1]. . . Pr[failn] Recall from calculus that (1+x/n)n <= exp(x) Repeating the algorithm Contract n 2/2 times, the probability of failure is <= (1 -2/n 2)(n^2/2)<= e-1. Therefore, repeating the algorithm Contract 0. 5 n 2 log n times, give a probability of failure Pr[failure] <= e-log n