NPC

advertisement
NPC
More NP-Complete Problems
Complexity
©D.Moshkovitz
1
Introduction
• Objectives:
– To introduce more NP-Complete
problems.
• Overview:
– 3SAT
– CLIQUE & INDEPENDENT-SET
– SUBSET-SUM
Complexity
©D.Moshkovitz
2
Method
• How to show a problem is in NPC?
– First show it’s in NP
– Then show it is NP-hard by reducing
some NP-Hard problem to it.
Complexity
©D.Moshkovitz
3
New Base Problems
• The only NP-Complete problem we
currently know of is SAT.
• Unfortunately, it’s not very comfortable to
work with.
• Thus we’ll start by introducing several
useful variants of SAT.
• We’ll use them as our base problems.
Complexity
©D.Moshkovitz
4
3SAT
Instance: a 3CNF formula
Problem: To decide if the formula is satisfiable.
A satifiable 3CNF formula
(xyz)(xyz)
An unsatifiable 3CNF formula (xxx)(xxx)
Complexity
©D.Moshkovitz
5
SIP 259-260
3SAT is NP-Complete
• 3SAT is a special case of SAT, and is
therefore clearly in NP.
• In order to show it’s also NP-Complete,
we’ll alter the proof of SAT’s NPCompleteness,
• so it produces 3CNF formulas.
Why would that
be enough?
Complexity
©D.Moshkovitz
6
Revisiting SAT’s NPCompleteness Proof
Given a TM and an input we’ve produced a conjunction of:
φcell

 

    xi,j,s     (xi,j,s  xi,j,t ) 
  s tC

1i,jnk  sC
φstart  x1,1,#  x1,2,q0  x1,3,w1  ...  x1,n2,_  ...  x1,nk 1,_  x1,nk ,#
φmove  
k
 x
1i,jn legal a ,...,a
1
6
φaccept 
Complexity
©D.Moshkovitz
i1,j,a1

1i,jn k
 ...  xi1,j1,a6

xi,j,qaccept
7
Transforming the Formula
into a CNF Formula
• All the sub-formulas, but move, form a
CNF formula.
• Using the distributive law we can
transform move into a conjunction of
clauses.
• The formula stays succinct (check!).
Complexity
©D.Moshkovitz
8
CNF  3CNF
(xy)(x1x2... xt)...
clauses with 1 or
2 literals
replication
(xyx)
Complexity
©D.Moshkovitz
clauses with more than 3
literals
split
(x1  x2  c11)(c11 x3 c12)... (c1t-3 xt-1xt)
9
3SAT is NP-Complete
• Since we’ve shown a reduction from
any NP problem to 3SAT,
• and 3SAT is in NP,
• 3SAT is NP-Complete. 
Complexity
©D.Moshkovitz
10
CLIQUE
Instance: A graph G=(V,E) and a threshold k.
Problem: To decide if there is a set of nodes
C={v1,...,vk}V, s.t for any u,vC: (u,v)E.
Complexity
©D.Moshkovitz
11
CLIQUE is in NP
On input G=(V,E),k:
• Guess C={v1,...,vk}V
• For any u,vC: verify (u,v)E
• Reject if one of the tests fail,
accept otherwise.
The length of the certificate: O(n)
(n=|V|)
Time complexity: O(n2)
Complexity
©D.Moshkovitz
12
SIP 251-253
CLIQUE is NP-Complete
Proof: We’ll show 3SATpCLIQUE.
(..  ..  ..)  ...  (..  ..  ..)
Complexity
©D.Moshkovitz
≤p
13
The Reduction
for any clause ()
|V| = formula’s length



K= no. of clauses
connected
iff 
Complexity
©D.Moshkovitz

14
Proof of Correctness
NOT
connected!
1
.
.
.
a clique of size k must
contain one node from
every layer.
k
Complexity
©D.Moshkovitz
15
Correctness
given a k-clique, assign x TRUE or
FALSE according to whether x or x
is in the clique; this satisfies the
formula
(..  ..  ..)  ...  (..  ..  ..)
.
.
.
given a satisfying assignment, a set
comprising of one satisfied literal of
each clause forms a k-clique.
Complexity
©D.Moshkovitz
16
INDEPENDENT-SET
Instance: A graph G=(V,E) and a goal k.
Problem: To decide if there is a set of nodes
I={v1,...,vk}V, s.t for any u,vI: (u,v)E.
Complexity
©D.Moshkovitz
17
INDEPENDENT-SET  NP
On input G=(V,E),k:
• Guess I={v1,...,vk}V
• For any u,vC: verify (u,v)E
• Reject if one of the tests fail,
accept otherwise.
The length of the certificate: O(n)
(n=|V|)
Time complexity: O(n2)
Complexity
©D.Moshkovitz
18
INDEPENDENT-SET is NPC
Proof: By the previous claim and a
trivial reduction from CLIQUE. 
there’s a clique
of size k in a
graph
Complexity
©D.Moshkovitz
there’s an IS of
size k in its
complement
19
SUBSET-SUM
Instance: A multi-set of numbers denoted S
and a target number t.
Problem: To decide if there exists a subset
YS, s.t yYy=t.
Complexity
©D.Moshkovitz
20
SUBSET-SUM is in NP
On input S,t:
• Guess YS
• Accept iff yYy=t.
The length of the certificate: O(n) (n=|S|)
Time complexity: O(n)
Complexity
©D.Moshkovitz
21
SIP 269-271
SUBSET-SUM is NPComplete
Proof: We’ll show 3SATpSUBSETSUM.
(..  ..  ..)  ...  (..  ..  ..)
Complexity
©D.Moshkovitz
≤p
22
Satisfying Clauses
digit per clause
c1 c2 …… ck
number per variable xi
assigned true:
yi
number per variable xi
assigned false:
zi
1 if xi is in cj
1 if xi is in cj
0 otherwise
0 otherwise
Complexity
©D.Moshkovitz
23
Achieving Target
digit per clause
c1 c2 …… ck
0<d<4
target:
Complexity
©D.Moshkovitz
24
Achieving Target
digit per clause
c1 c2 …… ck
1
target:
Complexity
©D.Moshkovitz
1
3
25
Achieving Target
c1 c2 … c k
y1
1 0
0
z1 0 0
0
…
...
Alas, a
subset may
contain both
yi and zi
Complexity
©D.Moshkovitz
yl
1 0
1
zl
1 1
0
1 0
0
1 0
0
0 0
1
0 0
1
3 3
3
...
26
Imposing Assignment Consistency
c1 c2 … c k
y1
1 0
0
z1 10 0
0
…
...
yl
1 0
0
1
zl
1 0
0
1
10
1 0
0
1 0
0
0 0
1
0 0
1
3 3
3
...
Complexity
©D.Moshkovitz
1
1
1
27
Succinctness
l
k
2l
2k
Complexity
©D.Moshkovitz
28
Completeness
• If there is a satisfying assignment, a
subset hitting the target is as follows:
– If the i-th variable is assigned
TRUE, take yi, else take zi.
 1 in
the
leftmost
l digits
– Add as many auxiliary numbers as needed.
Complexity
©D.Moshkovitz
satisfiability  3
in the rightmost
k digits
29
Soundness
• If there is a subset that sums up to
the target, construct an assignment
as follows:
– If yi is in the subset, assign TRUE to the
i-th variable.
– If zi is in the subset, assign FALSE to
the i-th variable.
Complexity
©D.Moshkovitz
30
Observation: No Carry
• All digits are either
0 or 1.
• Each column
contains at most
five 1’s.
• Hence, a “carry”
into the next column
never occurs.
Complexity
©D.Moshkovitz
1 0
1 0
c1 c2 … ck
0 1 0
0 y1
0 0 0
0 z1
…
0 0
1
1 0
1
0 0
1
1 1
1 0
0 z
l
0
1 0
0
0 0
1
0 0
1
3 3
3
1
1
1
yl
31
Consistency
• Thus, to get 1 in
the leftmost l
digits, our subset
necessarily
contains either yi
or zi (Not both!).
Complexity
©D.Moshkovitz
1 0
1 0
c1 c2 … ck
0 1 0
0 y1
0 0 0
0 z1
…
0 0
1
1 0
1
0 0
1
1 1
1 0
0 z
l
0
1 0
0
0 0
1
0 0
1
3 3
3
1
1
1
yl
32
Satisfiablity
• In each column,
at most 2 can
come from the
auxiliary
numbers, so all
clauses are
satisfied.
Complexity
©D.Moshkovitz
1 0
1 0
c1 c2 … ck
0 1 0
0 y1
0 0 0
0 z1
…
0 0
1
1 0
1
0 0
1
1 1
1 0
0 z
l
0
1 0
0
0 0
1
0 0
1
3 3
3
1
1
1
yl
33
Summing Up
1. SUBSET-SUM is in NP
2. 3SATpSUBSET-SUM
3. Thus SUBSET-SUM is NP-Complete
Complexity
©D.Moshkovitz
34
Summary
• In this lecture we’ve added many new
problems to our NPC “bank”.
• Interestingly, NPC contains over 1000
different problems !

Complexity
©D.Moshkovitz
35
Appendix
Complexity
©D.Moshkovitz
36
Dictionary
negation: not ()
conjunction: and ()
literal: (negated or not) Boolean variable
disjunction: or ()
Examples: x, x
clause: several literals connected with 
Example: (xyz)
CNF (Conjunctive Normal Form): several clauses
connected with 
Example: (x y)(xyz)
3CNF: a CNF formula with three literals in each clause.
Example: (xyz)(xyz)
Complexity
©D.Moshkovitz
37
Download