0% found this document useful (0 votes)
29 views

NP-Complete Problems: Dr. C.V. Suresh Babu

This document discusses NP-complete problems and their properties. Some key points: - NP-complete problems have an exponential upper bound on runtime but only a polynomial lower bound based on current algorithms. However, we cannot prove that a polynomial-time algorithm cannot exist. - NP-complete problems are NP problems that are as hard as the hardest problems in NP. Solving one NP-complete problem would solve all NP problems. - To prove a problem is NP-complete, it must be shown to be in NP and be reducible to another known NP-complete problem in polynomial time. - If an "oracle" could make the right decisions to solve NP-complete problems, they would become

Uploaded by

Javeria Amjad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

NP-Complete Problems: Dr. C.V. Suresh Babu

This document discusses NP-complete problems and their properties. Some key points: - NP-complete problems have an exponential upper bound on runtime but only a polynomial lower bound based on current algorithms. However, we cannot prove that a polynomial-time algorithm cannot exist. - NP-complete problems are NP problems that are as hard as the hardest problems in NP. Solving one NP-complete problem would solve all NP problems. - To prove a problem is NP-complete, it must be shown to be in NP and be reducible to another known NP-complete problem in polynomial time. - If an "oracle" could make the right decisions to solve NP-complete problems, they would become

Uploaded by

Javeria Amjad
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

NP-Complete

Problems
Dr. C.V. Suresh Babu
Problems that
• What if aCross
problem s the Line
has:
o An exponential upper bound
A polynomial lower bound
o

• We have only found exponential algorithms, so


it appears to be intractable.

• But... we can’t prove that an exponential


solution is needed, we can’t prove that a
polynomial algorithm cannot be developed, so
we can’t say the problem is intractable...

NP-Complete
The upper

problem is intractable
• b P r r o b l e m
Theolower
u nbound
d susuggests
g g ests
the problem is tractable
• The lower bound is linear:
s
the
O(N)
• They are all reducible to
each other
o If we find a reasonable
algorithm (or prove
intractability) for one, then we
Traveling Salesman
5-
Clique
Hamiltonian Path
Map Coloring
Vertex Cover (VC)
• Given a graph and an integer k, is there a
collection of k vertices such that each edge
is connected to one of the vertices in the
collection?
• With N
Class
restrictions M classes to be
S c h Pro
tscheduled, dblem
e obl ulin
ea c he rs w tih c e rt ai
can
we:
o Schedule all the classes

g g
onMake
hour sure that no two teachers
teach the same class at the same
time
o No teacher is scheduled to teach
two classes at once
Pair Programming Problem
• With N students and K projects, where N
is even, can we:
o Assign pairs of students to each
project
o Every student works on every project
o No student has the same partner
more than once
• Is this an NP-complete
problem?
Graph isomorphism
• Graph isomorphism is NP-hard; is it NP-
complete?
NP and P
• What is NP?
• NP is the set of all decision problems (question with yes-
or-no answer) for which the 'yes'-answers can be
verified in polynomial time (O(n^k) where n is the
problem size, and k is a constant) by a deterministic
Turing machine.
Polynomial time is sometimes used as the definition
• of fast or quickly.
• What is P?
P is the set of all decision problems which can be
solved
in polynomial time by a deterministic Turing machine.
Since it can solve in polynomial time, it can also be
verified in polynomial time. Therefore P is a subset of
NP.
NP-Complete
• What is NP-Complete?
• A problem x that is in NP is also in NP-Complete if
and only if every other problem in NP can be
quickly (ie. in polynomial time) transformed into x.
In other words:
• x is in NP, and
• Every problem in NP is reducible to x
• So what makes NP-Complete so interesting is that
if any one of the NP-Complete problems was to
be solved quickly then all NP problems can be
solved quickly
NP-Hard
• What is NP-Hard?
• NP-Hard are problems that are at least as hard as
the hardest problems in NP. Note that NP-
Complete problems are also NP-hard. However
not all NP-hard problems are NP (or even a
decision problem), despite having 'NP' as a prefix.
That is the NP in NP- hard does not mean 'non-
deterministic polynomial time'. Yes this is confusing
but its usage is entrenched and unlikely to
change.
Certif
i
• Returning true: in order to show that
the schedule can cates
be made, we only
have to show one schedule that
works
o This is called a certificate.

• Returning false: in order to show that


the schedule cannot be made, we
must test all schedules.
Oracles
• If we could make the ‘right decision’ at
all decision points, then we can
determine whether a solution is possible
very quickly!
o If the found solution is valid, then True
If the found solution is invalid, then
o False
• If we could find the certificates quickly, NP-
complete problems would become tractable
– O(N)
• This (magic) process that can always
make the right guess is called an Oracle.
Determinism vs.

Nondeterminism
• Nondeterministic algorithms produce
an answer by a series of “correct
guesses”

• Deterministic algorithms (like those that a


computer executes) make decisions
based on information.
NP-Complete
“NP-Complete” comes from:
o Nondeterministic Polynomial
o Complete - “Solve one, Solve them
all”

There are more NP-Complete problems


than provably intractable problems.
Proving NP-
Completenes

s can be verified in polynomial
Show that the problem is in NP. (i.e. Show that
a certificate
• time.)
• Assume it is not NP complete
Show how to convert an existing NPC problem
into the problem that we are trying to show is
NP Complete (in polynomial time).
• If we can do it we’ve done the
• proof! Why?
• If we can turn an exisiting NP-complete
problem into our problem in polynomial time...

Become Famous!
To get famous in a hurry, for any
NP- Complete problem:
o Raise the lower
bound (via a
stronger proof)
o Lower the upper
bound (via a better
algorithm)

They’ll be naming buildings after


you before you are dead!

You might also like