Book contents
- Frontmatter
- Contents
- List of Figures
- List of Tables
- Preface
- Part I Introduction
- Part II Concepts and Techniques
- 2 Polynomial versus Exponential Time
- 3 Polynomial-Time Reductions
- 4 Classical Complexity Classes
- 5 Fixed-Parameter Tractable Time
- 6 Parameterized Reductions
- 7 Parameterized Complexity Classes
- Part III Reflections and Elaborations
- Part IV Applications
- Appendix A Mathematical Background
- Appendix B List of Computational Problems
- Appendix C Compendium of Complexity Results
- References
- Index
2 - Polynomial versus Exponential Time
from Part II - Concepts and Techniques
Published online by Cambridge University Press: 18 April 2019
- Frontmatter
- Contents
- List of Figures
- List of Tables
- Preface
- Part I Introduction
- Part II Concepts and Techniques
- 2 Polynomial versus Exponential Time
- 3 Polynomial-Time Reductions
- 4 Classical Complexity Classes
- 5 Fixed-Parameter Tractable Time
- 6 Parameterized Reductions
- 7 Parameterized Complexity Classes
- Part III Reflections and Elaborations
- Part IV Applications
- Appendix A Mathematical Background
- Appendix B List of Computational Problems
- Appendix C Compendium of Complexity Results
- References
- Index
Summary
In this chapter we explain how to analyze the time an algorithm takes to solve a given problem and specifically whether it takes polynomial or exponential time. We consider a variety of well-known problems from computer science to illustrate polynomial-time versus exponential-time algorithms. In these analyses, we build on a common distinction between three types of problems: optimization problems, search problems, and decision problems. While the first two are most commonly adopted in cognitive science, the last one is widely used for computational complexity analyses. As we will explain in subsequent chapters, the distinction is overcome during complexity analyses by understanding the close relationship between these problem types. We will also see that while it is possible to "prove by example" that a problem is of polynomial-time complexity (viz., give an algorithm that solves the problem that runs in polynomial time) proving that a problem does not allow for any such polynomial-time algorithm requires different proof methods.
- Type
- Chapter
- Information
- Cognition and IntractabilityA Guide to Classical and Parameterized Complexity Analysis, pp. 25 - 52Publisher: Cambridge University PressPrint publication year: 2019