randomized algorithms randomized algorithms cs648 1
TRANSCRIPT
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