The class of algorithms that run in polynomial time is called **P**.

- Algorithms that require more (exponential) time are ``intractable''
- Some
*problems*seem to inherently require more time - One class of such problems is Nondeterministically Polynomial (NP), also called polynomial-time verifiable
- Obviously, P NP, but P NP (or P = NP) is an open question
- An NP-Complete problem is in NP and is as hard as any problem in NP.

Such a problem not necessarily in NP is called NP-Hard. - If P = NP, then a large class of NP-Complete problems would have a
polynomial-time solution.

Thus, most researchers advocate P NP (P NP)

We would like to know the class to which a problem belongs.