Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Probability and computing : randomized algorithms and probabilistic analysis
Mitzenmacher M., Upfal E., Cambridge University Press, New York, NY, 2005. 368 pp. Type: Book (9780521835404)
Date Reviewed: Sep 30 2005

Randomization and probabilistic techniques are important in many disciplines, especially computer science. Often, randomized algorithms are the simplest, the fastest, or both. They are applied in a number of domains, such as combinatorial optimization, machine learning, and communication networks. This textbook is intended for courses on probability and computing, and is targeted to advanced undergraduate or beginning graduate students in applied mathematics and computer science.

The book is based on courses taught by the authors at their universities. It provides first-class introductory material for understanding probabilistic techniques and paradigms in the design and analysis of probabilistic algorithms. The authors place emphasis on techniques and paradigms, and not on any particular application. A rudimentary background in discrete mathematics is a prerequisite for utilizing this book. The book includes numerous examples, applications, and exercises. The exercises are very stimulating; however, they have not been rated in terms of their difficulty. Some of the exercises involve programming. Very few exercises come with hints, and the authors have not provided a solutions manual for instructors. The authors have included some exercises from the book by Motwani and Raghavan [1], the first definitive book on the subject of randomized algorithms. This book could be used as supplement to that book, or vice versa.

The book is made up of 14 chapters. The authors believe that the first seven chapters constitute the essence of the subject. Chapter 1 introduces the basics of probability. Three applications—verifying polynomial identities, verifying matrix multiplication, and a randomized min-cut algorithm—are highlighted. Chapter 2 describes discrete random variables and expectation. The linearity of expectation, conditional expectation, Jensen’s inequality, and Bernoulli and binomial random variables are discussed. Geometric distribution is illustrated by means of the coupon collector’s problem. The expected runtime of Quicksort is shown as an application. Chapter 3 focuses on moments and deviations, Markov’s and Chebyshev’s inequalities, and a randomized algorithm for computing the median as an illustrative example. Chapter 4 discusses Chernoff bounds. The application to set balancing and packet routing in sparse networks is mentioned. Chapter 5 is on balls, bins, and random graphs. The birthday paradox, Bucketsort, Poisson distribution, and hashing are discussed. Random graphs and their use in Hamiltonian cycles is exemplified. Chapter 6 introduces the probabilistic method. Derandomization using conditional expectations, the second moment method, the conditional expectation inequality, and the Lovasz local lemma is outlined. Applications to satisfiability and edge-disjoint paths are given.

Chapter 7 is on Markov chains and random walks. Randomized algorithms for satisfiability are presented. Random walks on undirected graphs and their application to s-t connectivity are mentioned. Chapter 8 is about continuous distributions and the Poisson process. Uniform distributions, exponential distributions, and Markovian queues are discussed. Chapter 9 studies entropy as a measure of randomness. Compression, Shannon’s theorem, and coding theory are introduced. Chapter 10 is about the Monte Carlo method (a collection of tools for estimating values through sampling and simulation). An application to count the number of satisfying assignments of a Boolean formula in disjunctive normal form is demonstrated. Chapter 11 is on the coupling of Markov chains. Approximately sampling proper vertex colorings of a graph is instanced as an application. Chapter 12 is on martingales (sequences of random variables satisfying certain conditions that arise in numerous applications such as random walks and gambling problems). Chapter 13 is on pairwise independence and universal hash functions. Computing pairwise independent values modulo a prime and perfect hashing are typical applications. Chapter 14, the final chapter, discusses the authors’ favorite topic: balanced allocations. This is a variant of the balls-and-bins paradigm. Applications to hashing and dynamic resource allocation are highlighted.

The authors avoid references to original papers; instead, they refer the reader to some standard books on subjects relevant to their book. This is disadvantageous for those who wish to get information quickly. Here, the authors could have adopted the style of Motwani and Raghavan, wherein notes are given at the end of chapters supplementing an extensive bibliography. The authors could have better explained paradigms for randomized algorithms, such as foiling an adversary, random sampling, abundance of witnesses, fingerprinting, hashing, random reordering, load balancing, rapidly mixing Markov chains, isolation and symmetry breaking, probabilistic methods, and existence proofs. They also should have included numerous applications to data structures; graph algorithms; geometric algorithms; linear programming; algebra and number theory; and parallel, distributed, and online algorithms. The book does not provide the basics of complexity theory to the extent required. Nevertheless, this book will be treasured by those interested in understanding randomization and probabilistic techniques.

Reviewer:  S. V. Nagaraj Review #: CR131841 (0608-0787)
1) Motwani, R.; Raghavan, P. Randomized algorithms. Cambridge University Press, New York, NY, 1995.
Bookmark and Share
  Featured Reviewer  
 
Probabilistic Computation (F.1.2 ... )
 
 
Probabilistic Algorithms (Including Monte Carlo) (G.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Probabilistic Computation": Date
Discrete random process stabilization
Lorenc A., Lapins J. Information and Control 58(1-3): 1-18, 1984. Type: Article
May 1 1986
Probabilistic inductive inference
Pitt L. Journal of the ACM 36(2): 383-433, 1989. Type: Article
Sep 1 1989
Explorations in quantum computing
Williams C. (ed), Clearwater S. (ed), TELOS, Santa Clara, CA, 1998. Type: Book (9780387947686)
Jun 1 1998
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy