CS359G: Graph Partitioning and Expanders

[general info]  [lecture notes] [exams and projects]

general information

Instructor: Luca Trevisan, Gates 474, Tel. 650 723-8879, email trevisan at stanford dot edu

Classes are Tuesday-Thursday, 11am-12:15pm, location Herrin T185

Office hours: Wednesdays 10:30-11:30

About the course

The mathematics of expander graphs is studied by three distinct communities:
  1. The algorithmic problem of finding a small balanced cut in a graph (that is, of finding a certificate that a graph is *not* an expander) is a fundamental problem in the area of approximation algorithms, and good algorithms for it have many applications, from doing image segmentation to driving divide-and-conquer procedures.
  2. Explicit constructions of highly expanding graphs have many applications in algorithms, data structures, derandomization and cryptography; many constructions are algebraic, and lead to deep questions in group theory, but certain new constructions are purely combinatorial.
  3. The speed of convergence of MCMC (Markov-Chain Monte-Carlo) algorithms is related to the expansion of certain exponentially big graphs, and so the analysis of such algorithms hinges on the ability to bound the expansion of such graphs.
In this course we aim to present key results from these three areas, and to explore the common mathematical background.

Prerequisites: a basic course in linear algebra and a course on algorithms; preferably, also a basic understanding of linear programming and of duality.

Assignments: two midterm take-home exams and a take-home final exam. Working on a research project related to the topics of the class can substitute for the final exam.


The main reference will be a set of lecture notes. Notes will be posted after each lecture. In addition, the following texts will be helpful references. On sparsest cut approximation algorithms: On spectral graph theory and on explicit constructions of expander graphs: On Markov-Chain Monte-Carlo algorithms for uniform generation and approximate counting.


  1. 01/04 Description of the course, definitions of edge expansion and sparsest cut
    Notes: [PDF] [HTML]

  2. 01/06 Review of linear algebra
    Notes: [PDF] [HTML]

  3. 01/11 Cheeger's inequality, proof of the easy direction
    Notes: [PDF] [HTML]

  4. 01/13 Cheeger's inequality, proof of the difficult direction
    Notes: [PDF] [HTML]

  5. 01/18 Characters of finite abelian groups
    Notes: [PDF] [HTML]

  6. 01/20 The eigenvalues and eigenvectors of Cayley graphs
    Notes: [PDF] [HTML]

  7. 01/25 A nearly-linear-time algorithm for finding eigenvectors
    Notes: [PDF] [HTML]

  8. 01/27 The Leighton-Rao relaxation of sparsest cut and metric embeddings
    Notes: [PDF] [HTML]

  9. 02/01 Bourgain's embedding of any metric into L1
    Notes: [PDF] [HTML]

  10. 02/03 Other applications of Bourgain's embedding to approximation
    Notes: [PDF] [HTML]

  11. 02/08 The Arora-Rao-Vazirani of sparsest cut and semidefinite programming
    Notes: [PDF] [HTML]

  12. 02/10 The spectral bound as a semidefinite relaxation, its dual, and the dual of Leighton-Rao
    Notes: coming soon

  13. 02/15. The dual of ARV.
    Notes: coming soon

  14. 02/17. Rounding ARV (beginning of the analysis)
    Notes: [PDF] [HTML]

  15. 02/22. Rounding ARV, proof the main Lemma
    Notes: coming soon

  16. 02/24. Construction of expanders
    Notes: [PDF] [HTML]

  17. 03/01. Analysis of the zig-zag graph product
    Notes: [PDF] [HTML]

  18. 03/03. Properties of expanders and applications
    Notes: [PDF] [HTML]

  19. 03/08. Approximate sampling and counting, and counting matchings in a graphs
    Notes: coming soon

  20. 03/10. Counting matchings in a graph
    Notes: coming soon
The following is a tentative schedule:
  1. Definitions: edge and vertex expansion, uniform and general sparsest cut problems, review of linear algebra
  2. Eigenvalues and expansion, Cheeger's inequality and the spectral partitioning algorithm
  3. Cheeger's inequality, continued
  4. Classes of graphs for which spectral partitioning is provably good
  5. Algorithms for finding sparse cuts: Leighton-Rao, and metric embeddings
  6. Equivalence of rounding the Leighton-Rao relaxation and embedding general metrics into L1
  7. Algorithms for finding sparse cuts: Arora-Rao-Vazirani
  8. Arora-Rao-Vazirani, continued
  9. Integrality gaps for the Arora-Rao-Vazirani relaxation
  10. Applications of expanders: derandomization
  11. Applications of expanders: security amplification of one-way permutations
  12. The Margulis-Gabor-Galil construction of expanders
  13. The Zig-Zag graph product construction
  14. Eigenvalues, expansion, conductance, and random walks
  15. Approximate counting, approximate sampling, and the MCMC method
  16. Random Spanning trees
  17. Counting colorings in bounded-degree graphs
  18. Counting perfect matchings in dense bipartite graphs
  19. The Metropolis algorithm

Exams and Projects

The Midterm is due on Thursday February 17.

You can elect to do a final project instead of the final exam. A final project involves reading on a topic that we did not cover in class, and writing a report.

Here is a list of possible projects. You are welcome to propose a different one.