Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cook’s theorem and NP-reductions

Similar presentations


Presentation on theme: "Cook’s theorem and NP-reductions"— Presentation transcript:

1 Cook’s theorem and NP-reductions
Pasi Fränti

2 Satisfiability problem (SAT) is NP-complete
Cook’s theorem Theorem: Satisfiability problem (SAT) is NP-complete Proof: TM ≤p SAT

3 Satisfiability problem
F=(X1 X2  X3)  (X1 X2)  (X1 X3) x1 x2 x3 f1 f2 f3 F 1

4 Non-deterministic algorithm
Satisfiability(F) FOR i1 TO n DO xi  Choose{0,1}; IF F(x)=1 THEN SUCCESS; ELSE FAIL; T(n)=O(n)  SAT  NP

5 Notations needed Implication Equivalence All are true Some is true
Exactly one is true At least one is true At most one is true

6 Proof of Cook’s theorem
Only valid Turing machine configurations can have value TRUE ai = tape position s has symbol ai qj = machine is at state qj and R/W head is at position s

7 Cook’s theorem Machine is at state q0
Tape content is {ai1, ai2, …, ain}

8 Cook’s theorem If not at position s, then content does not change
If at position s and content is ai, then change state and content

9 Can be in any position s but machine must be in final state qk
Cook’s theorem Can be in any position s but machine must be in final state qk

10 NP hard problems Satisfiability problem (SAT) Coloring problem (Color)
Exact cover problem (EC) Knapsack problem (KP) Traveling salesman problem (TSP)

11 Satisfiability to Coloring Connect to all but those literals in fi
Complete k-clique False color c1 c2 c3 ck c0 Connect to all but ci Literals x1 x2 xk x3 Color for fi xj fi xj fi Connect to all but those literals in fi

12 SP to Coloring example (X1 X2)  (X1 X3)

13 (X2  X3)  (X1 X3 )  (X1  X2)
Additional example f1 f2 f3 (X2  X3)  (X1 X3 )  (X1  X2) x1 x2 x3 f1 f2 f3 F 1

14 Knapsack to TSP

15 Knapsack problem Input: knapsack instance {2,3,5,7,11}
Size of the knapsack S=15.

16 Step 1: Create one node for every item
Input: knapsack instance {2,3,5,7,11} Create a node for every knapsack element. 2 7 5 3 11

17 Step 2: Add start and end points
Add node 0 as the home. Add node n+1 as the turning point. 2 7 5 n+1 3 11 n+2 nodes needed to represent the knapsack instance

18 Step 3: Create forward links
Draw links from smaller to bigger with weights: w(i,j) = j w(i,n+1) = 0 7 2 2 7 7 7 7 5 5 5 n+1 5 11 11 3 3 11 3 11 11

19 Step 4: Create backward links
Draw backward links from bigger to smaller nodes. Set weight of the link as w(j,i)=0. 2 7 5 n+1 3 11

20 KP  TSP All nodes have two incoming links with weights
w(i,j) if item j is taken into knapsack (xj=1) 0 if item j not is taken (xj=0) Visit nodes selected in KP using w>0 link 2 3 7 11 5 select 7 n+1 5 select select 3

21 KP  TSP TSP = 0-3-5-7-(N+1)-11-2-0
 KP = {3,5,7} (all nodes which arrival cost > 0) 2 3 7 11 5 select 7 n+1 5 select select 3

22 Empty space for notes


Download ppt "Cook’s theorem and NP-reductions"

Similar presentations


Ads by Google