Introduction to Languages and the Theory of ComputationIntroduction to Languages and the Theory of Computationis an introduction to the theory of computation that emphasizes formal languages, automata and abstract models of computation, and computability; it also includes an introduction to computational complexity and NP-completeness. Through the study of these topics, students encounter profound computational questions and are introduced to topics that will have an ongoing impact in computer science. Once students have seen some of the many diverse technologies contributing to computer science, they can also begin to appreciate the field as a coherent discipline. A distinctive feature of this text is its gentle and gradual introduction of the necessary mathematical tools in the context in which they are used. Martin takes advantage of the clarity and precision of mathematical language but also provides discussion and examples that make the language intelligible to those just learning to read and speak it. The material is designed to be accessible to students who do not have a strong background in discrete mathematics, but it is also appropriate for students who have had some exposure to discrete math but whose skills in this area need to be consolidated and sharpened. |
Contents
and Finite Automata | 83 |
Basic Mathematical Objects 3 3 2 The Memory Required to Recognize | 90 |
Exercises 32 | 118 |
Copyright | |
12 other sections not shown
Other editions - View all
Common terms and phrases
A-transitions accepts the language algorithm alphabet bijection computation concatenation configuration consider construct contain the substring context-free grammar context-free language corresponding countable current string decision problem defined describe deterministic diagram element encoding equivalence classes example Exercise finite automaton follows formula function f halts induction hypothesis induction step infinite initial input string input symbol integer involving L₁ leftmost derivation loop M₁ mathematical induction natural numbers NFA-A nondeterminism nondeterministic notation NP-complete obtained operation P₁ pair palindromes parentheses polynomial positive integer possible prime primitive recursive primitive recursive functions productions proof of Theorem prove pumping lemma real numbers recognizing recursive definition recursively enumerable languages reduce regular expression regular languages result S₁ satisfying sequence of moves simple simulate specified square stack symbol statement string of length subset Suppose T₁ T₂ tape head true Turing machine unsolvable variables