Artificial intelligence is expanding the frontier of algorithm design, enabling new ways to reason about and solve complex optimization problems. This course explores how AI methods - ranging from graph neural networks and diffusion models to large language models - can be integrated into the algorithm design pipeline. We will study how to use machine learning to design new algorithms, enhance classical algorithms with data-driven components, and optimize algorithm performance in specific application domains. Topics will span both practical approaches, such as differentiable optimization and generative AI for combinatorial problems, to theoretical perspectives, including approximation guarantees and the limits of learned algorithms.
3 units · Letter or Credit/No Credit
Artificial intelligence is expanding the frontier of algorithm design, enabling new ways to reason about and solve complex optimization problems. This course explores how AI methods - ranging from graph neural networks and diffusion models to large language models - can be integrated into the algorithm design pipeline. We will study how to use machine learning to design new algorithms, enhance classical algorithms with data-driven components, and optimize algorithm performance in specific application domains. Topics will span both practical approaches, such as differentiable optimization and generative AI for combinatorial problems, to theoretical perspectives, including approximation guarantees and the limits of learned algorithms.
Offered in Autumn 2025 at Stanford University.