CS359G: Graph Partitioning and Expanders
[general info]
[lecture notes] [exams and projects]
general information
Instructor: Luca
Trevisan, Gates 474, Tel. 650 7238879, email trevisan at stanford dot edu
Classes are TuesdayThursday, 11am12:15pm, location Herrin T185
Office hours: Wednesdays 10:3011:30
About the course
The mathematics of expander graphs is studied by three distinct
communities:
 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 divideandconquer procedures.

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.
 The speed of
convergence of MCMC (MarkovChain MonteCarlo) 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 takehome exams and a takehome final exam.
Working on a research project related to the topics of the class can
substitute for the final exam.
References
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 MarkovChain MonteCarlo algorithms for uniform generation
and approximate counting.
Lectures
 01/04 Description of the course, definitions of edge expansion and sparsest cut
Notes: [PDF] [HTML]
 01/06 Review of linear algebra
Notes: [PDF] [HTML]
 01/11 Cheeger's inequality, proof of the easy direction
Notes: [PDF] [HTML]
 01/13 Cheeger's inequality, proof of the difficult direction
Notes: [PDF] [HTML]
 01/18 Characters of finite abelian groups
Notes: [PDF] [HTML]
 01/20 The eigenvalues and eigenvectors of Cayley graphs
Notes: [PDF] [HTML]
 01/25 A nearlylineartime algorithm for finding eigenvectors
Notes: [PDF] [HTML]
 01/27 The LeightonRao relaxation of sparsest cut and metric embeddings
Notes: [PDF] [HTML]
 02/01 Bourgain's embedding of any metric into L1
Notes: [PDF] [HTML]
 02/03 Other applications of Bourgain's embedding to approximation
Notes: [PDF] [HTML]
 02/08 The AroraRaoVazirani of sparsest cut and semidefinite programming
Notes: [PDF] [HTML]
 02/10 The spectral bound as a semidefinite relaxation, its dual, and the dual of LeightonRao
Notes: coming soon
 02/15. The dual of ARV.
Notes: coming soon
 02/17. Rounding ARV (beginning of the analysis)
Notes: [PDF] [HTML]
 02/22. Rounding ARV, proof the main Lemma
Notes: coming soon
 02/24. Construction of expanders
Notes: [PDF] [HTML]
 03/01. Analysis of the zigzag graph product
Notes: [PDF] [HTML]
 03/03. Properties of expanders and applications
Notes: [PDF] [HTML]
 03/08. Approximate sampling and counting, and counting matchings in a graphs
Notes: coming soon
 03/10. Counting matchings in a graph
Notes: coming soon
The following is a tentative schedule:
 Definitions: edge and vertex expansion, uniform and general sparsest
cut problems, review of linear algebra
 Eigenvalues and expansion, Cheeger's inequality and the spectral
partitioning algorithm
 Cheeger's inequality, continued
 Classes of graphs for which spectral partitioning is provably good
 Algorithms for finding sparse cuts: LeightonRao, and metric embeddings
 Equivalence of rounding the LeightonRao relaxation and
embedding general metrics into L1
 Algorithms for finding sparse cuts: AroraRaoVazirani
 AroraRaoVazirani, continued
 Integrality gaps for the AroraRaoVazirani relaxation
 Applications of expanders: derandomization
 Applications of expanders: security amplification of oneway permutations
 The MargulisGaborGalil construction of expanders
 The ZigZag graph product construction
 Eigenvalues, expansion, conductance, and random walks
 Approximate counting, approximate sampling, and the MCMC method
 Random Spanning trees
 Counting colorings in boundeddegree graphs
 Counting perfect matchings in dense bipartite graphs
 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.