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

**sections.**

*blurred***to view the full version.**

*Sign up*