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.
Additional commentary on the book by Andy Yao, Jan van Leeuwen, and Akira Maruoka is provided below.
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
- Chapter 8: Complexity Classes
- Chapter 9: Circuit Complexity
- Chapter 10: Space-Time Tradeoffs
- Chapter 11: Memory-Hierarchy Tradeoffs
- Chapter 12: VLSI Models of Computation
This is an impressive book. The subject has been thoroughly researched and carefully presented. All the machine models central to the modern theory of computation are covered in depth; many for the first time in textbook form. Readers will learn a great deal from the wealth of interesting material presented.
-Andrew C. Yao
Professor of Computer Science at Princeton University
Turing Prize Winner