Reducibility
- A problem
reduces to a problem if given any input to , we can construct an input such that is a yes
instance ofif and only if is a yes
instance of. We denote to say that reduces to . - Intuition: This can be read as saying solving
is at least as difficult as solving .
- Intuition: This can be read as saying solving
P and NP
-
The set
consists of problems that are solvable in polynomial time. More formally ,if
is the input size of an instance of the problem, there exists an algorithm whose runtime can be asymptotically upper bounded by a polynomial function in \ -
The set
is the set of decision problems which are solvable in non-deterministic polynomial time -
Non Deterministic Polynomial Time means that we can guess the answer from polynomially many options in
time -
More formally, we can define this as follows.
A certificate is defined as evidence (with polynomial size) that would lead us to establish whether a problem instance is a YES instance.
A certifier is an algorithm that checks that the certificate is indeed a valid proof.
A problem is in NP if there exists a certifier that can run in polynomial time.
-
-
- Proof: A polynomial time certifier exists for a problem instance
— the polynomial time algorithm itself that can be used to solve .
- Proof: A polynomial time certifier exists for a problem instance
-
Let
. - If
then because we can solve as follows: (1) polytime convert to , then solve . - If
, then
- If
-
A decision problem
is in NP-Hard if for every problem , . -
A decision problem
is said to be NP-Complete if - For Every problem
-
If a problem is NP-hard then it is at least as difficult to solve as NP.
-
Any polynomial time algorithm for
would give us proof that . -
A problem
can be shown to be in NP-C by showing that - A problem
exists such that .
Misc
- PPAD is an interesting complexity class.