0% found this document useful (0 votes)
78 views35 pages

CS 580 Algorithm Design and Analysis: NP and NP-completeness

The document discusses NP-completeness and the class NP. It begins by reviewing previous topics covered, including Cook reductions and examples of reductions between problems like 3-SAT, Independent Set, and Vertex Cover. It then defines the class NP as problems having efficient certifiers that can verify solutions in polynomial time, though finding solutions may be harder. Examples of certifiers for problems like 3-SAT and Hamilton Cycle are given. The document concludes by defining NP-completeness and the implications if P=NP or P≠NP, noting that if an NP-complete problem could be solved in polynomial time it would imply P=NP. Circuit Satisfiability is presented as the first known NP-complete problem from early work by

Uploaded by

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

CS 580 Algorithm Design and Analysis: NP and NP-completeness

The document discusses NP-completeness and the class NP. It begins by reviewing previous topics covered, including Cook reductions and examples of reductions between problems like 3-SAT, Independent Set, and Vertex Cover. It then defines the class NP as problems having efficient certifiers that can verify solutions in polynomial time, though finding solutions may be harder. Examples of certifiers for problems like 3-SAT and Hamilton Cycle are given. The document concludes by defining NP-completeness and the implications if P=NP or P≠NP, noting that if an NP-complete problem could be solved in polynomial time it would imply P=NP. Circuit Satisfiability is presented as the first known NP-complete problem from early work by

Uploaded by

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

CS

580
ALGORITHM DESIGN AND ANALYSIS

NP and NP-completeness
Vassilis Zikas
SO FAR

• Defined Cook reductions


• Saw some simple reduction strategies
• 3-SAT≤! INDEPENDENT SET ≤! VERTEX
COVER ≤! SET COVER

• Today:
◦ The class NP! (8.3 in KT)
◦ NP-completeness
◦ co-NP
MORE REDUCTION STRATEGIES

• Decision problem:
◦ Does there exist a vertex cover of size ≤ F?
• Search problem:
◦ Find the vertex cover of minimum cardinality
• Self-reducibility:
◦ Search version ≤) decision version
◦ Applies to all NP-complete problems
◦ Justifies our focus on decision problems
MORE REDUCTION STRATEGIES

• Self-reducibility for vertex cover


◦ Binary search for cardinality F ∗ of min vertex
cover
◦ Find a vertex O such that P − O has a vertex
cover of size F ∗ − 1
• Any vertex in any min vertex cover will have this
property
◦ Include O in the vertex cover
◦ Recursively find a min vertex cover in P − {O}
8.3: DEFINITION OF NP
DECISION PROBLEMS
• Decision problem
◦ ! is a set of strings
◦ Instance: string 0
◦ Algorithm 5 solves problem !:
• ! " = $%" if and only if " ∈ 0

• Algorithm 2 runs in polynomial time if for


every string 8, 2(8) terminates in at most
<( 8 ) steps, where <(. ) some polynomial

• PRIMES: {2, 3, 5, 7, 11, 13, 17, 23, 29, 31, … }


◦ Algorithm: [Agrawal et al. 2002] ? 0 = 0!
DEFINITION OF P

• P: Decision problems for which there is a


poly-time algorithm.
Problem Description Algorithm Yes No

Grade school
MULTIPLE Is x a multiple of y? 51, 17 51, 16
division

RELPRIME Are x and y relatively prime? Euclid (300 BCE) 34, 39 34, 51

PRIMES Is x prime? AKS (2002) 53 51

EDIT- Is the edit distance between Dynamic niether acgggt


DISTANCE x and y less than 5? programming neither ttttta

é 0 1 1ù é 4 ù é 1 0 0 ù é1ù
Is there a vector x that Gauss-Edmonds
LSOLVE ê ú ê ú
ê 2 4 -2 ú , ê 2 ú
ê ú ê ú
ê 1 1 1ú , ê1ú
satisfies Ax = b? elimination êë 0 3 15 úû êë36 úû êë0 1 1úû êë1ûú
CERTIFICATES
• Finding a solution versus checking a solution
• We do not know good algorithms that decide
whether a CNF formula is satisfiable
• But, given a proposed solution we can quickly
check if it satisfies the formula or not
• Given a CNF formula one can provide evidence
that the formula is satisfiable
◦ Evidence = satisfying assignment
• What evidence is there that a formula is not
satisfiable?
• Formalizing “evidence” is going to be crucial
for us
CERTIFIER

• An algorithm K(M, O) is an efficient certifier


for a problem Q if
◦ W runs in polynomial time
◦ For every string X, we have X ∈ \ if and only if
there exists a string ] such that W X, ] = _`X
• O is called the “certificate” or “witness”
NP

NP (nondeterministic polynomial time) is the


set of all problems for which there exists an
efficient certifier
CERTIFIERS AND CERTIFICATES: 3-
SAT
• SAT:
◦ Given a CNF formula 7 is there a satisfying assignment?
• Certificate:
◦ An assignment of truth values to the > Boolean variables
• Certifier:
◦ Check that each clause in 7 has at least one true literal

• Example:

( x1 Ú x2 Ú x3 ) Ù ( x1 Ú x2 Ú x3 ) Ù ( x1 Ú x2 Ú x4 ) Ù (x1 Ú x3 Ú x4 )

Certificate *: x1 = 1, x2 = 1, x3 = 0, x4 = 1

• Conclusion: SAT is in NP
CERTIFIERS AND CERTIFICATES:
HAMILTON CYCLE
• HAM-CYCLE: Given an undirected graph K, does there exist a
simple cycle M that visits every node?
• Certificate: Ordered list of nodes
• Certifier: Check that the ordered list contains each node in Q
exactly once, and that there is an edge between adjacent nodes
in the list (and between the first and last node).
• Conclusion: HAM-CYCLE in NP

instance s certificate t
P, NP, EXP
• P: Decision problems for which there is poly-time algorithm
• NP: Decision problems for which there is a poly-time certifier
• EXP: Decision problems for which there is an exponential time
algorithm

• Claim: Z ⊆ \Z
◦ Proof: Consider any problem F in P
◦ By definition, there exists a poly-time algorithm J(L) that solves F
◦ Certificate N = ∅, certifier Q L, N = J(L)

• Claim: \Z ⊆ ]0Z
◦ Proof: Consider any problem F in NP
◦ By definition, there exists a poly-time certifier Q(L, N) for F
◦ To solve input L, run Q(L, N) on all strings N with N ≤ U( L )
◦ Return WXL if Q(L, N) returns WXL for any of these
THE QUESTION

• Does P=NP? [Cook 1971, Edmonds, Levin,


Yablonksi, Godel]
• Is a solving a problem easier than verifying
a solution?
◦ Easiest way to become the most famous
computer scientist alive!
◦ Clay prize: 1 million dollars
P VERSUS NP

EXP NP EXP
P P = NP

If P ¹ NP If P = NP
P VERSUS NP

• If ^ = _^ the economy will probably


collapse
◦ E.g. RSA is no longer secure, and therefore our
bank accounts are no longer secure
• If ^ ≠ _^, no efficient algorithms for 3-SAT,
INDEPENDENT SET, SET COVER,…

• Consensus: most people believe that ^ ≠


_^
NP-COMPLETENESS (8.4 IN KT)

• Cook reduction: Problem Q polynomial


reduces to problem b if arbitrary instances
of Q can be solved using:
◦ Polynomial number of standard steps, and
◦ Polynomial number of queries to an oracle for f
• Karp reduction: Problem X polynomial
reduces to problem b if given any input d of
Q we can construct an input e of b, such that
d is a efM instance of Q if and only if e is a
efM instance of b
NP-COMPLETENESS
• Most reductions we’ve seen so far are actually
Karp reductions
◦ Only one call at the oracle for E, at the end
• Cook and Karp reductions are not known to be
the same with respect to NP
◦ In a Cook reduction, we call the oracle multiple
times, perhaps adaptively
• If they are the same, then ^_-NP = NP
• If they are not the same then b ≠ db
• We will mostly focus on Karp reductions, since
they are the standard type
NP-COMPLETENESS
• Definition: A problem 0 is NP-hard, if for every ; in
NP, ; ≤) 0
• Definition: A problem 0 in NP is NP-complete, if for
every ; in NP, ; ≤) 0
• Theorem: Suppose 0 is an NP-complete problem.
Then 0 is solvable in polynomial time if and only if
P=NP
• Proof:
◦ ⟸ If P=NP H can be solved in polytime since it’s in LM
◦ ⟹ Suppose H is solvable in polynomial time. Let R be an
arbitrary problem in LM. Since R ≤, H we can solve R in
polytime, thus LM ⊆ M. We already know that M ⊆ LM
• Fundamental question: Are there “natural” NP-
complete problems?
CIRCUIT SATISFIABILITY
• CIRCUIT-SAT: Given a combinational circuit built out
of AND, OR and NOT gates, is there a way to set the
circuit inputs so that the output is 1?
output

¬ Ù

yes: 1 0 1 Ù Ú Ú

1 0 ? ? ?

hard-coded inputs inputs


THE “FIRST” NP-COMPLETE PROBLEM
• Theorem: CIRCUIT-SAT is NP-complete!
◦ [Cook 1971, Levin 1973]
• Proof (sketch):
◦ Any algorithm that takes a fixed number of bits P as
input and produces a yes/no answer can be
represented by such a circuit. Moreover, if
algorithm takes poly-time, then circuit is of poly-
size.
◦ Natural: Algorithms are implemented on computers
(i.e. on literal circuits)
• Sketchy part of proof: Algorithms typically have no
trouble dealing with inputs of larger size (i.e. more than _
bits), as opposed to circuits.
THE “FIRST” NP-COMPLETE PROBLEM
• Consider some problem Q in NP, with a
polytime certifier K(M, O)
• To determine whether M is in Q need to
know if there exists a O of length g(|M|) such
that K M, O = Oijf
• View K(M, O) as an algorithm on M + g( M )
bits, and convert it into a circuit l"
◦ First |X| bits are hard-coded to X
• l" satisfiable if and only if there exists a
length g( M ) input string such that K M, O =
Oijf
EXAMPLE
• l" satisfiable iff there exists an IS of size 2
independent set of size 2?
Ù
independent set?
¬
e
hav
ed
g e Ú
e set of size 2?
som
of G = (V, E), n = 3
i nts Ú
po
e nd en? Ú
th os
bo n ch
e
be Ù Ù Ù u
Ú

v w
Ù Ù Ù

u-v u-w v-w u v w


1 0 1 ? ? ?
ænö
ç ÷ hard-coded inputs (graph description) n inputs (nodes in independent set)
è2ø
ESTABLISHING NP-COMPLETENES
• Once we have the first NP-Complete problem,
others fall like dominoes
◦ We have hundreds (if not thousands) of known NP-
complete problems!
• Recipe to establish NP-completeness for i
◦ Step 1: Show that ! is in NP (the step that most
students forget)
◦ Step 2: Choose an NP-complete problem E
◦ Step 3: Prove that E ≤" !
• Proof: Let k be any problem in db
◦ ] ≤" E ≤" !
◦ Hence ! is NP-complete
THEOREM: 3-SAT IS NP-COMPLETE
• Proof:
◦ We’ve seen that 3-SAT is in NP, so it suffices to show
that CIRCUIT-SAT ≤" 3-SAT
◦ Let c be any circuit
◦ Create a 3-SAT variable d# for every element of c
• `! = ¬`" → add two clauses (`! ∨ `" ), (`! ∨ `" )
– Can’t set both to true or both to false!
• `# = `$ ∨ `% → add three clauses (`# ∨ `$ ), (`# ∨ `% ),
(`# ∨ `$ ∨ `% )
– If 5! is true, at least one of 5" and 5# has to be true. If 5! if false,
both 5" and 5# have to be false
• `# = `$ ∧ `% → add three clauses (`$ ∨ `# ), (`% ∨ `# ),
(`# ∨ `$ ∨ `% )
– If 5! is true, at both of 5" and 5# have to be true. If 5! if false, at
least one of 5" and 5# has to be false
THEOREM: 3-SAT IS NP-COMPLETE

• Proof (continued):
◦ Hard-coded input and output values
• $- = 0 → add clause $-
• $. = 1 → add clause ($.)

output
x0
Ù
x1 x2 !! ∧ (!" ∨ !# ) ∧ (!" ∨ !! ) ∧ (!" ∨ !# ∨ !! ) ∧(!$ ∨
Ú ¬ !% ) ∧ !$ ∨ !% ∧(!" ∨ !& ) ∧ (!$ ∨ !& ) ∧ (!& ∨ !" ∨ !$ )

x5 x4 x3
0 ? ?
NP-COMPLETENESS
• Observation. All problems below are NP-complete
and polynomial reduce to one another!
CIRCUIT-SAT

3-SAT

to
du ces SET
re EN T
AT D
3-S DEPEN
IN

INDEPENDENT SET DIR-HAM-CYCLE GRAPH 3-COLOR SUBSET-SUM

VERTEX COVER HAM-CYCLE PLANAR 3-COLOR SCHEDULING

SET COVER TSP


NP-COMPLETE PROBLEMS

• Basic big “genres” of NP-complete problems:


◦ Packing: SET-PACKING, INDEPENDENT SET
◦ Covering: SET-COVER, VERTEX-COVER
◦ Constraint Satisfaction: 3-SAT, CIRCUIT-SAT
◦ Partitioning: COLORING, 3-D MATCHING
◦ Numerical problems: SUBSET-SUM, KNAPSACK
◦ Sequencing: HAMILTONIAN CYCLE, TSP
NP-COMPLETE PROBLEMS

• In practice, most problems are either in P or


known to be NP-complete
• There are important exceptions:
◦ Factoring
◦ Graph isomorphism
◦ Finding a Nash-equilibrium
EXTENT AND IMPACT
• “Prime intellectual export of CS to other disciplines”
• Thousands of citations every year
◦ More than “compilers” or “database”, etc
• Broad applicability and classification power
• “Captures vast domains of computational, scientific,
mathematical endeavors, and seems to roughly
delimit what mathematicians and scientists had
been aspiring to compute feasibly.”
• A guide to scientific inquiry
◦ E.g. Ising’s phase transition model for 3 dimensions
◦ Top theoreticians searched for an analytical three-
dimensional solution for many decades
◦ Istrail showed that the problem is NP-complete in 2000.
CO-NP AND THE ASYMMETRY OF NP
• Important detail about NP: We only need certificates
for UVW instances

• Example 1: SAT versus TAUTOLOGY


◦ Can prove that a CNF formula is satisfiable by giving a
satisfying assignment
◦ How could you prove that a formula is not satisfiable?

• Example 2: HAM-CYCLE versus NO-HAM-CYCLE


◦ Can prove that a graph is Hamiltonian by giving a
Hamiltonian cycle
◦ How could we prove that a graph is not Hamiltonian?
CO-NP AND THE ASYMMETRY OF NP

• NP: Decision problems for which there is a


poly-time certifier
• Definition: Given a decision problem Q its
complement Qp is the same problem, but
with efM and qr instances reversed
◦ I.e. X ∈ \o iff X ∉ \
• co-NP: Decision problems whose
complement is in NP
NP VERSUS CO-NP
• Fundamental question: Does NP = co-NP?
◦ Do _`X instances have succinct certificates iff qr
instances have succinct certificates?
◦ Probably not…
• Theorem: If _^ ≠ ur-_^ then ^ ≠ _^
◦ Proof idea:
◦ t is closed under taking complements
◦ If t = ut, then ut is closed under taking
complements
◦ Therefore, ut = vr-ut
◦ This is the contrapositive of the theorem
PROBLEMS NP ∩ CO-NP
• Example: Given a bipartite graph, does it have a perfect
matching:
◦ If $%": can exhibit a perfect matching
◦ If _f: can exhibit a set of nodes g, s.t. \ g < |g|
• Every problem in :; ∩ =>-:; has a “good
characterization”
◦ Short proof for $%" and short proof for _f
• Observation: ; ⊆ :; ∩ =>-:;
• Fundamental open question: Does P equal NP ∩ co-NP?
◦ Mixed opinions
◦ Many examples where problems had good characterizations
first, and then years later an efficient algorithm was
developed
• E.g. linear programming, primality testing
• E.g. Factoring is in :; ∩ =>-:; but not known to be in P
SUMMARY

• Definition of NP (8.3 in KT)


• NP-Completeness (8.4 in KT)
• co-NP (8.9 in KT)

You might also like