Tentative List of Topics for the Semester

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.