Book contents
- Frontmatter
- Contents
- List of Figures
- Preface
- Organization and Chapter Summaries
- Acknowledgments
- 1 Introduction and Preliminaries
- 2 P, NP, and NP-Completeness
- 3 Variations on P and NP
- 4 More Resources, More Power?
- 5 Space Complexity
- 6 Randomness and Counting
- 7 The Bright Side of Hardness
- 8 Pseudorandom Generators
- 9 Probabilistic Proof Systems
- 10 Relaxing the Requirements
- Epilogue
- Appendix A Glossary of Complexity Classes
- Appendix B On the Quest for Lower Bounds
- Appendix C On the Foundations of Modern Cryptography
- Appendix D Probabilistic Preliminaries and Advanced Topics in Randomization
- Appendix E Explicit Constructions
- Appendix F Some Omitted Proofs
- Appendix G Some Computational Problems
- Bibliography
- Index
Preface
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- List of Figures
- Preface
- Organization and Chapter Summaries
- Acknowledgments
- 1 Introduction and Preliminaries
- 2 P, NP, and NP-Completeness
- 3 Variations on P and NP
- 4 More Resources, More Power?
- 5 Space Complexity
- 6 Randomness and Counting
- 7 The Bright Side of Hardness
- 8 Pseudorandom Generators
- 9 Probabilistic Proof Systems
- 10 Relaxing the Requirements
- Epilogue
- Appendix A Glossary of Complexity Classes
- Appendix B On the Quest for Lower Bounds
- Appendix C On the Foundations of Modern Cryptography
- Appendix D Probabilistic Preliminaries and Advanced Topics in Randomization
- Appendix E Explicit Constructions
- Appendix F Some Omitted Proofs
- Appendix G Some Computational Problems
- Bibliography
- Index
Summary
The quest for efficiency is ancient and universal, as time and other resources are always in shortage. Thus, the question of which tasks can be performed efficiently is central to the human experience.
A key step toward the systematic study of the aforementioned question is a rigorous definition of the notion of a task and of procedures for solving tasks. These definitions were provided by computability theory, which emerged in the 1930s. This theory focuses on computational tasks, and considers automated procedures (i.e., computing devices and algorithms) that may solve such tasks.
In focusing attention on computational tasks and algorithms, computability theory has set the stage for the study of the computational resources (like time) that are required by such algorithms. When this study focuses on the resources that are necessary for any algorithm that solves a particular task (or a task of a particular type), the study becomes part of the theory of Computational Complexity (also known as Complexity Theory).
Complexity Theory is a central field of the theoretical foundations of computer science. It is concerned with the study of the intrinsic complexity of computational tasks. That is, a typical complexity theoretic study refers to the computational resources required to solve a computational task (or a class of such tasks), rather than referring to a specific algorithm or an algorithmic schema. Actually, research in Complexity Theory tends to start with and focus on the computational resources themselves, and addresses the effect of limiting these resources on the class of tasks that can be solved.
- Type
- Chapter
- Information
- Computational ComplexityA Conceptual Perspective, pp. xv - xviPublisher: Cambridge University PressPrint publication year: 2008