Chapter 2

NP-Completeness

Nor has there been agreement about the right road to truth.

—Isaiah Berlin

The notions of reducibility and completeness play an important role in the classification of the complexity of problems from diverse areas of applications. In this chapter, we formally define two types of reducibilities: the polynomial-time many-one reducibility and the polynomial-time Turing reducibility. Then we prove several basic NP-complete problems and discuss the complexity of some combinatorial optimization problems.

2.1 NP

The complexity class NP has a nice characterization in terms of class P and polynomial length-bounded existential quantifiers.

Theorem 2.1

Proof

Based on the above characterization, we often say a nondeterministic computation is a guess-and-verify computation. That is, if set A has the property (2.1), then for any input x, an NTM M can determine whether c02-math-0066 by firstguessing a string y of length c02-math-0068 and then deterministically verifying that c02-math-0069, in time polynomial in c02-math-0070. For each c02-math-0071, a string y of length c02-math-0073 such that c02-math-0074 is called a witness or a certificate for x. This notion of guess-and-check computation is a simple way of presenting a nondeterministic algorithm.

In the following text, we introduce some well-known problems in NP. We define each problem Π in the form of a decision problem: “Given an input instance x, determine whether it satisfies the property c02-math-0078.” Each problem Π has a corresponding language c02-math-0080. We say that Π is in NP to mean that the corresponding language LΠ is in NP.

Example 2.2

Example 2.3

Example 2.4

Lemma 2.5

Proof

Lemma 2.6

Proof

Lemma 2.7

Proof

2.2 Cook's Theorem

The notion of reducibilities was first developed in recursion theory. In general, a reducibility c02-math-0298 is a binary relation on languages that satisfies the reflexivity and transitivity properties and, hence, it defines a partial ordering on the class of all languages. In this section, we introduce the notion of polynomial-time many-one reducibility. Let c02-math-0299 and c02-math-0300 be two languages. We say that A is many-one reducible to B, denoted by c02-math-0303, if there exists a computable function c02-math-0304 such that for each c02-math-0305, c02-math-0306 if and only if c02-math-0307. If the reduction function f is further known to be computable in polynomial time, then we say that A is polynomial-time many-one reducible to B and write c02-math-0311. It is easy to see that polynomial-time many-one reducibility does satisfy the reflexivity and transitivity properties and, hence, indeed is a reducibility.

Proposition 2.8

Note that if c02-math-0318 and c02-math-0319, then c02-math-0320. In general, we say a complexity class c02-math-0321 is closed under the reducibility c02-math-0322 if c02-math-0323 and c02-math-0324 imply c02-math-0325.

Proposition 2.9

Note that the complexity class c02-math-0327 is not closed under c02-math-0328. People sometimes, therefore, study a weaker class of exponential-time computable sets EXPPOLY c02-math-0329, which is closed under c02-math-0330.

For any complexity class c02-math-0331 that is closed under a reducibility c02-math-0332, we say a set B is c02-math-0334-hard for class c02-math-0335 if c02-math-0336 for all c02-math-0337 and we say a set B is c02-math-0339-complete for class c02-math-0340 if c02-math-0341 and B is c02-math-0343-hard for c02-math-0344. For convenience, we say a set B is c02-math-0346-complete if B is c02-math-0348-complete for the class c02-math-0349.2 Thus, a set B is NP-complete if c02-math-0354 and c02-math-0355 for all c02-math-0356. An NP-complete set B is a maximal element in NP under the partial ordering c02-math-0359. Thus, it is not in P if and only if c02-math-0360.

Proposition 2.10

In recursion theory, the halting problem is the first problem proved to be complete for the class of recursively enumerable (r.e.) sets under the reducibility c02-math-0364. As the class of r.e. sets properly contains the class of recursive sets, the halting problem and other complete sets for the class of r.e. sets are not recursive. The analogous problem for the class NP, called the time-bounded halting problem for NTMs, is our first NP-complete problem. (Again, for a natural problem Π that asks whether the given input x satisfies c02-math-0367, we say it is NP-complete to mean that the set c02-math-0368 is NP-complete.)

BOUNDED HALTING PROBLEM (BHP): Given the code x of an NTM Mx, an input y and a string 0t determine whether machine M accepts y within t moves.

Theorem 2.11

Proof

The above theorem demonstrates that NP contains at least one complete problem. By the transitivity property of c02-math-0397, we would like to prove other NP-complete problems by reducing a known NP-complete problem to them, which is presumably easier than reducing all problems in NP to them. However, the problem BHP, being a problem concerning with the properties of NTMs, is hardly a natural problem. To prove the NP-completeness of natural problems, we first need a natural NP-complete problem. Our first natural NP-complete problem is the satisfiability problem SAT. It was first proved to be NP-complete by Stephen Cook in 1970 (Cook, 1971).

Theorem 2.12

Proof

To apply SAT to prove other natural NP-complete problems, it would be easier to work with Boolean formulas of simpler forms, such as conjunctive normal form (CNF). Recall that a CNF formula is a product of elementary sums. Each factor of a CNF formula F is a clause of F. A CNF formula F is called a 3-CNF formula if each clause (implicant, respectively) of F contains exactly three literals of three distinct variables. The following variation of SAT is very useful for proving new NP-complete problems:

3-SAT: Given a 3-CNF formula, determine whether it is satisfiable.

Corollary 2.13

Proof

2.3 More NP-Complete Problems

The importance of the notion of NP-completeness is witnessed by thousands of NP-complete problems from a variety of areas in computer science, discrete mathematics, and operations research. Theoretically, all these problems can be proved to be NP-complete by reducing SAT to them. It is practically much easier to prove new NP-complete problems from some other known NP-complete problems that have similar structures as the new problems. In this section, we study some best-known NP-complete problems that may be useful to obtain new NP-completeness results.

VERTEX COVER (VC): Given a graph c02-math-0603 and an integer K ≥ 0, determine whether G has a vertex cover of size at most K, that is, determine whether V has a subset V of size c02-math-0609 such that each c02-math-0610 has at least one end point in c02-math-0611.

Theorem 2.14

Proof
CLIQUE: Given a graph c02-math-0680 and an integer K ≥ 0, determine whether G has a clique of size K, that is, whether G has a complete subgraph of size K.INDEPENDENT SET (IS): Given a graph c02-math-0686 and an integer K ≥ 0, determine whether G has an independent set of size K, that is, whether there is a subset c02-math-0690 of size K such that for any two vertices c02-math-0692, c02-math-0693.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.27.171