What can be computed? : a practical guide to the theory of computation / John MacCormick.

What Can Be Computed? is a uniquely accessible yet rigorous introduction to the most profound ideas at the heart of computer science. Crafted specifically for undergraduates who are studying the subject for the first time, and requiring minimal prerequisites, the book focuses on the essential fundam...

Full description

Bibliographic Details
Main Author: MacCormick, John, 1972- (Author)
Language:English
Published: Princeton, New Jersey : Princeton University Press, [2018]
Subjects:
Genre:
Physical Description:xix, 383 pages ; 27 cm
Format: Book
Contents:
  • Introduction: what can and cannot be computed?
  • What is a computer program?
  • Some impossible Python programs
  • What is a computational problem?
  • Turing machines: the simplest computers
  • Universal computer programs: programs that can do anything
  • Reductions: how to prove a problem is hard
  • Nondeterminism: magic or reality?
  • Finite automata: computing with limited resources
  • Complexity theory: when efficiency does matter
  • Poly and Expo: the two most fundamental complexity classes
  • PolyCheck and NPoly: hard problems that are easy to verify
  • Polynomial-time mapping reductions: proving x is as easy as y
  • NP-completeness: most hard problems are equally hard
  • The original Turing machine
  • You can't prove everything that's true
  • Karp's 21 problems
  • Conclusion: what will be computed?