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/26— Matchings I: Bipartite maximum matching (Video; Notes)
Reading: Lecture notes on matchings, §1.1-1.3
8/28— Matchings II: Hopcroft-Karp algorithm (Video; Notes)
Reading: Lecture notes on matchings, §1.4
8/30— Matchings III: Min-cost bipartite perfect matching — Éva Tardos, guest lecturer (Video; Notes)
Reading: Lecture notes on matchings, §3.1
9/2—
NO CLASS DUE TO LABOR DAY
9/4—
Matchings IV: Analysis of Hopcroft-Karp (Video;
Notes)
Reading: Lecture notes on matchings, §1.4
9/6— Matchings V: LP relaxation of min-cost matching (Video; Notes)
Reading: Lecture notes on matchings, §3.2-3.3
9/9— Matchings V: Online matching (Video; Notes)
Reading: Lecture notes on matchings, §4
9/11—
Digression: The ski rental problem (Video;
Notes)
9/13—
Digression II: Online primal-dual analysis (Video;
Notes)
9/16—
Matchings VI: Analysis of RANKING (Video;
Notes)
9/16— Matchings VI: Analysis of RANKING (Video; Notes)
Reading: Lecture notes on matchings, §4
9/18— Matchings VII: Finishing analysis of RANKING; starting algebraic algorithms for matching (Video; Notes)
Reading: Lecture notes on matchings, §5.1-5.2
9/20— Matchings VIII: Algebraic Algorithms (continued) (Video; Notes)
Reading: Lecture notes on matchings, §5.1-5.2
9/23— Linear Programming I: Problem definition and observations (Video; Notes)
Reading: Lecture notes on linear programming, §1-2
9/25— Linear Programming II: Duality (Video; Notes)
Reading: Lecture notes on linear programming, §2
9/27— Linear Programming III: Simplex method (Video; Notes)
Reading: Lecture notes on linear programming, §1
9/30— Linear Programming IV: Proof of strong duality (Video; Notes)
Reading: Lecture notes on linear programming, §2
10/2—
Linear Programming V: Separation Oracles (Video;
Notes)
10/4—
Linear Programming VI: Ellipsoid Algorithm (Video;
Notes)
10/7—
Network Flow I: Minimum cut problems (Video;
Notes)
10/7— Network Flow I: Minimum cut problems (Video; Notes)
Reading: Lecture notes on network flow, §1-2
10/9— Network Flow II: Max-flow min-cut (Video; Notes)
Reading: Lecture notes on network flow, §1-2
10/11— Network Flow III: Ford-Fulkerson (Video; Notes)
Reading: Lecture notes on network flow, §3
10/16— Network Flow IV: Dinitz's Algorithm (Video; Notes)
Reading: Lecture notes on network flow, §4
10/18— Network Flow V: Applications (Video; Notes)
Reading: Lecture notes on network flow, §6
10/21— Multicommodity Flow I: Sparsest Cut and Multicommodity Flow Problems (Video; Notes)
Reading: Lecture notes on multicommodity flows, §3.1, 4.1
10/23— Multicommodity Flow II: Approximate Max-Flow Min-Cut (Video; Notes)
Reading: Lecture notes on multicommodity flows, §4.2-4.3
10/25— The Chernoff Bound (Video; Notes)
Reading: Lecture notes on multicommodity flows, §5.1
10/28— Multicommodity Flow III: Randomized Rounding for Approximate Congestion Minimization (Video; Notes)
Reading: Lecture notes on multicommodity flows, §5.2
10/30— Multicommodity Flow IV: Approximate Max-Flow Min-Cut Recap (Video; Notes)
Reading: Lecture notes on multicommodity flows, §4.2-4.3
11/1— Multicommodity Flow V: Finishing Approximate Max-Flow Min-Cut (Video; Notes)
Reading: Lecture notes on multicommodity flows, §4.2-4.3
11/4— Multiplicative Weights I: Halving and Weighted Majority (Video; Notes)
Reading: Lecture notes on multicommodity flows, §1
11/6— Multiplicative Weights II: Hedge (Video; Notes)
Reading: Lecture notes on multicommodity flows, §1 and §6
11/8— Multiplicative Weights III: Minimax Theorem (Video; Notes)
Reading: Lecture notes on multicommodity flows, §6
11/11—
Lecture Not Recorded
11/13—
Multiplicative Weights IV: Solving Multicommodity Flow (Video;
Notes)
Reading: Lecture notes on multicommodity flows, §3
11/15— Spectral Methods I: The Graph Laplacian (Video; Notes)
Reading: Lecture notes on spectral methods, §2-3
11/18— Spectral Methods II: Degree-weighting and normalization (Video; Notes)
Reading: Lecture notes on spectral methods, §1, §4
11/20— Spectral Methods III: Cheeger's Inequality, part 1 (Video; Notes)
Reading: Lecture notes on spectral methods, §4
11/22— Spectral Methods IV: Cheeger's Inequality, part 2 (Video; Notes)
Reading: Lecture notes on spectral methods, §5
11/25— Spectral Methods V: Max-Cut and the Goemans-Williamson Algorithm (Video; Notes)
Reading: Lecture notes on approximation algorithms, §3
11/27-29—
Thanksgiving Break
12/2—
Markov Chains I: Sampling Problems (Video;
Notes)
Reading: Lecture notes on Markov Chains, Sections 1-2
12/4— Markov Chains II: Metropolis Algorithm (Video; Notes)
Reading: Lecture notes on Markov Chains, Sections 3-4
12/6— Markov Chains III: Mixing Times and Couplings (Video; Notes)
Reading: Lecture notes on Markov Chains, Section 5
12/9— Markov Chains IV: Sampling Matchings (Video; Notes)
Reading:
Lecture notes on Markov Chains, Section 6
See also Jerrum and
Sinclair's paper on sampling matchings.