Algorithmic lower bounds: fun with hardness proofs
Master
In Maynard (USA)
Description
-
Type
Master
-
Location
Maynard (USA)
-
Start date
Different dates available
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).
Facilities
Location
Start date
Start date
Reviews
Subjects
- Algorithms
- Approach
Course programme
Lectures: 2 sessions / week, 1.5 hours / session
6.046 Design and Analysis of Algorithms or equivalent background in discrete mathematics and algorithms.
Need to figure out when to give up the search for efficient algorithms?
Want to know why Tetris and Mario are computationally intractable?
Love seeing the connections between problems and how they can be transformed into each other?
Like solving puzzles that can turn into publishable papers?
This class takes a practical approach to proving problems can't be solved efficiently (in polynomial time and assuming standard complexity-theoretic assumptions like P ≠ NP). We focus on reductions and techniques for proving problems are computationally hard for a variety of complexity classes. Along the way, we'll 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).
The ability to show a problem is computationally hard is a valuable tool for any algorithms designer to have. Lower bounds can tell us when we need to turn to weaker goals or stronger models of computation, or to change the problem we're trying to solve. Trying to find lower bounds can help us see what makes a problem difficult or what patterns we might be able to exploit in an algorithm. The hardness perspective can help us understand what makes problems easy, or difficult to solve.
We will organize an optional problem-solving session, during which we can jointly try to solve open problems focusing on proving problems (we think) are computationally hard. In the past, similar problem sessions in 6.849 Geometric Folding Algorithms and 6.851 Advanced Data Structures have led to important new results and published papers, as well as class projects.
See also the sister course to this one being taught by MohammadTaghi Hajiaghayi simultaneously at the University of Maryland.
There is no textbook for this class, but there are two recommended books, one book chapter, and several useful websites.
Don't show me this again
This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.
MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.
No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.
Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.
Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)
Learn more at Get Started with MIT OpenCourseWare
Algorithmic lower bounds: fun with hardness proofs