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
1 - Computational Tasks and Models
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
Overview: We assume that the reader is familiar with computing devices but may associate the notion of computation with specific incarnations of it. Our first goal is to promote viewing computation as a general phenomenon, which may capture both artificial and natural processes. Loosely speaking, a computation is a process that modifies a relatively large environment via repeated applications of a simple and predetermined rule. Although each application of the rule has a very limited effect, the effect of many applications of the rule may be very complex.
We are interested in the transformation of the environment effected by the computational process (or computation), where the computation rule is designed to achieve a desired effect. Typically, the initial environment to which the computation is applied encodes an input string, and the end environment (i.e., at termination of the computation) encodes an output string. Thus, the computation defines a mapping from inputs to outputs, and such amapping can be viewed as solving a search problem (i.e., given an instance x find a solution y that relates to x in some predetermined way) or a decision problem (i.e., given an instance x determine whether or not x has some predetermined property).
Indeed, our focus will be on solving computational tasks (mostly search and decision problems), where a computational task refers to an infinite set of instances such that each instance is associated with a set of valid solutions.
- Type
- Chapter
- Information
- P, NP, and NP-CompletenessThe Basics of Computational Complexity, pp. 1 - 47Publisher: Cambridge University PressPrint publication year: 2010