Synopses & Reviews
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.
To request a copy of the Solutions Manual, visit: http://global.oup.com/uk/academic/physics/admin/solutions
Review
"To put it bluntly: this book rocks! It's 900+ pages of awesome. It somehow manages to combine the fun of a popular book with the intellectual heft of a textbook, so much so that I don't know what to call it (but whatever the genre is, there needs to be more of it!)." -- Scott Aaronson, Massachusetts Institute of Technology
"A creative, insightful, and accessible introduction to the theory of computing, written with a keen eye toward the frontiers of the field and a vivid enthusiasm for the subject matter." -- Jon Kleinberg, Cornell University
"If you want to learn about complexity classes, scaling laws in computation, undecidability, randomized algorithms, how to prepare a dinner with Pommard, Quail and Roquefort, or the new ideas that quantum theory brings to computation, this is the right book. It offers a wonderful tour through many facets of computer science. It is precise and gets into details when necessary, but the main thread is always at hand, and entertaining anecdotes help to keep the pace." -- Marc Mézard, Université de Paris Sud, Orsay
"A treasure trove of ideas, concepts and information on algorithms and complexity theory. Serious material presented in the most delightful manner!" -- Vijay Vazirani, Georgia Instituute of Technology
"A fantastic and unique book - a must-have guide to the theory of computation, for physicists and everyone else." -- Riccardo Zecchina, Politecnico di Torino
Synopsis
In the last decade, the boundary between physics and computer science has become a hotbed of interdisciplinary collaboration. Every passing year shows that physicists and computer scientists have a great deal to say to each other, sharing metaphors, intuitions, and mathematical techniques. In this book, two leading researchers in this area introduce the reader to the fundamental concepts of computational complexity. They go beyond the usual discussion of P, NP and NP-completeness to explain the deep meaning of the P vs. NP question, and explain many recent results which have not yet appeared in any textbook. They then give in-depth explorations of the major interfaces between computer science and physics: phase transitions in NP-complete problems, Monte Carlo algorithms, and quantum computing. The entire book is written in an informal style that gives depth with a minimum of mathematical formalism, exposing the heart of the matter without belabouring technical details. The only mathematical prerequisites are linear algebra, complex numbers, and Fourier analysis (and most chapters can be understood without even these). It can be used as a textbook for graduate students or advanced undergraduates, and will be enjoyed by anyone who is interested in understanding the rapidly changing field of theoretical computer science and its relationship with other sciences.
About the Author
Cristopher Moore graduated from Northwestern University with honors in 1986, at the age of 18, with a B.A. in Mathematics, Physics, and Integrated Science. He received his Ph.D. in Physics from Cornell University at the age of 23. After a postdoc at the Santa Fe Institute, he joined the faculty of the University of New Mexico, where he holds joint appointments in Computer Science and Physics and Astronomy. He has written over 90 papers, on topics ranging from undecidability in dynamical systems, to quantum computing, to phase transitions in NP-complete problems, to the analysis of social and biological networks.
Stephan Mertens got his Diploma in Physics in 1989, and his Ph.D. in Physics in 1991, both from Georg-August University Göttingen. He holds scholarships from the "Studienstiftung des Deutschen Volkes", Germany's most prestigious organisation sponsoring the academically gifted. After his Ph.D. he worked for three years in the software industry before he joined the faculty of Otto-von-Guericke University Magdeburg as a theoretical physicist. His research focuses on disordered systems in statistical mechanics, average case complexity of algorithms, and parallel computing.