P2
CSC2420 Home Page
CSC2420 (Algorithm Design, Analysis and Theory) Home Page (Fall 2017)
This page will provide WWW access to various documents concerning CSC2420.
Announcements will also be made on
this page.
The class will be held Wednesdays 11-1 in BA 2179.
Please send any comments or questions to the instructors:
Allan Borodin bor..at..cs.toronto.edu and Nisarg Shah nisarg..at..cs.toronto.edu
Announcements will be placed here as appopriate.
First two questions for Assignment 2 have now been posted.
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. Other possible topics include:
online algorithms (adversarial and stochastic models), the random order online
model,
derandomizing online algorithms,
submodular
maximization,
LP and SDP relaxations,
primal dual algorithms,
sublinear time algorithms,
parameterized complexity, fine grained complexity,
data stream algorithms, MapReduce algorithms,
multiplicative weights algorithms,
algorithmic aspects of 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:
Princeton University CS521
University of Washington CSE 521
University of Washington CSE 522
Cornell University CSC6820
CMU 451/651
Nikhil Devanur Online Course
Avner Magen LP and SDP Course
Lecture slides will be posted here.
Lecture 1
Motivating the course and starting to introduce basic combinatorial paradigms. Online algorithms, greedy, partial enumeration greedy
Lecture 2
Further discussion of greedy and greedy like algorithms. The priority model and extensions. Proving an inapproximation. Interval selection, set packing, set cover, vertex cover.
Lecture 3
Finish discussion of greedy and greedy like algorithms. The priority stack model. Interval colouring and the vertex min colouring problem. m-machine interval scheduling. Begin dynamic programming (DP). Weighted interval scheduling. Pseudo polynomial DP algorithms for the knapsack problem and an FPTAS. The priority branching tree pBT model .
Lecture 4
Different styles of DP algorithms. Shortest path problems.The all pairs shortest path problem and its role in fine grained complexity. Using DP to improve the exponential time for the TSP problem. Matrix chain problem. The Baptiste DP for a special case of the throughout maximization problem. Begin local search. Local search for max-cut problem. Oblivious and non-oblivious local searchi for Max-Sat problem.
Lecture 5
Finish up discussion of local search. Max flow, Ford Fulkerson max flow-min cut theorem and algorithm; applications of max flow-min cut. Start IP/LP discussion.
Assignments will be posted here.
Assignment 1
First two questions of Assignment 2
Additional papers/slides will be posted here.
Kim Larsen's slides regarding
alternative online models and measures
The FPT slides by Daniel Marx:
Marx Lecture 1 ;
Marx Lecture 2 ;
Marx Lecture 3 ;
Marx Lecture 4
Here is Virginia Williams' paper on
fine-grained complexity
Dan Spielman's
tutorial on spectral graph theory