/ 601.03 - Randomized Algorithms
In this course we study
algorithms that make random choices as they proceed. Over the last
decades, such randomized (or probabilistic) algorithms have found
widespread application in essentially all areas of computing, and
randomization has become one of the most powerful tools in algorithm
design. For many applications we know randomized algorithms that are
simpler or more efficient (or both) than any known deterministic
This course will explore
techniques for designing and analyzing randomized algorithms, and will
provide examples from a variety of problem areas. Topics include
Basic knowledge in
probability theory is required (e.g., the notion of random variables,
expectation, independence, etc.). More advanced material will be
introduced whenever necessary.
- Fundamental techniques for the design and analysis of
- Randomized complexity classes
Motwani and P. Raghavan, Cambridge University Press 1995. ISBN
- Additional reading:
- Design and Analysis of Randomized
Algorithms, Juraj Hromkovič,
Springer 2005. ISBN 3-540-23949-9
- Probability and
Computing - Randomized Algorithms and Probabilistic Analysis, M. Mitzenmacher and E. Upfal,
Cambridge University Press 2005. ISBN 0-521-83540-2.
- Consent of the department.
- Basic knowledge in
probability theory (Math 321 is recommended).
- Practice in the
analysis of algorithms
(CPSC 413 is strongly recommended).
Time: Mondays and
Location: MS 319
See my homepage.
Mondays and Wednesdays,
17:15-18:00 (ICT 655), or by appointment.
Please approach me right after class if you want to meet me during my
regular office hours.