1 / 18

Randomized Algorithms CS648

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

ceana
Download Presentation

Randomized Algorithms CS648

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Randomized AlgorithmsCS648 Lecture 24 Random bit complexity Derandomization

  2. 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

  3. Recall the notion of independence

  4. Types of independences Definition: are said to be mutually independent if Definition: are said to be pairwise independent if for every ∙

  5. 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 ∙

  6. 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.

  7. using few truly random bits Generating Uniformly Random and pairwise independent Bits

  8. 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 { } { } { } { } { , } { , } { ,, }

  9. 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 ;  ∙∙∙ }

  10. GeneratingUniformly Randomandpairwise independent Bits , Lemma: Each is a uniformly random bit. Proof: Let = ∙∙∙

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

  12. transforming a randomized algorithm into a deterministic algorithm derandomization

  13. 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 .

  14. 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. 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. Large cut in a graph : the pairwise independent random variable for each vertex. : size of cut () returned by the randomized algorithm. E[] = ?? • E[]

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

  18. 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.

More Related