Often, by using randomization, and allow a small probability of error,
one can design significantly simpler and more efficient algorithms.
This course will survey a variety of algorithms, all of which use
randomization. We will spend some time studying basic probabilistic
tools, including game theory, moments, tail inequalities and the
"probabilistic method." We will apply these tools to a variety of
algorithms including algorithms for geometric problems, parallel
algorithms, distributed algorithms, graph algorithms, on-line
algorithms and number theoretic algorithms.
Everyone will give a 10 minute presentation on your project, in class
on April 26.
Project writeups are due on May 6.