This course will be a seminar designed to focus on the use of
randomization in the design of algorithms as well as the formal
analysis of such randomized algorithms. Presentations will aim at
demonstrating some of the common underlying techniques as well as
looking at examples of the many different applications areas where
randomization has proved to be an important tool. Techniques include
random sampling, randomized incremental constructions, and randomized
rounding to name a few. Problems will be drawn from domains including
computational geometry, graph algorithms, parallel algorithms,
approximation algorithms and online computation.
Prerequisites
The ideal prerequisites for this course will include the algorithmic
experience and sophistication equivalent to cos423 (Theory of
Algorithms), along with some experience with basic probability theory
included in a course such as cos341 (Discrete Mathematics) or math390.
Seminar Format
The format of the class will be in the style of a classic graduate
seminar. The majority of lectures will be student presentations based
on a combination of papers selected from the literature. Occasional
lectures may be given by the instructor or guests.
Grading
This course will be offered on the Pass/D/Fail Only grading
system. Each student will be asked to give one lecture during the
course on a topic chosen from a list suggested by the instructor. In
addition, by the end of the course each student will be asked to turn
in a written paper which serves as a summary or tutorial of the topic
which was presented in class. (Depending on enrollment, there may be
some opportunity for students to work in pairs in preparing the
lecture and written assignment.)