Notes on Randomized Algorithms CS 469/569: Fall 2014 James Aspnes 2014-12-17 20:04 Contents Table of contents i List of figures xi List of tables xii List of algorithms xiii Preface xiv Syllabus xv Lecture schedule xviii 1 Randomized algorithms 1 1.1 A trivial example . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Verifying polynomial identities . . . . . . . . . . . . . . . . . 3 1.3 Randomized QuickSort . . . . . . . . . . . . . . . . . . . . . . 5 1.3.1 Brute force method: solve the recurrence . . . . . . . 5 1.3.2 Clever method: use linearity of expectation . . . . . . 6 1.4 Classifying randomized algorithms by their goals . . . . . . . 8 1.4.1 Las Vegas vs Monte Carlo . . . . . . . . . . . . . . . . 8 1.4.2 Randomized complexity classes . . . . . . . . . . . . . 9 1.5 Classifying randomized algorithms by their methods . . . . . 10 2 Probability theory 12 2.1 Probability spaces and events . . . . . . . . . . . . . . . . . . 13 2.1.1 General probability spaces . . . . . . . . . . . . . . . . 13 2.2 Boolean combinations of events . . . . . . . . . . . . . . . . . 15 2.3 Conditional probability . . . . . . . . . . . . . . . . . . . . . 17 i CONTENTS ii 2.3.1 Application to algorithm analysis . . . . . . . . . . . . 18 2.3.1.1 Racing coin-flips . . . . . . . . . . . . . . . . 19 2.3.1.2 Karger’s min-cut algorithm . . . . . . . . . . 21 2.3.2 Conditional probability and independence . . . . . . . 22 3 Random variables 23 3.1 Operations on random variables . . . . . . . . . . . . . . . . . 24 3.2 Random variables and events . . . . . . . . . . . . . . . . . . 24 3.3 Measurability . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4 Expectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.1 Linearity of expectation . . . . . . . . . . . . . . . . . 27 3.4.1.1 Linearity of expectation for infinite sequences 28 3.4.2 Expectation of a product . . . . . . . . . . . . . . . . 29 3.4.2.1 Wald’s equation (simple version) . . . . . . . 29 3.5 Conditional expectation . . . . . . . . . . . . . . . . . . . . . 31 3.5.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.5.2 Properties of conditional expectations . . . . . . . . . 33 3.6 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.6.1 Geometric random variables . . . . . . . . . . . . . . . 35 3.6.2 Coupon collector . . . . . . . . . . . . . . . . . . . . . 36 3.6.3 Hoare’s FIND . . . . . . . . . . . . . . . . . . . . . . . 37 4 Basic probabilistic inequalities 39 4.1 Union bound (Boole’s inequality) . . . . . . . . . . . . . . . . 39 4.1.1 Applications . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.1.1 Balls in bins . . . . . . . . . . . . . . . . . . 40 4.1.1.2 Independent sets . . . . . . . . . . . . . . . . 40 4.2 Markov’s inequality . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.1 Applications . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.1.1 The union bound . . . . . . . . . . . . . . . 41 4.2.1.2 Fair coins . . . . . . . . . . . . . . . . . . . . 42 4.2.1.3 Randomized QuickSort . . . . . . . . . . . . 42 4.2.1.4 Balls in bins . . . . . . . . . . . . . . . . . . 42 4.3 Jensen’s inequality . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1 Applications . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.1.1 Fair coins: lower bound . . . . . . . . . . . . 43 4.3.1.2 Fair coins: upper bound . . . . . . . . . . . . 43 4.3.1.3 Sifters . . . . . . . . . . . . . . . . . . . . . . 44 CONTENTS iii 5 Concentration bounds 46 5.1 Chebyshev’s inequality . . . . . . . . . . . . . . . . . . . . . . 46 5.1.1 Computing variance . . . . . . . . . . . . . . . . . . . 47 5.1.1.1 Alternative formula . . . . . . . . . . . . . . 47 5.1.1.2 Variance of a Bernoulli random variable . . . 48 5.1.1.3 Variance of a sum . . . . . . . . . . . . . . . 48 5.1.1.4 Variance of a geometric random variable . . 49 5.1.2 More examples . . . . . . . . . . . . . . . . . . . . . . 53 5.1.2.1 Flipping coins . . . . . . . . . . . . . . . . . 53 5.1.2.2 Balls in bins . . . . . . . . . . . . . . . . . . 53 5.1.2.3 Lazy select . . . . . . . . . . . . . . . . . . . 54 5.2 Chernoff bounds . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.2.1 The classic Chernoff bound . . . . . . . . . . . . . . . 56 5.2.2 Easier variants . . . . . . . . . . . . . . . . . . . . . . 58 5.2.3 Lower bound version . . . . . . . . . . . . . . . . . . . 59 5.2.4 Two-sided version . . . . . . . . . . . . . . . . . . . . 59 5.2.5 Other tail bounds for the binomial distribution . . . . 60 5.2.6 Applications . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.6.1 Flipping coins . . . . . . . . . . . . . . . . . 60 5.2.6.2 Balls in bins again . . . . . . . . . . . . . . . 60 5.2.6.3 Flipping coins, central behavior . . . . . . . 61 5.2.6.4 Permutation routing on a hypercube . . . . . 62 5.3 The Azuma-Hoeffding inequality . . . . . . . . . . . . . . . . 64 5.3.1 Hoeffding’s inequality . . . . . . . . . . . . . . . . . . 65 5.3.2 Azuma’s inequality . . . . . . . . . . . . . . . . . . . . 68 5.3.3 The method of bounded differences . . . . . . . . . . . 72 5.3.4 Applications . . . . . . . . . . . . . . . . . . . . . . . 73 5.3.4.1 Sprinkling points on a hypercube . . . . . . . 73 5.3.4.2 Chromatic number of a random graph . . . . 74 5.3.4.3 Balls in bins . . . . . . . . . . . . . . . . . . 74 5.3.4.4 Probabilistic recurrence relations . . . . . . . 74 5.3.4.5 Multi-armed bandits . . . . . . . . . . . . . . 76 The UCB1 algorithm . . . . . . . . . . . . . . . 77 Analysis of UCB1 . . . . . . . . . . . . . . . . . 78 5.4 Anti-concentration bounds . . . . . . . . . . . . . . . . . . . . 80 5.4.1 The Berry-Esseen theorem. . . . . . . . . . . . . . . . 81 5.4.2 The Littlewood-Offord problem . . . . . . . . . . . . . 81 CONTENTS iv 6 Randomized search trees 83 6.1 Binary search trees . . . . . . . . . . . . . . . . . . . . . . . . 83 6.1.1 Rebalancing and rotations . . . . . . . . . . . . . . . . 84 6.2 Random insertions . . . . . . . . . . . . . . . . . . . . . . . . 84 6.3 Treaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.3.1 Assumption of an oblivious adversary . . . . . . . . . 88 6.3.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.3.2.1 Searches . . . . . . . . . . . . . . . . . . . . 89 6.3.2.2 Insertions and deletions . . . . . . . . . . . . 90 6.3.2.3 Other operations . . . . . . . . . . . . . . . . 91 6.4 Skip lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7 Hashing 94 7.1 Hash tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.2 Universal hash families . . . . . . . . . . . . . . . . . . . . . . 96 7.2.1 Linear congruential hashing . . . . . . . . . . . . . . . 97 7.2.2 Tabulation hashing . . . . . . . . . . . . . . . . . . . . 99 7.3 FKS hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.4 Cuckoo hashing . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4.1 Structure . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.5 Practical issues . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.6 Bloom filters . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.6.1 Construction . . . . . . . . . . . . . . . . . . . . . . . 105 7.6.2 False positives . . . . . . . . . . . . . . . . . . . . . . 105 7.6.3 Comparison to optimal space . . . . . . . . . . . . . . 108 7.6.4 Applications . . . . . . . . . . . . . . . . . . . . . . . 108 7.6.5 Counting Bloom filters . . . . . . . . . . . . . . . . . . 109 7.6.6 Count-min sketches . . . . . . . . . . . . . . . . . . . 110 7.6.6.1 Initialization and updates . . . . . . . . . . . 110 7.6.6.2 Queries . . . . . . . . . . . . . . . . . . . . . 111 7.6.6.3 Finding heavy hitters . . . . . . . . . . . . . 113 7.7 Locality-sensitive hashing (not covered Fall 2014) . . . . . . . 114 7.7.1 Approximate nearest neighbor search . . . . . . . . . . 114 7.7.1.1 Locality-sensitive hash functions . . . . . . . 115 7.7.1.2 Constructing an (r ,r )-PLEB . . . . . . . . 116 1 2 7.7.1.3 Hash functions for Hamming distance . . . . 117 7.7.1.4 Hash functions for ‘ distance . . . . . . . . 119 1 CONTENTS v 8 Martingales and stopping times 121 8.1 Submartingales and supermartingales . . . . . . . . . . . . . 122 8.2 The optional stopping theorem . . . . . . . . . . . . . . . . . 123 8.3 Proof of the optional stopping theorem (optional) . . . . . . . 124 8.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 8.4.1 Random walks . . . . . . . . . . . . . . . . . . . . . . 126 8.4.2 Wald’s equation . . . . . . . . . . . . . . . . . . . . . 128 8.4.3 Waiting times for patterns . . . . . . . . . . . . . . . . 129 9 Markov chains 130 9.1 Basic definitions and properties . . . . . . . . . . . . . . . . . 130 9.1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 132 9.1.2 Classification of states . . . . . . . . . . . . . . . . . . 133 9.1.3 Reachability. . . . . . . . . . . . . . . . . . . . . . . . 135 9.2 Stationary distributions . . . . . . . . . . . . . . . . . . . . . 135 9.2.1 The ergodic theorem . . . . . . . . . . . . . . . . . . . 136 9.2.1.1 Proof for finite chains . . . . . . . . . . . . . 137 9.3 Reversible chains . . . . . . . . . . . . . . . . . . . . . . . . . 138 9.3.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 139 9.3.2 Time-reversed chains . . . . . . . . . . . . . . . . . . . 140 9.3.3 The Metropolis-Hastings algorithm . . . . . . . . . . . 141 9.4 The coupling method . . . . . . . . . . . . . . . . . . . . . . . 142 9.4.1 Total variation distance . . . . . . . . . . . . . . . . . 143 9.4.2 The coupling lemma . . . . . . . . . . . . . . . . . . . 143 9.4.3 Random walk on a cycle . . . . . . . . . . . . . . . . . 144 9.4.4 Random walk on a hypercube . . . . . . . . . . . . . . 146 9.4.5 Various shuffling algorithms . . . . . . . . . . . . . . . 146 9.4.5.1 Move-to-top . . . . . . . . . . . . . . . . . . 147 9.4.5.2 Random exchange of arbitrary cards . . . . . 147 9.4.5.3 Random exchange of adjacent cards . . . . . 148 9.4.5.4 Real-world shuffling . . . . . . . . . . . . . . 149 9.4.6 Path coupling . . . . . . . . . . . . . . . . . . . . . . . 149 9.4.6.1 Sampling graph colorings . . . . . . . . . . . 151 9.4.6.2 Sampling independent sets . . . . . . . . . . 153 9.4.6.3 Metropolis-Hastings and simulated annealing 157 Single peak . . . . . . . . . . . . . . . . . . . . 158 Single peak with very small amounts of noise . 158 9.5 Spectral methods for reversible chains . . . . . . . . . . . . . 159 9.5.1 Spectral properties of a reversible chain . . . . . . . . 159 9.5.2 Analysis of symmetric chains . . . . . . . . . . . . . . 160 CONTENTS vi 9.5.3 Analysis of asymmetric chains. . . . . . . . . . . . . . 162 9.5.4 Conductance . . . . . . . . . . . . . . . . . . . . . . . 163 9.5.5 Easy cases for conductance . . . . . . . . . . . . . . . 164 9.5.6 Edge expansion using canonical paths . . . . . . . . . 165 9.5.7 Congestion . . . . . . . . . . . . . . . . . . . . . . . . 166 9.5.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 168 9.5.8.1 Lazy random walk on a line. . . . . . . . . . 168 9.5.8.2 Random walk on a hypercube . . . . . . . . 168 9.5.8.3 Matchings in a graph . . . . . . . . . . . . . 169 9.5.8.4 Perfect matchings in dense bipartite graphs . 171 10 Approximate counting 173 10.1 Exact counting . . . . . . . . . . . . . . . . . . . . . . . . . . 173 10.2 Counting by sampling . . . . . . . . . . . . . . . . . . . . . . 174 10.3 Approximating #DNF . . . . . . . . . . . . . . . . . . . . . . 175 10.4 Approximating #KNAPSACK . . . . . . . . . . . . . . . . . 176 10.5 Approximating exponentially improbable events . . . . . . . . 178 10.5.1 Matchings . . . . . . . . . . . . . . . . . . . . . . . . . 179 10.5.2 Other applications . . . . . . . . . . . . . . . . . . . . 180 11 The probabilistic method 181 11.1 Randomized constructions and existence proofs . . . . . . . . 181 11.1.1 Unique hats . . . . . . . . . . . . . . . . . . . . . . . . 182 11.1.2 Ramsey numbers . . . . . . . . . . . . . . . . . . . . . 183 11.1.3 Directed cycles in tournaments . . . . . . . . . . . . . 185 11.2 Approximation algorithms . . . . . . . . . . . . . . . . . . . . 185 11.2.1 MAX CUT . . . . . . . . . . . . . . . . . . . . . . . . 186 11.2.2 MAX SAT . . . . . . . . . . . . . . . . . . . . . . . . 187 11.3 The Lovász Local Lemma . . . . . . . . . . . . . . . . . . . . 190 11.3.1 General version . . . . . . . . . . . . . . . . . . . . . . 191 11.3.2 Symmetric version . . . . . . . . . . . . . . . . . . . . 191 11.3.3 Applications . . . . . . . . . . . . . . . . . . . . . . . 192 11.3.3.1 Graph coloring . . . . . . . . . . . . . . . . . 192 11.3.3.2 Satisfiability of k-CNF formulas . . . . . . . 192 11.3.4 Non-constructive proof . . . . . . . . . . . . . . . . . . 193 11.3.5 Constructive proof . . . . . . . . . . . . . . . . . . . . 196 12 Derandomization 200 12.1 Deterministic vs. randomized algorithms . . . . . . . . . . . . 201 12.2 Adleman’s theorem . . . . . . . . . . . . . . . . . . . . . . . . 202 CONTENTS vii 12.3 Limited independence . . . . . . . . . . . . . . . . . . . . . . 203 12.3.1 MAX CUT . . . . . . . . . . . . . . . . . . . . . . . . 203 12.4 The method of conditional probabilities . . . . . . . . . . . . 204 12.4.1 A trivial example . . . . . . . . . . . . . . . . . . . . . 205 12.4.2 Deterministic construction of Ramsey graphs . . . . . 205 12.4.3 MAX CUT using conditional probabilities . . . . . . . 206 12.4.4 Set balancing . . . . . . . . . . . . . . . . . . . . . . . 207 13 Quantum computing 208 13.1 Random circuits . . . . . . . . . . . . . . . . . . . . . . . . . 208 13.2 Bra-ket notation . . . . . . . . . . . . . . . . . . . . . . . . . 211 13.2.1 States as kets . . . . . . . . . . . . . . . . . . . . . . . 211 13.2.2 Operators as sums of kets times bras . . . . . . . . . . 212 13.3 Quantum circuits . . . . . . . . . . . . . . . . . . . . . . . . . 212 13.3.1 Quantum operations . . . . . . . . . . . . . . . . . . . 214 13.3.2 Quantum implementations of classical operations . . . 215 13.3.3 Representing Boolean functions . . . . . . . . . . . . . 216 13.3.4 Practical issues (which we will ignore) . . . . . . . . . 217 13.3.5 Quantum computations . . . . . . . . . . . . . . . . . 217 13.4 Deutsch’s algorithm . . . . . . . . . . . . . . . . . . . . . . . 217 13.5 Grover’s algorithm . . . . . . . . . . . . . . . . . . . . . . . . 219 13.5.1 Initial superposition . . . . . . . . . . . . . . . . . . . 219 13.5.2 The Grover diffusion operator . . . . . . . . . . . . . . 219 13.5.3 Effect of the iteration . . . . . . . . . . . . . . . . . . 220 A Assignments 223 A.1 Assignment 1: due Wednesday, 2014-09-10, at 17:00 . . . . . 223 A.1.1 Bureaucratic part. . . . . . . . . . . . . . . . . . . . . 223 A.1.2 Two terrible data structures . . . . . . . . . . . . . . . 223 A.1.3 Parallel graph coloring . . . . . . . . . . . . . . . . . . 227 A.2 Assignment 2: due Wednesday, 2014-09-24, at 17:00 . . . . . 229 A.2.1 Load balancing . . . . . . . . . . . . . . . . . . . . . . 229 A.2.2 A missing hash function . . . . . . . . . . . . . . . . . 229 A.3 Assignment 3: due Wednesday, 2014-10-08, at 17:00 . . . . . 230 A.3.1 Tree contraction . . . . . . . . . . . . . . . . . . . . . 230 A.3.2 Part testing . . . . . . . . . . . . . . . . . . . . . . . . 233 Using McDiarmid’s inequality and some clev- erness . . . . . . . . . . . . . . . . . 234 A.4 Assignment 4: due Wednesday, 2014-10-29, at 17:00 . . . . . 235 A.4.1 A doubling strategy . . . . . . . . . . . . . . . . . . . 235 CONTENTS viii A.4.2 Hash treaps . . . . . . . . . . . . . . . . . . . . . . . . 236 A.5 Assignment 5: due Wednesday, 2014-11-12, at 17:00 . . . . . 237 A.5.1 Agreement on a ring . . . . . . . . . . . . . . . . . . . 237 A.5.2 Shuffling a two-dimensional array . . . . . . . . . . . . 240 A.6 Assignment 6: due Wednesday, 2014-12-03, at 17:00 . . . . . 241 A.6.1 Sampling colorings on a cycle . . . . . . . . . . . . . . 241 A.6.2 A hedging problem . . . . . . . . . . . . . . . . . . . . 242 A.7 Final exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 A.7.1 Double records (20 points) . . . . . . . . . . . . . . . 244 A.7.2 Hipster graphs (20 points) . . . . . . . . . . . . . . . . 245 Using the method of conditional probabilities . 245 Using hill climbing . . . . . . . . . . . . . . . . 246 A.7.3 Storage allocation (20 points) . . . . . . . . . . . . . . 246 A.7.4 Fault detectors in a grid (20 points) . . . . . . . . . . 247 B Sample assignments from Spring 2013 250 B.1 Assignment 1: due Wednesday, 2013-01-30, at 17:00 . . . . . 250 B.1.1 Bureaucratic part. . . . . . . . . . . . . . . . . . . . . 250 B.1.2 Balls in bins. . . . . . . . . . . . . . . . . . . . . . . . 250 B.1.3 A labeled graph . . . . . . . . . . . . . . . . . . . . . 251 B.1.4 Negative progress . . . . . . . . . . . . . . . . . . . . . 251 B.2 Assignment 2: due Thursday, 2013-02-14, at 17:00 . . . . . . 253 B.2.1 A local load-balancing algorithm . . . . . . . . . . . . 253 B.2.2 An assignment problem . . . . . . . . . . . . . . . . . 255 B.2.3 Detecting excessive collusion . . . . . . . . . . . . . . 255 B.3 Assignment 3: due Wednesday, 2013-02-27, at 17:00 . . . . . 257 B.3.1 Going bowling . . . . . . . . . . . . . . . . . . . . . . 257 B.3.2 Unbalanced treaps . . . . . . . . . . . . . . . . . . . . 258 B.3.3 Random radix trees . . . . . . . . . . . . . . . . . . . 260 B.4 Assignment 4: due Wednesday, 2013-03-27, at 17:00 . . . . . 261 B.4.1 Flajolet-Martin sketches with deletion . . . . . . . . . 261 B.4.2 An adaptive hash table . . . . . . . . . . . . . . . . . 263 B.4.3 An odd locality-sensitive hash function . . . . . . . . . 265 B.5 Assignment 5: due Friday, 2013-04-12, at 17:00 . . . . . . . . 266 B.5.1 Choosing a random direction . . . . . . . . . . . . . . 266 B.5.2 Random walk on a tree . . . . . . . . . . . . . . . . . 267 B.5.3 Sampling from a tree . . . . . . . . . . . . . . . . . . . 268 B.6 Assignment 6: due Friday, 2013-04-26, at 17:00 . . . . . . . . 270 B.6.1 Increasing subsequences . . . . . . . . . . . . . . . . . 270 B.6.2 Futile word searches . . . . . . . . . . . . . . . . . . . 271 CONTENTS ix B.6.3 Balance of power . . . . . . . . . . . . . . . . . . . . . 272 B.7 Final exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 B.7.1 Dominating sets . . . . . . . . . . . . . . . . . . . . . 273 B.7.2 Tricolor triangles . . . . . . . . . . . . . . . . . . . . . 274 B.7.3 The n rooks problem . . . . . . . . . . . . . . . . . . . 275 B.7.4 Pursuing an invisible target on a ring . . . . . . . . . 275 C Sample assignments from Spring 2011 278 C.1 Assignment 1: due Wednesday, 2011-01-26, at 17:00 . . . . . 278 C.1.1 Bureaucratic part. . . . . . . . . . . . . . . . . . . . . 278 C.1.2 Rolling a die . . . . . . . . . . . . . . . . . . . . . . . 278 C.1.3 Rolling many dice . . . . . . . . . . . . . . . . . . . . 280 C.1.4 All must have candy . . . . . . . . . . . . . . . . . . . 280 C.2 Assignment 2: due Wednesday, 2011-02-09, at 17:00 . . . . . 281 C.2.1 Randomized dominating set . . . . . . . . . . . . . . . 281 C.2.2 Chernoff bounds with variable probabilities . . . . . . 283 C.2.3 Long runs . . . . . . . . . . . . . . . . . . . . . . . . . 284 C.3 Assignment 3: due Wednesday, 2011-02-23, at 17:00 . . . . . 286 C.3.1 Longest common subsequence . . . . . . . . . . . . . . 286 C.3.2 A strange error-correcting code . . . . . . . . . . . . . 288 C.3.3 A multiway cut . . . . . . . . . . . . . . . . . . . . . . 289 C.4 Assignment 4: due Wednesday, 2011-03-23, at 17:00 . . . . . 290 C.4.1 Sometimes successful betting strategies are possible . 290 C.4.2 Random walk with reset . . . . . . . . . . . . . . . . . 292 C.4.3 Yet another shuffling algorithm . . . . . . . . . . . . . 294 C.5 Assignment 5: due Thursday, 2011-04-07, at 23:59 . . . . . . 295 C.5.1 A reversible chain . . . . . . . . . . . . . . . . . . . . 295 C.5.2 Toggling bits . . . . . . . . . . . . . . . . . . . . . . . 296 C.5.3 Spanning trees . . . . . . . . . . . . . . . . . . . . . . 298 C.6 Assignment 6: due Monday, 2011-04-25, at 17:00 . . . . . . . 299 C.6.1 Sparse satisfying assignments to DNFs . . . . . . . . . 299 C.6.2 Detecting duplicates . . . . . . . . . . . . . . . . . . . 300 C.6.3 Balanced Bloom filters . . . . . . . . . . . . . . . . . . 301 C.7 Final exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 C.7.1 Leader election . . . . . . . . . . . . . . . . . . . . . . 304 C.7.2 Two-coloring an even cycle . . . . . . . . . . . . . . . 305 C.7.3 Finding the maximum . . . . . . . . . . . . . . . . . . 306 C.7.4 Random graph coloring . . . . . . . . . . . . . . . . . 307
Description: