More NP-Complete Problems Lecture 4 September 5, 2013 Sariel - - PowerPoint PPT Presentation

more np complete problems
SMART_READER_LITE
LIVE PREVIEW

More NP-Complete Problems Lecture 4 September 5, 2013 Sariel - - PowerPoint PPT Presentation

CS 573: Algorithms, Fall 2013 More NP-Complete Problems Lecture 4 September 5, 2013 Sariel (UIUC) CS573 1 Fall 2013 1 / 48 Recap NP : languages that have polynomial time certifiers/verifiers. A language L is NP-Complete L is in NP


slide-1
SLIDE 1

CS 573: Algorithms, Fall 2013

More NP-Complete Problems

Lecture 4

September 5, 2013

Sariel (UIUC) CS573 1 Fall 2013 1 / 48

slide-2
SLIDE 2

Recap

NP: languages that have polynomial time certifiers/verifiers.

A language L is NP-Complete ⇐ ⇒ L is in NP for every L′ in NP, L′ ≤P L L is NP-Hard if for every L′ in NP, L′ ≤P L. .

Theorem (Cook-Levin)

. . Circuit-SAT and SAT are NP-Complete.

Sariel (UIUC) CS573 2 Fall 2013 2 / 48

slide-3
SLIDE 3

Recap

NP: languages that have polynomial time certifiers/verifiers.

A language L is NP-Complete ⇐ ⇒ L is in NP for every L′ in NP, L′ ≤P L L is NP-Hard if for every L′ in NP, L′ ≤P L. .

Theorem (Cook-Levin)

. . Circuit-SAT and SAT are NP-Complete.

Sariel (UIUC) CS573 2 Fall 2013 2 / 48

slide-4
SLIDE 4

Recap

NP: languages that have polynomial time certifiers/verifiers.

A language L is NP-Complete ⇐ ⇒ L is in NP for every L′ in NP, L′ ≤P L L is NP-Hard if for every L′ in NP, L′ ≤P L. .

Theorem (Cook-Levin)

. . Circuit-SAT and SAT are NP-Complete.

Sariel (UIUC) CS573 2 Fall 2013 2 / 48

slide-5
SLIDE 5

Recap

NP: languages that have polynomial time certifiers/verifiers.

A language L is NP-Complete ⇐ ⇒ L is in NP for every L′ in NP, L′ ≤P L L is NP-Hard if for every L′ in NP, L′ ≤P L. .

Theorem (Cook-Levin)

. . Circuit-SAT and SAT are NP-Complete.

Sariel (UIUC) CS573 2 Fall 2013 2 / 48

slide-6
SLIDE 6

Recap contd

.

Theorem (Cook-Levin)

. . Circuit-SAT and SAT are NP-Complete. Establish NP-Completeness via reductions: SAT ≤P 3-SAT and hence 3-SAT is NP-complete 3-SAT ≤P Independent Set (which is in NP) and hence Independent Set is NP-Complete Vertex Cover is NP-Complete Clique is NP-Complete Set Cover is NP-Complete

Sariel (UIUC) CS573 3 Fall 2013 3 / 48

slide-7
SLIDE 7

Today

Prove Hamiltonian Cycle Problem is NP-Complete. 3-Coloring is NP-Complete. Subset Sum.

Sariel (UIUC) CS573 4 Fall 2013 4 / 48

slide-8
SLIDE 8

Part I

. .

NP-Completeness of Hamiltonian Cycle

Sariel (UIUC) CS573 5 Fall 2013 5 / 48

slide-9
SLIDE 9

Directed Hamiltonian Cycle

Input Given a directed graph G = (V, E) with n vertices Goal Does G have a Hamiltonian cycle? A Hamiltonian cycle is a cycle in the graph that visits every vertex in G exactly once

Sariel (UIUC) CS573 6 Fall 2013 6 / 48

slide-10
SLIDE 10

Directed Hamiltonian Cycle

Input Given a directed graph G = (V, E) with n vertices Goal Does G have a Hamiltonian cycle? A Hamiltonian cycle is a cycle in the graph that visits every vertex in G exactly once

Sariel (UIUC) CS573 6 Fall 2013 6 / 48

slide-11
SLIDE 11

Directed Hamiltonian Cycle is NP-Complete

Directed Hamiltonian Cycle is in NP

Certificate: Sequence of vertices Certifier: Check if every vertex (except the first) appears exactly

  • nce, and that consecutive vertices are connected by a directed

edge

Hardness: We will show 3-SAT ≤P Directed Hamiltonian Cycle

Sariel (UIUC) CS573 7 Fall 2013 7 / 48

slide-12
SLIDE 12

Reduction

Given 3-SAT formula φ create a graph Gφ such that Gφ has a Hamiltonian cycle if and only if φ is satisfiable Gφ should be constructible from φ by a polynomial time algorithm A Notation: φ has n variables x1, x2, . . . , xn and m clauses C1, C2, . . . , Cm.

Sariel (UIUC) CS573 8 Fall 2013 8 / 48

slide-13
SLIDE 13

Reduction: First Ideas

Viewing SAT: Assign values to n variables, and each clauses has 3 ways in which it can be satisfied. Construct graph with 2n Hamiltonian cycles, where each cycle corresponds to some boolean assignment. Then add more graph structure to encode constraints on assignments imposed by the clauses.

Sariel (UIUC) CS573 9 Fall 2013 9 / 48

slide-14
SLIDE 14

The Reduction: Phase I

Traverse path i from left to right if and only if xi is set to true. Each path has 3(m + 1) nodes where m is number of clauses in φ; nodes numbered from left to right (1 to 3m + 3)

x2 x3

x1 x4

Sariel (UIUC) CS573 10 Fall 2013 10 / 48

slide-15
SLIDE 15

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-16
SLIDE 16

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-17
SLIDE 17

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

”Buffer” vertices

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-18
SLIDE 18

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-19
SLIDE 19

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-20
SLIDE 20

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-21
SLIDE 21

The Reduction: Phase II

Add vertex cj for clause Cj. cj has edge from vertex 3j and to vertex 3j + 1 on path i if xi appears in clause Cj, and has edge from vertex 3j + 1 and to vertex 3j if ¬xi appears in Cj.

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 11 Fall 2013 11 / 48

slide-22
SLIDE 22

Correctness Proof

.

Proposition

. . φ has a satisfying assignment ⇐ ⇒ Gφ has a Hamiltonian cycle. .

Proof.

. . ⇒ Let α be the satisfying assignment for φ. Define Hamiltonian cycle as follows

If α(xi) = 1 then traverse path i from left to right If α(xi) = 0 then traverse path i from right to left. For each clause, path of at least one variable is in the “right” direction to splice in the node corresponding to clause.

Sariel (UIUC) CS573 12 Fall 2013 12 / 48

slide-23
SLIDE 23

Hamiltonian Cycle ⇒ Satisfying assignment

.

Proof continued

. . Suppose Π is a Hamiltonian cycle in Gφ If Π enters cj (vertex for clause Cj) from vertex 3j on path i then it must leave the clause vertex on edge to 3j + 1 on the same path i

If not, then only unvisited neighbor of 3j + 1 on path i is 3j + 2 Thus, we don’t have two unvisited neighbors (one to enter from, and the other to leave) to have a Hamiltonian Cycle

Similarly, if Π enters cj from vertex 3j + 1 on path i then it must leave the clause vertex cj on edge to 3j on path i

Sariel (UIUC) CS573 13 Fall 2013 13 / 48

slide-24
SLIDE 24

Example

x2 x3

¬x1 ∨ ¬x2 ∨ ¬x3

x1

x1 ∨ ¬x2 ∨ x4

x4

Sariel (UIUC) CS573 14 Fall 2013 14 / 48

slide-25
SLIDE 25

Hamiltonian Cycle = ⇒ Satisfying assignment (contd)

Thus, vertices visited immediately before and after Ci are connected by an edge We can remove cj from cycle, and get Hamiltonian cycle in G − cj Consider Hamiltonian cycle in G − {c1, . . . cm}; it traverses each path in only one direction, which determines the truth assignment

Sariel (UIUC) CS573 15 Fall 2013 15 / 48

slide-26
SLIDE 26

(Undirected) Hamiltonian Cycle

.

Problem (Undirected Hamiltonian Cycle)

. . Input: Given undirected graph G = (V, E). Goal: Does G have a Hamiltonian cycle? That is, is there a cycle that visits every vertex exactly one (except start and end vertex)?

Sariel (UIUC) CS573 16 Fall 2013 16 / 48

slide-27
SLIDE 27

NP-Completeness

.

Theorem

. . Hamiltonian cycle problem for undirected graphs is

NP-Complete.

.

Proof.

. . The problem is in NP; proof left as exercise. Hardness proved by reducing Directed Hamiltonian Cycle to this problem.

Sariel (UIUC) CS573 17 Fall 2013 17 / 48

slide-28
SLIDE 28

Reduction Sketch

Goal: Given directed graph G, need to construct undirected graph G′ such that G has Hamiltonian Path if and only if G′ has Hamiltonian path .

Reduction

. . Replace each vertex v by 3 vertices: vin, v, and vout A directed edge (a, b) is replaced by edge (aout, bin)

b a v c d

Sariel (UIUC) CS573 18 Fall 2013 18 / 48

slide-29
SLIDE 29

Reduction Sketch

Goal: Given directed graph G, need to construct undirected graph G′ such that G has Hamiltonian Path if and only if G′ has Hamiltonian path .

Reduction

. . Replace each vertex v by 3 vertices: vin, v, and vout A directed edge (a, b) is replaced by edge (aout, bin)

b a v c d

Sariel (UIUC) CS573 18 Fall 2013 18 / 48

slide-30
SLIDE 30

Reduction Sketch

Goal: Given directed graph G, need to construct undirected graph G′ such that G has Hamiltonian Path if and only if G′ has Hamiltonian path .

Reduction

. . Replace each vertex v by 3 vertices: vin, v, and vout A directed edge (a, b) is replaced by edge (aout, bin)

b a v c d

Sariel (UIUC) CS573 18 Fall 2013 18 / 48

slide-31
SLIDE 31

Reduction Sketch

Goal: Given directed graph G, need to construct undirected graph G′ such that G has Hamiltonian Path if and only if G′ has Hamiltonian path .

Reduction

. . Replace each vertex v by 3 vertices: vin, v, and vout A directed edge (a, b) is replaced by edge (aout, bin)

b a v c d bo vi ao v vo di ci

Sariel (UIUC) CS573 18 Fall 2013 18 / 48

slide-32
SLIDE 32

Reduction: Wrapup

The reduction is polynomial time (exercise) The reduction is correct (exercise)

Sariel (UIUC) CS573 19 Fall 2013 19 / 48

slide-33
SLIDE 33

Part II

. .

NP-Completeness of Graph Coloring

Sariel (UIUC) CS573 20 Fall 2013 20 / 48

slide-34
SLIDE 34

Graph Coloring

Graph Coloring

Instance: G = (V, E): Undirected graph, integer k. Question: Can the vertices of the graph be colored using k colors so that vertices connected by an edge do not get the same color?

Sariel (UIUC) CS573 21 Fall 2013 21 / 48

slide-35
SLIDE 35

Graph 3-Coloring

3 Coloring

Instance: G = (V, E): Undirected graph. Question: Can the vertices of the graph be colored using 3 colors so that vertices connected by an edge do not get the same color?

Sariel (UIUC) CS573 22 Fall 2013 22 / 48

slide-36
SLIDE 36

Graph 3-Coloring

3 Coloring

Instance: G = (V, E): Undirected graph. Question: Can the vertices of the graph be colored using 3 colors so that vertices connected by an edge do not get the same color?

Sariel (UIUC) CS573 22 Fall 2013 22 / 48

slide-37
SLIDE 37

Graph Coloring

Observation: If G is colored with k colors then each color class (nodes of same color) form an independent set in G. Thus, G can be partitioned into k independent sets ⇐ ⇒ G is k-colorable. Graph 2-Coloring can be decided in polynomial time. G is 2-colorable ⇐ ⇒ G is bipartite! There is a linear time algorithm to check if G is bipartite using BFS (we saw this earlier).

Sariel (UIUC) CS573 23 Fall 2013 23 / 48

slide-38
SLIDE 38

Graph Coloring

Observation: If G is colored with k colors then each color class (nodes of same color) form an independent set in G. Thus, G can be partitioned into k independent sets ⇐ ⇒ G is k-colorable. Graph 2-Coloring can be decided in polynomial time. G is 2-colorable ⇐ ⇒ G is bipartite! There is a linear time algorithm to check if G is bipartite using BFS (we saw this earlier).

Sariel (UIUC) CS573 23 Fall 2013 23 / 48

slide-39
SLIDE 39

Graph Coloring

Observation: If G is colored with k colors then each color class (nodes of same color) form an independent set in G. Thus, G can be partitioned into k independent sets ⇐ ⇒ G is k-colorable. Graph 2-Coloring can be decided in polynomial time. G is 2-colorable ⇐ ⇒ G is bipartite! There is a linear time algorithm to check if G is bipartite using BFS (we saw this earlier).

Sariel (UIUC) CS573 23 Fall 2013 23 / 48

slide-40
SLIDE 40

Graph Coloring

Observation: If G is colored with k colors then each color class (nodes of same color) form an independent set in G. Thus, G can be partitioned into k independent sets ⇐ ⇒ G is k-colorable. Graph 2-Coloring can be decided in polynomial time. G is 2-colorable ⇐ ⇒ G is bipartite! There is a linear time algorithm to check if G is bipartite using BFS (we saw this earlier).

Sariel (UIUC) CS573 23 Fall 2013 23 / 48

slide-41
SLIDE 41

Graph Coloring and Register Allocation

.

Register Allocation

. . Assign variables to (at most) k registers such that variables needed at the same time are not assigned to the same register .

Interference Graph

. . Vertices are variables, and there is an edge between two vertices, if the two variables are “live” at the same time. .

Observations

. . [Chaitin] Register allocation problem is equivalent to coloring the interference graph with k colors Moreover, 3-COLOR ≤P k-Register Allocation, for any k ≥ 3

Sariel (UIUC) CS573 24 Fall 2013 24 / 48

slide-42
SLIDE 42

Class Room Scheduling

Given n classes and their meeting times, are k rooms sufficient? Reduce to Graph k-Coloring problem Create graph G a node vi for each class i an edge between vi and vj if classes i and j conflict Exercise: G is k-colorable ⇐ ⇒ k rooms are sufficient

Sariel (UIUC) CS573 25 Fall 2013 25 / 48

slide-43
SLIDE 43

Class Room Scheduling

Given n classes and their meeting times, are k rooms sufficient? Reduce to Graph k-Coloring problem Create graph G a node vi for each class i an edge between vi and vj if classes i and j conflict Exercise: G is k-colorable ⇐ ⇒ k rooms are sufficient

Sariel (UIUC) CS573 25 Fall 2013 25 / 48

slide-44
SLIDE 44

Class Room Scheduling

Given n classes and their meeting times, are k rooms sufficient? Reduce to Graph k-Coloring problem Create graph G a node vi for each class i an edge between vi and vj if classes i and j conflict Exercise: G is k-colorable ⇐ ⇒ k rooms are sufficient

Sariel (UIUC) CS573 25 Fall 2013 25 / 48

slide-45
SLIDE 45

Frequency Assignments in Cellular Networks

Cellular telephone systems that use Frequency Division Multiple Access (FDMA) (example: GSM in Europe and Asia and AT&T in USA) Breakup a frequency range [a, b] into disjoint bands of frequencies [a0, b0], [a1, b1], . . . , [ak, bk] Each cell phone tower (simplifying) gets one band Constraint: nearby towers cannot be assigned same band,

  • therwise signals will interference

Problem: given k bands and some region with n towers, is there a way to assign the bands to avoid interference? Can reduce to k-coloring by creating interference/conflict graph on towers.

Sariel (UIUC) CS573 26 Fall 2013 26 / 48

slide-46
SLIDE 46

Frequency Assignments in Cellular Networks

Cellular telephone systems that use Frequency Division Multiple Access (FDMA) (example: GSM in Europe and Asia and AT&T in USA) Breakup a frequency range [a, b] into disjoint bands of frequencies [a0, b0], [a1, b1], . . . , [ak, bk] Each cell phone tower (simplifying) gets one band Constraint: nearby towers cannot be assigned same band,

  • therwise signals will interference

Problem: given k bands and some region with n towers, is there a way to assign the bands to avoid interference? Can reduce to k-coloring by creating interference/conflict graph on towers.

Sariel (UIUC) CS573 26 Fall 2013 26 / 48

slide-47
SLIDE 47

3-Coloring is NP-Complete

3-Coloring is in NP.

Certificate: for each node a color from {1, 2, 3}. Certifier: Check if for each edge (u, v), the color of u is different from that of v.

Hardness: We will show 3-SAT ≤P 3-Coloring.

Sariel (UIUC) CS573 27 Fall 2013 27 / 48

slide-48
SLIDE 48

Reduction Idea

Start with 3SAT formula (i.e., 3CNF formula) φ with n variables x1, . . . , xn and m clauses C1, . . . , Cm. Create graph Gφ such that Gφ is 3-colorable ⇐ ⇒ φ is satisfiable . .

1

Need to establish truth assignment for x1, . . . , xn via colors for some nodes in Gφ. . .

2

Create triangle with nodes true, false, base. . .

3

For each variable xi two nodes vi and ¯ vi connected in a triangle with the special node base. . .

4

If graph is 3-colored, either vi or ¯ vi gets the same color as true. Interpret this as a truth assignment to vi. . .

5

Need to add constraints to ensure clauses are satisfied (next phase).

Sariel (UIUC) CS573 28 Fall 2013 28 / 48

slide-49
SLIDE 49

Figure

v1 v1 v2 v2 vn

vn T F Base

Sariel (UIUC) CS573 29 Fall 2013 29 / 48

slide-50
SLIDE 50

Clause Satisfiability Gadget

For each clause Cj = (a ∨ b ∨ c), create a small gadget graph gadget graph connects to nodes corresponding to a, b, c needs to implement OR OR-gadget-graph:

a b c a ∨ b a ∨ b ∨ c

Sariel (UIUC) CS573 30 Fall 2013 30 / 48

slide-51
SLIDE 51

OR-Gadget Graph

Property: if a, b, c are colored false in a 3-coloring then output node of OR-gadget has to be colored false. Property: if one of a, b, c is colored true then OR-gadget can be 3-colored such that output node of OR-gadget is colored true.

Sariel (UIUC) CS573 31 Fall 2013 31 / 48

slide-52
SLIDE 52

Reduction

. .

1

Create triangle with nodes true, false, base. . .

2

for each variable xi two nodes vi and ¯ vi connected in a triangle with the above base vertex. . .

3

For each clause Cj = (a ∨ b ∨ c), add OR-gadget graph with input nodes a, b, c and connect output node of gadget to both false and base.

a b c a ∨ b a ∨ b ∨ c T F Base

Sariel (UIUC) CS573 32 Fall 2013 32 / 48

slide-53
SLIDE 53

Reduction

a b c a ∨ b a ∨ b ∨ c T F Base

.

Claim

. . No legal 3-coloring of above graph (with coloring of nodes T, F, B fixed) in which a, b, c are colored false. If any of a, b, c are colored True then there is a legal 3-coloring of above graph.

Sariel (UIUC) CS573 33 Fall 2013 33 / 48

slide-54
SLIDE 54

3 coloring of the clause gadget

s a b c w u v r

T

s a b c w u v r

T

s a b c w u v r

T

FFF - BAD FFT FTF

s a b c w u v r

T

s a b c w u v r

T

s a b c w u v r

T

FTT TFF TFT

s a b c w u v r

T

s a b c w u v r

T

TTF TTT

Sariel (UIUC) CS573 34 Fall 2013 34 / 48

slide-55
SLIDE 55

Reduction Outline

.

Example

. . φ = (u ∨ ¬v ∨ w) ∧ (v ∨ x ∨ ¬y)

  • r

gates

Palette

Variable and negations have complemantory colors. Liter- als get colors T or F.

T F

Sariel (UIUC) CS573 35 Fall 2013 35 / 48

slide-56
SLIDE 56

Correctness of Reduction

φ is satisfiable implies Gφ is 3-colorable . .

1

if xi is assigned 1, color vi true and ¯ vi false. . .

2

for each clause Cj = (a ∨ b ∨ c) at least one of a, b, c is colored True. OR-gadget for Cj can be 3-colored such that

  • utput is True.

Gφ is 3-colorable implies φ is satisfiable . .

1

If vi is colored true then set xi to be 1, this is a legal truth assignment. . .

2

Consider any clause Cj = (a ∨ b ∨ c). it cannot be that all a, b, c are all colored false. If so, output of OR-gadget for Cj has to be colored false but output is connected to base and false!

Sariel (UIUC) CS573 36 Fall 2013 36 / 48

slide-57
SLIDE 57

Correctness of Reduction

φ is satisfiable implies Gφ is 3-colorable . .

1

if xi is assigned 1, color vi true and ¯ vi false. . .

2

for each clause Cj = (a ∨ b ∨ c) at least one of a, b, c is colored True. OR-gadget for Cj can be 3-colored such that

  • utput is True.

Gφ is 3-colorable implies φ is satisfiable . .

1

If vi is colored true then set xi to be 1, this is a legal truth assignment. . .

2

Consider any clause Cj = (a ∨ b ∨ c). it cannot be that all a, b, c are all colored false. If so, output of OR-gadget for Cj has to be colored false but output is connected to base and false!

Sariel (UIUC) CS573 36 Fall 2013 36 / 48

slide-58
SLIDE 58

Graph generated in reduction...

... from 3SAT to 3COLOR

d X c a b T a b c d F Sariel (UIUC) CS573 37 Fall 2013 37 / 48

slide-59
SLIDE 59

Part III

. .

Hardness of Subset Sum

Sariel (UIUC) CS573 38 Fall 2013 38 / 48

slide-60
SLIDE 60

Subset Sum

Subset Sum

Instance: S - set of positive integers,t: - an integer number (Target) Question: Is there a subset X ⊆ S such that ∑

x∈X x = t?

.

Claim

. . Subset Sum is NP-Complete.

Sariel (UIUC) CS573 39 Fall 2013 39 / 48

slide-61
SLIDE 61

Vector Subset Sum

We will prove following problem is NP-Complete...

Vec Subset Sum

Instance: S - set of n vectors of dimension k, each vector has non-negative numbers for its coordinates, and a target vector − → t . Question: Is there a subset X ⊆ S such that ∑

− → x ∈X −

→ x = − → t ? Reduction from 3SAT.

Sariel (UIUC) CS573 40 Fall 2013 40 / 48

slide-62
SLIDE 62

Vector Subset Sum

Handling a single clause

Think about vectors as being lines in a table. .

First gadget

. . Selecting between two lines. Target ?? ?? 01 ??? a1 ?? ?? 01 ?? a2 ?? ?? 01 ?? Two rows for every variable x: selecting either x = 0 or x = 1.

Sariel (UIUC) CS573 41 Fall 2013 41 / 48

slide-63
SLIDE 63

Handling a clause...

We will have a column for every clause... numbers ... C ≡ a ∨ b ∨ c ... a ... 01 ... a ... 00 ... b ... 01 ... b ... 00 ... c ... 00 ... c ... 01 ... C fix-up 1 000 07 000 C fix-up 2 000 08 000 C fix-up 3 000 09 000 TARGET 10

Sariel (UIUC) CS573 42 Fall 2013 42 / 48

slide-64
SLIDE 64

3SAT to Vec Subset Sum

numbers a ∨ a b ∨ b c ∨ c d ∨ d D ≡ b ∨ c ∨ d C ≡ a ∨ b ∨ c a 1 00 01 a 1 00 00 b 1 00 01 b 1 01 00 c 1 01 00 c 1 00 01 d 1 00 00 d 1 01 01 C fix-up 1 00 07 C fix-up 2 00 08 C fix-up 3 00 09 D fix-up 1 07 00 D fix-up 2 08 00 D fix-up 3 09 00 TARGET 1 1 1 1 10 10 Sariel (UIUC) CS573 43 Fall 2013 43 / 48

slide-65
SLIDE 65

Vec Subset Sum to Subset Sum

numbers 010000000001 010000000000 000100000001 000100000100 000001000100 000001000001 000000010000 000000010101 000000000007 000000000008 000000000009 000000000700 000000000800 000000000900 010101011010

Sariel (UIUC) CS573 44 Fall 2013 44 / 48

slide-66
SLIDE 66

Other NP-Complete Problems

3-Dimensional Matching Subset Sum Read book.

Sariel (UIUC) CS573 45 Fall 2013 45 / 48

slide-67
SLIDE 67

Need to Know NP-Complete Problems

3SAT. Circuit-SAT. Independent Set. Vertex Cover. Clique. Set Cover. Hamiltonian Cycle (in Directed/Undirected Graphs). 3Coloring. 3-D Matching. Subset Sum.

Sariel (UIUC) CS573 46 Fall 2013 46 / 48

slide-68
SLIDE 68

Subset Sum and Knapsack

Subset Sum Problem: Given n integers a1, a2, . . . , an and a target B, is there a subset of S of {a1, . . . , an} such that the numbers in S add up precisely to B? Subset Sum is NP-Complete— see book. Knapsack: Given n items with item i having size si and profit pi, a knapsack of capacity B, and a target profit P, is there a subset S of items that can be packed in the knapsack and the profit of S is at least P? Show Knapsack problem is NP-Complete via reduction from Subset Sum (exercise).

Sariel (UIUC) CS573 47 Fall 2013 47 / 48

slide-69
SLIDE 69

Subset Sum and Knapsack

Subset Sum Problem: Given n integers a1, a2, . . . , an and a target B, is there a subset of S of {a1, . . . , an} such that the numbers in S add up precisely to B? Subset Sum is NP-Complete— see book. Knapsack: Given n items with item i having size si and profit pi, a knapsack of capacity B, and a target profit P, is there a subset S of items that can be packed in the knapsack and the profit of S is at least P? Show Knapsack problem is NP-Complete via reduction from Subset Sum (exercise).

Sariel (UIUC) CS573 47 Fall 2013 47 / 48

slide-70
SLIDE 70

Subset Sum and Knapsack

Subset Sum Problem: Given n integers a1, a2, . . . , an and a target B, is there a subset of S of {a1, . . . , an} such that the numbers in S add up precisely to B? Subset Sum is NP-Complete— see book. Knapsack: Given n items with item i having size si and profit pi, a knapsack of capacity B, and a target profit P, is there a subset S of items that can be packed in the knapsack and the profit of S is at least P? Show Knapsack problem is NP-Complete via reduction from Subset Sum (exercise).

Sariel (UIUC) CS573 47 Fall 2013 47 / 48

slide-71
SLIDE 71

Subset Sum and Knapsack

Subset Sum Problem: Given n integers a1, a2, . . . , an and a target B, is there a subset of S of {a1, . . . , an} such that the numbers in S add up precisely to B? Subset Sum is NP-Complete— see book. Knapsack: Given n items with item i having size si and profit pi, a knapsack of capacity B, and a target profit P, is there a subset S of items that can be packed in the knapsack and the profit of S is at least P? Show Knapsack problem is NP-Complete via reduction from Subset Sum (exercise).

Sariel (UIUC) CS573 47 Fall 2013 47 / 48

slide-72
SLIDE 72

Subset Sum and Knapsack

Subset Sum can be solved in O(nB) time using dynamic programming (exercise). Implies that problem is hard only when numbers a1, a2, . . . , an are exponentially large compared to n. That is, each ai requires polynomial in n bits. Number problems of the above type are said to be weakly

NP-Complete.

Sariel (UIUC) CS573 48 Fall 2013 48 / 48

slide-73
SLIDE 73

Subset Sum and Knapsack

Subset Sum can be solved in O(nB) time using dynamic programming (exercise). Implies that problem is hard only when numbers a1, a2, . . . , an are exponentially large compared to n. That is, each ai requires polynomial in n bits. Number problems of the above type are said to be weakly

NP-Complete.

Sariel (UIUC) CS573 48 Fall 2013 48 / 48

slide-74
SLIDE 74

Subset Sum and Knapsack

Subset Sum can be solved in O(nB) time using dynamic programming (exercise). Implies that problem is hard only when numbers a1, a2, . . . , an are exponentially large compared to n. That is, each ai requires polynomial in n bits. Number problems of the above type are said to be weakly

NP-Complete.

Sariel (UIUC) CS573 48 Fall 2013 48 / 48

slide-75
SLIDE 75

Notes

Sariel (UIUC) CS573 49 Fall 2013 49 / 48

slide-76
SLIDE 76

Notes

Sariel (UIUC) CS573 50 Fall 2013 50 / 48

slide-77
SLIDE 77

Notes

Sariel (UIUC) CS573 51 Fall 2013 51 / 48

slide-78
SLIDE 78

Notes

Sariel (UIUC) CS573 52 Fall 2013 52 / 48