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, §2

9/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.

12/14 — Spectral Methods III: Graph Sparsification

Reading: Lecture notes on spectral methods, Sections 4-5.