# CS366: Graph Partitioning and Expanders

## general information

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

Classes are Monday-Wednesday, 11am-12:15pm, in 120-59

Office hours: Wednesdays 2-3pm

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: undergraduate-level understanding of discrete probability, linear algebra, and algorithms; preferably, also a basic understanding of linear programming and of duality.

Assignments: a 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.

### 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 Markov-Chain Monte-Carlo algorithms for uniform generation and approximate counting.

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

## classes and lecture notes

1. Jan 7. Introduction. Basics of linear algebra and introduction to spectral graph theory
2. Jan 9. Cheeger inequality
3. Jan 14. Cheeger inequality, continued
4. Jan 16. The eigenvalues and eigenvectors of Cayley graphs

Jan 21. No class - MLK day

5. Jan 23. The Leighton-Rao relaxation
6. Jan 28. Bourgain's theorem
7. Jan 30. The power method to find approximate eigenvectors

Feb 4. No class - Luca is away
Feb 6. No class - Luca is away

8. Feb 11. Semidefinite programming and the Arora-Rao-Vazirani relaxation
9. Feb 13. Rounding the Arora-Rao-Vazirani relaxation

Feb 18. No class - President's day

10. Feb 20. The problem of finding well-separated sets
11. Feb 25. Finding well-separated sets
12. Feb 27. Other results and open problems in spectral graph theory
13. Mar 4. Gabber-Galil expanders [notes]