CS 420/520: Graph theory with applications to computer science (Winter 20)

Instructor: Amir Nayyeri (Office hours: Wed 2:00 to 3:00pm at KEC 3061)

TA: Hanzhong Xu (Office hours: Thr 4:00 to 5:00pm at Kelley Atrium)

Lectures: Tue, Thr 2:00pm-3:20pm in Kearney Hall 124


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.

Evaluation: Homework (60%), Midterm (40%)

Prerequisites: (CS 325 or CS 325H) and MTH 232


Announcements:


Homework Assignments:


Lectures:

  1. Tue 1/7: Introduction, graph representation and traversal.
    References: (1) Basic graph algorithms, Jeff Erickson.

  2. Thr 1/9: Graph traversal; whatever search algortihms.
    References: (1) Basic graph algorithms, Jeff Erickson.

  3. Tue 1/14: Graph Traversal, DFS, directed graphs, topological sorting.
    References: (1) Depth-First-Search, Jeff Erickson.

  4. Thr 1/16: Problem Solving Session, try problems in HW1 before class.

  5. Tue 1/21: Topological sorting, strongly connected components.
    References: (1) Depth-First-Search, Jeff Erickson.

  6. Thr 1/23: Single source shortest paths.
    References: (1) Single source shortest paths, Dijkstra, Bellman-Frod, dynamic programming, Jeff Erickson.

  7. Tue 1/28: All pairs shortest paths.
    References: (1) All pairs shortest paths, Johnson, Floyd-Warshal, Jeff Erickson.

  8. Thr 1/30: Problem Solving Session, try problems in HW2.

  9. Tue 2/4: Matchings.
    References: (1) Eulerian paths , Wikipedia. (2) Hamiltonian paths , Wikipedia.

  10. Thr 2/6: Matchings.
    References: Minimum spanning tree, Jeff Erickson.

  11. Tue 2/11: Matchings.
    References: (1) Maximum matching in bipartite and non-bipartite graphs , Uri Zwick. (2) Maximum matching, Wikipedia.

  12. Thr 2/13: Problem Solving Session, try problems in HW3.

  13. Tue 2/18: Approximation algorithms, TSP, ATSP.
    References: (1) Approximation algorithm, Wikipedia. TSP, Wikipedia. (2) ATSP, Chandra Chekuri.

  14. Thr 2/20: Approximation algorithms, Euclidean TSP.
    References: (1) Sanjeev Arora's presentation, and his paper. (2) Notes from Ola Svensson's course.

  15. Tue 2/25: Linear programming based approximation algorithms.

  16. Thr 2/27: Problem Solving Session, try problems in HW4. Amir will be out of town, Hanzhong will conduct the session.

  17. Tue 3/3: Exam in class -- A sample set from past.

  18. Thr 3/5: Surface classification theorem https://www.maths.ed.ac.uk/~v1ranick/surgery/zeeman.pdf.

  19. Tue 3/10: Algebraic graph theory, Kirchhoff's theorem for number of spanning trees.

  20. Thr 3/12: No class, in light of COVID-19.