Ebook: The pillars of computation theory: state, encoding, nondeterminism
Author: Arnold L. Rosenberg (auth.)
- Genre: Mathematics // Computational Mathematics
- Tags: Computational Mathematics and Numerical Analysis
- Series: Universitext
- Year: 2010
- Publisher: Springer-Verlag New York
- City: New York
- Edition: 1
- Language: English
- pdf
Computation theory is a discipline that strives to use mathematical tools and concepts in order to expose the nature of the activity that we call “computation” and to explain a broad range of observed computational phenomena. Why is it harder to perform some computations than others? Are the differences in difficulty that we observe inherent, or are they artifacts of the way we try to perform the computations? Even more basically: how does one reason about such questions?
This book strives to endow upper-level undergraduate students and lower-level graduate students with the conceptual and manipulative tools necessary to make Computation theory part of their professional lives. The author tries to achieve this goal via three stratagems that set this book apart from most other texts on the subject.
(1) The author develops the necessary mathematical concepts and tools from their simplest instances, so that the student has the opportunity to gain operational control over the necessary mathematics.
(2) He organizes the development of the theory around the three “pillars” that give the book its name, so that the student sees computational topics that have the same intellectual origins developed in physical proximity to one another.
(3) He strives to illustrate the “big ideas” that computation theory is built upon with applications of these ideas within “practical” domains that the students have seen elsewhere in their courses, in mathematics, in computer science, and in computer engineering.
The abstract branch of theoretical computer science known as Computation Theory typically appears in undergraduate academic curricula in a form that obscures both the mathematical concepts that are central to the various components of the theory and the relevance of the theory to the typical student. This regrettable situation is due largely to the thematic tension among three main competing principles for organizing the material in the course.
This book is motivated by the belief that a deep understanding of, and operational control over, the few "big" mathematical ideas that underlie Computation Theory is the best way to enable the typical student to assimilate the "big" ideas of Computation Theory into her daily computational life.