NP Problem

NP-Complete

A problem is -complete if for all .

Alternative (similar definition): A problem is NP-complete if and is NP-Hard.

Informally

Informally, we say a problem is NP-complete if it is the hardest problem in NP.

From CS241E: If a problem is NP-complete, then a polynomial time algorithm solving that problem could be modified to solve all other NP-complete problems in polynomial time.

Some NP-Complete Problems:

Implications

To prove that a problem is -complete, we just need to find a NP-Complete problem , and prove that .

  • For instance, prove that

The definition feels a little cyclical

We’re essentially proving that a problem is NP-complete if it can be reduced to another NP-complete problem.

However, proving it without the cyclical part is doable. But it’s a lot longer.