NP Hard, NP Complete
Reductions : use one problem to solve another
For example, if we have an algorithm for HALT, we could use it to solve ACC.
A problem is NP hard if solving it means we can solve every problem in NP
- Specifically, there is a polytime reduction to the NP hard problem
A problem is NP complete if it is NP hard and it is also in NP
- These problems epitomize the class NP.