We introduce the class NP, the class of decision problems that have
short certificates/witness of the yes instances. This class models
what we usually think as puzzles. There is one or more solutions that
are easy to verify but maybe hard to find. Indeed for many decision
problems in NP we do not know how to decide them efficiently. This is
the question "P vs NP".
We see nevertheless that NP is inside EXP.
Using the notion of polynomial reduction (or Karp reduction) we
discuss NP-hardness and NP-completeness: we identify problems that
are as hard (or more) than any other problem in NP. We show that
SAT reduces to 3-SAT.
We prove Theorem 2.9 to give a canonical (even if not interesting)
NP-complete problem. Then we introduce (without proof for now) the
Cook-Levin theorem which claims that SAT (or even 3-SAT) is NP-complete.
Homework
- Sections 2.1, 2.2, 2.3 (without section 2.3.4)
- Exercises 2.1, 2.2, 2.4, 2.6, 2.7, 2.8, 2.9, 2.10, 2.11