0% found this document useful (0 votes)
180 views19 pages

P NP NP Complete Examples

P problems can be solved in polynomial time on a deterministic computer. NP problems can be solved in polynomial time on a nondeterministic computer. NP-hard problems are at least as hard as any NP problem, meaning any NP problem can be reduced to an NP-hard problem in polynomial time. NP-complete problems are NP-hard and are also in NP, so they are the hardest problems in NP.

Uploaded by

study hub
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
180 views19 pages

P NP NP Complete Examples

P problems can be solved in polynomial time on a deterministic computer. NP problems can be solved in polynomial time on a nondeterministic computer. NP-hard problems are at least as hard as any NP problem, meaning any NP problem can be reduced to an NP-hard problem in polynomial time. NP-complete problems are NP-hard and are also in NP, so they are the hardest problems in NP.

Uploaded by

study hub
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

P, NP, NP-Hard & NP-complete problems

1
Types of Problems
• Trackable
• Intrackable
• Decision
• Optimization

Trackable : Problems that can be solvable in a reasonable(polynomial) time.

Intrackable : Some problems are intractable, as they grow large, we are unable to solve them in
reasonable time.

2
Tractability

• What constitutes reasonable time?

– Standard working definition: polynomial time

– k
On an input of size n the worst-case running time is O(n ) for some constant k

2 3 n n
– O(n ), O(n ), O(1), O(n lg n), O(2 ), O(n ), O(n!)

– 2 3
Polynomial time: O(n ), O(n ), O(1), O(n lg n)

– n n
Not in polynomial time: O(2 ), O(n ), O(n!)

• Are all problems solvable in polynomial time?

– No: Turing’s “Halting Problem” is not solvable by any computer, no matter how much time is given.

3
Optimization/Decision Problems

• Optimization Problems

– An optimization problem is one which asks, “What is the optimal solution to problem
X?”
– Examples:

• 0-1 Knapsack

• Fractional Knapsack

• Minimum Spanning Tree

• Decision Problems
– An decision problem is one with yes/no answer
– Examples:

• Does a graph G have a MST of weight <= W?

4
Optimization/Decision Problems

• An optimization problem tries to find an optimal solution


• A decision problem tries to answer a yes/no question
• Many problems will have decision and optimization versions
– Eg: Traveling salesman problem

• optimization: find hamiltonian cycle of minimum weight

• decision: is there a hamiltonian cycle of weight <=k

5
P, NP, NP-Hard, NP-Complete

-Definitions

6
The Class P

P: the class of problems that have polynomial-time deterministic algorithms.

– That is, they are solvable in O(p(n)), where p(n) is a polynomial on n

– A deterministic algorithm is (essentially) one that always computes the correct answer

7
Sample Problems in P

• Fractional Knapsack
• MST
• Sorting
• Others?

8
The class NP

NP: the class of decision problems that are solvable in polynomial time on a nondeterministic machine (or with a
nondeterministic algorithm)

– (A determinstic computer is what we know)

– A nondeterministic computer is one that can “guess” the right answer or solution

• Think of a nondeterministic computer as a parallel machine that can freely spawn an infinite number of
processes

• Thus NP can also be thought of as the class of problems “whose solutions can be verified in polynomial
time”

• Note that NP stands for “Nondeterministic Polynomial-time”

9
Sample Problems in NP

• Fractional Knapsack
• MST
• Others?

– Traveling Salesman

– Graph Coloring

– Satisfiability (SAT)

• the problem of deciding whether a given Boolean formula is satisfiable

10
P And NP Summary

• P = set of problems that can be solved in polynomial time

– Examples: Fractional Knapsack, …

• NP = set of problems for which a solution can be verified in polynomial time

– Examples: Fractional Knapsack,…, TSP, CNF SAT, 3-CNF SAT

• Clearly P  NP

• Open question: Does P = NP?

– P ≠ NP
NP-hard
• What does NP-hard mean?

– A lot of times you can solve a problem by reducing it to a different problem. I can reduce Problem B to
Problem A if, given a solution to Problem A, I can easily construct a solution to Problem B. (In this case,
"easily" means "in polynomial time.“).

• A problem is NP-hard if all problems in NP are polynomial time reducible to it, ...
• Ex:- Hamiltonian Cycle
Every problem in NP is reducible to HC in polynomial time. Ex:- TSP is reducible to
HC.

B A

Example: lcm(m, n) = m * n / gcd(m, n),

13
NP-complete problems

• A problem is NP-complete if the problem is both

– NP-hard, and

– NP.
Reduction

• A problem R can be reduced to another problem Q if any instance of R can be rephrased to an instance of Q, the
solution to which provides a solution to the instance of R

– This rephrasing is called a transformation

• Intuitively: If R reduces in polynomial time to Q, R is “no harder to solve” than Q

• Example: lcm(m, n) = m * n / gcd(m, n), lcm(m,n) problem is reduced to gcd(m, n) problem


NP-Hard and NP-Complete

• If R is polynomial-time reducible to Q, we denote this R <=p Q

• Definition of NP-Hard and NP- Complete:

– If all problems R belong to NP are polynomial-time

reducible to Q, then Q is NP-Hard

– We say Q is NP-Complete if Q is NP-Hard and Q belong to NP

• If R <=p Q and R is NP-Hard, Q is also NP-Hard


17
Summary

• P is set of problems that can be solved by a deterministic Turing machine in Polynomial time.

• NP is set of problems that can be solved by a Non-deterministic Turing Machine in Polynomial time. P is subset of
NP (any problem that can be solved by deterministic machine in polynomial time can also be solved by non-
deterministic machine in polynomial time) but P≠NP.

18
• Some problems can be translated into one another in such a way that a fast solution to one problem
would automatically give us a fast solution to the other.

• There are some problems that every single problem in NP can be translated into, and a fast solution to such
a problem would automatically give us a fast solution to every problem in NP. This group of problems are
known as NP- Complete. Ex:- Clique

• A problem is NP-hard if an algorithm for solving it can be translated into one for solving any NP- problem
(nondeterministic polynomial time) problem. NP-hard therefore means "at least as hard as any NP-
problem," although it might, in fact, be harder

19
20

You might also like