Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Machine Learning for Algorithm Design

Course information

  • Quarter: Spring 2023
  • Lecture time: Tuesday and Thursdays 3:00-4:20pm
  • Lecture location: McCullough 122
  • Instructor: Ellen Vitercik
  • Instructor office hours: Tuesday 11am-12pm, Huang 250. Also by appointment—please feel free to reach out!
  • Prerequisites: Introductory course in algorithms (e.g., CS 161). Introductory course in machine learning is helpful but not required.

Description

Machine learning has become a powerful tool for algorithm design. This is because in practice, we often have ample data about the application domain in which the algorithm will be used—data that can be used to optimize the algorithm’s performance. This course covers how machine learning can be used within the algorithm design pipeline from a variety of perspectives, including how to design novel algorithms with machine-learned modules and how to configure existing algorithms’ parameters to optimize performance. Topics will include both applied machinery as well as theoretical tools for providing provable guarantees.

Course activities

  • Lectures: The course will include lectures which cover key technical tools used to develop and analyze machine learning approaches to algorithm design. These include introductions to the supervised learning model, integer programming and SAT solvers, graph neural networks, Markov decision processes, reinforcement learning, and theoretical machine learning.
  • Discussions: There will be discussion classes where we cover key papers from the literature on machine learning for algorithm design.
  • Project: Students will complete a course project, in a group or individually.

Grading

Grading will be out of 100 points. The grading breakdowns are listed on the following pages: