Computation theory is a discipline that uses mathematical concepts and tools to expose the nature of "computation" and to explain a broad range of 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? How does one reason about such questions?
This unique textbook strives to endow students with conceptual and manipulative tools necessary to make computation theory part of their professional lives. The work achieves this goal by means of three stratagems that set its approach apart from most other texts on the subject.
For starters, it develops the necessary mathematical concepts and tools from the concepts' simplest instances, thereby helping students gain operational control over the required mathematics. Secondly, it organizes development of theory around four "pillars," enabling students to see computational topics that have the same intellectual origins in physical proximity to one another. Finally, the text illustrates the "big ideas" that computation theory is built upon with applications of these ideas within "practical" domains in mathematics, computer science, computer engineering, and even further afield.
Suitable for advanced undergraduate students and beginning graduates, this textbook augments the "classical" models that traditionally support courses on computation theory with novel models inspired by "real, modern" computational topics,such as crowd-sourced computing, mobile computing, robotic path planning, and volunteer computing.
Arnold L. Rosenberg is Distinguished Univ. Professor Emeritus at University of Massachusetts, Amherst, USA. Lenwood S. Heath is Professor at Virgina Tech, Blacksburg, USA.
Preface.- I: Introduction.- 1 Introducing Computation Theory.- 2 Introducing the Book.- II: Pillar S: STATE.- 3 Pure State-Based Computational Models.- 4 The Myhill-Nerode Theorem: Implications and Applications.- 5 Online Turing Machines and the Implications of Online Computing.- 6 Pumping: Computational Pigeonholes in Finitary Systems.- 7 Mobility in Computing: An FA Navigates a Mesh.- 8 The Power of Cooperation: Teams of MFAs on a Mesh.- III: Pillar E: ENCODING.- 9 Countability and Uncountability: The Precursors of ENCODING.- 10 Computability Theory.- 11 A Church-Turing Zoo of Computational Models.- 12 Pairing Functions as Encoding Mechanisms.- IV: Pillar N: NONDETERMINISM.- 13 Nondeterminism as Unbounded Parallelism.- 14 Nondeterministic Finite Automata.- 15 Nondeterminism as Unbounded Search.- 16 Complexity Theory.- V: Pillar P: PRESENTATION/SPECIFICATION.- 17 The Elements of Formal Language Theory.- A A Chapter-Long Text on Discrete Mathematics.- B Selected Exercises, by Chapter.- List of ACRONYMS and SYMBOLS.- References.- Index.
Arnold L. Rosenberg is a distinguished university professor emeritus at the University of Massachusetts, Amherst. He earlier held full-time positions as a professor at Duke and as a Research Staff member at the IBM Watson Research Center. He has held research positions at Northeastern University and Colorado State University. He has been a visiting professor at the University of Toronto, a Lady Davis visiting professor at the Technion (Israel Inst. of Technology), and a Fulbright Senior Research Scholar at the University of Paris-South. In 1996, he was elected a fellow of the ACM for his work on graph-theoretic models of computation, with a focus on theoretical studies of parallel algorithms and architectures, VLSI design and layout, and data structures. In 1997, he was elected a fellow of the IEEE for his fundamental contributions to theoretical aspects of computer science and engineering.
Lenwood S. Heath is a professor in the Department of Computer Science at Virginia Tech. His research interests include theoretical computer science, algorithms, graph theory, computational biology and bioinformatics, computational genomics, complex networks, and computational epidemiology. He completed a Ph.D. in computer science (1985) at the University of North Carolina, Chapel Hill, an M.S. in mathematics (1976) at the University of Chicago, and a B.S. in mathematics (1975) at the University of North Carolina, Chapel Hill. Before joining the faculty at Virginia Tech in 1987, he was an instructor of applied mathematics and member of the Laboratory of Computer Science at MIT. He is a member of SIAM, a member of the ACM, and a lifetime senior member of the IEEE. He is a managing editor of the Journal of Interconnection Networks