Computational Complexity: A Modern Approach
This beginning graduate textbook describes both recent achievements and classical results of computational complexity theory. Requiring essentially no background apart from mathematical maturity, the book can be used as a reference for self-study for anyone interested in complexity, including physicists, mathematicians, and other scientists, as well as a textbook for a variety of courses and seminars. More than 300 exercises are included with a selected hint set. The book starts with a broad introduction to the field and progresses to advanced results. Contents include: definition of Turing machines and basic time and space complexity classes, probabilistic algorithms, interactive proofs, cryptography, quantum computation, lower bounds for concrete computational models (decision trees, communication complexity, constant depth, algebraic and monotone circuits, proof complexity), average-case complexity and hardness amplification, derandomization and pseudorandom constructions, and the PCP theorem.
What people are saying - Write a review
This is a very comprehensive and detailed book on computational complexity. Its target audience are the advanced undergraduates or the first-year graduate students in computational science or a related field. The book has many good and interesting exercises and is very suitable as a textbook. It can be used as a self-study textbook for researchers in other fields as well. However, the notation may not be too familiar to those who have not had any prior exposure to the topics in computational complexity. I am a theoretical Physicist and I consider myself to be fairly well versed in advanced mathematics, but I would probably want to read a book that is at a level just below this one in order to familiarize myself with the notational conventions. Otherwise, it is an extremely interesting and well-organized textbook.