This textbook presents a thorough foundation to the theory of computation. Combining intuitive descriptions and illustrations with rigorous arguments and detailed proofs for key topics, the logically structured discussion guides the reader through the core concepts of automata and languages, computability, and complexity of computation. Topics and features: presents a detailed introduction to the theory of computation, complete with concise explanations of the mathematical prerequisites; provides end-of-chapter problems with solutions, in addition to chapter-opening summaries and numerous examples and definitions throughout the text; draws upon the authors extensive teaching experience and broad research interests; discusses finite automata, context-free languages, and pushdown automata; examines the concept, universality and limitations of the Turing machine; investigates computational complexity based on Turing machines and Boolean circuits, as well as the notion of NP-completeness.Combining lucid description and illustrations with rigorous arguments and detailed proofs, this book examines the core concepts of automata and languages, computability, and complexity of computation, and offers a solid foundation in computation theory.
Computation lies at the heart of modern digital technology and our increasingly advanced information society. The theory of computation describes what tasks can and cannot be computed, and why this should be.
This focused and accessible guide/textbook presents a thorough foundation to the theory of computation, whilst also providing a deeper insight for those looking to pursue research in this field. Combining intuitive descriptions and illustrations with rigorous arguments and detailed proofs for key topics, the logically structured discussion guides the reader through the core concepts of automata and languages, computability, and complexity of computation. Self-contained and supported by practical examples, l3Ä