QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomization at Work:An Introduction to Randomized Algorithms
Arpit AgarwalSuprovat Ghoshal
Indian Institute of Science, Bangalore
June 27, 2013
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort
I Proposed by C.A.R. Hoare in 1962.
I Divide-and-conquer algorithm.
I One of the fastest sorting algorithms in practice.
Pseudo-code
1. Divide: Select an element from the array and call it the pivot x . Partition thearray such that all elements which are ≤ x are in the lower subarray and allelements ≥ x are in the upper subarray.
2. Conquer: Apply the divide step above to both the lower and upper subarraysrecursively.
3. Combine: The array will be trivially sorted using the above steps.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort
I Proposed by C.A.R. Hoare in 1962.
I Divide-and-conquer algorithm.
I One of the fastest sorting algorithms in practice.
Pseudo-code
1. Divide: Select an element from the array and call it the pivot x . Partition thearray such that all elements which are ≤ x are in the lower subarray and allelements ≥ x are in the upper subarray.
2. Conquer: Apply the divide step above to both the lower and upper subarraysrecursively.
3. Combine: The array will be trivially sorted using the above steps.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort
I Proposed by C.A.R. Hoare in 1962.
I Divide-and-conquer algorithm.
I One of the fastest sorting algorithms in practice.
Pseudo-code
1. Divide: Select an element from the array and call it the pivot x . Partition thearray such that all elements which are ≤ x are in the lower subarray and allelements ≥ x are in the upper subarray.
2. Conquer: Apply the divide step above to both the lower and upper subarraysrecursively.
3. Combine: The array will be trivially sorted using the above steps.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort
I Proposed by C.A.R. Hoare in 1962.
I Divide-and-conquer algorithm.
I One of the fastest sorting algorithms in practice.
Pseudo-code
1. Divide: Select an element from the array and call it the pivot x . Partition thearray such that all elements which are ≤ x are in the lower subarray and allelements ≥ x are in the upper subarray.
2. Conquer: Apply the divide step above to both the lower and upper subarraysrecursively.
3. Combine: The array will be trivially sorted using the above steps.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
24
<
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
24
<
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
24
<
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
24
<
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
24
<
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
22
<
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
38
>
24 22 25 27 37 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
35
>
24 22 25 27 38 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
25
<
24 22 25 27 38 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
30
>
24 22 25 27 38 35 30
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort : Partitioning
27 24 22 38 35 25 30
The Input Array
1. Select the pivot
27 24 22 38 35 25 30
2. Partition
24 22 25 27 38 35 30
Final Partitioned Array
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
QuickSort: Recursion
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Worst Case Analysis of QuickSort
I Worst Case occurs when you always partition around the minimum or maximumelement.
I One side of the partition always has n − 1 elements and the other has noelements.
T (n) = T (0) + T (n − 1) + Θ(n)
= T (n − 1) + Θ(n)
= T (n − 2) + Θ(n − 1) + Θ(n)
· · ·= Θ(1) + Θ(2) + · · ·+ Θ(n − 1) + Θ(n)
= Θ(n2)
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized QuickSort
MotivationI We might always get an input array that is almost sorted or almost reverse
sorted.
I Quick Sort will perform badly in this scenario.
I An adversery might give you the input array which will make you do a lot ofwork.
IdeaI Pick the pivot randomly to partition each time.
I Therefore, we almost never allow worst case to occur, whatever the type of theinput array.
I In adversarial environment, we confuse the adversary with the random choice ofpivot.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized QuickSort
MotivationI We might always get an input array that is almost sorted or almost reverse
sorted.
I Quick Sort will perform badly in this scenario.
I An adversery might give you the input array which will make you do a lot ofwork.
IdeaI Pick the pivot randomly to partition each time.
I Therefore, we almost never allow worst case to occur, whatever the type of theinput array.
I In adversarial environment, we confuse the adversary with the random choice ofpivot.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized QuickSort
MotivationI We might always get an input array that is almost sorted or almost reverse
sorted.
I Quick Sort will perform badly in this scenario.
I An adversery might give you the input array which will make you do a lot ofwork.
IdeaI Pick the pivot randomly to partition each time.
I Therefore, we almost never allow worst case to occur, whatever the type of theinput array.
I In adversarial environment, we confuse the adversary with the random choice ofpivot.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized QuickSort
MotivationI We might always get an input array that is almost sorted or almost reverse
sorted.
I Quick Sort will perform badly in this scenario.
I An adversery might give you the input array which will make you do a lot ofwork.
IdeaI Pick the pivot randomly to partition each time.
I Therefore, we almost never allow worst case to occur, whatever the type of theinput array.
I In adversarial environment, we confuse the adversary with the random choice ofpivot.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized QuickSort
MotivationI We might always get an input array that is almost sorted or almost reverse
sorted.
I Quick Sort will perform badly in this scenario.
I An adversery might give you the input array which will make you do a lot ofwork.
IdeaI Pick the pivot randomly to partition each time.
I Therefore, we almost never allow worst case to occur, whatever the type of theinput array.
I In adversarial environment, we confuse the adversary with the random choice ofpivot.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized QuickSort
MotivationI We might always get an input array that is almost sorted or almost reverse
sorted.
I Quick Sort will perform badly in this scenario.
I An adversery might give you the input array which will make you do a lot ofwork.
IdeaI Pick the pivot randomly to partition each time.
I Therefore, we almost never allow worst case to occur, whatever the type of theinput array.
I In adversarial environment, we confuse the adversary with the random choice ofpivot.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortLet X be the total number of comparisons. Let [x1, x2, · · · , xn] be the input array, and[y1, y2, · · · , yn] be the output sorted array.
Define : Xij to be a indicator random variable such that
Xij =
{1 if yi and yj are compared0 otherwise
E [Xij ] =∞∑−∞
x .P(x)
= 1.P(Xij = 1) + 0.P(Xij = 0)
= P(Xij = 1)
= P(yi and yj are compared) (1)
Now,
X =
n−1∑i=1
n∑j=i+1
Xij
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortLet X be the total number of comparisons. Let [x1, x2, · · · , xn] be the input array, and[y1, y2, · · · , yn] be the output sorted array.
Define : Xij to be a indicator random variable such that
Xij =
{1 if yi and yj are compared0 otherwise
E [Xij ] =∞∑−∞
x .P(x)
= 1.P(Xij = 1) + 0.P(Xij = 0)
= P(Xij = 1)
= P(yi and yj are compared) (1)
Now,
X =
n−1∑i=1
n∑j=i+1
Xij
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortLet X be the total number of comparisons. Let [x1, x2, · · · , xn] be the input array, and[y1, y2, · · · , yn] be the output sorted array.
Define : Xij to be a indicator random variable such that
Xij =
{1 if yi and yj are compared0 otherwise
E [Xij ] =∞∑−∞
x .P(x)
= 1.P(Xij = 1) + 0.P(Xij = 0)
= P(Xij = 1)
= P(yi and yj are compared) (1)
Now,
X =
n−1∑i=1
n∑j=i+1
Xij
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortLet X be the total number of comparisons. Let [x1, x2, · · · , xn] be the input array, and[y1, y2, · · · , yn] be the output sorted array.
Define : Xij to be a indicator random variable such that
Xij =
{1 if yi and yj are compared0 otherwise
E [Xij ] =∞∑−∞
x .P(x)
= 1.P(Xij = 1) + 0.P(Xij = 0)
= P(Xij = 1)
= P(yi and yj are compared) (1)
Now,
X =
n−1∑i=1
n∑j=i+1
Xij
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortLet X be the total number of comparisons. Let [x1, x2, · · · , xn] be the input array, and[y1, y2, · · · , yn] be the output sorted array.
Define : Xij to be a indicator random variable such that
Xij =
{1 if yi and yj are compared0 otherwise
E [Xij ] =∞∑−∞
x .P(x)
= 1.P(Xij = 1) + 0.P(Xij = 0)
= P(Xij = 1)
= P(yi and yj are compared) (1)
Now,
X =
n−1∑i=1
n∑j=i+1
Xij
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortTherefore,
E [X ] = E [
n−1∑i=1
n∑j=i+1
Xij ]
=
n−1∑i=1
n∑j=i+1
E [Xij ] (2)
Consider the subarray {yi , yi+1, · · · , yj−1, yj}.
Case 1: yi was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
Case 2: Some element from yi+1 to yj−1 was chosen as the pivot. yi and yj are notcompared in this case.
yi · · · yk · · · yj
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortTherefore,
E [X ] = E [
n−1∑i=1
n∑j=i+1
Xij ]
=
n−1∑i=1
n∑j=i+1
E [Xij ] (2)
Consider the subarray {yi , yi+1, · · · , yj−1, yj}.
Case 1: yi was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
Case 2: Some element from yi+1 to yj−1 was chosen as the pivot. yi and yj are notcompared in this case.
yi · · · yk · · · yj
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSortTherefore,
E [X ] = E [
n−1∑i=1
n∑j=i+1
Xij ]
=
n−1∑i=1
n∑j=i+1
E [Xij ] (2)
Consider the subarray {yi , yi+1, · · · , yj−1, yj}.
Case 1: yi was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
Case 2: Some element from yi+1 to yj−1 was chosen as the pivot. yi and yj are notcompared in this case.
yi · · · yk · · · yj
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSort
Case 3: yj was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
I The total number of elements in {yi , yi+1, · · · , yj−1, yj} is j − i + 1.
I Each element is chosen as pivot uniformly at random.
I Probability of yi being chosen as pivot(Case 1) is 1j−i+1
I Probability of yj being chosen as pivot(Case 3) is 1j−i+1
P(yi and yj are compared) = P(Case1) + P(Case3)
=1
j − i + 1+
1
j − i + 1
=2
j − i + 1
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSort
Case 3: yj was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
I The total number of elements in {yi , yi+1, · · · , yj−1, yj} is j − i + 1.
I Each element is chosen as pivot uniformly at random.
I Probability of yi being chosen as pivot(Case 1) is 1j−i+1
I Probability of yj being chosen as pivot(Case 3) is 1j−i+1
P(yi and yj are compared) = P(Case1) + P(Case3)
=1
j − i + 1+
1
j − i + 1
=2
j − i + 1
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSort
Case 3: yj was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
I The total number of elements in {yi , yi+1, · · · , yj−1, yj} is j − i + 1.
I Each element is chosen as pivot uniformly at random.
I Probability of yi being chosen as pivot(Case 1) is 1j−i+1
I Probability of yj being chosen as pivot(Case 3) is 1j−i+1
P(yi and yj are compared) = P(Case1) + P(Case3)
=1
j − i + 1+
1
j − i + 1
=2
j − i + 1
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSort
Case 3: yj was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
I The total number of elements in {yi , yi+1, · · · , yj−1, yj} is j − i + 1.
I Each element is chosen as pivot uniformly at random.
I Probability of yi being chosen as pivot(Case 1) is 1j−i+1
I Probability of yj being chosen as pivot(Case 3) is 1j−i+1
P(yi and yj are compared) = P(Case1) + P(Case3)
=1
j − i + 1+
1
j − i + 1
=2
j − i + 1
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSort
Case 3: yj was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
I The total number of elements in {yi , yi+1, · · · , yj−1, yj} is j − i + 1.
I Each element is chosen as pivot uniformly at random.
I Probability of yi being chosen as pivot(Case 1) is 1j−i+1
I Probability of yj being chosen as pivot(Case 3) is 1j−i+1
P(yi and yj are compared) = P(Case1) + P(Case3)
=1
j − i + 1+
1
j − i + 1
=2
j − i + 1
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Analysis of Randomized QuickSort
Case 3: yj was chosen as the pivot. yi and yj are compared in this case.
yi · · · yj
I The total number of elements in {yi , yi+1, · · · , yj−1, yj} is j − i + 1.
I Each element is chosen as pivot uniformly at random.
I Probability of yi being chosen as pivot(Case 1) is 1j−i+1
I Probability of yj being chosen as pivot(Case 3) is 1j−i+1
P(yi and yj are compared) = P(Case1) + P(Case3)
=1
j − i + 1+
1
j − i + 1
=2
j − i + 1
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
From Equation (1) and (2),
E [X ] =
n−1∑i=1
n∑j=i+1
2
j − i + 1
= 2
n−1∑i=1
(1
2+
1
3+ · · ·+
1
n − i + 1)
< 2
n−1∑i=1
(1 +1
2+
1
3+ · · ·+
1
n)
< 2n(1 +1
2+
1
3+ · · ·+
1
n)
The quantity 1 + 12
+ 13
+ · · ·+ 1n
, denoted Hn, is called the nth Harmonic number
and is in the range [ln n, 1 + ln n]. Therefore,
E [X ] < 2n(Hn) ≤ 2n ln n + 2n = θ(n ln n)
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
MAX-CUT : Problem Definition
I Input : An undirected graph G(V ,E) where V : Set of vertices E : Set of Edges
I Output : A partition of vertices V1,V2 such that the no. of edges crossing fromV1 to V2 is maximised
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Easy Example
Figure : A Bipartite Graph
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Easy Example
Figure : A Bipartite Graph
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
A Not so Easy Example
Figure : A General Graph
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
A Not so Easy Example
Figure : A General Graph
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Naive Approach
I The total no. of ways the vertex set can be partitioned is 2‖V‖
I Brute force would require exponential no. of trials, which is too much hardwork!!
I Can we do better ?
Standard Approaches
I Greedy?
I Divide and Conquer?
I Dynamic Programming?
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Naive Approach
I The total no. of ways the vertex set can be partitioned is 2‖V‖
I Brute force would require exponential no. of trials, which is too much hardwork!!
I Can we do better ?
Standard Approaches
I Greedy?
I Divide and Conquer?
I Dynamic Programming?
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
I A Simple randomized algorithm that provides (probabilistic) guarantees a cut ofsize ‖E‖/2
I Algorithm Initialize the partitions V1 and V2 as empty setsFor each vertex v ∈ V , flip a fair coin. If outcome is heads then put vertex inpartition V1 else put it into partition V2.
Pseudo-code
1. Initialize: Select a vertex v ∈ V randomly2. Remove a vertex v ∈ V from the vertex set. Toss a ”fair” coin.
If the outcome is head the assign it to partition V1 else assignit to vertex V2.
3. Repeat above step till all vertices are assigned a partition .
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
I A Simple randomized algorithm that provides (probabilistic) guarantees a cut ofsize ‖E‖/2
I Algorithm Initialize the partitions V1 and V2 as empty setsFor each vertex v ∈ V , flip a fair coin. If outcome is heads then put vertex inpartition V1 else put it into partition V2.
Pseudo-code
1. Initialize: Select a vertex v ∈ V randomly2. Remove a vertex v ∈ V from the vertex set. Toss a ”fair” coin.
If the outcome is head the assign it to partition V1 else assignit to vertex V2.
3. Repeat above step till all vertices are assigned a partition .
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
Figure : Coin Toss Sequence = H
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
Figure : Coin Toss Sequence = H T
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
Figure : Coin Toss Sequence = H T H
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
Figure : Coin Toss Sequence = H T H T
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Randomized Approach Example
Figure : Coin Toss Sequence = H T H T T
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Does it Work??
Let Xe be a random variable s.t.
Xe =
{1 if Edge e = (vi , vj ) crosses the partition0 otherwise
I Let X be a random variable indicating the no. of edges crossing the cut. ThenX = X1 + X2 + · · ·+ Xe
I Expected no. of edges crossing the cut =E [X ] = E [X1 + X2 + .+ Xe ] =
∑ei=1 E [Xi ]
I E [Xe ] = 1×Pr(Edge e is chosen)+0×Pr(Edge e is not chosen)
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
The 4 cases of partitioning
Figure : Case 1 i ∈ V1 j ∈ V1
Pr(i ∈ V1,j ∈ V1)= Pr(i ∈ V1) × Pr(j ∈ V1) = 12× 1
2= 1
4
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
The 4 cases of partitioning
Figure : Case 2 i ∈ V1 j ∈ V2
Pr(i ∈ V1,j ∈ V2)= Pr(i ∈ V1) × Pr(j ∈ V2) = 12× 1
2= 1
4
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
The 4 cases of partitioning
Figure : Case 3 i ∈ V2 j ∈ V1
Pr(i ∈ V2,j ∈ V1)= Pr(i ∈ V2) × Pr(j ∈ V1) = 12× 1
2= 1
4
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
The 4 cases of partitioning
Figure : Case 4 i ∈ V2 j ∈ V2
Pr(i ∈ V2,j ∈ V2)= Pr(i ∈ V2) × Pr(j ∈ V2) = 12× 1
2= 1
4
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Correctness Contd.
I E [X(i,j)] = 1×Pr(Edge e is chosen)+0×Pr(Edge e is not chosen) = 1× 12
+
0× 12
= 1/2
I Expected no. of edges =E [X ] = E [X1 + X2 + .+ Xe ] =
∑ei=1 E [Xi ] =
∑ei=1 1/2 = e/2
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Logical and Practical Difficulties with Randomization
I True randomness is hard to replicate, as famously countered by Einstein :
GOD DOES NOT PLAY DICE
I A large scale randomized operation could need upto billions of randomized bitsper second
I Hard to produce that many no. of uncorrelated bits.
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Derandomization
I Some Randomized algorithms have deterministic counterparts that providesimilar guarantees on output.
I The cost of de-randomization is the added complexity
I Can we derandomize maxcut ??
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
The Chimp Strategy
I A chimp is given a binary tree in which the leaf nodes are weighed by differentno. of bananas
I Objective : Starting from the root node, get to a leaf having atleast n/2 bananas
I Incentive?? : Obvious!!
The chimp is given a map of the binary tree but it never takes a look, but alwayssucceeds!!
The secret : At each node , the branch with the more no. of bananas is heavier andhence a little less Steep
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
The Chimp Strategy
I A chimp is given a binary tree in which the leaf nodes are weighed by differentno. of bananas
I Objective : Starting from the root node, get to a leaf having atleast n/2 bananas
I Incentive?? : Obvious!!
The chimp is given a map of the binary tree but it never takes a look, but alwayssucceeds!!The secret : At each node , the branch with the more no. of bananas is heavier andhence a little less Steep
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Back to MAX-CUT
I Analogy: At iteration t, having already assigned vertices v1, v2, . . . vt−1 topartitions, compute expectations
I Compute e1 = E [X‖v1, v2.., vt−1, vt = 0] and e2 = E [X‖v1, v2, . . . vt−1, vt = 1]
I Assign vt to partition V1 if e1 ≥ e2 else assign it to partition V2 Assign vt topartition 1 if e1 ≥ e2 else assign it to partition 2
Correctness
I Proof by induction :
I Hypothesis: At any iteration i , E [X |v1, v2, , vi ] ≥ m/2
I Base case : E [X ] ≥ m/2 @ iteration 0
I Induction step: Assuming E [X |v1, v2, , vi − 1] ≥ m/2, where v1 . . . vi−1 are aspartitioned by the algorithm
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Back to MAX-CUT
I Analogy: At iteration t, having already assigned vertices v1, v2, . . . vt−1 topartitions, compute expectations
I Compute e1 = E [X‖v1, v2.., vt−1, vt = 0] and e2 = E [X‖v1, v2, . . . vt−1, vt = 1]
I Assign vt to partition V1 if e1 ≥ e2 else assign it to partition V2 Assign vt topartition 1 if e1 ≥ e2 else assign it to partition 2
Correctness
I Proof by induction :
I Hypothesis: At any iteration i , E [X |v1, v2, , vi ] ≥ m/2
I Base case : E [X ] ≥ m/2 @ iteration 0
I Induction step: Assuming E [X |v1, v2, , vi − 1] ≥ m/2, where v1 . . . vi−1 are aspartitioned by the algorithm
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Back to MAX-CUT
I Analogy: At iteration t, having already assigned vertices v1, v2, . . . vt−1 topartitions, compute expectations
I Compute e1 = E [X‖v1, v2.., vt−1, vt = 0] and e2 = E [X‖v1, v2, . . . vt−1, vt = 1]
I Assign vt to partition V1 if e1 ≥ e2 else assign it to partition V2 Assign vt topartition 1 if e1 ≥ e2 else assign it to partition 2
Correctness
I Proof by induction :
I Hypothesis: At any iteration i , E [X |v1, v2, , vi ] ≥ m/2
I Base case : E [X ] ≥ m/2 @ iteration 0
I Induction step: Assuming E [X |v1, v2, , vi − 1] ≥ m/2, where v1 . . . vi−1 are aspartitioned by the algorithm
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Back to MAX-CUT
I Analogy: At iteration t, having already assigned vertices v1, v2, . . . vt−1 topartitions, compute expectations
I Compute e1 = E [X‖v1, v2.., vt−1, vt = 0] and e2 = E [X‖v1, v2, . . . vt−1, vt = 1]
I Assign vt to partition V1 if e1 ≥ e2 else assign it to partition V2 Assign vt topartition 1 if e1 ≥ e2 else assign it to partition 2
Correctness
I Proof by induction :
I Hypothesis: At any iteration i , E [X |v1, v2, , vi ] ≥ m/2
I Base case : E [X ] ≥ m/2 @ iteration 0
I Induction step: Assuming E [X |v1, v2, , vi − 1] ≥ m/2, where v1 . . . vi−1 are aspartitioned by the algorithm
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
More About Randomization
I Is randomization more powerful than determinism ??
I Are there upper bounds on increase in complexity on derandomization ??
Randomization at Work IISc
QuickSort Randomized QuickSort MAXCUT Randomized MAXCUT
Thank you!
Randomization at Work IISc