Lecture 6
Today we are going to look at polynomial time reductions between problems. We will use some of the slides from here. Exactly what we cover depends on how much time we have and what the interest of the class is. You are advised to read all of the slides and the corresponding material in the book. Chapter 34 is essential reading for both today’s lecture and Lecture 9.
There are two motivations for studying polynomial time reductions:
- If I have an algorithm for one problem, then I can use it to solve other problems that on the surface seem different.
- To study the computational complexity of polynomial and non-deterministic problems. If I know that my problem is NP-hard, then I am very unlikely to find a polynomial time algorithm.
Today we will be thinking more about the first case, and in Lecture 9 we will look more at the landscape of computational complexity.