Download presentation
Presentation is loading. Please wait.
Published byPearl George Modified over 9 years ago
1
NP-completeness Class of hard problems
2
Jaruloj ChongstitvatanaNP-complete Problems2 Outline Introduction Problems and Languages Turing machines and algorithms P and NP Satisfiability problem Reduction Other NP-complete problems
3
Jaruloj ChongstitvatanaNP-complete Problems3 Problems A problem can be defined as a mapping from the instance to the answer. Examples: Shortest path problem { } {a shortest path P} 0/1 Knapsack problem { } {the maximum value} Closest-pair-of-points problem { } {, which is the closest pair of points in P}. Satisfiable problem { } {T, F}
4
Jaruloj ChongstitvatanaNP-complete Problems4 Abstract problems A set of instances A set of solutions
5
Jaruloj ChongstitvatanaNP-complete Problems5 Decision Problems A decision problem is a problem whose answer is either “yes” or “no”. Example: Satisfiable problem { } {T, F} Any problem can be described in term of a decision problem.
6
Jaruloj ChongstitvatanaNP-complete Problems6 Reformulate Problems as Decision Problems Shortest path problem { } {T, F} The answer is T iff there is no path between u and v, which is shorter than k. 0/1 Knapsack problem { } {T, F} The answer is T iff there is no selection of objects fitted in the sack which yields higher value than V.
7
Jaruloj ChongstitvatanaNP-complete Problems7 Encoding of Decision Problems An encoding of a problem is a mapping from the set of instances of the problem to a set of strings. Example: shortest path The encoding of in the Shortest path problem is a string which is used to describe G, u, v, and p. G can be described by a string of its adjacency matrix. u and v can be described by two strings, indicating the node labels. p can be described by a sequence of node in the path.
8
Jaruloj ChongstitvatanaNP-complete Problems8 Abstract/ Concrete problems Mapping (encoding) Mapping (encoding) A set of instances A set of solutions Abstract problem Concrete problem
9
Jaruloj ChongstitvatanaNP-complete Problems9 Encoding of Problems Is X a prime ? f:{X |X>0 and is a binary number}{Y,N} f(x) = Y if X is prime f(x) = N otherwise Is a 3-CNF expression X satisfiable? f:{X | X is a 3-CNF expression} {Y, N} f(x) = Y if X is satisfiable f(x) = N otherwise
10
Jaruloj ChongstitvatanaNP-complete Problems10 Why encoding is important? Encoding determines the instance size. Example: an integer n n encoded as one number => instance size = 1 n encoded as binary number => instance size = log 2 n n encoded as unary number => instance size = n
11
Problems and Languages
12
Jaruloj ChongstitvatanaNP-complete Problems12 Languages and Decision Problems Let be an alphabet. A language over is a set of strings created from symbols in . B={0,1}* is the set of all binary strings. { is a palindrome} is a language over B. A yes-instance (or no-instance) is an instance whose answer is “yes” (or “no”). An instance must be either a yes- or a no- instance.
13
Jaruloj ChongstitvatanaNP-complete Problems13 Languages and Decision Problems A decision problem can be encoded in a language {| is an encoding of a yes- instance}. The shortest path problem can be encoded as {e(G, u, v, p>)| p is the shortest path between u and v in the graph G}.
14
Turing Machines
15
Jaruloj ChongstitvatanaNP-complete Problems15 Turing machines (TM) A Turing machine is a machine which takes a string on its input tape, and decides whether to accept or to reject the string. A Turing machine contains A finite-state control with A start state A halt state Transition function: state x symbol state x symbol x {R,L} A tape with a Read/Write head which can move left and right.
16
Jaruloj ChongstitvatanaNP-complete Problems16 Deterministic/ Nondeterministic Turing machines Difference A transition is deterministic or nondeterministic. What is nondeterminism? Given a state of a machine/program, there is more than one possible next step. Examples Deterministic: functions. Nondeterministic: relations.
17
Jaruloj ChongstitvatanaNP-complete Problems17 Example of a DTM 1/,R q2 h q1 /1,L @/,R /,L s p1 p4 p2 p3 /@,R 0/,R 0/0,R 1/1,R /,L 0/,L 0/0,L 1/1,L /,R
18
Jaruloj ChongstitvatanaNP-complete Problems18 How a DTM works 1/,R q2 h q1 /1,L @/,R /,L s p1 p4 p2 p3 /@,R 0/,R 0/0,R 1/1,R /,L 0/,L 0/0,L 1/1,L /,R 01 00000 @ 1 On the input 0001000, the TM halts.
19
Jaruloj ChongstitvatanaNP-complete Problems19 How a DTM works 1/,R q2 h q1 /1,L @/,R /,L s p1 p4 p2 p3 /@,R 0/,R 0/0,R 1/1,R /,L 0/,L 0/0,L 1/1,L /,R 00 00000 @ On the input 0000000, the TM hangs.
20
Jaruloj ChongstitvatanaNP-complete Problems20 Example of NTM Let L={ww| w{0,1} * } s p u q0q0 t0t0 r0r0 h /@,R 0/0,L 1/1,L @/,R 0/ ,L 1/ ,L 0/0,L 1/1,L /,L 0/ @,R / ,R 0/0,R 1/1,R / ,R 0/ ,L 1/ ,L q1q1 t1t1 r1r1 @/,R 0/0,L 1/1,L /,L 1/ @,R 0/0,R 1/1,R / ,R @/,L v 0/0,R 1/1,R /@,L
21
Jaruloj ChongstitvatanaNP-complete Problems21 Accept/Decide Let T be a Turing machine. For a string over , T accepts iff T halts on with output “1”. T rejects iff T halts on with output “0”. T hangs on iff T dose not halts on . For a language L over , T accepts L iff, for any string in L, T accepts . T decides iff for any string in L, T accepts , and for any string inL, T rejects .
22
Jaruloj ChongstitvatanaNP-complete Problems22 Time complexity A language L is accepted/decided in O(f(n)) by a Turing machine T if, for any length-n string in L, is accepted/decided in k·f(n) by a Turing machine T, for some constant k. A language L is accepted/decided in polynomial time by a Turing machine T if, L is accepted/decided in O(n k ) by a Turing machine T, for some constant k.
23
Jaruloj ChongstitvatanaNP-complete Problems23 Church-Turing Thesis If there is a Turing machine deciding a problem in O(f), then there is an algorithm solving in O(f). Turing machine algorithm
24
Complexity classes
25
Jaruloj ChongstitvatanaNP-complete Problems25 Class of P If is a problem in P, given any instance I of , there is an algorithm which solves I in O(n k ), or there is a Turing machine which accepts e(I) in O(n k ) steps, where n is the size of e(I) and k is a constant. What does this mean? If is in P, is easy because it can be solved in polynomial time.
26
Jaruloj ChongstitvatanaNP-complete Problems26 Class of NP If is a problem in P, given any instance I and any certificate C of , there is an algorithm which verifies, in O(n k ), that C is the answer of I, for any C and I. there is a Turing machine which verifies, in O(n k ), that C is the answer of I, for any C and I. there is a nondeterministic Turing machine which accepts e(I), in O(n k ), for any I. where n is the size of e(I) and k is a constant. What does this mean? If is in NP, is not necessarily easy because it can only be verified in polynomial time.
27
Jaruloj ChongstitvatanaNP-complete Problems27 Easy problems / Hard problems Can be solved in polynomial time Prove by showing the algorithm. Cannot be solved in polynomial time Prove by showing that there is no polynomial- time algorithm. Can verify the answer in polynomial time. Can usually be solved by an exponential-time algorithm. Brute-force algorithm: try every possible answers.
28
Jaruloj ChongstitvatanaNP-complete Problems28 Class of co-NP L is in co-NP ifL is in NP. NPco-NP P
29
Reduction Is X more difficult than Y?
30
Jaruloj ChongstitvatanaNP-complete Problems30 Reduction Let L 1 and L 2 be languages over 1 and 2, respectively. L 1 is (polynomial-time) reducible to L 2, denoted by L 1 L 2, if there is a TM M computing a function f: 1 * 2 * such that wL 1 f(w)L 2 in polynomial time. Let P 1 and P 2 be problems. P 1 is (polynomial-time) reducible to P 2, denoted by P 1 P 2, if there is an algorithm computing a function f: 1 * 2 * such that w is a yes-instance of P 1 f(w) is a yes-instance of P 2 in polynomial time.
31
Jaruloj ChongstitvatanaNP-complete Problems31 Meaning of Reduction P 1 is reducible to P 2 if DTM computing, in polynomial time, a function f: 1 * 2 * such that w is a yes-instance of P 1 f(w) is a yes-instance of P 2. If you can map yes-instances of problem A to yes- instances of problem B, then we can solve A in polynomial time if we can solve B in polynomial time. it doesn’t mean we can solve B in polynomial time if we can solve A in polynomial time.
32
Example of Reductuion
33
Jaruloj ChongstitvatanaNP-complete Problems33 Satisfiability problem (SAT) Given a Boolean expression , is satisfiable? (A~BC)(~A~C)B ~C is not satisfiable. ABC A~BC~A~C 000010 001110 010010 011110 100110 101100 110010 111100
34
Jaruloj ChongstitvatanaNP-complete Problems34 3CNF-SAT Problem Given an expression in 3CNF, is satisfiable? Given an expression in 3CNF, is there a truth assignment of propositions in which makes true? Example: =(PQR)(PQR)(PSR)(PSR) is satisfiable when P=t, Q=f, R=f, S=t or P=f, Q=f, R=f, S=t
35
Jaruloj ChongstitvatanaNP-complete Problems35 Clique or Complete Subgraph A graph G=(V,E) has a clique if there is W V such that for all nodes a and b in W, there is an edge between a and b. A B C D E F
36
Jaruloj ChongstitvatanaNP-complete Problems36 Clique Problem Given a graphG=(V,E) and an integer k, is there a clique of size k in G? Example: Is there a clique of size 3, 4, or 5, in the graph below? A B C D E F
37
Jaruloj ChongstitvatanaNP-complete Problems37 3CNF-SAT Clique Proof: To prove that 3CNF-SAT Clique, Find a function f such that a 3CNF expression is satisfiable a graph G has a clique of size k, where =f() and there is a TM computing f in polynomial time. f can be defined as follows: Let = ( 11 12 13 )( 21 22 23 )…( n1 n2 n3 ) f() =, where G=(V, E), V={ ij | 0<i<n+1, 0<j<4}, and E={( ij, km )| i ≠ k and ij ≠ ~ km }
38
Jaruloj ChongstitvatanaNP-complete Problems38 Building a graph from a 3CNF exp. (P Q R) (P S R) ( P S R) PR ~Q P S ~R ~P ~R ~S
39
Jaruloj ChongstitvatanaNP-complete Problems39 3CNF-SAT Clique (cont’d) Show is satisfiableG has clique of size n Let G has a clique of size n. From the definition of G, there is no edge between vertices in the same disjunctive clause, and representing a literal and its negation. A link between two nodes means that the two literals can be true at the same time, and they are in different disjunctive clauses.
40
Jaruloj ChongstitvatanaNP-complete Problems40 Satisfiability and Clique (P Q R) (P S R) ( P S R) PR ~Q P S ~R ~P ~R ~S
41
Jaruloj ChongstitvatanaNP-complete Problems41 Satisfiability and Clique (P Q R) (P Q R) ( P Q R) ( P Q R) PR Q P Q ~R ~P R Q ~R Q
42
Jaruloj ChongstitvatanaNP-complete Problems42 Satisfiability and Clique (P Q R) (P Q R) ( P Q R) ( P Q R) PR Q P Q ~R ~P R Q ~R Q
43
Jaruloj ChongstitvatanaNP-complete Problems43 3CNF-SAT Clique (cont’d) There is a TM computing f in polynomial time.
44
Properties of Reductions
45
Jaruloj ChongstitvatanaNP-complete Problems45 Reflexivity of reduction Theorem: Let L be a language over . L L. Proof: Let L be a language over . Let f be an identity function from * *. Then, there is a TM computing f. Because f is an identity function, wL f(w)=wL. By the definition, L L.
46
Jaruloj ChongstitvatanaNP-complete Problems46 Property of reduction Theorem: Let L 1 and L 2 be languages over . If L 1 L 2, thenL 1 L 2. Proof: Let L 1 and L 2 be languages over . B ecause L 1 L 2, t here are a function f such that wL 1 f(w)L 2, and a TM T computing f in polynomial time. wL 1 f(w)L 2. By the definition,L 1 L 2.
47
Jaruloj ChongstitvatanaNP-complete Problems47 Transitivity of reduction Theorem:Let L 1, L 2 and L 3 be languages over . If L 1 L 2 and L 2 L 3, then L 1 L 3. Proof: Let L 1, L 2 and L 3 be languages over . T here is a function f such that wL 1 f(w)L 2, and a TM T1 computing f in polynomial time because L 1 L 2. T here is a function g such that wL 2 g(w)L 3, and a TM T2 computing g in polynomial time because L 2 L 3. wL 1 f(w)L 2 g(f(w))L 3, and T1T2 computes g(f(w)) in polynomial time. By the definition, L 1 L 3.
48
Jaruloj ChongstitvatanaNP-complete Problems48 Using reduction to prove P/NP Theorem: If L 2 is in P/NP, and L 1 L 2, then L 1 is also P/NP. Proof: Let L 1 and L 2 be languages over , L 1 L 2, and L 2 be in P/NP. Because L 2 is in P/NP, there is a DTM/NTM T 2 accepting L 2 in polynomial time. Because L 1 L 2, there is a DTM T 1 computing a function f such that wL 1 f(w)L 2 in polynomial time. Construct a DTM/NTM T= T 1 T 2. We show that T accepts L 1 in polynomial time. If wL 1, T 1 in T computes f(w)L 2 and T 2 in T accepts f(w), in polynomial time. If wL 1, T 1 in T computes f(w) L 2 and T 2 in T does not accept f(w) in polynomial time. Thus, L 1 is also in P/NP.
49
Jaruloj ChongstitvatanaNP-complete Problems49 Using reduction to prove co-NP. Theorem: If L 2 is in co-NP, and L 1 L 2, then L 1 is also in co-NP. Proof: Let L 1 and L 2 be languages over , L 1 L 2, and L 2 be in co-NP. Because L 2 is in co-NP,L 2 is in NP. Because L 1 L 2,L 1 L 2. Then,L 1 is in NP. Thus, L 1 is co-NP.
50
NP-completeness
51
Jaruloj ChongstitvatanaNP-complete Problems51 NP-completeness A language (or problem) L is NP-hard if, for any language L' in NP, L' ≤ L. A language (or problem) L is NP-complete if it is in NP and is NP-hard.
52
Jaruloj ChongstitvatanaNP-complete Problems52 Why interested in NP-complete problem Implication on the problem “is P=NP ?” If an NP-complete problem is in P, then P=NP. Why? If L is NP-complete, any language in NP is reducible to L. Since L is in P, any language in NP is reducible to a language in P. Then, any language in NP is in P.
53
Jaruloj ChongstitvatanaNP-complete Problems53 Lemma If L is a language such that L’ ≤ L for some L’ ∈ NPC, then L is NP-hard. Moreover, if L ∈ NP, then L ∈ NPC. Proof Since L’ is NP-complete, for all L’’ ∈ NP, we have L’’ ≤ L’. Because L’ ≤ L, L’’ ≤ L by transitivity. Then, L is NP-hard. If L ∈ NP, we also have L ∈ NPC.
54
Ground Reduction SAT is NP-complete
55
Jaruloj ChongstitvatanaNP-complete Problems55 SAT is NP-complete To prove that SAT is NP-complete: Prove SAT is in NP Prove any language in NP is reducible to SAT. SAT is in NP: Informal proof Given a certificate which is a truth assignment of propositions which makes the expression true, there is an algorithm that can verify the answer in polynomial time.
56
Jaruloj ChongstitvatanaNP-complete Problems56 SAT is NP-complete (cont’d) Prove any language in NP is reducible to SAT. Proof: Let L be any language in NP. Then, there is an NTM T which accepts L in polynomial time p(n), where n is the input size. To show that L ≤ SAT, we find a function f such that x L f(x) SAT. That is, to find a function f such that x L f(x) is satisfiable.
57
Jaruloj ChongstitvatanaNP-complete Problems57 SAT is NP-complete (cont’d) Proof (cont’d): That is, to find a function f such that T accepts x f (x) is satisfiable. Let f (x)=g 1 (x)g 2 (x)g 3 (x)g 4 (x)g 5 (x)g 6 (x)g 7 (x). f (x) describes the sequence of configuration changes which leads to the halt state of T. f(x) contains propositions Q i,j, H i,k, and S i,k,j. Q i,j : T is in state q j after i moves. H i,k : T’s tape head is on square k after i moves. S i,k,j : Symbol j is on square k after i moves.
58
Jaruloj ChongstitvatanaNP-complete Problems58 SAT is NP-complete (cont’d) Proof (cont’d): g 1 (x): the initial configuration of T at the beginning. g 2 (x): accepting configuration of T after N steps. g 3 (x): possible transitions of T. g 4 (x): hanging configuration. g 5 (x): describe that T is in exactly one state at a time. g 6 (x): describe that each square of the tape contains exactly one symbol. g 7 (x): describe that change can only made on the tape square on which the tape head is located.
59
Jaruloj ChongstitvatanaNP-complete Problems59 SAT is NP-complete (cont’d) Proof (cont’d): g 1 (x): describe the initial configuration of T at the beginning. n N Q 0,0 H 0,0 S 0,0,0 S 0,k, i k S 0,k, 0 k=1 k=n+1 ∆ 0 1 1 0 1 ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ q0q0
60
Jaruloj ChongstitvatanaNP-complete Problems60 SAT is NP-complete (cont’d) Proof (cont’d): g 2 (x): describe accepting configuration of T after N steps. Q N,a haha
61
Jaruloj ChongstitvatanaNP-complete Problems61 SAT is NP-complete (cont’d) Proof (cont’d): g 3 (x): describe possible transitions of T. For each transition δ(q j, l )= (q t1, z1, D 1 ), δ(q j, l )= (q t2, z2, D 2 ) (Q i,j H i,k S i,k,l )((Q i+1,t1 H i+1,d1(k) S i+1,k,z1 ) V (Q i+1,t2 H i+1,d2(k) S i+1,k,z2 ))
62
Jaruloj ChongstitvatanaNP-complete Problems62 SAT is NP-complete (cont’d) Proof (cont’d): g 4 (x): describe hanging configuration. For each transition δ(q j, l )= ø (Q i,j H i,k S i,k,l ) (Q i+1,j H i+1,k S i+1,k,l )
63
Jaruloj ChongstitvatanaNP-complete Problems63 SAT is NP-complete (cont’d) Proof (cont’d): g 5 (x): T is in exactly one state at a time. For each time i and states q j0, q j1, q j2, …, q j0 ≠ q j1 ≠ q j2 ≠ … : (Q i,j0 v Q i,j1 v Q i,j2 v …) At least one state (~Q i,j0 v~Q i,j1 )(~Q i,j1 v~Q i,j2 )(~Q i,j0 v~Q i,j2 )… Never two state at the same time
64
Jaruloj ChongstitvatanaNP-complete Problems64 SAT is NP-complete (cont’d) Proof (cont’d): g 6 (x): state that each square of the tape contains exactly one symbol. For each time i, square k, and symbols 0, 1, 2, …, 0 ≠ 1 ≠ 2 ≠ … : (S i,k,0 v S i,k,1 v S i,k,2 v …) At least one symbol in a cell (~S i,k,0 v~S i,k,1 ) (~S i,k,1 v~S i,k,2 ) (~S i,k,0 v~S i,k,2 ) … Never two symbols in a cell at the same time
65
Jaruloj ChongstitvatanaNP-complete Problems65 SAT is NP-complete (cont’d) Proof (cont’d): g 7 (x): state that change can only made on the tape square on which the tape head is located. For each i, k, and l : (~H i,k S i,k,l ) (S i+1,k,l ) H i,k v ~S i,k,l v S i+1,k,l
66
Jaruloj ChongstitvatanaNP-complete Problems66 SAT is NP-complete (cont’d) Proof (cont’d): From the definition of f, f(x) is true iff T accepts x. f(x) can be computed in polynomial time. Thus, SAT is NP-complete.
67
Jaruloj ChongstitvatanaNP-complete Problems67 3CNF-SAT is NP-complete First, show 3CNF-SAT is in NP. Let be a 3CNF expression, and truth assignments C be a certificate for . There is an algorithm to verify that is true under the assignments C, by substituting the value of each literal and evaluating the expression. This algorithm takes polynomial time of the length of .
68
Jaruloj ChongstitvatanaNP-complete Problems68 3CNF-SAT is NP-complete Second, show SAT ≤ 3CNF-SAT. Let be a Boolean expression. We will construct a 3CNF expression f() such that f() is satisfiable iff is satisfiable. To create f(): (A) Create an abstract syntax tree of so that internal nodes are logical operators , v, ~, , or , and leaf nodes are literals (x or ~x). Then, create , from the abstract syntax tree which is satisfiable iff is satisfiable.
69
Jaruloj ChongstitvatanaNP-complete Problems69 3CNF-SAT is NP-complete = ((p q) (((~s v r) (q ~r)) v ~s) = y1 (y1 (y2 y3)) (y2 (p q )) (y3 (y4 v ~s)) (y4 (y5 y6)) (y5 (~s v r )) (y6 (q ~r)) is satisfiable iff is satisfiable. :y1 :y2 v:y5 v:y3 :y4 :y6 pq q~r~sr
70
Jaruloj ChongstitvatanaNP-complete Problems70 3CNF-SAT is NP-complete (B) Convert into CNF. P Q is transformed to (P Q) (Q P). P Q is transformed to ~P v Q. ~(P v Q) is transformed to ~P ~Q. ~(P Q) is transformed to ~P v ~Q. = (y1 (y2 y3)) =(y1 (y2 y3)) ((y2 y3) y1) =(~y1 v (y2 y3)) (~y2 v ~y3 v y1) = (~y1 v y2) (~y1 v y3) (y1 v ~y2 v ~y3) = (~y1 v y2 v y3) (~y1 v y2 v ~y3) (~y1 v y2 v y3) (~y1 v ~y2 v y3) (y1 v ~y2 v ~y3)
71
Jaruloj ChongstitvatanaNP-complete Problems71 3CNF-SAT is NP-complete f() = , and f() is satisfiable iff is satisfiable. Next, we need to show that f is computable in polynomial time. In step (A): the abstract syntax tree can be created in polynomial time of the length of , the expression can be created also in polynomial time of the number of node in the tree and the length of , which is also a polynomial time of the length of . In step (B): can be created, using Boolean logic identities, in polynomial time of the length of , which is also a polynomial time of the length of . That is, SAT ≤ 3CNF-SAT.
72
Jaruloj ChongstitvatanaNP-complete Problems72 CLIQUE is NP-complete Proof: 3CNF-SAT is NP-complete. 3CNF-SAT ≤ CLIQUE. CLIQUE is NP-complete.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.