16
A Randomized Algorithm for Minimum Cuts Andreas Klappenecker

A Randomized Algorithm for Minimum Cuts

  • Upload
    abrial

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

A Randomized Algorithm for Minimum Cuts. Andreas Klappenecker. Connected Multigraphs. Cut. 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. - PowerPoint PPT Presentation

Citation preview

Page 1: A Randomized Algorithm for Minimum Cuts

A Randomized Algorithm for Minimum

CutsAndreas Klappenecker

Page 2: A Randomized Algorithm for Minimum Cuts

Connected Multigraphs

Page 3: A Randomized Algorithm for Minimum Cuts

Cut

Page 4: A Randomized Algorithm for Minimum Cuts

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.

Page 5: A Randomized Algorithm for Minimum Cuts

Edge Contraction

Page 6: A Randomized Algorithm for Minimum Cuts

Cuts in the Contracted Multigraph

Page 7: A Randomized Algorithm for Minimum Cuts

Randomized Algorithm

Page 8: A Randomized Algorithm for Minimum Cuts

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.

Page 9: A Randomized Algorithm for Minimum Cuts

Two Example Runs

Contract {E,F}

Contract {D,F}

Contract {C,D}

Contract {B,D}

Page 10: A Randomized Algorithm for Minimum Cuts

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?

Page 11: A Randomized Algorithm for Minimum Cuts

Time Complexity

Page 12: A Randomized Algorithm for Minimum Cuts

Analysis

Let us start with a few simple observations:

Let E1, E2, ..., En be events. Then the definition of a conditional probability yields Pr[E2∩E1] = Pr[E2|E1] Pr[E1].

Therefore, Pr[E3∩E2∩E1] = Pr[E3|E2∩E1] Pr[E2∩E1] = = Pr[E3|E2∩E1] Pr[E2|E1] Pr[E1]

More generally,

Pr[En∩...∩E2∩E1] = Pr[En|En-1∩...∩E1] Pr[En-1|En-2∩...∩E1] ... Pr[E2|E1] Pr[E1]

Page 13: A Randomized Algorithm for Minimum Cuts

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.

Page 14: A Randomized Algorithm for Minimum Cuts

Analysis of Contract (1)

Page 15: A Randomized Algorithm for Minimum Cuts

Analysis of Contract (2)

Page 16: A Randomized Algorithm for Minimum Cuts

Number of Repetitions

We have shown that the algorithm will

succeed with probability >= 2/n2.

fail with probability <=(1-2/n2).

Since each run is independent, Pr[fail1∩...∩ failn] = Pr[fail1] ... Pr[failn]

Recall from calculus that (1+x/n)n <= exp(x)

Repeating the algorithm Contract n2/2 times, the probability of failure is <= (1-2/n2)(n^2/2)<= e-1.

Therefore, repeating the algorithm Contract 0.5 n2log n times, give a probability of failure Pr[failure] <= e-log n