About this book
As Computer Science progressively matures as an established discipline, it becomes increasingly important to revisit its theoretical foundations, learn the appropriate techniques for answering theory-based questions, and build one’s confidence in implementing this knowledge when building computer applications. Students well-grounded in theory and abstract models of computation can excel in computing’s many application arenas.
Through a deft interplay of rigor and intuitive motivation, Elements of Computation Theory comprehensively, yet flexibly provides students with the grounding they need in computation theory. The book is self-contained and introduces the fundamental concepts, models, techniques, and results that form the basic paradigms of computing. Readers will benefit from the discussion of the ideas and mathematics that computer scientists use to model, to debate, and to predict the behavior of algorithms and computation. Previous learning about set theory and proof by induction are helpful prerequisites.
Topics and features:
• Contains an extensive use of definitions, proofs, exercises, problems, and other pedagogical aids
• Supplies a summary, bibliographical remarks, and additional (progressively challenging) problems in each chapter, as well as an appendix containing hints and answers to selected problems
• Reviews mathematical preliminaries such as set theory, relations, graphs, trees, functions, cardinality, Cantor’s diagonalization, induction, and the pigeon-hole principle
• Explores regular languages, covering the mechanisms for representing languages, the closure properties of such languages, the existence of other languages, and other structural properties
• Investigates the class of context-free languages, including context-free grammars, Pushdown automata, their equivalence, closure properties, and existence of non-context-free languages
• Discusses the true nature of general algorithms, introducing unrestricted grammars, Turing machines, and their equivalence
• Examines which tasks can be achieved by algorithms and which tasks can’t, covering issues of decision problems in regular languages, context-free languages, and computably enumerable languages
• Provides a concise account of both space and time complexity, explaining the main techniques of log space reduction, polynomial time reduction, and simulations
• Promotes students' confidence via interactive learning and motivational, yet informal dialogue
• Emphasizes intuitive aspects and their realization with rigorous formalization
Undergraduate students of computer science, engineering, and mathematics will find this core textbook ideally suited for courses on the theory of computation, automata theory, formal languages, and computational models. Computing professionals and other scientists will also benefit from the work’s accessibility, plethora of learning aids, and motivated exposition.
Dr. Arindama Singh is a professor at the Department of Mathematics of the Indian Institute of Technology Madras and has authored books on logic for computer science.