Presentation is loading. Please wait.

Presentation is loading. Please wait.

February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015.

Similar presentations


Presentation on theme: "February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015."— Presentation transcript:

1 February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015

2 Outline the class NP –NP-complete problems: Hamilton path and cycle,Traveling Salesperson Problem –NP-complete problems: subset sum –NP-complete problems: NAE-3-SAT, max-cut February 25, 2015CS21 Lecture 212

3 February 25, 2015CS21 Lecture 213 Hamilton Path Definition: given a directed graph G = (V, E), a Hamilton path in G is a directed path that touches every node exactly once. A language (decision problem): HAMPATH = {(G, s, t) : G has a Hamilton path from s to t}

4 February 25, 2015CS21 Lecture 214 HAMPATH is NP-complete We are reducing from the language: 3SAT = { φ : φ is a 3-CNF formula that has a satisfying assignment } to the language: HAMPATH = {(G, s, t) : G has a Hamilton path from s to t}

5 February 25, 2015CS21 Lecture 215 HAMPATH is NP-complete We want to construct a graph from φ with the following properties: –a satisfying assignment to φ translates into a Hamilton Path from s to t –a Hamilton Path from s to t can be translated into a satisfying assignment for φ We will build the graph up from pieces called gadgets that “simulate” the clauses and variables of φ.

6 February 25, 2015CS21 Lecture 216 HAMPATH is NP-complete The variable gadget (one for each x i ): x i true: x i false: … … …

7 February 25, 2015CS21 Lecture 217 HAMPATH is NP-complete … … … : “x 1 ” “x 2 ” “x m ” s t path from s to t translates into a truth assignment to x 1 …x m why must the path be of this form?

8 February 25, 2015CS21 Lecture 218 HAMPATH is NP-complete φ = (x 1  x 2  x 3 )  (  x 1  x 4  x 3 )  …  (…) How to ensure that all k clauses are satisfied? need to add nodes –can be visited in path if the clause is satisfied –if visited in path, implies clause is satisfied by the assignment given by path through variable gadgets

9 February 25, 2015CS21 Lecture 219 HAMPATH is NP-complete φ = (x 1  x 2  x 3 )  (  x 1  x 4  x 3 )  …  (…) Clause gadget allows “detour” from “assignment path” for each true literal in clause … … … “x 1 ” “x 2 ” “x 3 ” “C 1 ”

10 February 25, 2015CS21 Lecture 2110 HAMPATH is NP-complete One clause gadget for each of k clauses: … “x 1 ” … “x 2 ” … “x m ” ::: “C 1 ” “C 2 ” “C k ” : for clause 1 for clause 2

11 February 25, 2015CS21 Lecture 2111 HAMPATH is NP-complete … … … : “x 1 ” “x 2 ” “x m ” s t “C 1 ” “C 2 ” “C k ” : φ = (x 1  x 2  x 3 )  (  x 1  x 4  x 3 )  … f(φ) is this graph (edges to/from clause nodes not pictured) f poly-time computable? # nodes = O(km)

12 February 25, 2015CS21 Lecture 2112 HAMPATH is NP-complete … … … : “x 1 ” “x 2 ” “x m ” s t “C 1 ” “C 2 ” “C k ” : φ = (x 1  x 2  x 3 )  (  x 1  x 4  x 3 )  … YES maps to YES? first form path from satisfying assign. pick true literal in each clause and add detour

13 February 25, 2015CS21 Lecture 2113 HAMPATH is NP-complete … … … : “x 1 ” “x 2 ” “x m ” s t “C 1 ” “C 2 ” “C k ” : φ = (x 1  x 2  x 3 )  (  x 1  x 4  x 3 )  … NO maps to NO? try to translate path into satisfying assignment if path has “intended” form, OK.

14 February 25, 2015CS21 Lecture 2114 HAMPATH is NP-complete What can go wrong? –path has “intended form” unless return from clause gadget to different variable gadget … … … “x i ” “x j ” “x h ” “C l ” we will argue that this cannot happen:

15 February 25, 2015CS21 Lecture 2115 HAMPATH is NP-complete … … : Case 1 (positive occurrence of v in clause): c xyz path must visit y must enter from x, z, or c must exit to z (x is taken) x, c are taken. can’t happen “v”

16 February 25, 2015CS21 Lecture 2116 HAMPATH is NP-complete … … : Case 2 (negative occurrence of v in clause): c xy path must visit y must enter from x or z must exit to z (x is taken) x is taken. can’t happen “v” z

17 February 25, 2015CS21 Lecture 2117 Undirected Hamilton Path HAMPATH refers to a directed graph. Is it easier on an undirected graph? A language (decision problem): UHAMPATH = {(G, s, t) : undirected G has a Hamilton path from s to t}

18 February 25, 2015CS21 Lecture 2118 UHAMPATH is NP-complete Theorem: the following language is NP- complete: UHAMPATH = {(G, s, t) : undirected graph G has a Hamilton path from s to t} Proof: –Part 1: UHAMPATH  NP. Proof? –Part 2: UHAMPATH is NP-hard. reduce from?

19 February 25, 2015CS21 Lecture 2119 UHAMPATH is NP-complete We are reducing from the language: HAMPATH = {(G, s, t) : directed graph G has a Hamilton path from s to t} to the language: UHAMPATH = {(G, s, t) : undirected graph G has a Hamilton path from s to t}

20 February 25, 2015CS21 Lecture 2120 UHAMPATH is NP-complete The reduction: s t G s out t in G’ u v u in u mid u out v in v mid v out replace each node with three (except s, t) (u in, u mid ) (u mid, u out ) (u out, v in ) iff G has (u,v)

21 February 25, 2015CS21 Lecture 2121 UHAMPATH is NP-complete Does the reduction run in poly-time? YES maps to YES? –Hamilton path in G: s, u 1, u 2, u 3, …, u k, t –Hamilton path in G’: s out, (u 1 ) in, (u 1 ) mid, (u 1 ) out, (u 2 ) in, (u 2 ) mid, (u 2 ) out, … (u k ) in, (u k ) mid, (u k ) out, t in

22 February 25, 2015CS21 Lecture 2122 UHAMPATH is NP-complete NO maps to NO? –Hamilton path in G’: s out, v 1, v 2, v 3, v 4, v 5, v 6, …, v k-2, v k-1, v k, t in –v 1 = (u i1 ) in for some i 1 (only edges to ins) –v 2 = (u i1 ) mid for some i 1 (only way to enter mid) –v 3 = (u i1 ) out for some i 1 (only way to exit mid) –v 4 = (u i2 ) in for some i 2 (only edges to ins) –... –Hamilton path in G: s, u i1, u i2, u i3, …, u ik, t

23 February 25, 2015CS21 Lecture 2123 Undirected Hamilton Cycle Definition: given a undirected graph G = (V, E), a Hamilton cycle in G is a cycle in G that touches every node exactly once. Is finding one easier than finding a Hamilton path? A language (decision problem): UHAMCYCLE = {G : G has a Hamilton cycle}

24 February 25, 2015CS21 Lecture 2124 UHAMCYCLE is NP-complete Theorem: the following language is NP- complete: UHAMCYCLE = {G: G has a Hamilton cycle} Proof: –Part 1: UHAMCYCLE  NP. Proof? –Part 2: UHAMCYCLE is NP-hard. reduce from?

25 February 25, 2015CS21 Lecture 2125 UHAMCYCLE is NP-complete The reduction (from UHAMPATH): s t G s t G’ H. path from s to t implies H. cycle in G’ H. cycle in G’ must visit u via red edges removing red edges gives H. path from s to t in G u

26 February 25, 2015CS21 Lecture 2126 Traveling Salesperson Problem Definition: given n cities v 1, v 2, …, v n and inter-city distances d i, j a TSP tour in G is a permutation  of {1…n}. The tour’s length is Σ i = 1 … n d  (i),  (i+1) (where n+1 means 1). A search problem: given the {d i,j }, find the shortest TSP tour corresponding language (decision problem): TSP = {({d i, j : 1 ≤ i<j ≤ n}, k) : these cities have a TSP tour of length ≤ k}

27 February 25, 2015CS21 Lecture 2127 TSP is NP-complete Theorem: the following language is NP- complete: TSP = {({d i, j : 1 ≤ i<j ≤ n}, k) : these cities have a TSP tour of length ≤ k} Proof: –Part 1: TSP  NP. Proof? –Part 2: TSP is NP-hard. reduce from?

28 February 25, 2015CS21 Lecture 2128 TSP is NP-complete We are reducing from the language: UHAMCYCLE = {G : G has a Hamilton cycle} to the language: TSP = {({d i, j : 1 ≤ i<j ≤ n}, k) : these cities have a TSP tour of length ≤ k}

29 February 25, 2015CS21 Lecture 2129 TSP is NP-complete The reduction: –given G = (V, E) with n nodes produce: –n cities corresponding to the n nodes –d u, v = 1 if (u, v)  E –d u, v = 2 if (u, v)  E –set k = n

30 February 25, 2015CS21 Lecture 2130 TSP is NP-complete YES maps to YES? –if G has a Hamilton cycle, then visiting cities in that order gives TSP tour of length n NO maps to NO? –if TSP tour of length ≤ n, it must have length exactly n. –all distances in tour are 1. Must be edges between every successive pair of cities in tour.


Download ppt "February 25, 2015CS21 Lecture 211 CS21 Decidability and Tractability Lecture 21 February 25, 2015."

Similar presentations


Ads by Google