Teaching Notes 97
Teaching Notes
We are sure that many students have heard of NP-completeness before, but
we suspect that most of them have missed some important conceptual points.
Specifically, we fear that they have missed the point that the mere existence of
NP-complete problems is amazing (let alone that these problems include natural
ones such as SAT). We believe that this situation is a consequence of presenting
the detailed proof of Cook’s Theorem right after defining NP-completeness. In
contrast, we suggest starting with a proof that Bounded Halting is NP-complete.
We suggest establishing the NP-completeness of SAT by a reduction from
the circuit satisfaction problem (CSAT), after establishing the NP-completeness
of the latter. Doing so allows us to decouple two important parts of the proof
of the NP-completeness of SAT: the emulation of Turing machines by circuits
and the emulation of circuits by formulae with auxiliary variables.
In view of the importance that we attach to search problems, we also address
the NP-completeness of the corresponding search problems. While it could have
been more elegant to derive the NP-completeness of the various decision prob-
lems by an immediate corollary to the NP-completeness of the corresponding
search problems (see Exercise 4.2), we chose not to do so. Instead, we first
derive the standard results regarding decision problems, and next augment
this treatment in order to derive the corresponding results regarding search
problems. We believe that our choice will better serve most students.
The purpose of Section 4.3.2 is to expose the students to a sample of NP-
completeness results and proof techniques. We believe that this traditional
material is insightful, but one may skip it if pressed for time.
We mention that the reduction presented in the proof of Proposition 4.10 is
not the “standard” one, but is rather adapted from the FGLSS-reduction [10].
This is done in anticipation of the use of the FGLSS-reduction in the context of
the study of the complexity of approximation (cf., e.g., [15]or[13, Sec. 10.1.1]).
Furthermore, although this reduction creates a larger graph, we find it clearer
than the “standard” reduction.
Section 4.3.5 provides a high-level discussion of some positive applications
of NP-completeness. The core of this section is a brief description of three types
of probabilistic proof systems and the role of NP-completeness in establishing
three fundamental results regarding them. For further details on probabilistic
proof systems, we refer the interested reader to [13, Chap. 9]. Since probabilistic
proof systems provide natural extensions of the notion of an NP-proof system,
which underlies our definition of NP, we recommend Section 4.3.5 (with a
possible augmentation based on [13, Chap. 9]) as the most appropriate choice of
advanced material that may accompany the basic material covered in this book.