
116 4 NP-Completeness
cover with at most K sets.) We reduce
r3SAT to 3SC by using the (very same)
reduction presented in the proof of Proposition 4.8, while observing that the
size of each set in the reduced instance is at most three (i.e., one more than the
number of occurrences of the corresponding literal in clauses of the original
formula).
Next, we reduce
3SC to the following restricted version of Exact Cover,
denoted
3XC
, in which each set has at most three elements. An instance of 3XC
consists of a sequence of finite sets as well as an integer K, and the question
is whether there exists an exact cover with at most K sets. The reduction maps
an instance ((S
1
,...,S
m
),K)of3SC to the instance (C
,K) s uch that C
is a
collection of all subsets of each of the sets S
1
,...,S
m
. Since each S
i
has size
at most three, we introduce at most seven non-empty subsets per each such set,
and the reduction can be computed in polynomial time. The reader may easily
verify the validity of this reduction (see Exercise 4.12).
Finally, we reduce
3XC
to 3XC. Consider an instance ((S
1
,...,S
m
),K)
of
3XC
, and suppose that
m
i=1
S
i
= [n]. If n>3K then this is definitely a
no-instance, which can be mapped to a dummy no-instance of
3XC, and so we
assume that x
def
= 3K −n ≥ 0. Intuitively, x represents the “excess” covering
ability of a hypothetical exact cover that consists of K sets, each having three
elements. Thus, we augment the set system with x new elements, denoted
n + 1,...,3K, and replace each S
i
such that |S
i
| < 3 by a sub-collection of 3-
sets such that each 3-set contains S
i
as well as an adequate number of elements
from {n + 1,...,3K}, such that the sub-collection associated with S
i
contains
a set for each possible (3 −|S
i
|)-set of {n + 1,...,3K}. That is, in case |S
i
|=
2, the set S
i
is replaced by the sub-collection (S
i
∪{n + 1},...,S
i
∪{3K}),
whereas a singleton S
i
is replaced by the sets S
i
∪{j
1
,j
2
} for every j
1
<j
2
in
{n + 1,...,3K}. In addition, we add all possible 3-subsets of {n + 1,...,3K}.
This completes the description of the last reduction, the validity of which is left
as an exercise (see Exercise 4.12).
Let us conclude. We have introduced the intermediate problems
r3SAT,
3SC, and 3XC
, and presented a sequence of Karp-reductions leading from
3SAT to 3XC via these intermediate problems. Specifically, we reduced 3SAT
to r3SAT, then reduced r3SAT to 3SC, next reduced 3SC to 3XC
, and finally
reduced
3XC
to 3XC. Composing these four reductions, we obtain a Karp-
reduction of
3SAT to 3XC, and the proposition follows.
Vertex Cover, Independent Set, and Clique. Turning to graph theoretic prob-
lems (see Appendix A.1), we start with the
Vertex Cover problem, which
is a special case of the
Set Cover problem. The instances consist of pairs
(G, K ), where G = (V,E) is a simple graph and K is an integer, and the