CS759 Perfect Matchings: Algorithms and Complexity

The course revolves around the problem of Perfect Matchings in graphs. The study of Perfect Matchings in computer science has been quite extensive and influential. It has been studied in a variety of different algorithmic models - sequential, parallel, bounded-space, randomized, online, approximation, counting etc. It has generated many ingenious ideas which also apply to much more general settings, e.g., the primal-dual LP algorithms, the Isolation Lemma. In fact, the notion of polynomial time as a measure of efficient computation arose in the context of perfect matchings. The aim of this course is to study perfect matchings in these various paradigms, pick up different ideas it inspires and to get introduced to open research problems around it.

Course Contents:

Perfect matching and characterizing its existence, Linear programming formulations, Greedy algorithm, Polynomial time algorithms, Randomized Parallel algorithms, Exact matching, Primal-dual LP algorithms, Extended formulations for linear programs, Matrix Scaling algorithm, Approximating the Permanent, Online Algorithms, #P-hardness of counting, Efficient counting in planar graphs and minor-free graphs, Parallel algorithms in planar graphs, Derandomization, Approximate counting of bipartite matchings.

Timings:

Tuesday, Friday 5:30 - 7 pm. CC101.

**

Lectures:

**