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:
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.
- 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
- 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.
- No class on Tuesday, September 18.
- No class on Tuesday, October 9.