lecture 25 np class. p = ? np = ? pspace they are central problems in computational complexity

Post on 18-Jan-2018

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

If P = NP, then NP-complete P

TRANSCRIPT

Lecture 25 NP Class

P = ? NP = ? PSPACE

• They are central problems in computational complexity.

If P = NP, then

NP-completeP

Ladner Theorem

• If NP ≠ P, then there exists a set A lying -between P and NP-complete class, i.e., A is in NP, but not in P and not being NP-compete.

How to prove a decision problem belonging to NP?

How to design a polynomial-time nondeterministic algorithm?

Hamiltonian Cycle

• Given a graph G, does G contain a Hamiltonian cycle?

• Hamiltonian cycle is a cycle passing every

vertex exactly once.

Nondeterministic Algorithm

• Guess a permutation of all vertices.• Check whether this permutation gives a

cycle. If yes, then algorithm halts.

What is the running time?

Minimum Spanning Tree

• Given an edge-weighted graph G, find a spanning tree with minimum total weight.

• Decision Version: Given an edge-weighted graph G and a positive integer k, does G contains a spanning tree with total weight < k.

Nondeterministic Algorithm

• Guess a spanning tree T.• Check whether the total weight of T < k.

This is not clear!

How to guess a spanning tree?

• Guess n-1 edges where n is the number of vertices of G.

• Check whether those n-1 edges form a connected spanning subgraph, i.e., there is a path between every pair of vertices.

Co-decision version of MST

• Given an edge-weighted graph G and a positive integer k, does G contain no spanning tree with total weight < k?

Algorithm

• Computer a minimum spanning tree. • Check whether its weight > k. If yes, the

algorithm halts.

co-NP

• co-NP = {A | Σ* - A ε NP}

NP ∩ co-NP

So far, no natural problem has been found in NP ∩ co-NP, but not in P.

Linear Programming

• Decision version: Given a system of linear inequality, does the system have a solution?

• It was first proved in NP ∩ co-NP and later found in P (1979).

Primality Test

• Given a natural number n, is n a prime?

• It was first proved in NP ∩ co-NP and later found in P (2004).

Therefore

• A natural problem belonging to NP ∩ co-NP is a big sign for the problem belonging to P.

Proving a problem in NP

• In many cases, it is not hard.• In a few cases, it is not easy.

Integer Programming

• Decision version: Given A and b, does Ax > b contains an integer solution?

• The difficulty is that the domain of “guess” is too large.

Lecture 26 Polynomial-time many-one reduction

A < m B

• A set A in Σ* is said to be polynomial-time many-one reducible to B in Γ* if there exists a polynomial-time computable function f: Σ* → Γ* such that

x ε A iff f(x) ε B.

p

A = Hamiltonian cycle (HC)

• Given a graph G, does G contain a Hamiltonian cycle?

B = decision version of Traveling Salesman Problem (TSP)

• Given n cities and a distance table between these n cities, find a tour (starting from a city and come back to start point passing through each city exactly once) with minimum total length.

• Given n cities, a distance table and k > 0, does there exist a tour with total length <

k?

HC < m TSP

• From a given graph G, we need to construct (n cities, a distance table, k).

p

SAT < m 3-SAT

• SAT: Given a Boolean formula F, does F have a satisfied assignment?

• An assignment is satisfied if it makes F =1.

• 3-SAT: Given a 3-CNF F, does F have a satisfied assignment?

p

Property of < m

• A < m B and B < m C imply A < m C

• A < m B and B ε P imply A ε P

p

p p p

p

NP-complete

• A set A is NP-hard if for any B in NP, B < m A.• A set A is NP-complete if it is in NP and

NP-hard.• A decision problem is NP-complete if its

corresponding language is NP-complete. • An optimization problem is NP-hard if its

decision version is NP-hard.

p

Cook Theorem

SAT is NP-complete

3-SAT is NP-complete

HC is NP-complete

Vertex-Cover is NP-complete

Proof of Cook Theorem

top related