Assuming only an elementary background in discrete mathematics, this textbook is an excellent introduction to the probabilistic techniques and paradigms used in the development of probabilistic algorithms and analyses. It includes random sampling, expectations, Markov's and Chevyshev's inequalities, Chernoff bounds, balls and bins models, the probabilistic method, Markov chains, MCMC, martingales, entropy, and other topics. The book is designed to accompany a one- or two-semester course for graduate students in computer science and applied mathematics.

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

### Reviews

"An excellent book which sets off straight away in Chapter 1 with interesting motivational examples, striking the right balance between theory and application. Having both breadth and depth it is accessible and interesting to both undergraduate and graduate students. It takes the reader all the way from introductory to advanced topics and leaves them empowered with the tools to continue research on their own...It's obviously written by people who understand the subject inside out and how to explain it to students. Buy it, read it enjoy it; profit from it. It feels as if it has been well tested out on students and will work straight away."
*Colin Cooper, King's College, University of London*

"An exciting new book on randomized algorithms. It nicely covers all the basics, and also has some interesting modern applications for the more advanced student."
*Alan Frieze, Carnegie-Mellon University*

"This text provides a solid background in probabilistic techniques, illustrating each with well-chosen examples. The explanations are clear, and convey the intuition behind the results and techniques, yet the coverage is rigorous. An excellent advanced undergraduate text."
*Peter Bartlett, University of California, Berkeley*

"Probability is part of the conceptual core of modern computer science. Probabilistic analysis of algorithms, randomized algorithms and probabilistic combinatorial constructions have become fundamental tools for computer science and applied mathematics. This book provides a thorough grounding in discrete probability and its applications in computing,at a level accessible to advanced undergraduates in the computational, mathematical and engineering sciences."
*Richard M. Karp, University of California, Berkeley*

"This text presents a clear exposition of the tools of probabilistic analysis from the very basics to more advanced topics. In addition, each chapter offers a well-chosen set of problems for a range of abilities. This book is suitable for upper division undergraduates and first year graduate students in computer science and related disciplines. It will also be useful as a reference for researchers who would like to incorporate these tools into their work. I enjoyed teaching from the book and highly recommend it."
*Valerie King, University of Victoria*

"The structure and pace of this book are well matched to the intended audience. The authors consistently maintain a good balance between theory and applications...Good students will be challenged and yet average students will find the text very readable. This is a very attractive textbook."
*MAA, Bill Satzer*

"The book can be used for self-study since there are exercises in each chapter."
*Mathematics of Computation*

“Because of the widespread interest in the subject, a textbook covering randomization in computer science must…be many things to many different people: it should serve as an introduction to the area for an undergraduate or graduate student interested in randomized algorithms; a survey of applications and techniques for the general computer scientist; and also a solid reference for the advanced researcher. I am pleased to say that Probability and Computing…succeeds on all these fronts. I found the book a joy to read: the writing is clear and concise, the proofs are well-structured, and the writing style invites the reader to explore the material. The book is also organized very well, and the selection of topics is excellent. I have already used the book multiple times as a reference, and have found it incredibly useful each time.” *Jonathan Katz, Department of Computer Science, University of Maryland for SIGACT News*

"...this book is an authoritative and up-to-date reference on the implementation of the simplex method. For the audience of readers who are interested in implementing the simplex method it is a 'must read.'"
*Brian Borchers, University of Maryland at College Park, MD*

"A well conceived textbook... It is an attractive feature of the book that many concepts are motivated by examples and illustrated with probabilistic algorithms from computer science..."
*Harald Niederreiter for Mathematics of Computation*

"Mitzenmacher and Upfal have written an excellent introductory textbook on the role of randomness in algorithms and computer simulation. I would recommend it to anyone looking for a fresh approach to the basics of probability."
*Max Buot, Carnegie Mellon University, Journal of the American Statistical Association*

"The exposition is clear and the development carefully paced and well motivated."
*Mark R. Jerrum, Mathematical Reviews*