Lecture Topics (tentative)
Video recordings of the lectures will be posted on Canvas for asynchronous viewing.
9/2 — Introduction: course information, bipartite maximum matching
Reading: Lecture notes on matchings, §1.1-1.2
9/7 — Bipartite minimum-cost perfect matching
Reading: Lecture notes on matchings, §3.1
9/7 — Bipartite minimum-cost perfect matching (part 2)
Reading: Lecture notes on matchings, §3.1
9/14 — Fractional matchings
Reading: Lecture notes on matchings, §3.2
9/16 — Non-bipartite maximum matching
Reading: Lecture notes on matchings, §29/21 — Network flow I: Definitions and max-flow min-cut theorem
Reading: Lecture 16 of Dexter Kozen's book "The Design and Analysis of Algorithms"
9/23 — Network flow II: Edmonds-Karp algorithm
Reading: Lecture 17 of Kozen's book
9/28 — NO CLASS DUE TO YOM KIPPUR.
9/30 — Network flow III: Dinitz's algorithm
Reading: Supplemental lecture notes on flow algorithms
10/5 — Network flow IV: Hopcroft-Karp algorithm and max-flow applications
Reading: Supplemental lecture notes on flow algorithms
10/7 — NP-Completeness I: Independent set and related problems
Reading: Kozen's lecture notes on NP-Completeness, Lectures 21-22
10/12 — NP-Completeness II: Hamiltonian circuit and related problems
Reading: Kozen's lecture notes on NP-Completeness, Lecture 24 (second half)
10/14 —
NO CLASS — Cornell-scheduled break
10/19 —
NP-Completeness III: Subset sum and related problems
Reading: Kozen's lecture notes on NP-Completeness, Lecture 24 (first half)
10/21 — Linear Programming I: Definitions and simplex algorithm
Reading: Lecture notes on the simplex algorithm, Sections 1 and 1.1.
10/26 — Linear Programming II: Running time of simplex; LP duality
Reading: Lecture notes on the simplex algorithm, Sections 1.2 and 2
10/28 — Linear Programming III: Ellipsoid algorithm
Reading: Lecture notes on the ellipsoid algorithm.
11/2 — Approximation Algorithms I: Vertex Cover
Reading: Lecture notes on approximation algorithms, Sections 1 and 2.1.
11/4 — Approximation Algorithms II: Primal-Dual Method
Reading: Lecture notes on approximation algorithms, Section 2.2.
11/9 — Approximation Algorithms III: Greedy Set Cover
Reading: Lecture notes on approximation algorithms, Section 2.3.
11/11 — Approximation Algorithms IV: Chernoff Bound and Randomized Rounding
Reading: Lecture notes on approximation algorithms, Section 4.
11/30 — Convex Optimization
Reading: Lecture notes on convex optimization.
12/2 — Submodular Functions
Reading: Lecture notes on submodular functions.
12/7 — Spectral Methods I: The Graph Laplacian
Reading: Lecture notes on spectral methods, Sections 1-3.
12/9 — Spectral Methods II: Cheeger's Inequality
Reading: Lecture notes on spectral methods, Sections 4-5.