Optimization Problem: P, NP, NP-Hard, NP Complete Problems
Optimization Problem: P, NP, NP-Hard, NP Complete Problems
Optimization Problem: P, NP, NP-Hard, NP Complete Problems
Optimization Problem
Optimization problems are those for which the objective is to maximize or minimize
some values. For example,
Finding the minimum number of colors needed to color a given graph.
Finding the shortest path between two vertices in a graph.
Decision Problem
There are many problems for which the answer is a Yes or a No. These types of
problems are known as decision problems. For example,
Whether a given graph can be colored by only 4-colors.
Finding Hamiltonian cycle in a graph is not a decision problem, whereas checking a graph is
Hamiltonian or not is a decision problem.
What is Language?
Every decision problem can have only two answers, yes or no. Hence, a decision
problem may belong to a language if it provides an answer ‘yes’ for a specific input. A
language is the totality of inputs for which the answer is Yes. Most of the algorithms
discussed in the previous chapters are polynomial time algorithms.
For input size n, if worst-case time complexity of an algorithm is O(n ), where k is a
k
P-Class
The class P consists of those problems that are solvable in polynomial time, i.e. these
problems can be solved in time O(n ) in worst-case, where k is constant.
k
Er. Vikas Kamra, Assistant Professor, CSE Department, AKGEC, Ghaziabad (+91-92155-11511)
These problems are called tractable, while others are called intractable or
superpolynomial.
Formally, an algorithm is polynomial time algorithm, if there exists a
polynomial p(n) such that the algorithm can solve any instance of size n in a
time O(p(n)).
Problem requiring Ω(n ) time to solve are essentially intractable for large n. Most
50
known polynomial time algorithm run in time O(n ) for fairly low value of k.
k
NP-Class
The class NP consists of those problems that are verifiable in polynomial time. NP is
the class of decision problems for which it is easy to check the correctness of a
claimed answer, with the aid of a little extra information. Hence, we aren’t asking for a
way to find a solution, but only to verify that an alleged solution really is correct.
Every problem in this class can be solved in exponential time using exhaustive search.
P versus NP
Every decision problem that is solvable by a deterministic polynomial time algorithm is
also solvable by a polynomial time non-deterministic algorithm.
All problems in P can be solved with polynomial time algorithms, whereas all problems
in NP - P are intractable.
It is not known whether P = NP. However, many problems are known in NP with the
property that if they belong to P, then it can be proved that P = NP.
If P ≠ NP, there are problems in NP that are neither in P nor in NP-Complete.
The problem belongs to class P if it’s easy to find a solution for the problem. The
problem belongs to NP, if it’s easy to check a solution that may have been very tedious
to find.
Er. Vikas Kamra, Assistant Professor, CSE Department, AKGEC, Ghaziabad (+91-92155-11511)
Er. Vikas Kamra, Assistant Professor, CSE Department, AKGEC, Ghaziabad (+91-92155-11511)
Therefore, Every P problem is also an NP as every P problem’s solution can also be verified
in polynomial time, but vice-versa is not true because every NP problem cannot be solved in
polynomial time.
NP-Hard - If an even harder problem is reducible to all the problems in NP set (at least as
hard as any NP-problem) then that problem is called as NP-hard.
NP-Complete: If an NP-hard problem is inside the set of NP problems then that is NP-
complete,