randomized algorithms cs648 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Randomized Algorithms CS648 PowerPoint Presentation
Download Presentation
Randomized Algorithms CS648

Loading in 2 Seconds...

play fullscreen
1 / 18

Randomized Algorithms CS648 - PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on

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

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

PowerPoint Slideshow about 'Randomized Algorithms CS648' - ceana


An Image/Link below is provided (as is) to download presentation

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 algorithms cs648

Randomized AlgorithmsCS648

Lecture 24

Random bit complexity

Derandomization

random bit complexity
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
Types of independences

Definition: are said to be mutually independent if

Definition: are said to be pairwise independent if

for every

types of independences1
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
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.

generating uniformly random and pairwise independent bits1
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

{ }

{ }

{ }

{ }

{ , }

{ , }

{ ,, }

generating uniformly random and pairwise independent bits2
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 ;

 ∙∙∙

}

generating uniformly random and pairwise independent bits3
GeneratingUniformly Randomandpairwise independent Bits

,

Lemma: Each is a uniformly random bit.

Proof: Let = ∙∙∙

generating uniformly random and pairwise independent bits4
GeneratingUniformly Randomandpairwise independent Bits

,

Lemma: ’s are pairwise independent.

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

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

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

Let .

large cut in a graph
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 graph1
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 graph2
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 …

large cut in a graph3
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 graph4
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 ?

Answer:

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()

large cut in a graph5
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.