# The Nature of Computation

- Length: 1032 pages
- Edition: 1
- Language: English
- Publisher: Oxford University Press
- Publication Date: 2011-10-09
- ISBN-10: 0199233217
- ISBN-13: 9780199233212
- Sales Rank: #478374 (See Top 100 Books)

Computational complexity is one of the most beautiful fields of modern mathematics, and it is increasingly relevant to other sciences ranging from physics to biology. But this beauty is often buried underneath layers of unnecessary formalism, and exciting recent results like interactive proofs, cryptography, and quantum computing are usually considered too “advanced” to show to the typical student. The aim of this book is to bridge both gaps by explaining the deep ideas of theoretical computer science in a clear and enjoyable fashion, making them accessible to non computer scientists and to computer scientists who finally want to understand what their formalisms are actually telling.

This book gives a lucid and playful explanation of the field, starting with P and NP-completeness. The authors explain why the P vs. NP problem is so fundamental, and why it is so hard to resolve. They then lead the reader through the complexity of mazes and games; optimization in theory and practice; randomized algorithms, interactive proofs, and pseudorandomness; Markov chains and phase transitions; and the outer reaches of quantum computing.

At every turn, they use a minimum of formalism, providing explanations that are both deep and accessible. The book is intended for graduates and undergraduates, scientists from other areas who have long wanted to understand this subject, and experts who want to fall in love with this field all over again.

### Table of Contents

Chapter 1 Prologue

Chapter 2 The Basics

Chapter 3 Insights and Algorithms

Chapter 4 Needles in a Haystack: the Class NP

Chapter 5 Who is the Hardest One of All? NP-Completeness

Chapter 6 The Deep Question: P vs. NP

Chapter 7 The Grand Unified Theory of Computation

Chapter 8 Memory, Paths, and Games

Chapter 9 Optimization and Approximation

Chapter 10 Randomized Algorithms

Chapter 11 Interaction and Pseudorandomness

Chapter 12 Random Walks and Rapid Mixing

Chapter 13 Counting, Sampling, and Statistical Physics

Chapter 14 When Formulas Freeze: Phase Transitions in Computation

Chapter 15 Quantum Computation