Graph Algorithms

Last updated: 2022-12-31

Course Info

Abstract

In this course, we introduce basic concepts in graph theory and complexity theory, then study graph algorithms with a focus on matching and network flows.

Time

Tue and Thu, 15:20 - 16:55, Sep. 13 to Dec. 8, 2022

Classroom

Room 1118 | Zoom: 242 742 6089, pw: BIMSA

TA

Chuqi Cao

References

  1. Pearls in Graph Theory, by Nora Hartsfield and Gerhard Ringel.
  2. Introduction to Graph Theory, by Douglas B. West.
  3. Modern Graph Theory, by Bela Bollobas.
  4. The Design and Analysis of Algorithms, by Dexter Kozen.

Upcoming Topics

[12/29] Hidden subgroup problem (HSP), GI, quantum computing

  • HSP definition
  • Instantiations: graph isomorphism, Duetsch’s problem, Simon’s problem, order finding (and factoring)
  • Reading:

[11/29] Flow: max flow algorithms

  • Fibonacci heap, continued
  • Applications of max flow min cut: Menger’s theorem, the Konig-Egervary theorem, Hall’s theorem, Dilworth’s theorem
  • Reading:

[11/22] Flow: max flow algorithms

  • Edmonds and Karp’s 2nd heuristic
  • MPM algorithm and Fibonacci heap
  • Reading: Lecture 8 and 9 of Reference 4

[11/15] Flow: Max Flow - Min Cut theorem

  • Flow, cut, and MFMC theorem
  • Max flow algorithms: Edmonds and Karp’s two heuristics
  • Reading: Lecture 16-18 of Reference 4

[11/08] Matching: parallel algorithm

[11/01] Matching: primal-dual, algebraic algorithms

  • Primal-dual algorithm
  • Algebraic algorithms

[10/25] Matching: min-cost prefect matching

  • Iterative min-cost augmenting paths
  • LP relaxation, duality

[10/18] Matching: non-bipartite maximum matching

  • Hall’s marriage theorem
  • Edmonds’ blossom algorithm
  • Tutte-Berge formula
  • Reading: Edmonds’ paper

[10/11] Matching: bipartite maximum matching

  • Bitartite maximum matching and Kőnig’s theorem
  • Naïve algorithm
  • The Hopcroft-Karp algorithm
  • Reading: Lecture 19-20, Reference 4

[09/27] GI, continued.

  • Outline:
    • Color refinement review
    • 2-dimensional Weisfeiler-Leman (WL) algorithm
    • k-dimensional WL algorithm, k-variable language with counting, and Ehrenfeucht–Fraïssé game (back-and-forth games)
    • For any $k$, there is non-isomorphism $G_k$ and $H_k$ such that k-WL cannot distinguish them
  • Reading:

[09/20] GI, continued.

[09/13] The graph isomorphism (GI) problem.