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

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

TA: Hanzhong Xu (Office hours: Mon 3:00pm-4:00pm at Kelley Atrium)

Lectures: Tue, Thr 2:00pm-3:20pm in WNGR 116


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


Homework Assignments:


Lectures:

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

  2. Thr 1/11: Introduction, graph representation and traversal.
    References: (1) Basic graph algorithms, Jeff Erickson.

  3. Tue 1/16: Problem Solving Session, try problems in HW1 before class.

  4. Thr 1/18: No Class.

  5. Tue 1/23: DFS applications, finding a cycle, topological sort.
    References: (1) Depth first search, Jeff Erickson. (2) Wikipedia pages: DFS, topological sorting.

  6. Thr 1/25: Dynamic programming on DAGs, strongly connected components.
    References: (1) Depth first search, Jeff Erickson. (2) Wikipedia page: strongly connected components.

  7. Tue 1/30: Problem Solving Session, try problems in HW2 before class.

  8. Thr 2/1: Shortest paths in weighted graphs.
    References: Single source shortest paths , Jeff Erickson.
  9. Tue 2/6: All pairs shortest paths, Johnson, dynamic programming, Floyd-Warshal.
    References: (1) All pairs shortest paths , Jeff Erickson.

  10. Thr 2/8: Matchings.
    References: (1) Maximum matching in bipartite and non-bipartite graphs , Uri Zwick. (2) Matching algorithms , Piotr Sankowski and Stefano Leonardi. (3) Maximum matching, Wikipedia.

  11. Tue 2/13: Problem Solving Session, try problems in HW3 before the class.

  12. Thr 2/5: Matchings.
    References: (1) Maximum matching in bipartite and non-bipartite graphs , Uri Zwick. (2) Matching algorithms , Piotr Sankowski and Stefano Leonardi. (3) Maximum matching, Wikipedia.

  13. Tue 2/20: Perfect matching via Tutte matrix.
    References: (1) Testing polynomials and perfect matching , Alistair Sinclair.

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

  15. Tue 2/27: Kareger's minimum cut algorithm. References: (1) Randomized minimum cut algorithms, Jeff Erickson.

  16. Thr 3/1: Midterm. Midterm 2017, for practice. Grades: 105 105 105 105 105 100 100 100 100 95 95 91 90 90 88.75 88 85 85 78.75 76.75 73 71.75 71.75 66.75 66.25 65 60 60 58.75 57 56.75 53 52 49.25 48.75 48 48 43.75 40.

  17. Thr 3/6: Eulerian tour, Hamiltonian cycle.
    References: (1) Eulerian paths , Wikipedia. (1) Hamiltonian paths , Wikipedia.

  18. Thr 3/8: Problem Solving Session, try problems in HW4 before class.

  19. Tue 3/13: Approximation algorithms, TSP.
    References: (1) Approximation algorithm, Wikipedia. TSP, Wikipedia.

  20. Tue 3/15: Asymetric TSP and minimum Steiner tree, approxiamtion algorithms.
    References: (1) ATSP, Chandra Chekuri.