CSC2420 (Algorithm Design, Analysis and Theory) Home Page (Fall, 2023)
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 (and references in these sourses):
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
Nikhil Bansal's Randomized Algorithms Course
Lecture slides will be posted here.
Week 1
Motivating the course and starting to introduce basic combinatorial paradigms. Online algorithms, greedy algorithms.
Week 2
Alternative machine models and the makespan prolem, the proportional weights and general knapsack problem, randomized online algorithms with and without revoking
Week 3
Proving inapproximations for randomized online algorithms, the priority algorithms model. Some priority algorithm approximations and charging arguments.
Week 4
Proving inapproximations for deterministic priority algorithms. Begin local search. Exact max-k-sat, oblivious and non-oblivious local search algorithms for max-2-sat. Not in slides was a quick blackboard discussion of the naive randomized algorithm for max-k-sat and how to view max flow as a local search algorithm.
the priority algorithms model. Some priority algorithm approximations and charging arguments.
Week 5
The proof for the non-oblivious Exact Max-2-Sat problem, k set packing and local search, metric facility and k median problems, submodular functions.
Week 6
Oblivious and non-oblivious local search for monotone submodular maximization subject to aa matroid constraint, randomization as a paradigm, polynomial identity testing and the Schwartz-Zipple Lemma, Max-Sat and the de-randomization of the naive randomized online algorithm as Johson's algorithm.
Week 7
Johnson's algorithm for MaxSat, a modified Johnson's algorithm and its canonical randomization, the double-sided greedy algorithm for unconstrained submodular maximizmation, derandoizing the 3/4 commpetitive ratio as 2n parallel algorithms. Online bipartite matching, the KVV Ranking algorithm.
Week 8
Online bipartite matching, ROM c-competitiveness implies c-competitveness in the unknown i.i.d. model. Some results for bipartite matching with i.i.d. inputs, Adwords and Display Ads, Max-2-Sat by vector programming, the random walk algorithm for Max-2-Sat.
Week 9
The random walk algorithm for Max-2-Sat, Markov chains, uniform walks on a graph, random walk algorithm for k-Sat, fine-grained complexity, primality testing, set cover and vertex cover.
Week 10
The dual of an LP, strong and weak duality, a primal dual algorithm for the f-frequency weighted set cover problem, dual fitting analysis of the greedy algorithm for weighted set cover problem,. The streaming and semi-streaming models, heavy hitters, frequency meoments
Week 11
The CVM estimator for the number of distinct elements
in a stream. Sublinear time algorithms.
Week 12
Combining brute force with divide and conquer for 3Sat, the LST IP/LP for the makepsan problem in the unrelated machines model, the weighted majority algorithm, vector progams with cardinality constraints, the densest subgraph problem and Chazelle's reverese greedy algorithm.
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 1, reposted September 28
The assignment is now complete.
Assignment 2
Assignment 2
Assignment 3
Assignment A3
Assignment 3 is now complete as I have posted (on November 27) a final question relating to Sch\"{o}ning's random walk algorithm for 3SAT.
Additional papers/slides will be posted here.
Probability Primer
Denis Pankratov LP theory and LP duality slides.
Kaplan-Zwick Mutlipicative Weights slides.
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 (highlighting application to online advertising) 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 hierarchies 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, 2023) 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 the end of the calendar year 2023.
Ambitious Tentative Table of Contents.