Randomized Algorithms CS648

1 / 18

# Randomized Algorithms CS648 - PowerPoint PPT Presentation

Randomized Algorithms CS648. Lecture 24 Random bit complexity Derandomization. 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. . Input. A Randomized Algorithm

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Randomized Algorithms CS648' - ceana

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Randomized AlgorithmsCS648

Lecture 24

Random bit complexity

Derandomization

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.

Input

A Randomized Algorithm

(for Min-Cut, QuickSort, RIC,…)

Random Bit generator

Types of independences

Definition: are said to be mutually independent if

Definition: are said to be pairwise independent if

for every

Types of independences

Definition: are said to be mutually independent random variables if

for any

Definition:are said to be pairwise independent random variables if

for every and every

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 pairwiseindependent random bits using

Only mutually independent random bits.

We shall now prove this theorem.

GeneratingUniformly Randomandpairwise independentBits

Let be mutually independent random bits.

Aim: To generate pairwise independent random bits

Key idea: Generate all non-empty subsets of {}

Ex:

Why the XOR operation ? You should get its answer yourself after a few slides…

2 1 0

{ }

{ }

{ }

{ }

{ , }

{ , }

{ ,, }

GeneratingUniformly Randomandpairwise independent Bits

Let be mutually independent random bits.

Aim: To generate pairwise independent random bits

Algorithm:

For to

{

Consider binary representation of ;

Let the bits at places only (in this representation) are ;

 ∙∙∙

}

GeneratingUniformly Randomandpairwise independent Bits

,

Lemma: Each is a uniformly random bit.

Proof: Let = ∙∙∙

GeneratingUniformly Randomandpairwise independent Bits

,

Lemma: ’s are pairwise independent.

Proof: Let = ∙∙∙ and = ∙∙∙

{,,…,} ≠ {,,…,}

Without loss of generality, let {,,…,}

Let .

Large cut in a graph

Theorem:(We proved in Lecture 20)

Let be an undirected graph on vertices and edges. There exists a cut of size at least .

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.

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 ?

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

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

IDEA : Use only pairwise independent random bits.

But will it still ensure E[] =? Let us see …

Large cut in a graph

: the pairwise independent random variable for each vertex.

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

E[] = ??

• E[]
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 random bits does the algorithm require now ?

Question: What is the size of now ?

Deterministic algorithm:

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

Running time: O()

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.

In the next class we shall discuss a powerful technique called “Method of Conditional Expectation” to design a O() time algorithm for computing a cut of size at least .

We shall conclude this course with a beautiful puzzle.