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

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

TA: Marjan Adeli (Office hours: Mon 2:00pm-3:00pm at Kelley Atrium)

Lectures: Tue, Thr 2:00pm-3:20pm in OWEN 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.

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

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


Homework Assignments:

Lectures:

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

  2. Thr 1/12: BFS and DFS.
    References: (1) Depth first search, Jeff Erickson. (2) Wikipedia pages: DFS.

  3. Tue 1/17: DFS applications, finding a cycle, topological sort, strongly connected components.
    References: (1) Depth first search, Jeff Erickson. (2) Wikipedia pages: DFS, topological sorting, strongly connected components.

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

  5. Tue 1/24: Linear time strongly connected components, shortest paths in weighted graphs.
    References: (1) Depth first search, Jeff Erickson. (2) strongly connected components, (3) Shortest paths , Jeff Erickson.

  6. Thr 1/26: Shortest paths in weighted graphs.
    References: Single source shortest paths , Jeff Erickson.

  7. Tue 1/31: Shortest paths in weighted graphs with negative edges.
    References: Single source shortest paths , Jeff Erickson.

  8. Thr 2/2: Problem Solving Session, try problems in HW3 before the class.

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

  10. Thr 2/9: Matching, algorithms for bipartite graphs.
    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/14: Matching, algorithms for bipartite graphs and non-bipartite graphs.
    References: (1) Maximum matching in bipartite and non-bipartite graphs , Uri Zwick. (2) Matching algorithms , Piotr Sankowski and Stefano Leonardi. (3) Maximum matching, Wikipedia.

  12. Thr 2/16: Problem Solving Session, try problems in HW5 before the class.

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

  14. Thr 2/23: Eulerian tour, Hamiltonian cycle.
    References: (1) Eulerian paths , Wikipedia. (1) Hamiltonian paths , Wikipedia.

  15. Tue 2/28: Approximation algorithms, TSP.
    References: (1) NP-hardness, Wikipedia. (2) Approximation algorithm, Wikipedia. TSP, Wikipedia.

  16. Thr 3/2: Midterm.
    Sample questions. Questions will be on the material of lectures 1 to 14.
    Grades (curved):
    CS420: 42, 40.25, 36.50, 34, 32, 31.75, 31.75, 31.50, 31.50, 31.25, 30.50, 29.75, 27, 25.75, 25.75, 25, 24.25, 19, 10.
    CS520: 40, 39.50, 39, 39, 38.50, 38.50, 37, 36.50, 36.25, 34.50, 32, 31, 30.75, 30.50, 30.50, 30.25, 29, 28.50, 28.25, 27.25, 27.25, 25.50, 21.25, 15.75, 13.

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

  18. Thr 3/9: Problem Solving Session, try problems in HW6 before the class.

  19. Tue 3/14: Property testing.
    References: (1) Introduction to sublinear algorithms, Dana Ron. (2) Sublinear algorithms, Sofya Raskhodnikova.

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