The Nature of Computation

Abstract
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. However, this beauty is often buried underneath layers of unnecessary formalism, and exciting recent results such as interactive proofs, phase transitions, and quantum computing are usually considered too advanced for the typical student. This book bridges these gaps by explaining the deep ideas of theoretical computer science in a clear fashion, making them accessible to non-computer scientists and to computer scientists who finally want to appreciate their field from a new point of view. It starts with a lucid explanation of the P vs. NP problem, explaining why it is so fundamental, and so hard to resolve. It then leads the reader through the complexity of mazes and games; optimisation in theory and practice; randomised algorithms, interactive proofs, and pseudorandomness; Markov chains and phase transitions; and the outer reaches of quantum computing. At every turn, it uses a minimum of formalism, providing explanations that are both deep and accessible.

This publication has 489 references indexed in Scilit: