Course Description

6.890 Algorithmic Lower Bounds: Fun with Hardness Proofs is a class taking a practical approach to proving problems can’t be solved efficiently (in polynomial time and assuming standard complexity-theoretic assumptions like P ≠ NP). The class focuses on reductions and techniques for proving problems are …
6.890 Algorithmic Lower Bounds: Fun with Hardness Proofs is a class taking a practical approach to proving problems can’t be solved efficiently (in polynomial time and assuming standard complexity-theoretic assumptions like P ≠ NP). The class focuses on reductions and techniques for proving problems are computationally hard for a variety of complexity classes. Along the way, the class will create many interesting gadgets, learn many hardness proof styles, explore the connection between games and computation, survey several important problems and complexity classes, and crush hopes and dreams (for fast optimal solutions).
Learning Resource Types
Lecture Videos
Problem Sets with Solutions
Lecture Notes
Projects
Instructor Insights
Photo of a model of the Green Building at MIT, illuminated with a version of a Tetris game.
This model of the Green Building at MIT was illuminated with a version of the game Tetris in its windows. This class deals with topics related to proving computationally hard problems, using the context of video games to demonstrate its points. (Image courtesy of Josh Graciano on Flickr. CC BY 2.0.)