Tentative List of Topics for the Semester
- Graph algorithms: matchings and flows
- Parallel algorithms for algebraic and graph problems
- NP-Complete problems
- Linear and convex 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/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)
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