# CS 3343: Analysis of Algorithms - PowerPoint PPT Presentation

PPT – CS 3343: Analysis of Algorithms PowerPoint presentation | free to download - id: 592882-MmU1M

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## CS 3343: Analysis of Algorithms

Description:

### CS 3343: Analysis of Algorithms Lecture 25: P and NP Some s courtesy of Carola Wenk Have seen so far Algorithms for various problems Sorting, LCS, scheduling ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 35
Provided by: Jianhu3
Category:
Tags:
Transcript and Presenter's Notes

Title: CS 3343: Analysis of Algorithms

1
CS 3343 Analysis of Algorithms
• Lecture 25 P and NP
• Some slides courtesy of Carola Wenk

2
Have seen so far
• Algorithms for various problems
• Sorting, LCS, scheduling, MST, shortest path, etc
• Running times O(n2) ,O(n log n), O(n), O(nm),
etc.
• i.e., polynomial in the input size
• Those are called tractable problems
• Can we solve all (or most of) interesting
problems in polynomial time?

3
Example difficult problem
• Traveling Salesperson Problem (TSP)
• Input undirected graph with lengths on edges
• Output shortest tour that visits each vertex
exactly once
• An optimization problem
• Best known algorithm O(n 2n) time.
• Intractable

4
Another difficult problem
• Maximum Clique
• Input undirected graph G(V,E)
• Output largest subset C of V such that every
pair of vertices in C has an edge between them
• An optimization problem
• Best known algorithm O(n 2n) time

5
What can we do ?
• Spend more time designing algorithms for those
problems
• People tried for a few decades, no luck
• Prove there is no polynomial time algorithm for
those problems
• Would be great
• Seems really difficult

6
What else can we do ?
• Show that those hard problems are essentially
equivalent. i.e., if we can solve one of them in
polynomial time, then all others can be solved in
polynomial time as well.
• Works for at least 10 000 hard problems

7
The benefits of equivalence
• Combines research efforts
• If one problem has polynomial time solution, then
all of them do
• More realistically Once an exponential lower
bound is shown for one problem, it holds for all
of them

P1
P2
P3
8
Summing up
• If we show that a problem ? is equivalent to ten
thousand other well studied problems without
efficient algorithms, then we get a very strong
evidence that ? is hard.
• We need to
• Identify the class of problems of interest
• Define the notion of equivalence
• Prove the equivalence(s)

9
Classes of problems P and NP
• Implicitly, we mean decision problems answer YES
or NO
• Other problems can be converted into decision
problems
• k-clique is there a clique of size k?
• P is set of problems that can be solved in
polynomial time
• NP (nondeterministic polynomial time) is the set
of problems that can be solved in polynomial time
by a nondeterministic computer

10
Nondeterminism
• Think of a non-deterministic computer as a
computer that magically guesses a solution,
then has to verify that it is correct
• If a solution exists, computer always guesses it
• One way to imagine it a parallel computer that
can freely spawn an infinite number of processes
• Have one processor work on each possible solution
• All processors attempt to verify that their
solution works
• If a processor finds it has a working solution
• So NP problems verifiable in polynomial time

11
P and NP
• P problems that can be solved in polynomial
time
• NP problems for which a solution can be
verified in polynomial time
• K-clique problem is in NP
• Easy to verify solution in polynomial time
• Is sorting in NP?
• Not a decision problem
• Is sortedness in NP?
• Yes. Easy to verify

12
P and NP
• Is P NP?
• The biggest open problem in CS
• Most suspect not
• the Clay Mathematics Institute has offered a 1
million prize for the first proof

NP
P NP?
or
P
13
NP-Complete Problems
• We will see that NP-Complete problems are the
hardest problems in NP
• If any one NP-Complete problem can be solved in
polynomial time
• then every NP-Complete problem can be solved in
polynomial time
• and in fact every problem in NP can be solved in
polynomial time (which would show P NP)
• Thus solve TSP in O(n100) time, youve proved
that P NP. Retire rich famous.

14
Reduction
• The crux of NP-Completeness is reducibility
• Informally, a problem ? can be reduced to
another problem ? if any instance of ? can be
easily rephrased as an instance of ?, the
solution to which provides a solution to the
instance of ?
• What do you suppose easily means?
• This rephrasing is called transformation
• Intuitively If ? reduces to ?, ? is no harder
to solve than ?

15
Reductions ? to ?
YES
x
A for ?
NO
YES
A for ?
NO
16
Reductions ? to ?
YES
f(x)
x
A for ?
f
NO
YES
A for ?
NO
17
Reduction an example
• ? Given a set of Booleans, is at least one
TRUE?
• ? Given a set of integers, is their sum
positive?
• Transformation (x1, x2, , xn) (y1, y2, , yn)
where yi 1 if xi TRUE, yi 0 if xi FALSE

18
Reductions
• ? is polynomial time reducible to ? ( ?p ?)
iff there is a polynomial time function f that
maps inputs x for ? into inputs x for ?, such
that for any x
• ?(x)?(f(x))
• Fact 1 if ??P and ? p ? then ??P
• Fact 2 if ??NP and ? p ? then ??NP
• Fact 3 (transitivity) if ? p ? and
? p ? then ? p ?

19
Recap
• We defined a large class of interesting problems,
namely NP
• We have a way of saying that one problem is not
harder than another (? p ?)
• Our goal show equivalence between hard problems

20
Showing equivalence between difficult problems
• Options
• Show reductions between all pairs of problems
• Reduce the number of reductions using
transitivity of

TSP
Clique
P3
P4
P5
?
21
Showing equivalence between difficult problems
• Options
• Show reductions between all pairs of problems
• Reduce the number of reductions using
transitivity of
• Show that all problems in NP are reducible to a
fixed ?. To show that some
problem ??NP is equivalent to all difficult
problems, we only show ? p ?.

TSP
?
Clique
?
P3
P4
?
?
P5
?
22
The first problem ?
• Boolean satisfiability problem (SAT)
• Given a formula f with m clauses over n
variables, e.g., x1v x2 v x5 , x3 v x5
• Check if there exists TRUE/FALSE assignments to
the variables that makes the formula satisfiable
• Any SAT can be rewritten into conjunctive normal
form (CNF)
• a conjunction of clauses, where a clause is a
disjunction of literals
• A literal is a Boolean variable or its negation
• E.g. (A?B) ? (?B?C??D) is in CNF
• (A?B) ? (?A?C?D) is not in CNF

23
SAT is NP-complete
• Fact SAT ?NP
• Theorem Cook71 For any ??NP , we have ?
SAT.
• Definition A problem ? such that for any ??NP
we have ? p ?, is called NP-hard
• Not necessarily decision problem
• Definition An NP-hard problem that belongs to NP
is called NP-complete
• Corollary SAT is NP-complete.

24
• SAT the boolean satisfiability problem for
formulas in conjunctive normal form
• 0-1 INTEGER PROGRAMMING
• SET PACKING
• VERTEX COVER
• SET COVERING
• FEEDBACK NODE SET
• FEEDBACK ARC SET
• DIRECTED HAMILTONIAN CIRCUIT
• UNDIRECTED HAMILTONIAN CIRCUIT
• 3-SAT
• CHROMATIC NUMBER (also called the Graph Coloring
Problem)
• CLIQUE COVER
• EXACT COVER
• HITTING SET
• STEINER TREE
• 3-dimensional MATCHING
• KNAPSACK (Karp's definition of Knapsack is closer
to Subset sum)
• JOB SEQUENCING

Karp's 21 NP-complete problems, 1972 Since then
thousands problems have been proved to be
NP-complete
25
Clique again
• Clique (decision variant)
• Input undirected graph G(V,E), K
• Output is there a subset C of V, CK, such
that every pair of vertices in C has an edge
between them

26
SAT p Clique
x
• Given a SAT formula fC1,,Cm over x1,,xn, we
need to produce G(V,E) and K,
such that f satisfiable iff G has a clique of
size K.

f(x)x
27
SAT p Clique reduction
• For each literal t occurring in f, create a
vertex vt
• Create an edge vt vt iff
• t and t are not in the same clause, and
• t is not the negation of t

28
SAT p Clique example
• Formula (x1 V x2 V x3 ) ? ( x2 v x3) ? ( x1
v x2)
• Graph

x2
x1
x3
x2
x3
x2
x1
• Claim f satisfiable iff G has a clique of size
m

29
Proof
• ? part
• Take any assignment that satisfies f.
• E.g., x1F, x2T, x3F
• Let the set C contain one satisfied literal per
clause
• C is a clique

x2
x1
x3
x2
x3
x2
x1
30
Proof
• ? part
• Take any clique C of size m (i.e., m)
• Create a set of equations that satisfies selected
literals.
• E.g., x3T, x2F, x1F
• The set of equations is consistent and the
solution satisfies f

x2
x1
x3
x2
x3
x2
x1
31
Altogether
• We constructed a reduction that maps
• YES inputs to SAT to YES inputs to Clique
• NO inputs to SAT to NO inputs to Clique
• The reduction works in polynomial time
• Therefore, SAT p Clique ?Clique NP-hard
• Clique is in NP ? Clique is NP-complete

32
Independent set (IS)
• Input undirected graph G(V,E)
• Output is there a subset S of V, SK such that
no pair of vertices in S has an edge between them
• Want to show IS is NP-complete

33
Clique IS
x
• Given an input G(V,E), K to Clique, need to
construct an input G(V,E), K to IS, such
that G has clique of size K iff G has IS of
size K.
• Construction KK,VV,EE
• Reason C is a clique in G iff it is an IS in Gs
complement.

f(x)x
34
Classes of problems