Syllabus for CS 591-006 "Algorithms in the Real World"
Meeting Time and Place: Tuesdays and Thursdays 2:00-3:15 in Mechanical
Engineering 208
Course Description:
In the past several years, the algorithms research community has had
several major breakthroughs in designing algorithms which have both
strong theoretical and strong empirical properties. For example, the
very successful companies Google and Akamai were both built on
provably good algorithms first described at major research conferences
(WWW '96 and STOC '97 respectively). Additionally, the company Celera
attributes much of its success in genome sequencing to its algorithm
engineers.
In this course, we will study several algorithms which have been
successful in the real world. We will learn some new algorithmic
tools that have proven successful for real world problems including:
ways to create approximation algorithms for NP-Hard problems, ways to
exploit the power of randomness, and ways to create tractable abstract
problems from messy real-world problems. We will also study some
important open algorithmic problems whose solutions would have a big
"real-world" impact.
Texts:
There is no required text but the following texts are recommended for
reference: "Approximation Algorithms for NP-Hard Problems" Edited by
Dorit S. Hochbaum and "Randomized Algorithms" by Raghavan and Motwani.
Topics
Topics will include:
-
Advanced graph theory
-
Hall's Theorem and Data Migration.
"On Algorithms for Efficient Data Migration" by Joe Hall, Jason
Hartline, Anna Karlin, Jared Saia and John Wilkes. Symposium on
Discrete Algorithms 2001. (
ps , pdf).
-
Expander graphs and Attack-Resistant P2P Networks.
"Censorship Resistant Peer-To-Peer Content Addressable Networks" by
Amos Fiat and Jared Saia. Journal of Algorithms 2002 ( ps , pdf).
-
Szemeredi's Regularity Lemma ???
-
Randomized Algorithms
-
Random Construction of Expander Graphs
"Censorship Resistant Peer-To-Peer Content Addressable Networks" by
Amos Fiat and Jared Saia. Journal of Algorithms 2002 ( ps , pdf).
-
Web Caching with Consistent Hashing (the Akamai problem)
"Consistent Hashing and Random Trees: Tools for Relieving Hot Spots on
the World Wide Web" by David Karger, Eric Lehman, Tom Leighton, Matthew
Levine, Daniel Lewin and Rina Panigrahy. STOC 1997. ( ps ). See also the simpler paper in WWW8
located here
-
Pattern Matching and Fingerprinting ???
-
-
Spectral Analysis and Search Engines
-
Clever Paper: "Authoritative sources in a hyperlinked environment" by
Jon Kleinberg in Symposium on Discrete Algorithms, 1998 (.ps)
-
Google Paper: "The Anatomy of a Large-Scale Hypertextual Web Search
Engine" by Sergey Brin and Lawrence Page in www7 (
html )
-
Online Algorithms
-
Randomized Caching Algorithms
Pages 374-377 in the "Randomized Algorithms" textbook
-
Online Learning Algorithms
Section 3.2 (The "Winnow Algorithm")
of the survey paper "Online Algorithms in Machine Learning" by Avrim Blum.
(.ps)
See also "Empirical Support for Winnow and Weighted-Majority
Algorithms: Results on a Calendar Scheduling Domain" by Avrim Blum in
12th International Conference on Machine Learning (.ps)
-
Online Auctions ???
-
Miscellanious Algorithmic Tricks
-
The String Alignment Algorithm for Computational Biology
Tentative Grading Weights
- Homeworks (No more than four) (60%)
- Presentation (40%)
Prerequisites
A necessary prerequisite for this class is a standard undergraduate
algorithms course (equivalent to our CS 461). Some basic familiarity
with discrete probability is also helpful although not required.
Policies
Assignment deadlines are strict: late homework will automatically
receive a grade of zero, unless reasonable cause can be shown (which
is easy for one, possible for two, and very hard for three or more!);
no make-up. Collaboration is encouraged on all of the homeworks
although the solutions should be written up individually. Usual
university policies for withdrawals, incompletes and academic honesty.