# CS 420/520: Graph theory with applications to computer science

Instructor: Amir Nayyeri (Office hours: Thr 3:30pm-4:30pm at KEC 3061)

TA: Hung Le (Office hours: Fri 3:30pm-4:30pm at Kelley Atrium)

Lectures: Tue, Thr 2:00pm-3: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 Karger-Klein-Tarjan randomized algorithm
• Shortes paths, the Bellman-Ford algorithm, Goldberg's algorithm
• Maximum matching in bipartite graphs, the Hopkroft-Karp 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:

Lectures:

1. 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.

2. 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.

3. Tue 1/13: Single source shortest path, Bellman-Ford algorithm, potential functions.
References: (1) Computing shortest paths and detecting negative cycles , Uri Zwick. (2) Shortest Paths , Jeff Erickson.

4. 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.

5. 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.

6. Thr 1/22: Maximum matching in bipartite graphs.
References: (1) Maximum matching in bipartite and non-bipartite graphs , Uri Zwick. (2) Matching algorithms , Piotr Sankowski and Stefano Leonardi.

7. Tue 1/27: Project Proposal Presentations.

8. Thr 1/29: Maximum matching in general graphs, Edmonds blossom algorithm.
References: (1) Maximum matching in bipartite and non-bipartite graphs, Uri Zwick. (2) Matching in Non-Bipartite Graphs , Jan Vondrak. (3) Wikipedia. (4) Paths, trees, and flowers, Jack Edmonds, 1965.

9. 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.

10. Thr 2/5: Perfect matching via Tutte matrix.
References: (1) Testing polynomials and perfect matching , Alistair Sinclair.

11. Tue 2/10: Planar embedding, duality, tree-cotree.
References: (1) Planar graphs , Jeff Erickson.

12. Thr 2/12: Minor closed property, Euler's formula, minor closed families, surface embedded graphs.
References: (1) Planar graphs , Jeff Erickson.

13. 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.

14. Thr 2/19: No Class.

15. 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.

16. Thr 2/26: Introduction to property testing.
References: (1) Introduction to sublinear algorithms , Dana Ron. (2) Sublinear algorithms , Sofya Raskhodnikova.

17. Tue 4/3: Testing graph connectivity.
References: (1) Property testing of graphs , Dana Ron. (2) Sublinear algorithms , Sofya Raskhodnikova.

18. Thr 4/5: Testing graph k-connectivity, Karger's minimum cut algorithm.
References: (1) Testing k-connectivity and bipartiteness in bounded-degree/sparse Graphs, Dana Ron.

19. Tue 4/10: Project presentations.

20. Tue 4/12: Project presentations.