Matchings
Overview
Matchings play a central role in algorithms, optimization and
combinatorics. There are many variants of matching problems and they
arise in a large number of applications.
We will study a series of algorithms for matching and its extensions.
Because of the central role that matching problem have played, there
are a wide range of algorithms and by studying matchings, we will
learn many interesting techniques that are widely applicable to other
graph and combinatorial problems.
Specific topics studied will include:
- Classic results on matching problems.
- scaling algorithms
- auction algorithms
- massively parallel algorithms
- distributed algorithms
- average case analysis
- interior point algorithms
- fast approximations
- online algorithms
- stochastic algorithms
- algorithms using learning
We will also study several applications. The most prevalent will be
matching problems that arise in internet advertising, as these
applications have inspired some of the most interest algorithmic work
on matching in the last several years.
Information
Homework
Lecture Notes
- 9/4. Introduction.
- 9/6. Fractional Perfect Matchings.
- 9/11. Perfect Matching Polytope.
- 9/13. Matchings on Bipartite Graphs
- 9/20. Hopkroft Karp
- 9/25. Hungarian Algorithm.
- 9/27. Gabow Tarjan scaling algorithm.
- 10/2. Gabow Tarjan scaling algorithm (2).
- 10/4. Auction Algorithm.
- 10/11. Auction Algorithms. Parallel algorithms.
- 10/16. Parallel algorithms for Matching.
- 10/18. Parallel algorithms for Matching.
- 10/23. MapReduce algorithms for Matching
- 10/25. MapReduce algorithms for Matching.
- 11/1. Matching in a random graph.
Course Announcements
- No class on Tuesday, September 18.
- No class on Tuesday, October 9.