# zbMATH — the first resource for mathematics

##### Examples
 Geometry Search for the term Geometry in any field. Queries are case-independent. Funct* Wildcard queries are specified by * (e.g. functions, functorial, etc.). Otherwise the search is exact. "Topological group" Phrases (multi-words) should be set in "straight quotation marks". au: Bourbaki & ti: Algebra Search for author and title. The and-operator & is default and can be omitted. Chebyshev | Tschebyscheff The or-operator | allows to search for Chebyshev or Tschebyscheff. "Quasi* map*" py: 1989 The resulting documents have publication year 1989. so: Eur* J* Mat* Soc* cc: 14 Search for publications in a particular source with a Mathematics Subject Classification code (cc) in 14. "Partial diff* eq*" ! elliptic The not-operator ! eliminates all results containing the word elliptic. dt: b & au: Hilbert The document type is set to books; alternatively: j for journal articles, a for book articles. py: 2000-2015 cc: (94A | 11T) Number ranges are accepted. Terms can be grouped within (parentheses). la: chinese Find documents in a given language. ISO 639-1 language codes can also be used.

##### Operators
 a & b logic and a | b logic or !ab logic not abc* right wildcard "ab c" phrase (ab c) parentheses
##### Fields
 any anywhere an internal document identifier au author, editor ai internal author identifier ti title la language so source ab review, abstract py publication year rv reviewer cc MSC code ut uncontrolled term dt document type (j: journal article; b: book; a: book article)
Computational complexity. A modern approach. (English) Zbl 1193.68112
Cambridge: Cambridge University Press (ISBN 978-0-521-42426-4/hbk). xxiv, 579 p. £ 32.50; \$ 55.00 (2009).

A great number of deep and surprising results in computational complexity have been obtained in the past 20 years. It was the goal of the authors of this “modern approach” to the field to present these more recent developments along with classical results.

The 23 chapters of the book are grouped into three parts. The first of these (“Basic complexity classes”, approximately the first half of the book) introduces the basic computation models (deterministic, nondeterministic, randomized, Boolean circuits, interactive proofs, quantum) and the most important complexity classes L, NL, P, NP, the polynomial hierarchy, BQP, IP, PSPACE, EXP, NEXP. It presents a great number of old and recent results with complete proofs (including the hierarchy theorems, many completeness results, Savitch’s Theorem, the Immerman-Szelepcsényi Theorem, the Karp-Lipton Theorem, the Sipers-Gács-Lautemann Theorem, $\text{IP}=\text{PSPACE}$, pseudorandom generators, Grover’s, Simon’s and Shor’s quantum algorithms) and devotes one chapter to an introduction to probabilistically checkable proofs (a full proof of the PCP-Theorem is deferred to a later chapter).

Part II is devoted to lower bounds. It covers decision trees, communication complexity, Boolean circuit complexity, proof complexity, and algebraic circuits, and presents the most important lower bounds obtained in these models. In particular, the circuit chapter covers the results of Furst-Saxe-Sipser, Ajtai, and Smolensky on constant-depth circuits, and of Razborov on monotone circuits.

The different chapters of Part III address further advanced topics, such as the complexity of counting (including Toda’s Theorem), average case complexity, pseudorandom construction and derandomization, and more on probabilistically checkable proofs (with a proof of the PCP Theorem).

Each chapter ends with (bibliographic) chapter notes and a set of exercises. The book is suitable for self-study; in my opinion it is the perfect textbook for the beginning PhD student in computational complexity theory. As the authors finish their foreword: Onward to P versus NP!

##### MSC:
 68Q15 Complexity classes of computation 68Q17 Computational difficulty of problems 68Q25 Analysis of algorithms and problem complexity 68Q05 Models of computation (Turing machines, etc.) 68Q10 Modes of computation 68Q12 Quantum algorithms and complexity 68-01 Textbooks (computer science) 68-02 Research monographs (computer science)