randomized algorithms cs648

18
Randomized Algorithms CS648 Lecture 24 Random bit complexity Derandomization 1

Upload: ceana

Post on 23-Feb-2016

34 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Randomized Algorithms CS648

Randomized AlgorithmsCS648

Lecture 24• Random bit complexity • Derandomization

1

Page 2: Randomized Algorithms CS648

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 CS648

RECALL THE NOTION OF INDEPENDENCE

3

Page 4: Randomized Algorithms CS648

Types of independences

Definition: are said to be mutually independent if

Definition: are said to be pairwise independent if for every

4

Page 5: Randomized Algorithms CS648

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

5

Page 6: Randomized Algorithms CS648

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 pairwise independent random bits usingOnly mutually independent random bits.

We shall now prove this theorem.

6

Page 7: Randomized Algorithms CS648

GENERATING UNIFORMLY RANDOM AND PAIRWISE INDEPENDENT BITS

using few truly random bits

7

Page 8: Randomized Algorithms CS648

Generating Uniformly Random and pairwise independent Bits

Let be mutually independent random bits.Aim: To generate pairwise independent random bits Key idea: Generate all non-empty subsets of {}Ex:

8

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

{ }

{ }

{ }

{ }

{ , }

{ , }{ , , }

2 1 0

𝑋 0

𝑋 1

𝑋 2

𝑋 1⊕𝑋 0

𝑋 2⊕𝑋 0

𝑋 2⊕𝑋 1

𝑋 2⊕𝑋 1⊕𝑋 0

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

slides…

Page 9: Randomized Algorithms CS648

Generating Uniformly Random and pairwise 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 ; ∙∙∙

}

9

Page 10: Randomized Algorithms CS648

Generating Uniformly Random and pairwise independent Bits

, Lemma: Each is a uniformly random bit.Proof: Let = ∙∙∙

10

¿𝟏𝟐

Page 11: Randomized Algorithms CS648

Generating Uniformly Random and pairwise independent Bits

, Lemma: ’s are pairwise independent.Proof: Let = ∙∙∙ and = ∙∙∙{, ,…, } ≠ {, ,…, } Without loss of generality, let {, ,…, }Let .

11

𝟏𝟐

𝟏𝟐

¿𝟏𝟒

Page 12: Randomized Algorithms CS648

DERANDOMIZATION

transforming a randomized algorithm into a deterministic algorithm

12

Page 13: Randomized Algorithms CS648

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 .

13

Page 14: Randomized Algorithms CS648

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.

14

Page 15: Randomized Algorithms CS648

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 …

15

Page 16: Randomized Algorithms CS648

Large cut in a graph

: the pairwise independent random variable for each vertex.: size of cut () returned by the randomized algorithm.E[] = ??

E[]

16

¿𝒎𝟐

𝟏𝟒𝟏𝟒

Page 17: Randomized Algorithms CS648

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

17

Page 18: Randomized Algorithms CS648

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.

18