Introduction to the Theory of Computation

# Introduction to the Theory of Computation - Introduction to...

This preview shows pages 1–3. Sign up to view the full content.

1 Introduction to the Theory of Computation, Michael Sipser Chapter 0: Introduction Automata, Computability and Complexity: They are linked by the question: o “What are the fundamental capabilities and limitations of computers?” The theories of computability and complexity are closely related. In complexity theory, the objective is to classify problems as easy ones and hard ones, whereas in computability theory he classification of problems is by those that are solvable and those that are not. Computability theory introduces several of the concepts used in complexity theory. Automata theory deals with the definitions and properties of mathematical models of computation. One model, called the finite automaton, is used in text processing, compilers, and hardware design. Another model, called the context – free grammar, is used in programming languages and artificial intelligence. Strings and Languages: The string of the length zero is called the empty string and is written as ε . A language is a set of strings. Definitions, Theorems and Proofs: Definitions describe the objects and notions that we use. A proof is a convincing logical argument that a statement is true. A theorem is a mathematical statement proved true. Occasionally we prove statements that are interesting only because they assist in the proof of another, more significant statement. Such statements are called lemmas. Occasionally a theorem or its proof may allow us to conclude easily that other, related statements are true. These statements are called corollaries of the theorem. Chapter 1: Regular Languages Introduction: An idealized computer is called a “computational model” which allows us to set up a manageable mathematical theory of it directly. As with any model in science, a computational model may be accurate in some ways but perhaps not in others. The simplest model is called “finite state machine” or “finite automaton”. Finite Automata: Finite Automata are good models for computers with an extremely limited amount of memory, like for example an automatic door, elevator or digital watches. Finite automata and their probabilistic counterpart “Markov chains” are useful tools when we are attempting to recognize patterns in data. These devices are used in speech processing and in optical character recognition. Markov chains have even been used to model and predict price changes in financial markets. State diagrams are described on p.34. The output of an finite automaton is “accepted” if the automaton is now in an accept state (double circle) and reject if it is not. PDF created with FinePrint pdfFactory trial version http://www.pdffactory.com

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document