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 2005 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, the probabilistic method and Markov chains. The second half covers more advanced topics such as continuous probability, applications of limited independence, entropy, Markov chain Monte Carlo methods 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

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

'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, Professor of Computer Science, University of California, Berkeley

'This book is suitable as a text 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, Professor of Computer Science, University of Victoria, British Columbia

'Buy it, read it, enjoy it; profit from it. it feels as if it has been well tested out of students and will work straight away.' Colin Cooper, Department of computer Science, 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, professor of Mathematics, Carnegie-Mellon University

' … very well written and contains useful material on probability theory and its application in computer science.' Zentralblatt MATH

' … this book offers a very good introduction to randomised algorithms and probabilistic analysis, both for the lecturer and independent reader alike. it is also a good book for those wanting practical examples that can be applied to real world problems.' Mathematics Today