Tentative List of Topics for the Semester
- Graph algorithms: matchings and flows
- NP-Complete problems
- Linear and semidefinite programming
- Approximation algorithms
- Submodular functions
- Spectral methods
- Markov chains and random sampling
Lecture Schedule
Links to video recordings of the lectures will be posted here
for asynchronous viewing.
8/27 —
Introduction: course information, bipartite maximum matching
( Video;
Notes)
Reading: Lecture notes on matchings, §1.1-1.2
8/30 —
Bipartite minimum-cost perfect matching
( Video;
Notes)
Reading: Lecture notes on matchings, §3.1
9/1 —
Primal-dual min-cost matching
( Video;
Notes)
Reading: Lecture notes on matchings, §3.1
9/3 —
Analysis of primal-dual min-cost matching
( Video;
Notes)
Reading: Lecture notes on matchings, §3.1
9/6 —
NO CLASS DUE TO LABOR DAY.
9/8 —
LP relaxation of matching, and its dual
( Video;
Notes)
Reading: Lecture notes on matchings, §3.2
9/10 —
Online matching
( Video;
Notes)
Reading: Lecture notes on matchings, §4
9/13 —
Online matching continued
( Video;
Notes)
Reading: Lecture notes on matchings, §4
9/15 —
Algebraic algorithms for matchings
( Video;
Notes)
Reading: Lecture notes on matchings, §5.1-5.2.
9/17 —
Applying fast matrix multiplication to combinatorial algorithms
( Video not recorded;
Notes) -->
Reading: Lecture notes on matchings, §5.3-5.4.
9/20 —
Introduction to parallel complexity theory
(
Video
(initial 30 minutes not recorded);
Notes)
Reading: Lecture notes on matchings, §5.5.1-5.5.3.
9/22 —
Parallel algorithm for determinant
( Video;
Notes)
Reading: Lecture notes on matchings, §5.5.4-5.5.5.
9/24 —
Randomized parallel algorithm for bipartite perfect matching
(Notes)
Reading: Lecture notes on matchings, §5.5.4-5.5.5.
9/27 —
Network flow: definitions and max-flow min-cut theorem
( Video;
Notes)
Reading: Lecture 16 of Dexter Kozen's book "The Design and Analysis of Algorithms".
9/29 —
Network flow: Ford-Fulkerson and Edmonds-Karp algorithms
Reading: Lecture 17 of Kozen's book.
10/1 —
Network flow: Dinitz's algorithm
( Video;
Notes)
Reading: Supplemental lecture notes flow algorithms, §1-2.
10/4 —
Hopcroft-Karp Algorithm and Menger's Theorem
( Video;
Notes)
Reading: Supplemental lecture notes flow algorithms, §4.
10/6 —
Linear programming and the simplex algorithm
( Video;
Notes)
Reading: Lecture notes on the simplex algorithm, §1.
10/8 —
Finishing simplex algorithm
( Video;
Notes)
Reading: Lecture notes on the simplex algorithm, §1.
10/13 —
LP duality
( Video;
Notes)
Reading: Lecture notes on the simplex algorithm, §2.
10/15 —
Ellipsoid Algorithm
( Video;
Notes)
Reading: Section 6 of Éva Tardos's
lecture notes on linear programming (from CS 6820, Fall 2014).
10/18 —
NP-completeness I: Complexity classes, reductions, completeness
( Video;
Notes)
Reading: Lecture notes on NP-Completeness, §1-3.
10/20 —
NP-completeness II: Independent Set
( Video;
Notes)
Reading: Lecture notes on NP-Completeness, §4.
If you wish to see further examples of reductions between NP-complete problems,
please consult
Dexter Kozen's lecture notes on NP-Completeness
for many good examples.
10/22 —
NP-completeness III: Max Cut
( Video;
Notes)
Reading: None.
10/25 —
Approximation Algorithms I: Vertex Cover
( Video;
Notes)
Reading: Lecture notes on approximation algorithms,
§1 and §2.1-2.2.
10/27 —
Approximation Algorithms II: Set Cover
( Video;
Notes)
Reading: Lecture notes on approximation algorithms,
§2.3.
10/29 —
Approximation Algorithms III: Randomized Rounding
( Video;
Notes)
Reading: Lecture notes on approximation algorithms,
§4.
11/1 —
Approximation Algorithms IV: Chernoff Bound
( Video;
Notes)
Reading: Lecture notes on approximation algorithms,
§4.
11/3 —
Multiplicative Weights I: Derandomizing the Chernoff Bound Using Conditional Probabilities
( Video;
Notes)
Reading: none.
11/5 —
Multiplicative Weights II: Prediction with Expert Advice
( Video;
Notes)
Reading: Lecture notes on the multiplicative weights update method,
§1-2.
11/10 —
The multicommodity flow LP and its dual
( Video;
Notes)
Reading: Lecture notes on the multiplicative weights update method,
§3.4.
11/12 —
Multicommodity flow-cut gap
( Video;
Notes)
Reading: Lecture notes on the multiplicative weights update method,
§4.
11/15 —
Spectral Graph Theory I: Courant-Fischer Theorem
( Video;
Notes)
Reading: Lecture notes on spectral graph algorithms,
§1.
11/17 —
Spectral Graph Theory II: The Graph Laplacian
( Video;
Notes)
Reading: Lecture notes on spectral graph algorithms,
§2-4.
11/19 —
Spectral Graph Theory III: Cheeger's Inequality
( Video;
Notes)
Reading: Lecture notes on spectral graph algorithms,
§4-5.
11/22 —
Spectral Graph Theory IV: Graph Sparsification
( Video;
Notes)
Reading: Lecture notes on spectral graph algorithms,
§7.
11/29 —
Markov Chains I: Stationary distributions and Metropolis-Hastings
( Video;
Notes)
Reading: Lecture notes on Markov Chains,
§1-2.
12/1 —
Markov Chains II: Mixing times and coupling
Reading: Lecture notes on Markov Chains,
§3-4.
12/1 —
Markov Chains III: Conductance and canonical paths
Reading: Lecture notes on Markov Chains,
§5.
12/1 —
Markov Chains IV: Finding perfect matchings in regular bipartite graphs
Reading: Lecture notes on Markov Chains,
§6.