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

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy