36
Randomized Algorithms CS648 Lecture 25 Random bit complexity Derandomization 1

Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Randomized Algorithms CS648

Lecture 25

• Random bit complexity

• Derandomization

1

Page 2: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Random bit complexity

Definition : The total number of random bits taken from the Random Bit Generator by the algorithm is called its Random bit complexity.

2

Random Bit generator

A Randomized Algorithm (for Min-Cut, QuickSort, RIC,…)

Input

Page 3: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

RECALL THE NOTION OF INDEPENDENCE

3

Page 4: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Types of independences

Definition: 𝜀1, … , 𝜀𝑛 are said to be mutually independent if

𝑷 𝜀𝑖𝑖 = 𝑷(𝜀𝑖)𝑖

Definition: 𝜀1, … , 𝜀𝑛 are said to be pairwise independent if

for every 1 ≤ 𝑖 < 𝑗 ≤ 𝑛

𝑷 𝜀𝑖 ∩ 𝜀𝑗 = 𝑷(𝜀𝑖)∙ 𝑷(𝜀𝑗)

4

Page 5: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Types of independences

Definition: 𝑋1, … , 𝑋𝑛 are said to be mutually independent random variables if

for any 𝑎1 ∈ 𝑋1, … , 𝑎𝑛 ∈ 𝑋𝑛

𝑷 (𝑋𝑖 = 𝑎𝑖)𝑖 = 𝑷(𝑋𝑖 = 𝑎𝑖)𝑖

Definition:𝑋1, … , 𝑋𝑛 are said to be pairwise independent random variables if

for every 1 ≤ 𝑖 < 𝑗 ≤ 𝑛 and every 𝑎𝑖 ∈ 𝑋𝑖 , 𝑎𝑗 ∈ 𝑋𝑗

𝑷 (𝑋𝑖= 𝑎𝑖) ∩ (𝑋𝑗= 𝑎𝑗) = 𝑷(𝑋𝑖 = 𝑎𝑖)∙ 𝑷(𝑋𝑗 = 𝑎𝑗)

5

Page 6: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Important facts

A randomized algorithm typically require random bits/numbers that have

• a uniform distribution

• pairwise independence

Random bit complexity can be reduced.

Theorem:

We can generate 2𝑚 − 1 pairwise independent random bits using

only 𝑚 mutually independent random bits.

We shall now prove this theorem.

6

Page 7: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

7

𝟏𝟎 tosses of a fair coin

𝟏𝟎𝟎𝟎 pairwise independent random variables

𝟐𝟎 tosses of a fair coin

𝟏𝟎𝟔 pairwise independent random variables

Page 8: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

GENERATING UNIFORMLY RANDOM AND PAIRWISE INDEPENDENT BITS

using few truly random bits

8

Page 9: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Generating Uniformly Random and pairwise independent Bits

Let 𝑋0, … , 𝑋𝑚−1 be 𝑚 mutually independent random bits.

Aim: To generate 2𝑚 − 1 pairwise independent random bits *𝑌𝑖+

Key idea: Generate all non-empty subsets of {𝑋0, … , 𝑋𝑚−1}

Ex:𝑚 = 3

9

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

{ 𝑋0 }

{ 𝑋1 }

{ 𝑋1, 𝑋0 }

{ 𝑋2 }

{ 𝑋2, 𝑋0 }

{ 𝑋2, 𝑋1 }

{ 𝑋2, 𝑋1, 𝑋0 }

2 1 0

𝑋0

𝑋1

𝑋2

𝑋1 ⊕ 𝑋0

𝑋2 ⊕ 𝑋0

𝑋2 ⊕ 𝑋1

𝑋2 ⊕ 𝑋1 ⊕ 𝑋0

𝑌1

𝑌2

𝑌3

𝑌4

𝑌5

𝑌6

𝑌7

Why the XOR operation ⊕ ? You should get its answer yourself after a

few slides…

Page 10: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Generating Uniformly Random and pairwise independent Bits

Let 𝑋0, … , 𝑋𝑚−1 be 𝑚 mutually independent random bits.

Aim: To generate 2𝑚 − 1 pairwise independent random bits *𝑌𝑖+

Algorithm:

For 𝑖 = 1 to 2𝑚 − 1

{

Consider binary representation of 𝑖;

Let the bits at 𝑗1, … , 𝑗𝑘 places only are 1;

𝑌𝑖 𝑋𝑗1 ⊕ 𝑋𝑗2 ⊕∙∙∙ ⊕ 𝑋𝑗𝑘

}

10

Page 11: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Generating Uniformly Random and pairwise independent Bits

𝑖 ∈ ,1, 2𝑚 − 1-

Lemma: Each 𝑌𝑖 is a uniformly random bit.

Proof: Let 𝑌𝑖 = 𝑋𝑗1 ⊕ 𝑋𝑗2 ⊕∙∙∙⊕ 𝑋𝑗𝑘

𝑷 𝑌𝑖 = 1

= 𝑷 𝑌𝑖 = 1|𝑋𝑗2 = 𝑎2, … , 𝑋𝑗𝑘 = 𝑎𝑘 ∙

𝑎2,…,𝑎𝑘∈*0,1+

𝑷 𝑋𝑗2 = 𝑎2, … , 𝑋𝑗𝑘 = 𝑎𝑘

= 𝑷 ∙

𝑎2,…,𝑎𝑘∈*0,1+

𝑷 𝑋𝑗2 = 𝑎2, … , 𝑋𝑗𝑘 = 𝑎𝑗𝑘

= 𝟏

𝟐∙

𝑎2,…,𝑎𝑘∈*0,1+

𝑷 𝑋𝑗2 = 𝑎2, … , 𝑋𝑗𝑘 = 𝑎𝑗𝑘

11

= 𝟏

𝟐

𝑋𝑗1 ⊕ 𝑎2 ⊕ ∙∙∙ ⊕ 𝑎𝑘 = 1

Page 12: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Generating Uniformly Random and pairwise independent Bits

𝑖 ∈ ,1, 2𝑚 − 1-

Lemma: 𝑌𝑖’s are pairwise independent.

Proof: Let 𝑌𝑖 = 𝑋𝑗1 ⊕ 𝑋𝑗2 ⊕∙∙∙⊕ 𝑋𝑗𝑘 and 𝑌𝑞 = 𝑋𝑡1 ⊕ 𝑋𝑡2 ⊕∙∙∙⊕ 𝑋𝑡ℓ

{𝑡1, 𝑡2,…, 𝑡ℓ} ≠ {𝑗1, 𝑗2,…, 𝑗𝑘}

Without loss of generality, let 𝑡1 ∉ {𝑗1, 𝑗2,…, 𝑗𝑘}

Let 𝑆 = 𝑋𝑡1,…,𝑋𝑡ℓ+⋃*𝑋𝑗1,…,𝑋𝑗𝑘} \ *𝑋𝑡1 , 𝑋𝑗1+.

𝑷 𝑌𝑞 = 1 ∩ 𝑌𝑖 = 0|𝑆 = 𝐴

𝐴∈𝑆

∙ 𝑷(𝑆 = 𝐴)

= 𝑷 𝑌𝑞 = 1| 𝑌𝑖 = 0 ∩ 𝑆 = 𝐴

𝐴∈𝑆

∙ 𝑷 𝑌𝑖 = 0|𝑆 = 𝐴 ∙ 𝑷(𝑆 = 𝐴)

= 1

4𝐴∈𝑆

∙𝑷 𝑆 = 𝐴

12

𝟏

𝟐

𝟏

𝟐

=𝟏

𝟒

𝑷 𝐶 ∩ 𝐷|𝐵 = ? ⋅ ? 𝑷 𝐷|𝐵 𝑷 𝐶|𝐷 ∩ 𝐵

𝑷 𝑌𝑞 = 1 ∩ 𝑌𝑖 = 0 =

Page 13: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

DERANDOMIZATION

a randomized algorithm a deterministic algorithm

13

Page 14: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

Theorem: (Probabilistic Methods - I)

Let 𝑮 be an undirected graph on 𝒏 vertices and 𝒎 edges.

There exists a cut of size at least 𝒎/𝟐.

14

Page 15: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

A randomized algorithm:

𝑨∅;

Add each vertex from 𝑽 to 𝑨 randomly independently with probability 𝟏

𝟐.

Return the cut defined by 𝑨.

𝒁: size of cut (𝑨, 𝑨 ) returned by the randomized algorithm.

E[𝒁] = 𝒎/𝟐

There exists an 𝝎 ∈ 𝛀 such that 𝒁 𝝎 ≥ 𝒎/𝟐

Question: What is the underlying sample space 𝛀?

Answer: Depends upon the “random bits” used by the algorithm.

15

Page 16: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

Question: How to de-randomize the algorithm ?

Answer: Compute cut associated with each 𝝎 ∈ 𝛀 and return the largest.

Question: How many random bits does the algorithm require ?

Answer: 𝒏

Question: If we use mutually independent bits for all vertices, what is the size of 𝛀 ?

Answer: 𝟐𝒏.

Question: Do we really need mutually independent bits for all vertices ?

Answer: NO

IDEA : Use only pairwise independent random bits.

But will it still ensure E[𝒁] = 𝒎/𝟐 ? Let us see …

16

Page 17: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

*𝐘𝒗|𝒗 ∈ 𝑽+: the 𝒏 pairwise independent random variable for each vertex.

𝒁: size of cut (𝑨, 𝑨 ) returned by the randomized algorithm.

E[𝒁] = ??

𝒁𝒆: 𝟏 if 𝒆 is present in the cut𝟎 otherwise

𝒁 = 𝒁 𝒖,𝒗𝒖,𝒗 ∈𝑬

E[𝒁] = 𝐄,𝒁(𝒖,𝒗)-𝒖,𝒗 ∈𝑬

= 𝐏(𝒁(𝒖,𝒗) = 𝟏)𝒖,𝒗 ∈𝑬

= 𝐏( 𝐘𝒖 = 𝟏 ∩ 𝐘𝒗 = 𝟎 ⋃ 𝐘𝒖= 𝟎 ∩ 𝐘𝒗 = 𝟏)𝒖,𝒗 ∈𝑬

= ( 𝐏( 𝐘𝒖= 𝟏 ∩ 𝐘𝒗 = 𝟎) + 𝐏(𝐘𝒖 = 𝟎 ∩ 𝐘𝒗 = 𝟏)𝒖,𝒗 ∈𝑬 )

= 𝟏

𝟐𝒖,𝒗 ∈𝑬

17

=𝒎

𝟐

𝟏

𝟒

𝟏

𝟒

Page 18: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

Lemma: If we use only pairwise independent random bits,

the expected size of cut will be at least 𝒎

𝟐.

Question: How many truly random bits does the algorithm require now ?

Answer: log𝟐 (𝒏 + 𝟏)

Question: What is the size of 𝛀 now ?

Answer: O(𝒏).

Deterministic algorithm:

Just enumerate cuts associated with each 𝜔 ∈ 𝛺 and report the largest one.

Running time: O(𝒎𝒏)

18

Page 19: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

Theroem: There is an O(𝒎𝒏) time deterministic algorithm

that computes a cut of size at least 𝒎/𝟐

in a graph having 𝒎 edges and 𝒏 vertices.

19

Page 20: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

DERANDOMIZATION

using conditional expectation

20

Page 21: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Problem 1: Large cut in a graph

Problem: Let 𝑮 = (𝑽, 𝑬) be an undirected graph on 𝒏 vertices and 𝒎 edges.

Compute a cut of size at least 𝒎/𝟐.

A randomized algorithm:

𝑨∅; 𝑩∅;

For each vertex 𝒗 ∈ 𝑽

Add 𝒗 to 𝑨 or 𝑩 randomly with probability 𝟏

𝟐 independent of other vertices

return the cut defined by (𝑨, 𝑩).

𝒁: size of cut (𝑨,𝑩) returned by the randomized algorithm.

E[𝒁] = 𝒎/𝟐

Question: How to deterministically compute a cut of size ≥ 𝒎/𝟐 in 𝑶(𝒎) time?

21

A simple application of conditional expectation

Page 22: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Problem 2: Approximate Distance Oracles

Problem: Let 𝑮 = (𝑽, 𝑬) be an undirected graph on 𝒏 vertices and 𝒎 edges.

Compute a 3-approximate distance oracle of size 𝑶(𝒏𝟏+𝟏/𝟐).

A randomized algorithm:

𝑨∅;

Add each vertex from 𝑽 to 𝑨 randomly independently with probability 𝒑 =𝟏

√𝒏.

for each 𝒖 ∈ 𝑽\𝑨, compute Ball(𝒖, 𝑽, 𝑨)

for each 𝒖 ∈ 𝑨, compute distance to all vertices.

𝒁: |Ball(𝒖, 𝑽, 𝑨) |𝒖∈𝑽\𝑨 returned by the randomized algorithm.

E[𝒁] = 𝒏𝟏+𝟏/𝟐

Question: How to deterministically compute a 3-approximate distance oracle of size

O(𝒏𝟏+𝟏/𝟐) ?

22 A non-trivial application of conditional expectation (published in ICALP 2005)

Page 23: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Problem 3: Min-Cut

Problem: Let 𝑮 = (𝑽, 𝑬) be an undirected graph on 𝒏 vertices and 𝒎 edges.

Compute minimum cut of 𝑮.

Randomized algorithmMin-cut(𝑮):

{ Repeat 𝒏 − 𝟐 times

{ Let 𝒆 ∈𝒓 𝑮;

𝑮 Contract(𝑮, 𝒆). }

return the edges of multi-graph 𝑮;

}

Theorem: The algorithm computes a min-cut with probability at least 𝒏−𝟐.

Question: How to deterministically compute a min-cut in time 𝑶(𝒏𝟐 𝐩𝐨𝐥𝐲𝐥𝐨𝐠 𝒏) ?

23

No idea whether we can use conditional expectation ?

Page 24: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Large cut in a graph

A randomized algorithm:

𝑨∅; 𝑩∅;

For each vertex 𝒗 ∈ 𝑽

Add 𝒗 to 𝑨 or 𝑩 randomly with probability 𝟏

𝟐 independent of other vertices

return the cut defined by (𝑨, 𝑩).

24

𝒗𝟏 𝒗𝟐 𝒗𝟑 … 𝒗𝒊 𝒗𝒊+𝟏 𝒗𝒏

Page 25: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Notations:

For a given graph 𝑮 = (𝑽, 𝑬), 𝑼,𝑾 ⊆ 𝑽 and 𝒗 ∈ 𝑽,

𝑬(𝒗):

set of all edges from 𝑬 that have 𝒗 as one of the endpoint.

𝑬(𝑼):

set of all edges from 𝑬 that have at least one end point in 𝑼.

𝑬(𝑼,𝑾):

set of all edges from 𝑬 with one endpoint in 𝑼 and another in 𝑾. 𝑬(𝑼,𝑾)=𝑬 ∩ (𝑼 ⨯ 𝑾)

𝑬(𝒗, 𝑼):

set of all edges from 𝑬 with one endpoint 𝒗 and another endpoint in 𝑼. 𝑬(𝒗, 𝑼)=𝑬 ∩ (𝒗 ⨯ 𝑼)

25

Page 26: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Notations:

𝒁 : random variable denoting the number of edges in a cut output by the algorithm.

𝒙𝒊: random variable taking value 1 if 𝒗𝒊 ∈ 𝑨 and 0 otherwise

𝑿𝒊: {𝒙𝟏, 𝒙𝟐, …, 𝒙𝒊}

𝑪𝒊: {𝒄𝟏, 𝒄𝟐, …, 𝒄𝒊} where 𝒄𝒋 ∈ *𝟎, 𝟏+ for 1 ≤ 𝒋 ≤ 𝒊.

𝑿𝒊 = 𝑪𝒊 means

26

“𝒙𝟏 = 𝒄𝟏, … , 𝒙𝒊 = 𝒄𝒊”

Page 27: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

CONDITIONAL EXPECTATION

Make sure you understand “Conditional expectation” before using it.

So try to focus on the following slide.

27

Page 28: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊 =?

28

𝑨 𝑩

𝒗𝟏 𝒗𝟐 𝒗𝟑 … 𝒗𝒊 𝒗𝒊+𝟏 𝒗𝒏

𝑽𝒊

Page 29: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊 =?

|𝑬(𝑽𝒊𝑨, 𝑽𝒊

𝑩)| +

|𝑬(𝑽\𝑽𝒊)|/𝟐

29

𝑨 𝑩

𝒗𝟏 𝒗𝟐 𝒗𝟑 … 𝒗𝒊 𝒗𝒊+𝟏 𝒗𝒏

𝑽𝒊

𝑽𝒊𝑨 𝑽𝒊

𝑩

Page 30: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

DERANDOMIZATION USING CONDITIONAL EXPECTATION

30

Page 31: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

The Binary tree associated with the Randomized algorithm

31

𝒏

𝐄 𝒁

𝐄 𝒁 𝒙𝟏 = 𝟏 𝐄 𝒁 𝒙𝟏 = 𝟎

𝐄 𝒁 𝒙𝟐 = 𝟏, 𝒙𝟏 = 𝟏

A cut of value ≥ 𝒎/𝟐

Page 32: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Role of conditional expectation

𝐄 𝒁 𝐄 𝒁 𝒙𝟏 = 𝟏 𝐄 𝒁 𝒙𝟏 = 𝟎

Either 𝐄 𝒁 𝒙𝟏 = 𝟏 ≥ 𝐄 𝒁

or 𝐄 𝒁 𝒙𝟏 = 𝟎 ≥ 𝐄 𝒁

In general,

𝐄 𝒁|𝑿𝒊 = 𝑪𝒊 =

𝟏

𝟐𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟏 +

𝟏

𝟐𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟎

Either 𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟏 ≥ 𝐄 𝒁|𝑿𝒊 = 𝑪𝒊

or 𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟎 ≥ 𝐄 𝒁|𝑿𝒊 = 𝑪𝒊

32

= 𝟏

𝟐 +

𝟏

𝟐

Page 33: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Using Conditional expectation

𝒎

𝟐= 𝐄 𝒁

We wish to make choices for 𝒙𝒋’s such that

𝐄 𝒁 ≤ 𝐄 𝒁 𝒙𝟏 = 𝒄𝟏 ≤ 𝐄 𝒁 𝒙𝟐 = 𝒄𝟐, 𝒙𝟏 = 𝒄𝟏

≤ 𝐄 𝒁|𝑿𝒏 = 𝑪𝒏

IDEA:

Given that 𝐄 𝒁|𝑿𝒊 = 𝑪𝒊 ≥𝒎

𝟐, choose that value for 𝒙𝒊+𝟏 such that

𝐄 𝒁|𝑿𝒊+𝟏 = 𝑪𝒊+𝟏 ≥ 𝐄 𝒁|𝑿𝒊 = 𝑪𝒊

33

Page 34: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊 ≥𝒎

𝟐

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊 = |𝑬(𝑽𝒊𝑨, 𝑽𝒊

𝑩)| + |𝑬(𝑽\𝑽𝒊)|/𝟐

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊 =𝟏

𝟐𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟏 +

𝟏

𝟐𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟎

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟏 = ??

𝐄 𝒁 𝑿𝒊 = 𝑪𝒊, 𝒙𝒊+𝟏 = 𝟎 = ??

Question: Should we assign 𝒗𝒊+𝟏 to 𝑨 or to 𝑩 ?

Assign 𝒗𝒊+𝟏 to 𝑨 if |𝑬(𝒗𝒊+𝟏, 𝑽𝒊𝑩)| ≥ |𝑬(𝒗𝒊+𝟏, 𝑽𝒊

𝑨)|

34

|𝑬(𝑽𝒊𝑨, 𝑽𝒊

𝑩)| + |𝑬(𝒗𝒊+𝟏, 𝑽𝒊𝑩)| + |𝑬(𝑽\𝑽𝒊+𝟏)|/𝟐

|𝑬(𝑽𝒊𝑨, 𝑽𝒊

𝑩)| + |𝑬(𝒗𝒊+𝟏, 𝑽𝒊𝑨)| + |𝑬(𝑽\𝑽𝒊+𝟏)|/𝟐

Page 35: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Making Choice for 𝒗𝒊+𝟏

35

𝑨 𝑩

𝒗𝟏 𝒗𝟐 𝒗𝟑 … 𝒗𝒊 𝒗𝒊+𝟏 𝒗𝒏

𝑽𝒊

𝑽𝒊𝑨 𝑽𝒊

𝑩

𝒗𝒊+𝟏 𝒗𝒊+𝟏

Page 36: Randomized Algorithms - ict.iitk.ac.in · derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm,

Deterministic algorithm for Large cut

Input: 𝑮 = (𝑽, 𝑬)

𝑨∅; 𝑩∅;

For each vertex 𝒗 ∈ 𝑽

{ if |𝑬(𝒗,𝑩)|> |𝑬(𝒗, 𝑨)|

Add 𝒗 to 𝑨;

else

Add 𝒗 to 𝑩;

}

return the cut defined by (𝑨, 𝑩).

Time Complexity: O(𝒎).

Theorem: There is a deterministic O(𝒎) time algorithm to compute a cut of size at least 𝒎/𝟐 in any given undirected graph.

36

• This was a simple example of using conditional expectation to derandomize a randomized algorithm. But it conveys the crux of this powerful method. In order to use it to derandomize any other algorithm, all you might need is creative and analytical skills.

• Also remember, we can not hope to derandomize every randomized algorithm. But if it is possible to derandomize an algorithm, conditional expectation may prove to be a very useful tool.