Reducibility Among Combinatorial Problems

About this paperTiếng Việt中文日本語beside Tiếng Việtbeside 中文beside 日本語

This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.

Chapter 8 Reducibility Among Combinatorial Problems

Richard M. Karp

Introduction by Richard M. Karp

Throughout the 1960s I worked on combinatorial optimization problems including logic circuit design with Paul Roth and assembly line balancing and the traveling salesman problem with Mike Held. These experiences made me aware that seemingly simple discrete optimization problems could hold the seeds of combinatorial explosions. The work of Dantzig, Fulkerson, Hoffman, Edmonds, Lawler and other pioneers on network flows, matching and matroids acquainted me with the elegant and efficient algorithms that were sometimes possible. Jack Edmonds’ papers and a few key discussions with him drew my attention to the crucial distinction between polynomial-time and superpolynomial-time solvability. I was also influenced by Jack’s emphasis on min-max theorems as a tool for fast verification of optimal solutions, which foreshadowed Steve Cook’s definition of the complexity class NP. Another influence was George Dantzig’s suggestion that integer programming could serve as a universal format for combinatorial optimization problems.

Throughout the ’60s I followed developments in computational complexity theory, pioneered by Rabin, Blum, Hartmanis, Stearns and others. In the late ’60s I studied Hartley Rogers’ beautiful book on recursive function theory while teaching a course on the subject at the Polytechnic Institute of Brooklyn. This experience brought home to me the key role of reducibilities in recursive function theory, and started me wondering whether subrecursive reducibilities could play a similar role in complexity theory, but I did not yet pursue the analogy.

Cook’s 1971 paper [1], in which he defined the class NP and showed that propositional satisfiability was an NP-complete problem, brought together for me the two strands of complexity theory and combinatorial optimization. It was immediately apparent to me that many familiar combinatorial problems were likely to have the same universal role as satisfiability. I enjoyed constructing the polynomial-time reductions that verified this intuition. Most of them were easy to find, but I failed to prove the NP-completeness of the undirected hamiltonian circuit problem; that reduction was provided independently by Lawler and Tarjan. I was also frustrated by my inability to classify linear programming, graph isomorphism and primality.

As I recall I first presented my results at an informal seminar at Don Knuth’s home, and a few months later, in April 1972, I exposed the work more broadly at an IBM symposium. In the next couple of years many results more refined than my own were added to the accumulation of NP-completeness proofs, and later the Garey-Johnson book [2] presented the concepts to a wide audience.

Heuristic algorithms often find near-optimal solutions to NP-hard optimization problems. For some time in the mid-1970s I tried to explain this phenomenon by departing from worst-case analysis, and instead analyzing the performance of simple heuristics on instances drawn from simple probability distributions. This work was technically successful but gained limited traction, because there was no way to show that the problem instances drawn from these probability distributions are representative of those arising in practice. The surprising success of many heuristics remains a mystery.

1 INTRODUCTION

All the general methods presently known for computing the chromatic number of a graph, deciding whether a graph has a Hamilton circuit, or solving a system of linear inequalities in which the variables are constrained to be 0 or 1, require a combinatorial search for which the worst case time requirement grows exponentially with the length of the input. In this paper we give theorems which strongly suggest, but do not imply, that these problems, as well as many others, will remain intractable perpetually.

† This research was partially supported by National Science Foundation Grant GJ-474.

We are specifically interested in the existence of algorithms that are guaranteed to terminate in a number of steps bounded by a polynomial in the length of the input. We exhibit a class of well-known combinatorial problems, including those mentioned above, which are equivalent, in the sense that a polynomial-bounded algorithm for any one of them would effectively yield a polynomial-bounded algorithm for all. We also show that, if these problems do possess polynomial-bounded algorithms then all the problems in an unexpectedly wide class (roughly speaking, the class of problems solvable by polynomial-depth backtrack search) possess polynomial-bounded algorithms.

The following is a brief summary of the contents of the paper. For the sake of definiteness our technical development is carried out in terms of the recognition of languages by one-tape Turing machines, but any of a wide variety of other abstract models of computation would yield the same theory. Let Σ∗\Sigma^* be the set of all finite strings of 0's and 1's. A subset of Σ∗\Sigma^* is called a language. Let PP be the class of languages recognizable in polynomial time by one-tape deterministic Turing machines, and let NPNP be the class of languages recognizable in polynomial time by one-tape nondeterministic Turing machines. Let Π\Pi be the class of functions from Σ∗\Sigma^* into Σ∗\Sigma^* computable in polynomial time by one-tape Turing machines. Let L and M be languages. We say that L∝ML \propto M (L is reducible to M) if there is a function f∈Πf \in \Pi such that f(x)∈M⇔x∈Lf(x) \in M \Leftrightarrow x \in L. If M∈PM \in P and L∝ML \propto M then L∈PL \in P. We call L and M equivalent if L∝ML \propto M and M∝LM \propto L. Call L (polynomial) complete if L∈NPL \in NP and every language in NPNP is reducible to L. Either all complete languages are in PP, or none of them are. The former alternative holds if and only if P=NPP = NP.

The main contribution of this paper is the demonstration that a large number of classic difficult computational problems, arising in fields such as mathematical programming, graph theory, combinatorics, computational logic and switching theory, are complete (and hence equivalent) when expressed in a natural way as language recognition problems.

This paper was stimulated by the work of Stephen Cook (1971), and rests on an important theorem which appears in his paper. The author also wishes to acknowledge the substantial contributions of Eugene Lawler and Robert Tarjan.

2 THE CLASS $P$

There is a large class of important computational problems which involve the determination of properties of graphs, digraphs, integers, finite families of finite sets, boolean formulas and elements of other countable domains. It is a reasonable working hypothesis, championed originally by Jack Edmonds (1965) in connection with problems in graph theory and integer programming, and by now widely accepted, that such a problem can be regarded as tractable if and only if there is an algorithm for its solution whose running time is bounded by a polynomial in the size of the input. In this section we introduce and begin to investigate the class of problems solvable in polynomial time.

We begin by giving an extremely general definition of "deterministic algorithm", computing a function from a countable domain D into a countable range R.

For any finite alphabet A, let A∗A^* be the set of finite strings of elements of A; for x∈A∗x \in A^*, let lg⁡(x)\lg(x) denote the length of x.

A deterministic algorithm AA is specified by: a countable set D (the domain) a countable set R (the range) a finite alphabet Δ\Delta such that Δ∗∩R=ϕ\Delta^* \cap R = \phi an encoding function E:D→Δ∗E : D \to \Delta^* a transition function τ:Δ∗→Δ∗∪R\tau : \Delta^* \to \Delta^* \cup R.

The computation of AA on input x∈Dx \in D is the unique sequence y1,y2,…y_1, y_2, \ldots such that y1=E(x), yi+1=τ(yi)y_1 = E(x),\ y_{i+1} = \tau(y_i) for all i and, if the sequence is finite and ends with yky_k, then yk∈Ry_k \in R. Any string occurring as an element of a computation is called an instantaneous description. If the computation of AA on input xx is finite and of length t(x)t(x), then t(x)t(x) is the running time of AA on input xx. AA is terminating if all its computations are finite. A terminating algorithm AA computes the function fA:D→Rf_A : D \to R such that fA(x)f_A(x) is the last element of the computation of AA on xx.

If R={ACCEPT,REJECT}R = \{\text{ACCEPT}, \text{REJECT}\} then AA is called a recognition algorithm. A recognition algorithm in which D=Σ∗D = \Sigma^* is called a string recognition algorithm. If AA is a string recognition algorithm then the language recognized by AA is {x∈Σ∗∣fA(x)=ACCEPT}\{ x \in \Sigma^* \mid f_A(x) = \text{ACCEPT} \}. If D=R=Σ∗D = R = \Sigma^* then AA is called a string mapping algorithm. A terminating algorithm AA with domain D=Σ∗D = \Sigma^* operates in polynomial time if there is a polynomial p(⋅)p(\cdot) such that, for every x∈Σ∗x \in \Sigma^*, t(x)≤p(lg⁡(x))t(x) \leq p(\lg(x)).

To discuss algorithms in any practical context we must specialize the concept of deterministic algorithm. Various well known classes of string recognition algorithms (Markov algorithms, one-tape Turing machines, multitape and multihead Turing machines, random access machines, etc.) are delineated by restricting the functions E and T to be of certain very simple types. These definitions are standard [Hopcroft & Ullman (1969)] and will not be repeated here. It is by now commonplace to observe that many such classes are equivalent in their capability to recognize languages; for each such class of algorithms, the class of languages recognized is the class of recursive languages. This invariance under changes in definition is part of the evidence that recursiveness is the correct technical formulation of the concept of decidability.

The class of languages recognizable by string recognition algorithms which operate in polynomial time is also invariant under a wide range of changes in the class of algorithms. For example, any language recognizable in time p(·) by a multihead or multitape Turing machine is recognizable in time p^2(·) by a one-tape Turing machine. Thus the class of languages recognizable in polynomial time by one-tape Turing machines is the same as the class recognizable by the ostensibly more powerful multihead or multitape Turing machines. Similar remarks apply to random access machines.

Definition 1. P is the class of languages recognizable by one-tape Turing machines which operate in polynomial time.

Definition 2. Π is the class of functions from Σ∗\Sigma^* into Σ∗\Sigma^* defined by one-tape Turing machines which operate in polynomial time.

The reader will not go wrong by identifying P with the class of languages recognizable by digital computers (with unbounded backup storage) which operate in polynomial time and Π with the class of string mappings performed in polynomial time by such computers.

Remark. If f: Σ∗→Σ∗\Sigma^* \to \Sigma^* is in Π then there is a polynomial p(·) such that lg⁡(f(x))≤p(lg⁡(x))\lg(f(x)) \leq p(\lg(x)).

We next introduce a concept of reducibility which is of central importance in this paper.

Definition 3. Let L and M be languages. Then L ∝\propto M (L is reducible to M) if there is a function f ∈Π\in \Pi such that f(x) ∈M⇔x∈L\in M \Leftrightarrow x \in L.

Lemma 1. If L ∝\propto M and M ∈P\in P then L ∈P\in P.

Proof. The following is a polynomial-time bounded algorithm to decide if x ∈L\in L: compute f(x); then test in polynomial time whether f(x) ∈M\in M.

We will be interested in the difficulty of recognizing subsets of countable domains other than Σ∗\Sigma^*. Given such a domain D, there is usually a natural one-one encoding e:D→Σ∗e : D \to \Sigma^*. For example we can represent a positive integer by the string of 0's and 1's comprising its binary representation, a 1-dimensional integer array as a list of integers, a matrix as a list of 1-dimensional arrays, etc.; and there are standard techniques for encoding lists into strings over a finite alphabet, and strings over an arbitrary finite alphabet as strings of 0's and 1's. Given such an encoding e:D→Σ∗e : D \to \Sigma^*, we say that a set T⊆DT \subseteq D is recognizable in polynomial time if e(T)∈Pe(T) \in P. Also, given sets T⊆DT \subseteq D and U⊆D′U \subseteq D', and encoding functions e:D→Σ∗e : D \to \Sigma^* and e′:D′→Σ∗e' : D' \to \Sigma^* we say T∝UT \propto U if e(T)∝e′(U)e(T) \propto e'(U).

As a rule several natural encodings of a given domain are possible. For instance a graph can be represented by its adjacency matrix, by its incidence matrix, or by a list of unordered pairs of nodes, corresponding to the arcs. Given one of these representations, there remain a number of arbitrary decisions as to format and punctuation. Fortunately, it is almost always obvious that any two "reasonable" encodings e0e_0 and e1e_1 of a given problem are equivalent; i.e., e0(S)∈P⇔e1(S)∈Pe_0(S) \in P \Leftrightarrow e_1(S) \in P. One important exception concerns the representation of positive integers; we stipulate that a positive integer is encoded in a binary, rather than unary, representation. In view of the invariance of recognizability in polynomial time and reducibility under reasonable encodings, we discuss problems in terms of their original domains, without specifying an encoding into Σ∗\Sigma^*.

We complete this section by listing a sampling of problems which are solvable in polynomial time. In the next section we examine a number of close relatives of these problems which are not known to be solvable in polynomial time. Appendix 1 establishes our notation.

Each problem is specified by giving (under the heading "INPUT") a generic element of its domain of definition and (under the heading "PROPERTY") the property which causes an input to be accepted.

SATISFIABILITY WITH AT MOST 2 LITERALS PER CLAUSE [Cook (1971)] INPUT: Clauses C1,C2,…,CpC_1, C_2, \ldots, C_p, each containing at most 2 literals PROPERTY: The conjunction of the given clauses is satisfiable; i.e., there is a set S⊆{x1,x2,…,xn,x1′,x2′,…,xn′}S \subseteq \{ x_1, x_2, \ldots, x_n, x'_1, x'_2, \ldots, x'_n \} such that a) SS does not contain a complementary pair of literals and b) S∩Ck≠∅, k=1,2,…,pS \cap C_k \neq \emptyset, \ k = 1, 2, \ldots, p.

MINIMUM SPANNING TREE [Kruskal (1956)] INPUT: G,w,WG, w, W PROPERTY: There exists a spanning tree of weight ≤W\leq W.

SHORTEST PATH [Dijkstra (1959)] INPUT: G, w, W, s, t PROPERTY: There is a path between s and t of weight ≤W\leq W.

MINIMUM CUT [Edmonds & Karp (1972)] INPUT: G, w, W, s, t PROPERTY: There is an s,t cut of weight ≤W\leq W.

ARC COVER [Edmonds (1965)] INPUT: G, k PROPERTY: There is a set Y⊆AY \subseteq A such that ∣Y∣≤k|Y| \leq k and every node is incident with an arc in Y.

ARC DELETION INPUT: G, k PROPERTY: There is a set of k arcs whose deletion breaks all cycles.

BIPARTITE MATCHING [Hall (1948)] INPUT: S ⊆Zpp×Zpp\subseteq Z_p^p \times Z_p^p PROPERTY: There are p elements of S, no two of which are equal in either component.

SEQUENCING WITH DEADLINES INPUT: (T1,…,Tn)∈Zn(T_1, \ldots, T_n) \in Z^n, (D1,…,Dn)∈Zn(D_1, \ldots, D_n) \in Z^n, k PROPERTY: Starting at time 0, one can execute jobs 1,2,...,n, with execution times TiT_i and deadlines DiD_i, in some order such that not more than k jobs miss their deadlines.

SOLVABILITY OF LINEAR EQUATIONS INPUT: (cij),(ai)(c_{ij}), (a_i) PROPERTY: There exists a vector (yj)(y_j) such that, for each i, ∑jcijyj=ai\sum_j c_{ij} y_j = a_i.

3 NONDETERMINISTIC ALGORITHMS AND COOK'S THEOREM

In this section we state an important theorem due to Cook (1971) which asserts that any language in a certain wide class NPNP is reducible to a specific set S, which corresponds to the problem of deciding whether a boolean formula in conjunctive normal form is satisfiable.

Let p(2)p^{(2)} denote the class of subsets of Σ∗×Σ∗\Sigma^* \times \Sigma^* which are recognizable in polynomial time. Given L(2)∈p(2)L^{(2)} \in p^{(2)} and a polynomial p, we define a language L as follows:

L={x∣there exists y such that <x,y>∈L(2) and lg(y)≤p(lg(x))}L = \{ x | \text{there exists } y \text{ such that } <x,y> \in L^{(2)} \text{ and } lg(y) \leq p(lg(x)) \}.

We refer to L as the language derived from L(2)L^{(2)} by p-bounded existential quantification.

Definition 4. NP is the set of languages derived from elements of P(2)P^{(2)} by polynomial-bounded existential quantification.

There is an alternative characterization of NP in terms of nondeterministic Turing machines. A nondeterministic recognition algorithm A is specified by:

a countable set D (the domain) a finite alphabet Δ\Delta such that Δ∗∩{ACCEPT,REJECT}=ϕ\Delta^* \cap \{\text{ACCEPT}, \text{REJECT}\} = \phi an encoding function E: D→Δ∗D \to \Delta^* a transition relation τ⊆Δ∗×(Δ∗∪{ACCEPT,REJECT})\tau \subseteq \Delta^* \times (\Delta^* \cup \{\text{ACCEPT}, \text{REJECT}\}) such that, for every y0∈Δ∗y_0 \in \Delta^*, the set {<y0,y>∣<y0,y>∈τ}\{<y_0, y> | <y_0, y> \in \tau\} has fewer than kAk_A elements, where kAk_A is a constant. A computation of A on input x∈Dx \in D is a sequence y1,y2,…y_1, y_2, \ldots such that y1=E(x)y_1 = E(x), <yi,yi+1>∈τ<y_i, y_{i+1}> \in \tau for all i, and, if the sequence is finite and ends with yky_k, then yk∈{ACCEPT,REJECT}y_k \in \{\text{ACCEPT}, \text{REJECT}\}. A string y∈Δ∗y \in \Delta^* which occurs in some computation is an instantaneous description. A finite computation ending in ACCEPT is an accepting computation. Input x is accepted if there is an accepting computation for x. If D=Σ∗D = \Sigma^* then A is a nondeterministic string recognition algorithm and we say that A operates in polynomial time if there is a polynomial p(⋅)p(\cdot) such that, whenever A accepts x, there is an accepting computation for x of length ≤p(lg⁡(x))\leq p(\lg(x)).

A nondeterministic algorithm can be regarded as a process which, when confronted with a choice between (say) two alternatives, can create two copies of itself, and follow up the consequences of both courses of action. Repeated splitting may lead to an exponentially growing number of copies; the input is accepted if any sequence of choices leads to acceptance.

The nondeterministic 1-tape Turing machines, multitape Turing machines, random-access machines, etc. define classes of nondeterministic string recognition algorithms by restricting the encoding function E and transition relation τ\tau to particularly simple forms. All these classes of algorithms, restricted to operate in polynomial time, define the same class of languages. Moreover, this class is NP.

Theorem 1. L∈NPL \in NP if and only if L is accepted by a nondeterministic Turing machine which operates in polynomial time.

Proof. ⇒\Rightarrow Suppose L∈NPL \in NP. Then, for some L(2)∈P(2)L^{(2)} \in P^{(2)} and some polynomial p, L is obtained from L(2)L^{(2)} by p-bounded existential quantification. We can construct a nondeterministic machine which first guesses the successive digits of a string y of length ≤p(lg⁡(y))\leq p(\lg(y)) and then tests whether <x,y>∈L(2)<x,y> \in L^{(2)}. Such a machine clearly recognizes L in polynomial time.

⇐\Leftarrow Suppose L is accepted by a nondeterministic Turing machine T which operates in time p. Assume without loss of generality that, for any instantaneous description Z, there are at most two instantaneous descriptions that may follow Z (i.e., at most two primitive transitions are applicable). Then the sequence of choices of instantaneous descriptions made by T in a given computation can be encoded as a string y of 0's and 1's, such that lg⁡(y)≤p(lg⁡(x))\lg(y) \leq p(\lg(x)).

Thus we can construct a deterministic Turing machine T', with Σ∗×Σ∗\Sigma^* \times \Sigma^* as its domain of inputs, which, on input <x,y><x,y>, simulates the action of T on input x with the sequence of choices y. Clearly T' operates in polynomial time, and L is obtained by polynomial bounded existential quantification from the set of pairs of strings accepted by T'.

The class NP is very extensive. Loosely, a recognition problem is in NP if and only if it can be solved by a backtrack search of polynomial bounded depth. A wide range of important computational problems which are not known to be in P are obviously in NP. For example, consider the problem of determining whether the nodes of a graph G can be colored with k colors so that no two adjacent nodes have the same color. A nondeterministic algorithm can simply guess an assignment of colors to the nodes and then check (in polynomial time) whether all pairs of adjacent nodes have distinct colors.

In view of the wide extent of NP, the following theorem due to Cook is remarkable. We define the satisfiability problem as follows:

SATISFIABILITY INPUT: Clauses C1,C2,…,CpC_1, C_2, \ldots, C_p PROPERTY: The conjunction of the given clauses is satisfiable; i.e., there is a set S⊆{x1,x2,…,xn;x‾1,x‾2,…,x‾n}S \subseteq \{x_1, x_2, \ldots, x_n; \overline{x}_1, \overline{x}_2, \ldots, \overline{x}_n\} such that a) S does not contain a complementary pair of literals and b) S∩Ck≠∅, k=1,2,…,p.S \cap C_k \neq \emptyset, \ k = 1, 2, \ldots, p.

Theorem 2 (Cook). If L∈NPL \in NP then L∝SATISFIABILITY.L \propto SATISFIABILITY.

The theorem stated by Cook (1971) uses a weaker notion of reducibility than the one used here, but Cook's proof supports the present statement.

Corollary 1. P=NP⇔SATISFIABILITY∈P.P = NP \Leftrightarrow SATISFIABILITY \in P.

Proof. If SATISFIABILITY ∈P\in P then, for each L∈NP, L∈PL \in NP, \ L \in P, since L∝SATISFIABILITYL \propto SATISFIABILITY. If SATISFIABILITY ∉P\notin P, then, since clearly SATISFIABILITY ∈NP, P≠NP\in NP, \ P \neq NP.

Remark. If P=NPP = NP then NPNP is closed under complementation and polynomial-bounded existential quantification. Hence it is also closed under polynomial-bounded universal quantification. It follows that a polynomial-bounded analogue of Kleene's Arithmetic Hierarchy [Rogers (1967)] becomes trivial if P=NPP = NP.

Theorem 2 shows that, if there were a polynomial-time algorithm to decide membership in SATISFIABILITY then every problem solvable by a polynomial-depth backtrack search would also be solvable by a polynomial-time algorithm. This is strong circumstantial evidence that SATISFIABILITY ∉P\notin P.

4 COMPLETE PROBLEMS

The main object of this paper is to establish that a large number of important computational problems can play the role of SATISFIABILITY in Cook's theorem. Such problems will be called complete.

Definition 5. The language LL is (polynomial) complete if {#karp-1972-reducibility-def-5 .statement tag=050A} a) L∈NPL \in NP and b) SATISFIABILITY ∝L\propto L.

Theorem 3. Either all complete languages are in PP, or none of them are. The former alternative holds if and only if P=NPP = NP.

We can extend the concept of completeness to problems defined over countable domains other than Σ∗\Sigma^*.

Definition 6. Let DD be a countable domain, e a "standard" one-one encoding e:D→Σ∗e : D \to \Sigma^* and T a subset of D. Then T is complete if and only if e(D)e(D) is complete.

Lemma 2. Let D and D' be countable domains, with one-one encoding functions e and e'. Let T⊆DT \subseteq D and T′⊆D′T' \subseteq D'. Then T∝T′T \propto T' if there is a function F:D→D′F : D \to D' such that {#karp-1972-reducibility-lem-2 .statement tag=050D} a) F(x)∈T′⇔x∈TF(x) \in T' \Leftrightarrow x \in T and b) there is a function f∈Πf \in \Pi such that f(x)=e′(F(e−1(x)))f(x) = e'(F(e^{-1}(x))) whenever e′(F(e−1(x)))e'(F(e^{-1}(x))) is defined.

The rest of the paper is mainly devoted to the proof of the following theorem.

Main Theorem. All the problems on the following list are complete.

  1. SATISFIABILITY

COMMENT: By duality, this problem is equivalent to determining whether a disjunctive normal form expression is a tautology.

  1. 0-1 INTEGER PROGRAMMING

INPUT: integer matrix C and integer vector d PROPERTY: There exists a 0-1 vector x such that Cx = d.

  1. CLIQUE

INPUT: graph G, positive integer k PROPERTY: G has a set of k mutually adjacent nodes.

  1. SET PACKING

INPUT: Family of sets {S_j}, positive integer ℓ\ell PROPERTY: {Sj}\{ S_j \} contains ℓ\ell mutually disjoint sets.

5 NODE COVER

INPUT: graph G', positive integer ℓ\ell PROPERTY: There is a set R⊆N′R \subseteq N' such that ∣R∣≤ℓ|R| \leq \ell and every arc is incident with some node in R.

6 SET COVERING

INPUT: finite family of finite sets {Sj}\{ S_j \}, positive integer k PROPERTY: There is a subfamily {Th}⊆{Sj}\{ T_h \} \subseteq \{ S_j \} containing ≤k\leq k sets such that ⋃hTh=⋃jSj\bigcup_{h} T_h = \bigcup_{j} S_j.

7 FEEDBACK NODE SET

INPUT: digraph H, positive integer k PROPERTY: There is a set R⊆VR \subseteq V such that every (directed) cycle of H contains a node in R.

8 FEEDBACK ARC SET

INPUT: digraph H, positive integer k PROPERTY: There is a set S⊆ES \subseteq E such that every (directed) cycle of H contains an arc in S.

9 DIRECTED HAMILTON CIRCUIT

INPUT: digraph H PROPERTY: H has a directed cycle which includes each node exactly once.

10 UNDIRECTED HAMILTON CIRCUIT

INPUT: graph G PROPERTY: G has a cycle which includes each node exactly once.

11 SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE

INPUT: Clauses D₁,D₂,...,Dₖ, each consisting of at most 3 literals from the set {u₁,u₂,...,uₘ} ∪ {ū₁,ū₂,...,ūₘ} PROPERTY: The set {D₁,D₂,...,Dₖ} is satisfiable.

12 CHROMATIC NUMBER

INPUT: graph G, positive integer k PROPERTY: There is a function φ: N → Zₖ such that, if u and v are adjacent, then φ(u) ≠ φ(v).

13 CLIQUE COVER

INPUT: graph G', positive integer ℓ PROPERTY: N' is the union of ℓ or fewer cliques.

14 EXACT COVER

INPUT: family {Sⱼ} of subsets of a set {uᵢ, i = 1,2,...,t} PROPERTY: There is a subfamily {Tⱼ} ⊆ {Sⱼ} such that the sets Tⱼ are disjoint and ⋃hTh=⋃jSj={ui,i=1,2,...,t}\bigcup_{h} T_h = \bigcup_{j} S_j = \{u_i, i = 1,2,...,t\}.

15 HITTING SET

INPUT: family {Uᵢ} of subsets of {sⱼ, j = 1,2,...,r} PROPERTY: There is a set W such that, for each i, ∣W∩Ui∣=1|W \cap U_i| = 1.

16 STEINER TREE

INPUT: graph G, R ⊆ N, weighting function w: A → Z, positive integer k PROPERTY: G has a subtree of weight ≤ k containing the set of nodes in R.

17 3-DIMENSIONAL MATCHING

INPUT: set U ⊆ T × T × T, where T is a finite set PROPERTY: There is a set W ⊆ U such that |W| = |T| and no two elements of W agree in any coordinate.

18 KNAPSACK

INPUT: (a₁,a₂,...,aᵣ,b) ∈ Z^{n+1} PROPERTY: ∑jajxj=b\sum_j a_j x_j = b has a 0-1 solution.

19 JOB SEQUENCING

INPUT: "execution time vector" (T₁,...,Tₚ) ∈ Z^P, "deadline vector" (D₁,...,Dₚ) ∈ Z^P "penalty vector" (P₁,...,Pₚ) ∈ Z^P positive integer k PROPERTY: There is a permutation π of {1,2,...,p} such that

(∑j=1p[if Tπ(1)+⋯+Tπ(j)>Dπ(j) then Pπ(j) else 0])≤k.\left( \sum_{j=1}^p [ \text{if } T_{\pi(1)} + \cdots + T_{\pi(j)} > D_{\pi(j)} \text{ then } P_{\pi(j)} \text{ else } 0 ] \right) \leq k .

Figure.

FIGURE 1 - Complete Problems

20 PARTITION

INPUT: (c1,c2,…,cs)∈Zs(c_1, c_2, \ldots, c_s) \in Z^s PROPERTY: There is a set I⊆{1,2,…,s}I \subseteq \{1, 2, \ldots, s\} such that

∑h∈Ich=∑h∉Ich.\sum_{h \in I} c_h = \sum_{h \notin I} c_h.

21 MAX CUT

INPUT: graph GG, weighting function w:A→Zw : A \to Z, positive integer WW PROPERTY: There is a set S⊆NS \subseteq N such that

∑{u,v}∈Au∈Sv∉Sw({u,v})≥W.\sum_{\{u, v\} \in A \\ u \in S \\ v \notin S} w(\{u, v\}) \geq W.

It is clear that these problems (or, more precisely, their encodings into Σ∗\Sigma^*), are all in NPNP. We proceed to give a series of explicit reductions, showing that SATISFIABILITY is reducible to each of the problems listed. Figure 1 shows the structure of the set of reductions. Each line in the figure indicates a reduction of the upper problem to the lower one.

To exhibit a reduction of a set T⊆DT \subseteq D to a set T′⊆D′T' \subseteq D', we specify a function F:D→D′F : D \to D' which satisfies the conditions of Lemma 2. In each case, the reader should have little difficulty in verifying that FF does satisfy these conditions.

SATISFIABILITY ∝\propto 0-1 INTEGER PROGRAMMING

cij={1if xj∈Ci−1if x‾j∈Ci0otherwisei=1,2,…,pj=1,2,…,nc_{ij} = \begin{cases} 1 & \text{if } x_j \in C_i \\ -1 & \text{if } \overline{x}_j \in C_i \\ 0 & \text{otherwise} \end{cases} \quad i = 1, 2, \ldots, p \\ j = 1, 2, \ldots, n
bi=1−(the number of complemented variables in Ci),i=1,2,…,p.b_i = 1 - (\text{the number of complemented variables in } C_i), \\ i = 1, 2, \ldots, p.

SATISFIABILITY ∝\propto CLIQUE

N={<σ,i>∣σ is a literal and occurs in Ci}A={<σ,i>,<δ,j>∣i≠j and σ≠δ‾}k=p, the number of clauses.N = \{<\sigma, i> | \sigma \text{ is a literal and occurs in } C_i\} \\ A = \{<\sigma, i>, <\delta, j> | i \neq j \text{ and } \sigma \neq \overline{\delta}\} \\ k = p, \text{ the number of clauses.}

CLIQUE ∝\propto SET PACKING

Assume N={1,2,…,n}N = \{1, 2, \ldots, n\}. The elements of the sets S1,S2,…,SnS_1, S_2, \ldots, S_n are those two-element sets of nodes {i,j}\{i, j\} not in AA.

Si={{i,j}∣{i,j}∉A},i=1,2,…,nS_i = \{ \{i, j\} | \{i, j\} \notin A \}, \quad i = 1, 2, \ldots, n
ℓ=k.\ell = k.

CLIQUE ∝\propto NODE COVER

G′G' is the complement of GG. ℓ=∣N∣−k\ell = |N| - k

NODE COVER ∝\propto SET COVERING

Assume N′={1,2,…,n}N' = \{1,2,\ldots,n\}. The elements are the arcs of G′G'. SjS_j is the set of arcs incident with node jj. k=ℓk = \ell.

NODE COVER ∝\propto FEEDBACK NODE SET

V=N′V = N' E={<u,v>∣{u,v}∈A′}E = \{<u,v>| \{u,v\} \in A'\} k=ℓk = \ell

NODE COVER ∝\propto FEEDBACK ARC SET

V=N′×{0,1}V = N' \times \{0,1\} E={<<u,0>,<u,1>>∣u∈N′}∪{<<u,1>,<v,0>>∣{u,v}∈A′}E = \{<<u,0>,<u,1>>| u \in N'\} \cup \{<<u,1>,<v,0>>| \{u,v\} \in A'\} k=ℓk = \ell.

NODE COVER ∝\propto DIRECTED HAMILTON CIRCUIT

Without loss of generality assume A′=ZmA' = Z_m. V={a1,a2,…,aℓ}∪{<u,i,α>∣u∈N′ is incident with i∈A′ and α∈{0,1}}V = \{a_1,a_2,\ldots,a_\ell\} \cup \{<u,i,\alpha>| u \in N' \text{ is incident with } i \in A' \text{ and } \alpha \in \{0,1\}\} E={<<u,i,0>,<u;i,1>>∣<u,i,0>∈V}E = \{<<u,i,0>,<u;i,1>>| <u,i,0> \in V\} ∪{<<u,i,α>,<v,i,α>>∣i∈A′,u and v are incident with i,α∈{0,1}}\cup \{<<u,i,\alpha>,<v,i,\alpha>>| i \in A', u \text{ and } v \text{ are incident with } i, \alpha \in \{0,1\}\} ∪{<<u,i,1>,<u,j,0>>∣u is incident with i and j and ∀h,i<h<j, such that u is incident with h}\cup \{<<u,i,1>,<u,j,0>>| u \text{ is incident with } i \text{ and } j \text{ and } \forall h, i < h < j, \text{ such that } u \text{ is incident with } h\} ∪{<<u,i,1>,af>∣1≤f≤ℓ and ∀h>i such that u is incident with h}\cup \{<<u,i,1>,a_f>| 1 \leq f \leq \ell \text{ and } \forall h > i \text{ such that } u \text{ is incident with } h\} ∪{<af,<u,i,0>>∣1≤f≤ℓ and ∀h<i such that u is incident with h}\cup \{<a_f,<u,i,0>>| 1 \leq f \leq \ell \text{ and } \forall h < i \text{ such that } u \text{ is incident with } h\}.

DIRECTED HAMILTON CIRCUIT ∝\propto UNDIRECTED HAMILTON CIRCUIT

N=V×{0,1,2}N = V \times \{0,1,2\} A={<<u,0>,<u,1>>,<<u,1>,<u,2>>∣u∈V}A = \{<<u,0>,<u,1>>,<<u,1>,<u,2>>| u \in V\} ∪{<<u,2>,<v,0>>∣<u,v>∈E}\cup \{<<u,2>,<v,0>>| <u,v> \in E\}

SATISFIABILITY ∝\propto SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE

Replace a clause σ1∪σ2∪⋯∪σm\sigma_1 \cup \sigma_2 \cup \cdots \cup \sigma_m, where the σi\sigma_i are literals and m>3m > 3, by

(σ1∪σ2∪u1)(σ3∪⋯∪σm∪u‾1)(σ‾3∪u1)⋯(σ‾m∪u1),(\sigma_1 \cup \sigma_2 \cup u_1)(\sigma_3 \cup \cdots \cup \sigma_m \cup \overline{u}_1)(\overline{\sigma}_3 \cup u_1)\cdots(\overline{\sigma}_m \cup u_1),

where u1u_1 is a new variable. Repeat this transformation until no clause has more than three literals.

SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE ∝\propto CHROMATIC NUMBER

Assume without loss of generality that m≥4m \geq 4.

N={u1,u2,…,um}∪{uˉ1,uˉ2,…,uˉm}∪{v1,v2,…,vm}N = \{u_1, u_2, \ldots, u_m\} \cup \{\bar{u}_1, \bar{u}_2, \ldots, \bar{u}_m\} \cup \{v_1, v_2, \ldots, v_m\}
∪{D1,D2,…,Dr}\cup \{D_1, D_2, \ldots, D_r\}
A={{ui,uˉi}∣i=1,2,…,n}∪{{vi,vj}∣i≠j}∪{{vi,xj}∣i≠j}A = \{\{u_i, \bar{u}_i\} | i=1,2,\ldots,n\} \cup \{\{v_i, v_j\} | i \neq j\} \cup \{\{v_i, x_j\} | i \neq j\}
∪{{vi,xˉj}∣i≠j}∪{{ui,Df}∣ui∉Df}∪{{uˉi,Df}∣uˉi∈Df}\cup \{\{v_i, \bar{x}_j\} | i \neq j\} \cup \{\{u_i, D_f\} | u_i \notin D_f\} \cup \{\{\bar{u}_i, D_f\} | \bar{u}_i \in D_f\}

k = r + 1

CHROMATIC NUMBER ∝\propto CLIQUE COVER

G' is the complement of G ℓ=k\ell = k.

CHROMATIC NUMBER ∝\propto EXACT COVER

The set of elements is

N∪A∪{<u,e,f>∣u is incident with e and 1≤f≤k}.N \cup A \cup \{<u,e,f> | u \text{ is incident with } e \text{ and } 1 \leq f \leq k\}.

The sets SjS_j are the following: for each f,1<f≤kf, 1 < f \leq k, and each u∈Nu \in N,

{u}∪{<u,e,f>∣e is incident with u};\{u\} \cup \{<u,e,f> | e \text{ is incident with } u\};

for each e∈Ae \in A and each pair f1,f2f_1, f_2 such that

1≤f1≤k,1≤f2≤k and f1≠f21 \leq f_1 \leq k, \quad 1 \leq f_2 \leq k \text{ and } f_1 \neq f_2
{e}∪{<u,e,f>,f≠f1}∪{<v,e,g>∣g≠f2},\{e\} \cup \{<u,e,f>, f \neq f_1\} \cup \{<v,e,g> | g \neq f_2\},

where uu and vv are the two nodes incident with ee.

EXACT COVER ∝\propto HITTING SET

The hitting set problem has sets UiU_i and elements sjs_j, such that sj∈Ui⇔ui∈Sjs_j \in U_i \Leftrightarrow u_i \in S_j.

EXACT COVER ∝\propto STEINER TREE

N={no}∪{Sj}∪{ui}N = \{n_o\} \cup \{S_j\} \cup \{u_i\}
R={no}∪{ui}R = \{n_o\} \cup \{u_i\}
A={{no,Sj}}∪{{Sj,ui}∣ui∈Sj}A = \{\{n_o, S_j\}\} \cup \{\{S_j, u_i\} | u_i \in S_j\}
w({no,Sj})=∣Sj∣w(\{n_o, S_j\}) = |S_j|
w({Sj,ui})=0w(\{S_j, u_i\}) = 0
k=∣{ui}∣.k = |\{u_i\}|.

EXACT COVER ∝\propto 3-DIMENSIONAL MATCHING

Without loss of generality assume ∣Sj∣≥2|S_j| \geq 2 for each jj. Let T={<i,j>∣ui∈Sj}T = \{<i,j> | u_i \in S_j\}. Let α\alpha be an arbitrary one-one function from {ui}\{u_i\} into T. Let π:T→T\pi : T \to T be a permutation such that, for each fixed j, {<i,j>∣ui∈Sj}\{<i,j>| u_i \in S_j\} is a cycle of π\pi.

U={<α(ui),<i,j>,<i,j>>∣<i,j>∈T}U = \{<\alpha(u_i), <i,j>, <i,j>>| <i,j> \in T\}
∪{<β,σ,π(σ)>∣ for all i,β≠α(ui)}\cup \{<\beta,\sigma,\pi(\sigma)>| \text{ for all } i, \beta \neq \alpha(u_i)\}

EXACT COVER ∝\propto KNAPSACK

Let d=∣{Sj}∣+1d = |\{S_j\}| + 1. Let eji={1if ui∈Sj0if ui∉Sje_{ji} = \begin{cases} 1 & \text{if } u_i \in S_j \\ 0 & \text{if } u_i \notin S_j \end{cases}. Let

r=∣{Sj}∣,aj=∑ejidi−1andb=dt−1d−1.r = |\{S_j\}|, \quad a_j = \sum e_{ji} d^{i-1} \quad \text{and} \quad b = \frac{d^t - 1}{d - 1}.

KNAPSACK ∝\propto SEQUENCING

p=r,Ti=Pi=ai,Di=b.p = r, \quad T_i = P_i = a_i, \quad D_i = b.

KNAPSACK ∝\propto PARTITION

s=r+2ci=ai,i=1,2,...,rcr+1=b+1cr+2=(∑i=1rai)+1−bs = r + 2 \\ c_i = a_i, \quad i = 1,2,...,r \\ c_{r+1} = b + 1 \\ c_{r+2} = (\sum_{i=1}^r a_i) + 1 - b

PARTITION ∝\propto MAX CUT

N={1,2,...,s}A={{i,j}∣i∈N,j∈N,i≠j}w({i,j})=ci⋅cjW=⌈14∑ci2⌉N = \{1,2,...,s\} \\ A = \{\{i,j\}| i \in N, j \in N, i \neq j\} \\ w(\{i,j\}) = c_i \cdot c_j \\ W = \left\lceil \frac{1}{4} \sum c_i^2 \right\rceil

Some of the reductions exhibited here did not originate with the present writer. Cook (1971) showed that SATISFIABILITY ∝\propto SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE. The reduction

SATISFIABILITY ∝\propto CLIQUE is implicit in Cook (1970), and was also known to Raymond Reiter. The reduction

NODE COVER ∝\propto FEEDBACK NODE SET was found by the Algorithms Seminar at the Cornell University Computer Science Department. The reduction

NODE COVER ∝\propto FEEDBACK ARC SET was found by Lawler and the writer, and Lawler discovered the reduction

EXACT COVER ∝\propto 3-DIMENSIONAL MATCHING

The writer discovered that the exact cover problem was reducible to the directed traveling-salesman problem on a digraph in which the arcs have weight zero or one. Using refinements of the technique used in this construction, Tarjan showed that

EXACT COVER ∝\propto DIRECTED HAMILTON CIRCUIT and, independently, Lawler showed that

NODE COVER ∝\propto DIRECTED HAMILTON CIRCUIT .

The reduction

DIRECTED HAMILTON CIRCUIT ∝\propto UNDIRECTED HAMILTON CIRCUIT was pointed out by Tarjan.

Below we list three problems in automata theory and language theory to which every complete problem is reducible. These problems are not known to be complete, since their membership in NPNP is presently in doubt. The reader unacquainted with automata and language theory can find the necessary definitions in Hopcroft and Ullman (1969).

EQUIVALENCE OF REGULAR EXPRESSIONS INPUT: A pair of regular expressions over the alphabet {0,1}\{0,1\} PROPERTY: The two expressions define the same language.

EQUIVALENCE OF NONDETERMINISTIC FINITE AUTOMATA INPUT: A pair of nondeterministic finite automata with input alphabet {0,1}\{0,1\} PROPERTY: The two automata define the same language.

CONTEXT-SENSITIVE RECOGNITION INPUT: A context-sensitive grammar Γ\Gamma and a string xx PROPERTY: xx is in the language generated by Γ\Gamma.

First we show that

SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE ∝\propto EQUIVALENCE OF REGULAR EXPRESSIONS .

The reduction is made in two stages. In the first stage we construct a pair of regular expressions over an alphabet Δ={u1,u2,…,un,uˉ1,uˉ2,…,uˉn}\Delta = \{u_1, u_2, \ldots, u_n, \bar{u}_1, \bar{u}_2, \ldots, \bar{u}_n\}. We then convert these regular expressions to regular expressions over {0,1}\{0,1\}.

The first regular expression is ΔnΔ∗\Delta^n \Delta^* (more exactly, Δ\Delta is written out as (u1+u2+⋯+un+uˉ1+⋯+uˉn)(u_1 + u_2 + \cdots + u_n + \bar{u}_1 + \cdots + \bar{u}_n), and Δn\Delta^n represents n copies of the expression for Δ\Delta concatenated together). The second regular expression is

ΔnΔ∗∪⋃i=1n(Δ∗uiΔ∗uˉiΔ∗∪Δ∗uˉiΔ∗uiΔ∗)∪⋃h=1rθ(Dh)\Delta^n \Delta^* \cup \bigcup_{i=1}^n (\Delta^* u_i \Delta^* \bar{u}_i \Delta^* \cup \Delta^* \bar{u}_i \Delta^* u_i \Delta^*) \cup \bigcup_{h=1}^r \theta(D_h)

where

θ(Dh)={Δ∗σ‾1Δ∗if Dh=σ1Δ∗σ‾1Δ∗σ‾2Δ∗∪Δ∗σ‾2Δ∗σ‾1Δ∗if Dh=σ1∪σ2Δ∗σ‾1Δ∗σ‾2Δ∗σ‾3Δ∗∪Δ∗σ‾1Δ∗σ‾3Δ∗σ‾2Δ∗∪Δ∗σ‾2Δ∗σ‾1Δ∗σ‾3Δ∗∪Δ∗σ‾2Δ∗σ‾3Δ∗σ‾1Δ∗∪Δ∗σ‾3Δ∗σ‾1Δ∗σ‾2Δ∗∪Δ∗σ‾3Δ∗σ‾2Δ∗σ‾1Δ∗if Dh=σ1∪σ2∪σ3.\theta(D_h) = \begin{cases} \Delta^*\overline{\sigma}_1\Delta^* & \text{if } D_h = \sigma_1 \\ \Delta^*\overline{\sigma}_1\Delta^*\overline{\sigma}_2\Delta^* \cup \Delta^*\overline{\sigma}_2\Delta^*\overline{\sigma}_1\Delta^* & \text{if } D_h = \sigma_1 \cup \sigma_2 \\ \Delta^*\overline{\sigma}_1\Delta^*\overline{\sigma}_2\Delta^*\overline{\sigma}_3\Delta^* \cup \Delta^*\overline{\sigma}_1\Delta^*\overline{\sigma}_3\Delta^*\overline{\sigma}_2\Delta^* \\ \cup \Delta^*\overline{\sigma}_2\Delta^*\overline{\sigma}_1\Delta^*\overline{\sigma}_3\Delta^* \cup \Delta^*\overline{\sigma}_2\Delta^*\overline{\sigma}_3\Delta^*\overline{\sigma}_1\Delta^* \\ \cup \Delta^*\overline{\sigma}_3\Delta^*\overline{\sigma}_1\Delta^*\overline{\sigma}_2\Delta^* \cup \Delta^*\overline{\sigma}_3\Delta^*\overline{\sigma}_2\Delta^*\overline{\sigma}_1\Delta^* & \text{if } D_h = \sigma_1 \cup \sigma_2 \cup \sigma_3 . \end{cases}

Now let m be the least positive integer ≥log⁡∣Δ∣\geq \log |\Delta|, and let ϕ\phi be a 1-1 function from Δ\Delta into {0,1}m\{0,1\}^m. Replace each regular expression by a regular expression over {0,1}\{0,1\}, by making the substitution a→ϕ(a)a \rightarrow \phi(a) for each occurrence of each element of Δ\Delta.

EQUIVALENCE OF REGULAR EXPRESSIONS ∝\propto EQUIVALENCE OF NONDETERMINISTIC FINITE AUTOMATA

There are standard polynomial-time algorithms [Salomaa (1969)] to convert a regular expression to an equivalent nondeterministic automaton. Finally, we show that, for any L∈NPL \in NP,

L∝CONTEXT-SENSITIVE RECOGNITION.L \propto \text{CONTEXT-SENSITIVE RECOGNITION}.

Suppose LL is recognized in time p()p() by a nondeterministic Turing machine. Then the following language L~\tilde{L} over the alphabet {0,1,#}\{0,1,\#\} is accepted by a nondeterministic linear bounded automaton which simulates the Turing machine:

L~={#x#p(lg⁡(x))p(lg⁡(x))∣x∈L}.\tilde{L} = \{ \#^{p(\lg(x))}_{x\#^{p(\lg(x))}} | x \in L \}.

Hence L~\tilde{L} is context-sensitive and has a context-sensitive grammar Γ~\tilde{\Gamma}. Thus x∈Lx \in L iff

Γ~,#x#p(lg⁡(x))p(lg⁡(x))\tilde{\Gamma}, \#^{p(\lg(x))}_{x\#^{p(\lg(x))}}

is an acceptable input to CONTEXT-SENSITIVE RECOGNITION.

We conclude by listing the following important problems in NPNP which are not known to be complete.

GRAPH ISOMORPHISM INPUT: graphs GG and G′G' PROPERTY: GG is isomorphic to G′G'.

NONPRIMES INPUT: positive integer kk PROPERTY: kk is composite.

LINEAR INEQUALITIES INPUT: integer matrix CC, integer vector dd PROPERTY: Cx≥dCx \geq d has a rational solution.

Appendix I

Notation and Terminology Used in Problem Specification

PROPOSITIONAL CALCULUS

x1,x2,…,xnu1,u2,…,umx‾1,x‾2,…,x‾nu‾1,u‾2,…,u‾mσ,σiC1,C2,…,CpD1,D2,…,DrCk⊆{x1,x2,…,xn,x‾1,x‾2,…,x‾n}Dℓ⊆{u1,u2,…,um,u‾1,u‾2,…,u‾m}\begin{array}{ll} x_1, x_2, \ldots, x_n & u_1, u_2, \ldots, u_m \\ \overline{x}_1, \overline{x}_2, \ldots, \overline{x}_n & \overline{u}_1, \overline{u}_2, \ldots, \overline{u}_m \\ \sigma, \sigma_i \\ C_1, C_2, \ldots, C_p & D_1, D_2, \ldots, D_r \\ C_k \subseteq \{x_1, x_2, \ldots, x_n, \overline{x}_1, \overline{x}_2, \ldots, \overline{x}_n\} \\ D_\ell \subseteq \{u_1, u_2, \ldots, u_m, \overline{u}_1, \overline{u}_2, \ldots, \overline{u}_m\} \end{array}

propositional variables complements of propositional variables literals clauses

A clause contains no complementary pair of literals.

SCALARS, VECTORS, MATRICES

Zthe positive integersZpthe set of p-tuples of positive integersZpthe set {0,1,…,p−1}k,Welements of Z<x,y>the ordered pair <x,y>(ai)jvectors with nonnegative integer components(cij)Cmatrices with integer components\begin{array}{ll} Z & \text{the positive integers} \\ Z^p & \text{the set of } p\text{-tuples of positive integers} \\ Z_p & \text{the set } \{0, 1, \ldots, p-1\} \\ k, W & \text{elements of } Z \\ <x, y> & \text{the ordered pair } <x, y> \\ (a_i)_j & \text{vectors with nonnegative integer components} \\ (c_{ij})_C & \text{matrices with integer components} \end{array}

GRAPHS AND DIGRAPHS

G=(N,A)G′=(N′,A′)N,N′sets of nodess,t,u,vnodes(X,X‾)={{u,v}∣u∈X and v∈X‾}cutIf s∈X and t∈X‾,(X,X‾) is a s-t cut.w:A→Zw′:A′→Zweight functions\begin{array}{ll} G = (N, A) & G' = (N', A') \\ N, N' & \text{sets of nodes} \\ s, t, u, v & \text{nodes} \\ (X, \overline{X}) = \{\{u, v\} | u \in X \text{ and } v \in \overline{X}\} & \text{cut} \\ \text{If } s \in X \text{ and } t \in \overline{X}, & (X, \overline{X}) \text{ is a s-t cut.} \\ w: A \to Z & w': A' \to Z \\ \text{weight functions} \end{array}

The weight of a subgraph is the sum of the weights of its arcs.

H=(V,E)digraphe,<u,v>arcsVset of nodes, E set of arcs\begin{array}{ll} H = (V, E) & \text{digraph} \\ e, <u, v> & \text{arcs} \\ V & \text{set of nodes, } E \text{ set of arcs} \end{array}

SETS

∅the empty set∣S∣the number of elements in the finite set S{Sj},{Th},{Ui}finite families of finite sets\begin{array}{ll} \emptyset & \text{the empty set} \\ |S| & \text{the number of elements in the finite set } S \\ \{S_j\}, \{T_h\}, \{U_i\} & \text{finite families of finite sets} \end{array}

References

  1. 1. S.A. Cook, *The complexity of theorem proving procedures*, Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, 1971, pp. 151–158. 2. M.R. Garey and D.S. Johnson, *Computers and Intractability: A Guide to the Theory of NP-Completeness*, W.H. Freeman & Co., 1979.
  2. 8 Reducibility Among Combinatorial Problems
  3. The following article originally appeared as:
  4. R.M. Karp, Reducibility Among Combinatorial Problems, Complexity of Computer Computations (R.E. Miller and J.W. Thatcher, eds.), Plenum Press, 1972, pp. 85–103.
  5. Copyright © 1972 Plenum Press.
  6. Reprinted by permission from Kluwer Academic Publishers.
  7. Richard M. Karp University of California at Berkeley
  8. Abstract: A large class of computational problems involve the determination of properties of graphs, digraphs, integers, arrays of integers, finite families of finite sets, boolean formulas and elements of other countable domains. Through simple encodings from such domains into the set of words over a finite alphabet these problems can be converted into language recognition problems, and we can inquire into their computational complexity. It is reasonable to consider such a problem satisfactorily solved when an algorithm for its solution is found which terminates within a number of steps bounded by a polynomial in the length of the input. We show that a large number of classic unsolved problems of covering, matching, packing, routing, assignment and sequencing are equivalent, in the sense that either each of them possesses a polynomial-bounded algorithm or none of them does.

Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8.