Historical Notes 167
computational problems, arising in fields such as mathematical programming,
graph theory, combinatorics, computational logic and switching theory, are
[NP-]complete (and thus equivalent)” [17 , p. 86]. Specifically, his list of twenty-
one NP-complete problems includes Integer Linear Programming, Hamilton
Circuit, Chromatic Number, Exact Set Cover, Steiner Tree, Knapsack, Job
Scheduling, and Max Cut. Interestingly, Karp defined NP in terms of verifica-
tion procedures (i.e., Definition 2.5), pointed to its relation to “backtrack search
of polynomial bounded depth” [17, p. 86], and viewed NP as the residence
of a “wide range of important computational problems” (which seem not to be
in P).
Independently of these developments, while being in the USSR, Levin
proved the existence of “universal search problems” (where universality meant
NP-completeness). The starting point of Levin’s work [21] 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 “classi-
cal search problems,” and claimed that the underlying method “provides a
means for readily obtaining” similar results for “many other important search
problems.”
It is interesting to note that although the works of Cook [6], Karp [17],
and Levin [21] were received with different levels of enthusiasm, none of
their contemporaries 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 over the failure to resolve the P-vs-
NP Question, which they expected to be resolved in their lifetime (if not in
a matter of a few 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 [6], Karp [17], and Levin [21]) use the three different
types of reductions used in this book. Specifically, Cook uses the general notion
of polynomial-time reduction [6], often referred to as Cook-reductions (Defini-
tion 3.1). The notion of Karp-reductions (Definition 3.3) originates from Karp’s
paper [17], whereas its augmentation to search problems (i.e., Definition 3.4)
originates from Levin’s paper [21]. 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.