# ppt - PowerPoint Presentation by suchenfz

VIEWS: 12 PAGES: 39

• pg 1
```									                                 CSCI3130 Tutorial 10

Chun-Ho Hung
chhung@cse.cuhk.edu.hk

Department of Computer Science & Engineering

1
Outline
 Review
 P, NP, NPC
 Polynomial-time Reduction
 2 problems
 Double-SAT
 Dominating set
   http://en.wikipedia.org/wiki/Dominating_set_problem

2
P, NP, NPC
Polynomial-time Reduction

3
P
 P is the class of all languages that have poly-time
algorithm
 e.g., Shortest path on a directed graph, Sorting

4
NP
 NP is the class of all languages that have poly-time
verifier
 A verifier – a Turing Machine, V, s.t.
 Given a potential x
 x ∈ L  V accepts input <x, s> for some s
   Solution s
 V runs in polynomial time

5
NP (con’t)
 While verifying a solution of a NP problem is easy (in
poly-time), finding a solution could be more difficult
 An 3SAT instance - Find a satisfying assignment for
f = (x1∨x2 ) ∧ (x2 ∨x3 ∨x4) ∧ (x1)
 Verifying
 Given an assignment, just evaluate the truth value
 Finding a solution?
 No efficient algorithm has been discovered yet

6
P versus NP
 Every language, L in P, L is also in NP
 Let Verifier = Poly-time TM that solves L
 Therefore
 P is contained in NP
 Note: L in NP does not imply that
NP
efficient algorithm that decides L
does not exist

P

7
NPC
 A language C is NP-complete if:
 C is in NP
 Every language L in NP, L poly-time reduces to C
 What is a reduction…?

8
Reduction
 The direction of the reduction is very important
 Saying “A is easier than B” and “B is easier than A” mean
different things
 “A (polynomially) reduces to B” means “B is not easier
than A”

9
Reduction (Con’t)
 Consider 2 problems:
1) BFS on unweighted graph
2) Shortest path on weighted graph
 Assume we have a TM, V, which solves 2)
 We can reduce 1) to 2):
 Given an instance of 1), convert it into an instance of 2):
 Copy the graph, add weight=1 to every edge in 2)
 Run this instance on V, output result
 These two “yes” instances corresponds to each other

10
Poly-Time Reduction
 How to show that a problem B is not easier than a problem
A?
 Informally, if B can be solved efficiently, we can solve A
efficiently
 Formally, we say A polynomially reduces to B if:
1. Given an instance a of problem, x
2. There is a polynomial time transformation to an
instance of B, y = f(x)
3. x is a “yes” instance if and only if y is a “yes” instance

11
Poly-Time Reduction (Con’t)
 Suppose A poly-time reduces to B
 Then there exists a poly-time TM, R, s.t.,
 Given an instance of A, x, transforms it to an instance
of B, y = f(x), and
 y is accepted  x is accepted

12
Poly-Time Reduction (Implication)
 Suppose A reduces to B
 If B is polynomial time solvable, then A is polynomial time
solvable
 If A is not polynomial time solvable, then B is not
polynomial time solvable
 Contrapositive

acc
x        R         y           TM for L’
rej
Poly-time TM                                            13
Poly-Time Reduction (Implication)
 Suppose A reduces to B
 Solving B cannot be easier than solving A
 Suppose A is “difficult” while B is “easy”
 However, by this reduction, you find a “easy” way to solve A
 Consequently, if A is NPC, then B must be NPC

acc
x         R         y            TM for L’
rej
Poly-time TM                                               14
Poly-Time Reduction - P versus NP
 To show P = NP, one could try to show that a NPC problem,
C, can be solved in polynomial time. Why?
 Every problem in NP poly-time reduces to C
 If C can be solved in poly-time, so does each problem in NP
 Then NP = P!!
 But this is not that easy and it is counter-intuitive (to most
people) too

15
P versus NP (Again)
 Most believe that P ≠ NP, because intuitively searching
for a solution is more difficult than verifying a solution
 What does P = NP imply?
 Know how to verify a solution in poly-time
 Know how to find a solution in poly-time (?!)
 Indeed we prefer P ≠ NP
   Encryption algorithms heavily rely on the assumption that P ≠
NP
 P = NP or P ≠ NP is still an open problem

16
Relations
NP-C
hard

Is there any problem even
harder than NP-C?
NP
Yes! e.g. I-go

P
easy
17
Methodology
 To show L is in NP, you can either
(i)  Show that solutions for L can be verified in polynomial-time, or
(ii) Describe a nondeterministic polynomial-time TM for L
(Come back to this if we have enough time)

 To show L is NP-complete
 Show that L is in NP
 Poly-time reduce some NPC problem to L
 i.e., design a polynomial-time reduction from some problem we know to be NP-
complete

18
Proving a problem being NPC

19
Double-SAT
 Problem:
 Double-SAT = {<φ> | φ is a Boolean formula with at
least two satisfying assignments}
 Goal:
 Show that Double-SAT is NP-Complete

20
Double-SAT (Proof Sketch)
 Steps:
1) Show that Double-SAT ∈ NP
2) Show that Double-SAT is not easier than a certain NPC
problem
   For the NPC problem, we choose SAT
   i.e., we want to poly-time reduce Double-SAT to SAT
3) Show the correspondence of “yes” instance between
reduction

21
Double-SAT - (1) NP
 It is trivial to see that Double-SAT ∈ NP
 Given 2 assignments for φ, and verify whether both of
them satisfy φ
 We can just evaluate the truth value in poly-time

22
Double-SAT - (2) Reduction
 Reduction:
 On input φ(x1, . . . , xn):
1. Introduce a new variable w
2. Output formula
φ’(x1, . . . , xn, y) = φ(x1, . . . , xn) ∧ ( w ∨ w ).

acc
x          R          y               TM for L’
rej
x∈L                   y ∈ L’                    TM accepts
SAT             Double-SAT                                       23
Double-SAT - (3) Correspondence
 x ∈ L  y ∈ L’
  : Suppose there is an satisfying assignment, X, for
φ(x1, . . . , xn), we can find two satisfying assignments
for φ’(x1, . . . , xn, w):
 Assignment 1 = {X, w=True}
 Assignment 2 = {X, w=False}
 φ’(x1, . . . , xn, w) = φ(x1, . . . , xn) ∧ ( w ∨ w )

For {xi}, assign X,     No matter what w is,
then this part = True   this part = True

24
Double-SAT - (3) Correspondence
 x ∈ L  y ∈ L’
 : We use contrapositive
 i.e., to show x ∉ L ⇒ y ∉ L’
 Indeed, if x ∉ L, φ(x1, . . . , xn)=False
 Then, no matter what the value of y is
 φ’(x1, . . . , xn, y)=False

25
Dominating Set
 Problem:
 Dominating-set = {<G, K> | A dominating set of size K
for G exists}
 Goal:
 Show that Dominating-set is NP-Complete

26
Dominating Set (Definition)
 Problem:
 Dominating-set = {<G, K> | A dominating set of size (at
most) K for G exists}
 Let G=(V,E) be an undirected graph
 A dominating set D is a set of vertices that covers all
vertices
 i.e., every vertex of G is either in D or is adjacent to at
least one vertex from D

27
Dominating Set (Example)
 Size-2 example : {Yellow vertices}
e

28
Dominating Set (Proof Sketch)
 Steps:
1) Show that Dominating-set ∈ NP.
2) Show that Dominating-set is not easier than a NPC
problem
   We choose this NPC problem to be Vertex cover
   Reduction from Vertex-cover to Dominating-set
3) Show the correspondence of “yes” instances between
the reduction

29
Dominating Set - (1) NP
 It is trivial to see that Dominating-set ∈ NP
 Given a vertex set D of size K, we check whether (V-D)
 i.e., for each vertex, v, in (V-D), whether v is adjacent to
some vertex u in D

30
Dominating Set - (2) Reduction
 Reduction - Graph transformation
 Construct a new graph G' by adding new vertices and edges to the
graph G as follows:

G           T       G’

<G,k> ∈ L                  <G’, k> ∈ L’
Vertex-cover                Dominating-set               31
Dominating Set - (2) Reduction
 Reduction - Graph transformation (Con’t)
 For each edge (v, w) of G, add a vertex vw and the edges (v, vw) and
(w, vw) to G'
 Furthermore, remove all vertices with no incident edges; such
vertices would always have to go in a dominating set but are not
needed in a vertex cover of G
   We skip the discussion of this subtle part in the followings

G            T            G’

<G,k> ∈ L                        <G’, k> ∈ L’
Vertex-cover                      Dominating-set          32
[Recap] Vertex cover
 A vertex cover, C, is a set of vertices that covers all
edges
 i.e., each edge is at least adjacent to some node in C

1        2

{2, 4}, {3, 4}, {1, 2, 3}
3        4
are vertex covers

33
Dominating Set – Graph
Transformation Example
vw
v       w         v              w

vz                      wu

vu

z       u         z              u

zu
G                       G'
34
Dominating Set - (3) Correspondence
 A dominating set of size K in G’  A vertex cover of size K
in G
  Let D be a dominating set of size K in G’
 Case 1): D contains only vertices from G
Then, all new vertices have an edge to a vertex in D
D covers all edges
D is a valid vertex cover of G

35
Dominating Set - (3) Correspondence
 A dominating set of size K in G’  A vertex cover of size K
in G
  Let D be a dominating set of size K in G’
 Case 2): D contains some new vertices (vertex in the form of uv)
(We show how to construct a vertex cover using only old vertices,
otherwise we cannot obtain a vertex cover for G)
For each new vertex uv, replace it by u (or v)
If u ∈ D, this node is not needed
Then the edge u-v in G will be covered
After new edges are removed, it is a valid vertex cover of G (of size
at most K)

36
Dominating Set - (3) Correspondence
 A dominating set of size K in G’  A vertex cover of size K
in G
  Let C be a vertex cover of size K in G
For an old vertex, v ∈ G’ :
 By the definition of VC, all edges incident to v are covered
 v is also covered
For a new vertex, uv ∈ G’ :
 Edge u-v must be covered, either u or v ∈ C
 This node will cover uv in G’
Thus, C is a valid dominating for G’ (of size at most K)

37
Dominating Set - (3) Correspondence
vw
v              w          v              w

vz                          wu

vu

z              u          z              u

zu
Vertex-cover in G        Dominating-set in G'
38
Any questions? (There should be some)

39

```
To top