Machine Learning for Algorithm Design


Instructor: Eric Balkanski
Office Hours (virtual): Mondays 5:30-6:30pm


Machine learning presents both opportunities and challenges to the design of algorithms. Machine learning can be used to automate the selection of algorithms as well as to improve the performance of traditional algorithms. However, due to the rise of machine learning, algorithms are increasingly optimizing noisy models learned from data and handling extremely large datasets.

This topics course covers recent developments on the role of machine learning in the design of algorithms, with a strong emphasis on both modeling and algorithmic techniques. The course is organized in the following four parts:

  1. Optimization from samples
  2. Learning-augmented algorithms
  3. Parallel, distributed, and streaming algorithms
  4. Data-driven algorithm design