Automata 2025
Automata 2025
Automata
Regular Context-
(DFA) Context-
free Recursively-
sensitive
(PDA) enumerable
(LBA) (TM)
8
“Computer” or Turing machine
(Alan Turing 1936)
0 Finite-state
3 1 control
2
Read/write head
X 0 X B 0
Infinite tape or “memory”
Automata
• An automaton has:
– Input File
– Control Unit (with finite states)
– Temporary Storage
– Output
Finite automata
• Developed in 1940’s and 1950’s for neural net models
of brain and computer hardware design
• Finite memory!
• Many applications:
– text-editing software: search and replace
– many forms of pattern-recognition (including use in WWW
search engines)
– compilers: recognizing keywords (lexical analysis)
– sequential circuit design
– software specification and design
– communications protocols
Finite automata
• For the computer engineers among us, you may think
of finite automata as in-line filters.
• In an in-line filter, a signal comes in and the filter
handles it, depending only upon the signal’s
characteristics and the state the filter is in.
• The typical in-line filter has no auxiliary memory.
• The filter can change its state from one state to another,
depending upon the signal it receives.
• By being in a different state the next time it receives a
given signal, it can handle the same signal in different
ways.
Pushdown automata
• Noam Chomsky’s work in the 1950’s and
1960’s on grammars for natural languages
• infinite memory, organized as a stack
• Applications:
– compilers: parsing computer programs
– programming language design
Turing machine
• Devised by Alan Turing
• Has infinite memory, organized as a tape,
with a read/write head
• Most powerful automaton; it can be proven
that no computer can be more powerful than
a Turing machine
Computational power
TM
LBA
PDA
FSA
Review of set theory
Can specify a set in two ways:
- list of elements: A = {6, 12, 28}
- characteristic property: B = {x | x is a positive,
even integer}
Set membership: 12 A, 9 A
Set inclusion: A B (A is a subset of B)
A B (A is a proper subset of B)
Set operations:
union: A {9, 12} = {6, 9, 12, 28}
intersection: A {9, 12} = {12}
difference: A - {9, 12} = {6, 28}
Set theory (continued)
Another set operation, called “taking the
complement of a set”, assumes a universal set.
w0 =
+ = − }
L0 = {}
L1 = L
Operations on languages
Set operations:
L1 L2 = {x | x L1 or x L2} is union
L = * - L is complement
If u v, v w, w x, x y, and y z, then
we say:
uz
*
Definition 1.2:
Let G = (V, T, S, P)
The set
*
L(G) = {w T* : S w}
is the language generated by G.
Grammars
S → ab
a→