CSC2420 (Algorithm Design, Analysis and Theory) Home Page (Fall, 2022)
This page will provide WWW access to various documents concerning CSC2420.
Announcements will also be made on
this page but mostly we will use Quercus for announcements.
Please send any comments or questions to the instructor:
Announcements will be placed here as appropriate.
This course serves as a foundational course,
appropriate for students in computer science, computer engineering,
and mathematics. However, the course should also be of
interest to ``theory students'' looking for research topics.
We will begin with topics usually discussed in
undergraduate courses such as our CSC373/CSC375 using some less standard
examples and also discussing some precise models for
standard algorithmic paradigms such as greedy, local search and
dynamic programming algorithms.
Some possible topics include:
stochastic models, the random order online
model,
derandomizing online algorithms,
LP rounding,
primal dual algorithms,
sublinear time algorithms,
parameterized complexity, fine grained complexity,
data stream algorithms,
multiplicative weights algorithm,
algorithmic mechanism design
We will not use any one text book for this course. There are a number of
excellent undergraduate texts (e.g. "Algorithm Design" by
Jon Kleinberg and Eva Tardos;
"Introduction to Algorithms"
by Corman, Leiserson, Rivest and Stein;
``Algorithmics: Theory and Practice" by Brassard and Bratley; and
"Algorithms" by DsGupta, Papadimitriou and U. Vazirani) that
cover the standard topics
and include some advanced material. There are also a number of texts
on somewhat specialized topics (e.g. "Approximation Algorithms" by V. Vazirani;
"A First Course in Combinatorial Optimization", by James Lee;
and "Randomized Algorithms" by Motwani and Raghaven).
There are also many web accessible courses that indicate the diversity
of topics taught in graduate algorithms courses. For example, you
may want to consider the following sources:
Tim Roughgarden Stanford Lectures
Princeton University CS521
University of Washington CSE 521
University of Washington CSE 522
Cornell University CSC6820
CMU 451/651
Avner Magen LP and SDP Course
Lecture slides will be posted here.
Week 1
Motivating the course and starting to introduce basic combinatorial paradigms. Online algorithms, greedy algorithms. Reposted September 25. Material after we ended on September 14 will appear in the sldies for L2
Week 2 of class, Week 3 of course.
Brief introduction to online bipartite matching. Scheduling anomolies. The knapsack problem. The prioirty model for greedy and myopic algorithms.
Week 3 of class.
Calum's slides for online bipartite matching
Week 4 of class.
Priority algorithms and their limitations.
Week 5 of class.
Finishing up greedy/priority algorithms. Begin local search.
Note: L6 was the completion of the online bipartite matching discussion.
Week 7 of class.
Local search. Ranomized algorithms.
Week 8 of class.
Randomized algorithms. The naive randomized agorithms for polynomial identity testing, max-sat, max-cut and max-di-cut. Randomized rounding of an LP, the doulble sided randomized greedy algorithm for non-monotone submodular maximization, de-randomization.
Week 9 of class.
Vector program for Max-2-Sat. 2-SAT in polynomial time. Improved run times for 3-SAT and $k-SAT$. Begin sublinear time algorithms. Reposted November 24.
Week 10 of class.
Continue sublinear time algorithms. Sublinear space and the streaming model.
Week 11 of class.
Continue streaming algorithms. The weighted majority algorithm. Primality testing. Reposted December 7.
Assignments will be posted here. There will most likely be three or four assignments. Given the number of students who are initially enrolled, we might allow submissions from pairs of students so as to make the grading manageable. I would also entertain individuals doing a project on some specific topic instead of doing the assignments. We will finalize the course requirement after a week or two in order to see what the actual enrollment will be.
Assignment 1 (Assignment is now complete.)
Assignment 2. (Assignment 2 is now complete.)
I added a third question for Assignment 3. Posted November 28.
Additional papers/slides will be posted here.
Probability Primer
Kim Larsen slides
The FPT slides by Daniel Marx:
Marx Lecture 1 ;
Marx Lecture 2 ;
Marx Lecture 3 ;
Marx Lecture 4
Here is Virginia Williams
fine-grained complexity
Here is the Khanna et al paper concerning
local search algorithms for exact max-k-sat.
Here is the Gupta and Tangwongsan paper concerning
local search algorithms for UFL and K-medians.
Here is the Meyerson paper concerning
an online algorithm for the UFL problem in both a model where all clients can be facilities and a model where the facilities and clients are distinct sets.
The seminal KVV paper regarding
online bipartite matching and the Ranking algorithm.
The 2013 survey by Aranyak Mehta concerning Online Matching and Allocation. This is an excellent survey but of course not totally up to date.
Mehta survey.
The Chang et al DISPATCH algorithm paper for Maximum Online Perfect Bipartite Matching with i.i.d. Arrivals.
DISPATCH algorithm.
Here are 2009 Lecture Notes on Data Stream Algorithms by Amit Chakrabarti.
He has more recent 2011 and 2015 courses on Data Stream Algorithms.
Data Stream Lecture Notes
Here is Periklis Papakonstantinou's paper on hieraarchies of priority algorithms that considers hierarchies based on whether the algorithm is adaptive priority or not, greedy or not, and memoryless or not.
Priority algorithm hierarchies
Here is the table of contents (dated September 20, 2022) of this text when we had a very ambitious agenda. We now intend to shorten the text to something a little more manageable in order to hopefully complete the text by sunmmer 2023.
Ambitious Table of Contents to be shortened.