+ All Categories
Home > Documents > Randomized Algorithms Randomized Algorithms CS648 1.

Randomized Algorithms Randomized Algorithms CS648 1.

Date post: 30-Mar-2015
Category:
Upload: khalid-bowlsby
View: 283 times
Download: 4 times
Share this document with a friend
Popular Tags:
30
Randomized Algorithms CS648 Lecture 19 algorithm for Min-cut in a graph 1
Transcript
Page 1: Randomized Algorithms Randomized Algorithms CS648 1.

Randomized AlgorithmsCS648

Lecture 19• algorithm for Min-cut in a graph

1

Page 2: Randomized Algorithms Randomized Algorithms CS648 1.

Overview

1. Recap of the previous lecture time Monte Carlo algorithm for min-cut

2. Knowledge of recurrence

3. time Monte Carlo algorithm for min-cut

4. An important bi-product:

2

To design efficient algorithm

A new tool to design an efficient algorithm

Page 3: Randomized Algorithms Randomized Algorithms CS648 1.

RECAP OF THE PREVIOUS LECTURE

3

Page 4: Randomized Algorithms Randomized Algorithms CS648 1.

Graph and Multi-graph

A multi-graph may have:• More than one edge between a pair of vertices• No self loop

4

𝒙

𝒖

𝒗

𝒘

𝒂

𝒃 𝒉

𝒍

Page 5: Randomized Algorithms Randomized Algorithms CS648 1.

Min-Cut

: undirected connected graph Definition (cut):A subset whose removal disconnects the graph.

Definition (min-cut): A cut of smallest size.Problem Definition: Design algorithm to compute min-cut of a given graph.

5

Page 6: Randomized Algorithms Randomized Algorithms CS648 1.

SOME BASIC FACTS

6

Page 7: Randomized Algorithms Randomized Algorithms CS648 1.

Min-Cut

Question: How many cuts ?Answer: Question : what is relation between degree() and size of min-cut ?Answer: size of min-cut degree() Question : If size of min-cut is , what can be minimum value of ?Answer:

7

𝒖

How about cuts in multi-graph ?

Page 8: Randomized Algorithms Randomized Algorithms CS648 1.

Contract()

8

𝒖

𝒗

𝒘𝒚

𝒙 𝒂

𝒃 𝒉

𝒍

𝒙𝒚

𝒖

𝒗

𝒘

𝒂

𝒃 𝒉

𝒍

Contract(

Page 9: Randomized Algorithms Randomized Algorithms CS648 1.

Contract()

Contract(){ Let ; Merge the two vertices and into one vertex; Preserve multi-edges; Remove the edge ; Let be the modified graph; return ;}

Time complexity of Contract():

9

Relation between and ?

Page 10: Randomized Algorithms Randomized Algorithms CS648 1.

Relation between and ?

10

𝒖

𝒗

𝒘𝒚

𝒙 𝒂

𝒃 𝒉

𝒍

𝑮

𝒙𝒚

𝒖

𝒗

𝒘

𝒂

𝒃 𝒉

𝒍

𝑮 ′

Contract(

Page 11: Randomized Algorithms Randomized Algorithms CS648 1.

Observations about Contract()

Let be the size of min-cut of . Let be any min-cut of . Let be the graph after Contract().Observation 1: may be a multi-graph.Observation 2: Every cut of is also a cut of .Observation 3: remains a cut of if .

Question: If is selected randomly uniformly, what is the probability that is preserved in ?Answer:

11

≤𝒌

𝒏𝒌 /𝟐≤𝟐𝒏

Recall that

Page 12: Randomized Algorithms Randomized Algorithms CS648 1.

Contract()

Let be the size of min-cut of . Let be any min-cut of . Lemma: If edge to be contracted is selected randomly uniformly, is preserved with probability at least .

Let ; Contract().Let ; Contract().

Question: What is probability that is preserved in ?Answer:

12

(1− 𝟐𝒏−𝟏 )

Page 13: Randomized Algorithms Randomized Algorithms CS648 1.

Algorithm for min-cut

Min-cut():{ Repeat ?? times {

Let ; Contract().

} return the edges of multi-graph ;}

Running time:

13

𝒏−𝟐

Page 14: Randomized Algorithms Randomized Algorithms CS648 1.

Algorithm for min-cut

Question: What is probability that is preserved during the algorithm ?Answer:

= = >

14

Page 15: Randomized Algorithms Randomized Algorithms CS648 1.

Algorithm for min-cut

Min-cut-high-probability():{ Repeat Min-cut() algorithm log times and report the smallest cut computed;} Running time: Error Probability : <

15

Page 16: Randomized Algorithms Randomized Algorithms CS648 1.

REVISITING RECURRENCES

In the following slides, we shall revisit common recurrences. Try to solve these recurrences in a simple manner instead of using Master’s theorem. This will help you develop a useful insight into recurrences. This insight will help you fine-tune

the previous inefficient algorithm and eventually lead to design (and analysis) of a more efficient algorithm for min-cut.

16

Page 17: Randomized Algorithms Randomized Algorithms CS648 1.

Common recurrences•

17

𝑶 (𝒏𝟐)

𝑶 (𝒏)

𝑶 (𝒏𝐥𝐨𝐠𝒏)

𝑶 (𝒏)

Page 18: Randomized Algorithms Randomized Algorithms CS648 1.

Common recurrences•

Question: What is the largest value of for which the solution of the following recurrence ?•

18

𝑶 (𝒏𝟐)

𝑶 (𝒏𝟐)

𝑶 (𝒏𝟑)

𝒂=√𝟐

Page 19: Randomized Algorithms Randomized Algorithms CS648 1.

FASTER MIN-CUT ALGORITHM

19

Page 20: Randomized Algorithms Randomized Algorithms CS648 1.

Revisiting algorithm for min-cut

Min-cut():{ Repeat ?? times {

Let ; Contract().

} return the edges of multi-graph ;}

Running time:

20

𝒏−𝟐

We shall modify this algorithm to improve its success probability. But we shall not allow any significant blow up in the running time.

Page 21: Randomized Algorithms Randomized Algorithms CS648 1.

Algorithm for min-cut

Probability that min-cut is preserved during the algorithm : =

Question: What is probability that min-cut is preserved in first iteration ? Answer: Try to make careful observations based on the above answer to improve the

success probability of the min-cut algorithm.

21

≈ (𝒏−𝒊𝒏 )𝟐

Page 22: Randomized Algorithms Randomized Algorithms CS648 1.

Key observations about Min-Cut algorithm

Algorithm performs contractions :

After contractions:• Min-cut is preserved with probability ¼ .• There are only vertices left. (the graph size is significantly reduced).

IDEA: Invoke two calls of Min-cut algorithm after contractions and return the smaller of the two cuts computed. Since the graph size is reduced significantly, we can afford to do it.

22

𝒏 /𝟐

recursively

Page 23: Randomized Algorithms Randomized Algorithms CS648 1.

Revised algorithm for min-cutFast-Min-cut(): If has at most 10 vertices compute exact min-cut else { ; Repeat times { Let ; Contract(). } Fast-Min-cut(); Fast-Min-cut(); Let be smaller of the cuts , ; } return ;

• for

Question: Prob. min-cut is preserved at the end of the Repeat loop = ?

Question: How to increase this prob. ?

Answer: reduce .

Question: What is the smallest value of to ensure ?

23

1/4

Page 24: Randomized Algorithms Randomized Algorithms CS648 1.

Faster algorithm for min-cutFast-Min-cut(): If has at most 10 vertices compute exact min-cut else { ; Repeat times { Let ; Contract(). } Fast-Min-cut(); Fast-Min-cut(); Let be smaller of the cuts , ; } return ;

Running time of the algorithm :

Question: Prob. min-cut is preserved at the end of the Repeat loop = ?

: the probability that algorithm returns the min-cut.

For , For , ??

24

1/2

Page 25: Randomized Algorithms Randomized Algorithms CS648 1.

Success probability of Fast-Min-cut()

For , For , = We shall now show that recurrence has a solution: If we repeat Fast-Min-cut total times and report the smallest of all the output, probability of error= ??

25

(1− 𝟏log𝒏 )

𝟒 log𝟐𝒏<

Page 26: Randomized Algorithms Randomized Algorithms CS648 1.

Solving the recurrence

For , For , = Substituting , we get the recurrenceFor , For ,

26

Page 27: Randomized Algorithms Randomized Algorithms CS648 1.

Solving the recurrence

For , For , = It suffices to consider the above recurrence only for those which are powers of .

For the sake of neatness, let us use to denote . Thus the above recurrence can be expressed as

27

Page 28: Randomized Algorithms Randomized Algorithms CS648 1.

Solving the recurrence

It suffices to solve the following recurrence., For ,

The recurrence still looks difficult since it does not belong to the pool of recurrences you are familiar with.

However, it has a very short and elementary solution. In fact the solution is very inspiring.

First try on your own before proceeding to the following slides.

28

Page 29: Randomized Algorithms Randomized Algorithms CS648 1.

Solving the recurrence

,For ,

Observation 1: Observation 2:

Hence,

// by unfolding and using the fact that // and we are done.

29

//since

proof

Page 30: Randomized Algorithms Randomized Algorithms CS648 1.

This lecture introduced many concepts which can be used for design and analysis of efficient randomized algorithms. Try to

reflect upon these concept…

30


Recommended