Randomized Algorithms Randomized Algorithms CS648 1.
-
Upload
khalid-bowlsby -
Category
Documents
-
view
284 -
download
4
Transcript of Randomized Algorithms Randomized Algorithms CS648 1.
Randomized AlgorithmsCS648
Lecture 19• algorithm for Min-cut in a graph
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
RECAP OF THE PREVIOUS LECTURE
3
Graph and Multi-graph
A multi-graph may have:• More than one edge between a pair of vertices• No self loop
4
𝒙
𝒖
𝒗
𝒘
𝒂
𝒃 𝒉
𝒍
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
SOME BASIC FACTS
6
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 ?
Contract()
8
𝒖
𝒗
𝒘𝒚
𝒙 𝒂
𝒃 𝒉
𝒍
𝒙𝒚
𝒖
𝒗
𝒘
𝒂
𝒃 𝒉
𝒍
Contract(
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 ?
Relation between and ?
10
𝒖
𝒗
𝒘𝒚
𝒙 𝒂
𝒃 𝒉
𝒍
𝑮
𝒙𝒚
𝒖
𝒗
𝒘
𝒂
𝒃 𝒉
𝒍
𝑮 ′
Contract(
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
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− 𝟐𝒏−𝟏 )
Algorithm for min-cut
Min-cut():{ Repeat ?? times {
Let ; Contract().
} return the edges of multi-graph ;}
Running time:
13
𝒏−𝟐
Algorithm for min-cut
Question: What is probability that is preserved during the algorithm ?Answer:
= = >
14
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
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
Common recurrences•
•
•
•
17
𝑶 (𝒏𝟐)
𝑶 (𝒏)
𝑶 (𝒏𝐥𝐨𝐠𝒏)
𝑶 (𝒏)
Common recurrences•
•
•
Question: What is the largest value of for which the solution of the following recurrence ?•
18
𝑶 (𝒏𝟐)
𝑶 (𝒏𝟐)
𝑶 (𝒏𝟑)
𝒂=√𝟐
FASTER MIN-CUT ALGORITHM
19
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.
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
≈ (𝒏−𝒊𝒏 )𝟐
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
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
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
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𝟐𝒏<
Solving the recurrence
For , For , = Substituting , we get the recurrenceFor , For ,
26
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
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
Solving the recurrence
,For ,
Observation 1: Observation 2:
Hence,
// by unfolding and using the fact that // and we are done.
29
//since
proof
This lecture introduced many concepts which can be used for design and analysis of efficient randomized algorithms. Try to
reflect upon these concept…
30