Graph Partitioning and Expanders
Offered By: Stanford University via NovoEd
Course Description
Overview
In this research-oriented graduate course, we will study algorithms for graph partitioning and clustering, constructions of expander graphs, and analysis of random walks. These are three topics that build on the same mathematical background and that have several important connections: for example it is possible to find graph clusters via random walks, and it is possible to use the linear programming approach to graph partitioning as a way to study random walks.
We will study spectral graph theory, which explains how certain combinatorial properties of graphs are related to the eigenvalues and eigenvectors of the adjacency matrix, and we will use it describe and analyze spectral algorithms for graph partitioning and clustering. Spectral graph theory will recur as an important tool in the rest of the course. We we will also discuss other approaches to graph partitioning via linear programming and semidefinite programming. Then we will study constructions of expander graphs, which are graphs with very strong pseudorandomness properties, which are useful in many applications, including in cryptography, in complexity theory, in algorithms and data structures, and in coding theory. Finally, we will study the mixing time of random walks, a problem that comes up in several applications, including the analysis of the convergence time of certain randomized algorithms, such as the Metropolis algorithm.
Prerequisites
Linear algebra, discrete probability, and algorithms
Taught by
Luca Trevisan
Tags
Related Courses
Algorithms for DNA SequencingJohns Hopkins University via Coursera Applied AI with DeepLearning
IBM via Coursera Artificial Intelligence Algorithms Models and Limitations
LearnQuest via Coursera Algebra & Algorithms
Moscow Institute of Physics and Technology via Coursera Algorithms: Design and Analysis, Part 2
Stanford University via Coursera