Book contents
- Frontmatter
- Contents
- About this book
- Acknowledgments
- Introduction
- 0 Notational conventions
- PART ONE BASIC COMPLEXITY CLASSES
- PART TWO LOWER BOUNDS FOR CONCRETE COMPUTATIONAL MODELS
- PART THREE ADVANCED TOPICS
- 17 Complexity of counting
- 18 Average case complexity: Levin's theory
- 19 Hardness amplification and error-correcting codes
- 20 Derandomization
- 21 Pseudorandom constructions: Expanders and extractors
- 22 Proofs of PCP theorems and the Fourier transform technique
- 23 Why are circuit lower bounds so difficult?
- Appendix: Mathematical background
- Hints and selected exercises
- Main theorems and definitions
- Bibliography
- Index
- Complexity class index
17 - Complexity of counting
from PART THREE - ADVANCED TOPICS
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- About this book
- Acknowledgments
- Introduction
- 0 Notational conventions
- PART ONE BASIC COMPLEXITY CLASSES
- PART TWO LOWER BOUNDS FOR CONCRETE COMPUTATIONAL MODELS
- PART THREE ADVANCED TOPICS
- 17 Complexity of counting
- 18 Average case complexity: Levin's theory
- 19 Hardness amplification and error-correcting codes
- 20 Derandomization
- 21 Pseudorandom constructions: Expanders and extractors
- 22 Proofs of PCP theorems and the Fourier transform technique
- 23 Why are circuit lower bounds so difficult?
- Appendix: Mathematical background
- Hints and selected exercises
- Main theorems and definitions
- Bibliography
- Index
- Complexity class index
Summary
It is an empirical fact that for many combinatorial problems the detection of the existence of a solution is easy, yet no computationally efficient method is known for counting their number…for a variety of problems this phenomenon can be explained.
–L. Valiant, 1979The class NP captures the difficulty of finding certificates. However, in many contexts, one is interested not just in a single certificate but actually in counting the number of certificates. This chapter studies #P (pronounced “sharp p”), a complexity class that captures this notion.
Counting problems arise in diverse fields such as statistical estimation, statistical physics, network design, and economics, often in situations having to do with estimations of probability. Counting problems are also studied in a field of mathematics called enumerative combinatorics, which tries to obtain closed-form mathematical expressions for counting problems. To give an example, in 1847 Kirchoff showed how the resistance of a network can be determined by counting the number of spanning trees in it, for which he gave a formula involving a simple determinant computation. Results in this chapter will show that for many other natural counting problems, such efficiently computable expressions are unlikely to exist.
In Section 17.1 we give an informal introduction to counting problems and how they arise in statistical estimation. We also encounter an interesting phenomenon: A counting problem can be difficult even though the corresponding decision problem is easy.
- Type
- Chapter
- Information
- Computational ComplexityA Modern Approach, pp. 341 - 360Publisher: Cambridge University PressPrint publication year: 2009