complexity 11-1 complexity andrei bulatov np-completeness

23
Complexity 11-1 Complexit Andrei Bulato NP- Completeness

Post on 18-Dec-2015

225 views

Category:

Documents


2 download

TRANSCRIPT

Complexity 11-1

ComplexityAndrei Bulatov

NP-Completeness

Complexity 11-2

NP-Completeness Proofs

To prove that a language L is NP-complete we now just have toperform two steps:

1. Show that L belongs to NP2. Find a known NP-complete problem (language) L and

show L L

100s of problems have now been shown to be NP-complete(for an earlier survey see Garey and Johnson)

Note: If we can complete Step 2 but not Step 1, then we say thatL is NP-hard

Complexity 11-3

NP-Completeness of Clique

Instance: A graph G and a number k.

Question: Does G contain a clique of size k?

Clique

Theorem Clique is NP-complete

Theorem Clique is NP-complete

Step 1: The problem Clique is in NP: the list of vertices in the clique is the certificate

Complexity 11-4

Step 2: To show that Clique is NP-complete we shall reduce Satisfiability to Clique

Given a formula with clauses kCCC ,,, 21

• For each literal X in clause create a graph vertex

• Put an edge between every pair of vertices from distinct clauses, unless they are incompatible (i.e. X and X)

jC

This construction can be carried out in polynomial time

The resulting graph has a clique of size k if and only if is satisfiable (assign the value true to every variable occurring in the clique)

Complexity 11-5

Example Construction

321

)()()(CCC

ZYVUUXZYX

X

Y

Z

U

V

Y

Z X

Uk 3

Complexity 11-6

NP-Completeness of Vertex Cover

Instance: A graph G = (V,E), and a natural number k.

Question: Is there a set M N, with M k, such that for each edge (i,j) E, {i,j} M ?

Vertex Cover¹

¹Sometimes called Node Cover

Step 1: The problem Vertex Cover is in NP: the list of vertices in M is the certificate

Complexity 11-7

Given a formula with clauses and n variablesmCCC ,,, 21

Step 2: To show that Vertex Cover is NP-complete we shall reduce Satisfiability to Vertex Cover

This construction can be carried out in polynomial time

• For each variable X create two adjacent vertices and to represent the literals X and X

• For each clause of size create a complete subgraph with vertices connected to corresponding literals

• Set

jC jn

jG

m

jjnnk

1

)1(

tX fX

Complexity 11-8

Example Construction

321

)()()(CCC

ZYVUUXZYX

X

Y

Z

U

V

1G 2G

3G

113125 k

Complexity 11-9

• At least one of each pair must be in the cover),( tf XX

• At least vertices from each complete graph must be in the cover

1jn jG

• If the formula is satisfiable, then choose the cover by choosing each literal assigned true plus all but one vertex in each (Omit a vertex which is connected to a satisfied literal.)

jG

• Conversely, if a vertex cover exists, assign each Boolean variable according to whether (true) or (false) is in M. (By the choice of k, there must be one vertex in each clique which is not in M. This vertex must be adjacent to a vertex in M, hence the clause is satisfied.)

tX fX

Complexity 11-10

Alternative Reductions

We have shown that Clique and Vertex Cover are both NP-complete

This means it must be possible to reduce Clique to Vertex Cover and vice versa!

Complexity 11-11

NP-Completeness of 3-SAT

To show that 3-Satisfiability is NP-complete we reduce Satisfiability to 3-Satisfiability

• C is satisfiable if and only if C is, since at least one of the literals other than Ys must be true

• Replace every clause

with k > 3 by

kXXXC 21

)()()(' 13231121 kkk XXYYXYYXXC

Complexity 11-12

NP-Completeness of SubsetSum

Instance: A sequence of positive integers and a target integer t.

Question: Is there a subset T S such that ?

SubsetSum

},,{ 1 naaS

taTi

i

Step 1: The problem SubsetSum is in NP: the set T is the certificate

Complexity 11-13

Step 2: To show that SubsetSum is NP-complete we shall reduce Satisfiability to SubsetSum

Given a formula with clauses kCCC ,,, 21

• Choose t so that T must contain exactly one of each pair and at least one from each clause

This construction can be carried out in polynomial time

• For each clause of length create integersjC jl 1jl,, 21 jj mm

• For each variable X create 2 integers and Xtn Xfn

Complexity 11-14

Example Construction

321

)()()(CCC

ZYVUUXZYX

42311111=t

100=100=100=010=001=001=

0001=1001=01010=10010=100100=001100=1001000=0011000=01010000=00110000=

1C 2C 3CXtnXfn

YtnYfn

ZtnZfn

UtnUfn

VtnVfn

11m12m21m31m32m33m

Complexity 11-15

NP-Completeness of HamCircuit

Instance: A graph G.

Question: Does G contain a Hamilton circuit?

HamCircuit

Theorem HamCircuit is NP-complete

Theorem HamCircuit is NP-complete

Step 1: The problem HamCircuit is in NP: the Hamilton circuit is the certificate

Complexity 11-16

Step 2: To show that HamCircuit is NP-complete we shall reduce 3-Satisfiability to HamCircuit

Given a formula with clauses and variableskCCC ,,, 21

nXXX ,,, 21

What is to be encoded?

• Boolean variables

• a choice between two values (for each variable)

• consistency: all occurrences of X must have the same truth value

• constraints on the possible values imposed by clauses

Complexity 11-17

• the choice gadget

• We assume that all gadgets are connected with the rest of the graph only through their endpoints, shown as full dots; there are no edges connecting other vertices of the gadget to the rest of the graph

• This gadget will allow the Hamiltonian circuit, approaching from above, to pick either left or right edge, thus communicating to a truth value

• the consistency gadget

Complexity 11-18

- This graph can be traversed by the Hamiltonian circuit in one of the two ways

Complexity 11-19

• the constraint gadget

- If, using the choice and consistency devices, we have made sure that each side of the triangle is traversed by the Hamilton circuit if and only if the corresponding literal is false; then at least one literal has to be true

Complexity 11-20

Properties of the Gadgets

• the choice gadget can be traversed in exactly two ways

• the internal vertices of the consistency gadget (“exclusive or” gadget) can be traversed in exactly two ways, so that exactly one pair of the external vertices is involved

• any Hamilton circuit traverses at most two of the edges of a constraint gadget

Complexity 11-21

)()()( ZYXZYXZYX

X

Y

Z

1 2

true false

all these vertices are connected

Complexity 11-22

NP-Completeness of TSP(D)

Instance: A finite set of cities , a positive integer distance , between each pair and an integer B. Question: Is there a permutation of such that

Travelling Salesperson(D)

},,,{ 21 nccc ),( jid

},,1{ n

},{ ji cc

Bndiidn

i

))1(),(())1(),((1

1

Step 1: The problem TSP(D) is in NP: a route satisfying the inequality is the certificate

Complexity 11-23

Step 2: To show that TSP(D) is NP-complete we shall reduce HamCircuit to TSP(D)

Given a graph G with vertex set V and edge set E

• For each vertex v create a city

• Set if (u,v) E and otherwise

• Set B = |V|

vc

1),( wv ccd 1||),( Vccd wv

Then

• If G has a Hamilton circuit then there is a route of weight B (the Hamilton circuit)

• If there is a route of weight B, then in G this route goes through edges and therefore is a Hamilton circuit