Tentative List of Topics for the Semester

Lecture Schedule

Links to video recordings of the lectures will be posted here for asynchronous viewing.

8/21— Matchings I: Bipartite maximum matching (Notes)

Reading: Lecture notes on matchings, §1.1-1.3

8/23— Matchings II: Hopcroft-Karp algorithm (Video; Notes)

Reading: Lecture notes on matchings, §1.4

8/25— Matchings III: Finishing Hopcroft-Karp (Video; Notes)

Reading: Lecture notes on matchings, §1.4

8/28— Matchings IV: Min-cost bipartite perfect matching (Video; Notes)

Reading: Lecture notes on matchings, §3.1

8/30— Matchings V: Primal-dual algorithm for min-cost matching (Video; Notes)

Reading: Lecture notes on matchings, §3.2

9/1— Matchings VI: LP relaxation of min-cost matching (Video; Notes)

Reading: Lecture notes on matchings, §3.3

9/4— NO CLASS DUE TO LABOR DAY

9/6— Matchings VI: Online matching (Video; Notes)

Reading: Lecture notes on matchings, §4

9/8— Matchings VII: Analysis of RANKING (Video; Notes)

Reading: Lecture notes on matchings, §4

9/11— Matchings VIII: Algebraic Algorithms (Video; Notes)

Reading: Lecture notes on matchings, §5.1-5.2

9/13— Parallel Algorithms I: Arithmetic (Video; Notes)

Reading: Lecture notes on matchings, §5.5

9/15— Parallel Algorithms II: Branching programs (Video; Notes)

Reading: Lecture notes on matchings, §5.5

9/18— Parallel Algorithms III: Determinants (Video; Notes)

Reading: Lecture notes on matchings, §5.5

9/20— Parallel Algorithm IV: Finishing Determinants (Video; Notes)

9/22— Flows I: Definitions (Video; Notes)

Reading: Lecture notes on flows, §1-2

9/25— NO CLASS DUE TO YOM KIPPUR

9/27— Flows II: Max-flow Min-cut (Video; Notes)

Reading: Lecture notes on flows, §1-2

9/29— Flows III: Ford-Fulkerson, Edmonds-Karp, Dinitz (Video; Notes)

Reading: Lecture notes on flows, §3-4

10/2— Flows IV: Push-relabel (Video; Notes)

Reading: Lecture notes on flows, §5

10/4— Flows IV: Finish push-relabel (Video; Notes)

10/6— NO CLASS DUE TO ILLNESS

10/9— NO CLASS DUE TO FALL BREAK

10/11— NP-Completeness I: Complexity classes, reductions, and completeness (Video; Notes)

Reading: Dexter Kozen's lecture notes on NP-completeness and reductions, Lectures 21-22

10/13— NP-Completeness II: Independent set and 3-coloring (Video; Notes)

Reading: Dexter Kozen's lecture notes on NP-completeness and reductions, Lecture 22

10/16— NP-Completeness III: Max-cut (Video; Notes)

10/18— Linear Programming I: Definitions and Weak Duality (Video; Notes)

Reading: Lecture notes on the simplex method, Section 1

10/20— Linear Programming II: Simplex Method (Video; Notes)

Reading: Lecture notes on the simplex method, Section 1

10/23— Linear Programming III: Strong Duality (Video; Notes)

Reading: Lecture notes on the simplex method, Section 2

10/25— Approximation Algorithms I: Vertex Cover (Video; Notes)

Reading: Lecture notes on approximation algorithms, Sections 1-2

10/27— Approximation Algorithms II: Primal-Dual Vertex Cover Approximation (Video; Notes)

Reading: Lecture notes on approximation algorithms, Section 2

10/30— Approximation Algorithms III: Goemans-Williamson SDP Rounding Algorithm for Max-Cut (Video; Notes)

Reading: Lecture notes on approximation algorithms, Section 3

11/1— Approximation Algorithms IV: Chernoff Bound (Video; Notes)

Reading: Lecture notes on approximation algorithms, Section 4.1

11/3— NO CLASS DUE TO COMMUNITY RESTORATIVE DAY

11/6— Guest lecture: Karthik Sridharan on multiplicative weights

Reading: Lecture notes on multiplicative weights, Section 1

11/8— Approximation Algorithms V: Approximating Disjoint Paths (Video; Notes)

Reading: Lecture notes on approximation algorithms, Section 4

11/10— Multiplicative Weights II: Multicommodity Flow as a Linear Program (Video; Notes)

Reading: Lecture notes on multiplicative weights, Sections 2-3

11/13— Multiplicative Weights III: Approximating Multicommodity Flow Using Multiplicative Weights (Video; Notes)

Reading: Lecture notes on multiplicative weights, Sections 2-3

11/15— Multiplicative Weights IV: The Sparsest Cut LP and its Dual (Video; Notes)

Reading: Lecture notes on multiplicative weights, Sections 2-3

11/17— Multiplicative Weights V: Approximate Max-Flow Min-Cut Theorem for Sparsest Cut (Video; Notes)

Reading: Lecture notes on multiplicative weights, Section 4

11/20— Spectral Graph Algorithms I: The Graph Laplacian

Reading: Lecture notes on spectral methods, Sections 1-3

11/27— Spectral Graph Algorithms II: Cheeger's Inequality

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

11/29— Markov Chains I: Metropolis-Hastings

Reading: Lecture notes on Markov Chains, Sections 1-2

12/1— Markov Chains II: Mixing Times and Canonical Paths

Reading: Lecture notes on Markov Chains, Sections 3-5

12/4— Markov Chains III: Sampling Matchings

Reading: Lecture notes on Markov Chains, Section 6