CS 420/520: Graph theory with applications to computer science
Instructor:
Amir Nayyeri (Office hours: Thr 3:30pm4:30pm at KEC 3061)
TA:
Hung Le (Office hours: Fri 3:30pm4:30pm at Kelley Atrium)
Lectures: Tue, Thr 2:00pm3:20pm in Owen Hall 103
Course description: The course covers efficient (exact or approximation) algorithms for fundamental graph optimization problems such as minimum spanning trees, shortest paths, maximum matching, planar separators, Steiner trees and traveling salesmans problem.
Tentative topic list:
 Minimum spanning trees, the Brouvka algorithm, the KargerKleinTarjan randomized algorithm
 Shortes paths, the BellmanFord algorithm, Goldberg's algorithm
 Maximum matching in bipartite graphs, the HopkroftKarp algorithm for bipartite graphs, the randomized algorithm of Goel, Kapralov and Khanna for regular bipartite graphs.
 Approximation algorithms, constant factor approximations for the Steiner tree problem, the traveling salesman problem and the multiway cut problem.
 Planar graphs, a quadratice algorithm for planarity testing, the Euler formula, the planar separator theorem and its applications, nessted dissection.
Evaluation: There will be two problem sets and a project. At week 3, each student proposes a project. The project can be a survey paper, or an original research paper about algorithmic graph theory or its applicaitons. At week 4 students form groups of three people. Each group chooses a project from the pool of the proposals to work on. At week 10 each group submits a report and gives a short talk about their project.
Prerequisites: (CS 325 or CS 325H) and MTH 232
Assignments:

Project proposal:
 Submit the writeup (at most one page) by Mon, Jan/26.
 Be prepared to give a short talk (not longer than five minutes) in class on Tue, Jan/27.
 Here is a list of links for theoretical open problems. Of course, you are not limited to this list, and you don't have to work on a pure theoretical problem.

Homework 1

Homework 2
Lectures:
 Tue 1/6: (Guest Lecturer: Hung Le) Introduction, minimum spanning trees, the Brouvka algorithm.
References: (1) Basic graph properties, section 18.1, Jeff Erickson. (2) Minimum spanning trees, sections 1  4, Uri Zwick.
 Tue 1/8: (Guest Lecturer: Hung Le) Introduction, minimum spanning trees, the Brouvka algorithm.
References: (1) Basic graph properties, section 18.1, Jeff Erickson. (2) Minimum spanning trees, sections 1  4, Uri Zwick.
 Tue 1/13: Single source shortest path, BellmanFord algorithm, potential functions.
References: (1) Computing shortest paths and detecting negative cycles , Uri Zwick. (2) Shortest Paths , Jeff Erickson.
 Thr 1/15: Single source shortest path, scaling technique, dynamic programming on DAG.
References: (1) Computing shortest paths and detecting negative cycles , Uri Zwick. (2) Shortest Paths , Jeff Erickson.
 Tue 1/20: Single source shortest path, finishing Goldberg's algorithm.
References: (1) Computing shortest paths and detecting negative cycles , Uri Zwick. (2) Shortest Paths , Jeff Erickson.
 Thr 1/22: Maximum matching in bipartite graphs.
References: (1) Maximum matching in bipartite and nonbipartite graphs , Uri Zwick. (2) Matching algorithms , Piotr Sankowski and Stefano Leonardi.
 Tue 1/27: Project Proposal Presentations.
 Thr 1/29: Maximum matching in general graphs, Edmonds blossom algorithm.
References: (1) Maximum matching in bipartite and nonbipartite graphs, Uri Zwick. (2) Matching in NonBipartite Graphs , Jan Vondrak. (3) Wikipedia. (4) Paths, trees, and flowers, Jack Edmonds, 1965.
 Tue 2/3: Randomized perfect matching in regular bipartite graphs.
References: (1) Randomized perfect bipartite matching , Daniel A. Spielman. (2) Perfect matchings in O(n log n) time in regular bipartite graphs , Ashish Goel, Michael Kapralov, Sanjeev Khanna, 2010.
 Thr 2/5: Perfect matching via Tutte matrix.
References: (1) Testing polynomials and perfect matching , Alistair Sinclair.
 Tue 2/10: Planar embedding, duality, treecotree.
References: (1) Planar graphs , Jeff Erickson.
 Thr 2/12: Minor closed property, Euler's formula, minor closed families, surface embedded graphs.
References: (1) Planar graphs , Jeff Erickson.
 Tue 2/17: The planar separator theorem.
References: (1) Planar separator I, II , Guy Blelloch. (2) A planar separator for planar graphs , Richard Lipton, Robert Tarjan, 1979.
 Thr 2/19: No Class.
 Tue 2/24: Planar separator theorem, applications.
References: (1) Planar separator theorem and its applications , the applications section, Ran Duan. (2) Applications of a planar separator theorem , Sections 3 and 7, Richard Lipton, Robert Tarjan, 1980. (3) Planar separator theorem on Wikipedia.
 Thr 2/26: Introduction to property testing.
References: (1) Introduction to sublinear algorithms , Dana Ron. (2) Sublinear algorithms , Sofya Raskhodnikova.
 Tue 4/3: Testing graph connectivity.
References: (1) Property testing of graphs , Dana Ron. (2) Sublinear algorithms , Sofya Raskhodnikova.
 Thr 4/5: Testing graph kconnectivity, Karger's minimum cut algorithm.
References: (1) Testing kconnectivity and bipartiteness in boundeddegree/sparse Graphs, Dana Ron.
 Tue 4/10: Project presentations.
 Tue 4/12: Project presentations.