Probability and Computing: Randomized Algorithms and Probabilistic Analysis

Michael Mitzenmacher, Eli Upfal





Randomization and probabilistic techniques play an important role in modern computer science, with applications ranging from combinatorial optimization and machine learning to communication networks and secure protocols. This textbook is designed to accompany a one- or two-semester course for advanced undergraduates or beginning graduate students in computer science and applied mathematics. It gives an excellent introduction to the probabilistic techniques and paradigms used in the development of probabilistic algorithms and analyses. It assumes only an elementary background in discrete mathematics and gives a rigorous yet accessible treatment of the material, with numerous examples and applications. The first half of the book covers core material, including random sampling, expectations, Markov’s inequality, Chevyshev’s inequality, Chernoff bounds, balls and bins models, the probabilistic method, and Markov chains. In the second half, the authors delve into more advanced topics such as continuous probability, applications of limited independence, entropy, Markov chain Monte Carlo methods, coupling, martingales, and balanced allocations. With its comprehensive selection of topics, along with many examples and exercises, this book is an indispensable teaching tool.

• Contains needed background material to understand many subdisciplines of computer science
• Many examples and exercises
• Provides introduction to both core subject matter and advanced topics


Table of Contents

Preface; 1. Events and probability; 2. Discrete random variables and expectation; 3. Moments and deviations; 4. Chernoff bounds; 5. Balls, bins and random graphs; 6. The probabilistic method; 7. Markov chains and random walks; 8. Continuous distributions and the Poisson process; 9. Entropy, randomness, and information; 10. The Monte Carlo method; 11. Coupling of Markov chains; 12. Martingales; 13. Pairwise independence and universal hash functions; 14. Balanced allocations; References.