Machine Learning for Algorithm Design

Schedule

The schedule is tentative and is subject to change.

Lecture 1, 9/9. Intro: algorithms in the age of machine learning (online)

Part 1: Predictions and decisions

Lecture 2, 9/14. Greedy algorithms (hybrid)
Lecture 3, 9/16. PAC learning (hybrid)
Lecture 4, 9/21. Optimization from samples (hybrid)
Lecture 5, 9/23. Optimization from samples 2 (hybrid)
Lecture 6, 9/28. Optimization from structured samples for coverage functions (hybrid)
Lecture 7, 9/30. Learning cooperative games (online, student presentation)
Lecture 8, 10/5. Smart “Predict, then Optimize” (online, guest lecture by Adam Elmachtoub)

Part 2: Learning-augmented algorithms

Lecture 9, 10/7. Intro to learning-augmented algorithms and bloom filters (hybrid)
Lecture 10, 10/12. Learned bloom filters (hybrid)
Lecture 11, 10/14. Online algorithms (hybrid)
Lecture 12, 10/19. Learning augmented ski rental and scheduling (online, student presentation)
Lecture 13, 10/21. Learning augmented caching (online, guest lecture by Thodoris Lykouris)
Lecture 14, 10/26. Customizing ML predictions for online algorithms (online, student presentation)

Part 3: Algorithms for big data

Lecture 15, 10/28. Distributed algorithms 1 (online)
Lecture 16, 11/4. Project updates (online)
Lecture 17, 11/9. Distributed algorithms 2 (online, student presentation)
Lecture 18, 11/11. Streaming algorithms 1 (online)
Lecture 19, 11/16. Streaming algorithms 2 (online, student presentation)
Lecture 20, 11/18. Parallel algorithms 1 (online)
Lecture 21, 11/23. Parallel algorithms 2 (online, student presentation)

Part 4: Data-driven algorithm design

Lecture 22, 11/30. Algorithm selection (online)
Lecture 23, 12/2. Algorithm selection in online settings (online, student presentation)

Lecture 24, 12/7. TBD
Lecture 25, 12/9. TBD
Lecture 26, 12/14. Project presentations (online)