Lecture 1
Lecture 1
Theory
1
What is Automata Theory?
Study of abstract computing devices, or
“machines”
Automaton = an abstract computing device
Note: A “device” need not even be a physical
hardware!
A fundamental question in computer science:
Find out what different models of machines can do
and cannot do
The theory of computation
Computability vs. Complexity
2
(A pioneer of automata theory)
3
Theory of Computation: A
Historical Perspective
1930s • Alan Turing studies Turing machines
• Decidability
• Halting problem
1940-1950s • “Finite automata” machines studied
• Noam Chomsky proposes the
“Chomsky Hierarchy” for formal
languages
1969 Cook introduces “intractable” problems
or “NP-Hard” problems
1970- Modern computer science: compilers,
computational & complexity theory evolve
4
Languages & Grammars
Languages: “A language is a
Or “words” collection of sentences of
finite length all constructed
from a finite alphabet of
symbols”
Grammars: “A grammar can
be regarded as a device that
enumerates the sentences
of a language” - nothing
more, nothing less
Regular Context-
(DFA) Context-
free Recursively-
sensitive
(PDA) enumerable
(LBA)
(TM)
6
The Central Concepts of
Automata Theory
7
Alphabet
An alphabet is a finite, non-empty set of
symbols
We use the symbol ∑ (sigma) to denote an
alphabet
Examples:
Binary: ∑ = {0,1}
All lower case letters: ∑ = {a,b,c,..z}
Alphanumeric: ∑ = {a-z, A-Z, 0-9}
DNA molecule letters: ∑ = {a,c,g,t}
…
8
Strings
A string or word is a finite sequence of symbols
chosen from ∑
Empty string is (or “epsilon”)
∑* = ∑0 U ∑1 U ∑2 U …
∑+ = ∑ 1 U ∑ 2 U ∑ 3 U …
10
Languages
L is a said to be a language over alphabet ∑, only if L ∑*
this is because ∑* is the set of all strings (of all possible
length including 0) over the given alphabet ∑
Examples:
1. Let L be the language of all strings consisting of n 0’s
followed by n 1’s:
L = {, 01, 0011, 000111,…}
2. Let L be the language of all strings of with equal number of
0’s and 1’s:
L = {, 01, 10, 0011, 1100, 0101, 1010, 1001,…}
Canonical ordering of strings in the language
12