Book contents
- Frontmatter
- Contents
- List of Figures
- Preface
- Overview
- To the Teacher
- Notations and Conventions
- Main Definitions and Results
- 1 Computational Tasks and Models
- 2 The P versus NP Question
- 3 Polynomial-time Reductions
- 4 NP-Completeness
- 5 Three Relatively Advanced Topics
- Historical Notes
- Epilogue: A Brief Overview of Complexity Theory
- Appendix Some Computational Problems
- Bibliography
- Index
5 - Three Relatively Advanced Topics
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- List of Figures
- Preface
- Overview
- To the Teacher
- Notations and Conventions
- Main Definitions and Results
- 1 Computational Tasks and Models
- 2 The P versus NP Question
- 3 Polynomial-time Reductions
- 4 NP-Completeness
- 5 Three Relatively Advanced Topics
- Historical Notes
- Epilogue: A Brief Overview of Complexity Theory
- Appendix Some Computational Problems
- Bibliography
- Index
Summary
In this chapter we discuss three relatively advanced topics. The first topic, which was alluded to in previous chapters, is the notion of promise problems (Section 5.1). Next, we present an optimal algorithm for solving (“candid”) NP-search problems (Section 5.2). Finally, in Section 5.3, we briefly discuss the class (denoted coNP) of sets that are complements of sets in NP.
Teaching Notes
Typically, the foregoing topics are not mentioned in a basic course on complexity. Still, we believe that these topics deserve at least a mention in such a course. This holds especially with respect to the notion of promise problems. Furthermore, depending on time constraints, we recommend presenting all three topics in class (at least at an overview level).
We comment that the notion of promise problems was originally introduced in the context of decision problems, and is typically used only in that context. However, given the importance that we attach to an explicit study of search problems, we extend the formulation of promise problems to search problems as well. In that context, it is also natural to introduce the notion of a “candid search problem” (see Definition 5.2).
Promise Problems
Promise problems are natural generalizations of search and decision problems. These generalizations are obtained by explicitly considering a set of legitimate instances (rather than considering any string as a legitimate instance). As noted previously, this generalization provides a more adequate formulation of natural computational problems (and, indeed, this formulation is used in all informal discussions).
- Type
- Chapter
- Information
- P, NP, and NP-CompletenessThe Basics of Computational Complexity, pp. 142 - 164Publisher: Cambridge University PressPrint publication year: 2010