Introduction to the Theory of Computation

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

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

View Full Document Right Arrow Icon
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
Background image of page 1

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

View Full DocumentRight Arrow Icon
2 A finite automaton is a list of five objects: o Set of states o Input alphabet o Rules for moving o Start state o Accepts states y x = ) 1 , ( d , means that a transition from x to y exists when the machine reads a 1. Definition
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/22/2010 for the course CS 881 taught by Professor H.f. during the Spring '10 term at Shahid Beheshti University.

Page1 / 13

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

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online