In Models of Computation: Exploring the Power of Computing, John Savage re-examines theoretical computer science, offering a fresh approach that gives priority to resource tradeoffs and complexity classifications over the structure of machines and their relationships to languages. This viewpoint reflects a pedagogy motivated by the growing importance of computational models that are more realistic than the abstract ones studied in the 1950s, '60s and early '70s.
Assuming only some background in computer organization, Models of Computation uses circuits to simulate machines with memory, thereby making possible an early discussion of P-complete and NP-complete problems. Circuits are also used to demonstrate that tradeoffs between parameters of computation, such as space and time, regulate all computations by machines with memory. Full coverage of formal languages and automata is included along with a substantive treatment of computability. Topics such as space-time tradeoffs, memory hierarchies, parallel computation, and circuit complexity, are integrated throughout the text with an emphasis on finite problems and concrete computational models
The released electronic version of the book, now available for free download, corrects all errors known to the author. Errors that occurred in print versions of the book can be found at Errata. Additional errata, as well as comments about the book, can be sent to John Savage.
Download a PDF of the full book or of each individual chapter:
Models of Computation: Exploring the Power of Computing
- I. Overview of the Book
- II. General Computational Models
- III. Computational Complexity