
CUUS063 main CUUS063 Goldreich 978 0 521 88473 0 March 31, 2008 18:49
P, NP, AND NP-COMPLETENESS
the first time in his paper). He also showed that CLIQUE is computationally equivalent to
SAT, and envisioned a class of problems of the same nature.
Karp’s paper [138] can be viewed as fulfilling Cook’s prophecy: Stimulated by Cook’s
work, Karp demonstrated that a “large number of classic difficult computational prob-
lems, arising in fields such as mathematical programming, graph theory, combinatorics,
computational logic and switching theory, are [NP-]complete (and thus equivalent)” [138,
p. 86]. Specifically, his list of twenty-one NP-complete problems includes Integer Lin-
ear Programming, Hamilton Circuit, Chromatic Number, Exact Set Cover, Steiner Tree,
Knapsack, Job Scheduling, and Max Cut. Interestingly, Karp defined NP in terms of
verification procedures (i.e., Definition 2.5), pointed to its relation to “backtrack search
of polynomial bounded depth” [138, p. 86], and viewed NP as the residence of a “wide
range of important computational problems” (which are not in P).
Independently of these developments, while being in the USSR, Levin proved the ex-
istence of “universal search problems” (where universality meant NP-completeness). The
starting point of Levin’s work [152] was his interest in the “perebor” conjecture asserting
the inherent need for brute force in some search problems that have efficiently checkable
solutions (i.e., problems in PC). Levin emphasized the implication of polynomial-time
reductions on the relation between the time complexity of the related problems (for
any growth rate of the time complexity), asserted the NP-completeness of six “classical
search problems,” and claimed that the underlying method “provides a mean for readily
obtaining” similar results for “many other important search problems.”
It is interesting to note that although the works of Cook [58], Karp [138], and
Levin [152] were received with different levels of enthusiasm, none of the contempo-
raries realized the depth of the discovery and the difficulty of the question posed (i.e., the
P-vs-NP Question). This fact is evident in every account from the early 1970s, and may
explain the frustration of the corresponding generation of researchers, which expected the
P-vs-NP Question to be resolved in their lifetime (if not in a matter of years). Needless to
say, the author’s opinion is that there was absolutely no justification for these expectations,
and that one should have actually expected quite the opposite.
We mention that the three “founding papers” of the theory of NP-completeness (i.e.,
Cook [58], Karp [138], and Levin [152]) use the three different types of reductions used in
this chapter. Specifically, Cook uses the general notion of polynomial-time reduction [58],
often referred to as Cook-reductions (Definition 2.9). The notion of Karp-reductions
(Definition 2.11) originates from Karp’s paper [138], whereas its augmentation to search
problems (i.e., Definition 2.12) originates from Levin’s paper [152]. It is worth stressing
that Levin’s work is stated in terms of search problems, unlike Cook’s and Karp’s works,
which treat decision problems.
The reductions presented in §2.3.3.2 are not necessarily the original ones. Most no-
tably, the reduction establishing the NP-hardness of the Independent Set problem (i.e.,
Proposition 2.26) is adapted from [74] (see also Exercise 9.18). In contrast, the reductions
presented in §2.3.3.1 are merely a reinterpretation of the original reduction as presented
in [58]. The equivalence of the two definitions of NP (i.e., Theorem 2.8) was proved
in [138].
The existence of NP-sets that are neither in P nor NP-complete (i.e., Theorem 2.28)was
proven by Ladner [149], Theorem 2.35 was proven by Selman [198], and the existence of
optimal search algorithms for NP-relations (i.e., Theorem 2.33) was proven by Levin [152].
(Interestingly, the latter result was proven in the same paper in which Levin presented
the discovery of NP-completeness, independently of Cook and Karp.) Promise problems
98