Finite Automata
Courtesy Costas Busch - RPI
1
Finite Automaton
Input
String
Output
Finite
Automaton
Courtesy Costas Busch - RPI
String
2
Finite Accepter
Input
String
Finite
Automaton
Courtesy Costas Busch - RPI
Output
“Accept”
or
“Reject”
3
Transition Graph
Abba -Finite Accepter
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
initial
state
state
transition
Courtesy Costas Busch - RPI
a, b
q4
final
state
“accept”
4
Initial Configuration
a b b a
Input String
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
5
Reading the Input
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
6
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
7
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
8
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
9
Input finished
a b b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
Output: “accept”
Courtesy Costas Busch - RPI
10
Rejection
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
11
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
12
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
13
a b a
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
14
Input finished
a b a
a, b
b
q0 a
Output:
q5 “reject”
a, b
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
q4
15
Another Rejection
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
16
a, b
q5
b
q0 a
Output:
“reject”
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
17
Another Example
a a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
18
a a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
19
a a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
20
a a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
21
Input finished
a a b
a
q0
Output: “accept”
b
q1
Courtesy Costas Busch - RPI
a, b
a, b
q2
22
Rejection
b a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
23
b a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
24
b a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
25
b a b
a, b
a
q0
b
q1
Courtesy Costas Busch - RPI
a, b
q2
26
Input finished
b a b
a, b
a
q0
b
q1
a, b
q2
Output: “reject”
Courtesy Costas Busch - RPI
27
Formalities
Deterministic Finite
Accepter (DFA)
M Q, , , q0 , F
Q
q0
: set of states
: input alphabet
: transition function
: initial state q0 Q
F : set of final states F Q
Courtesy Costas Busch - RPI
28
Input Alphabet
a, b
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
29
Set of States Q
Q q0 , q1, q2 , q3 , q4 , q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
30
Initial State q0
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
31
Set of Final States F
F q4
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
32
Transition Function
:Q Q
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
33
q0 , a q1
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
34
q0 , b q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
35
q2 , b q3
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
36
Transition Function
q0
a
q1
q2
q5
q1
q5
q3
q4
q5
q5
q4
q5
b
q5
q2
q3
q5
q5
q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
37
Extended Transition Function
*or ˆ
* : Q * Q
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
38
* q0 , ab q2
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
39
* q0 , abba q4
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
40
* q0 , abbbaa q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
41
Observation: There is a walk from
with label w
q to q
* q, w q
w
q
q
w 1 2 k
q
1
2
Courtesy Costas Busch - RPI
k
q
42
Example: There is a walk from q0 to q5
with label abbbaa
* q0 , abbbaa q5
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
43
Inductive Definition
Basis
* q , q
Induction * q, w ( * (q, w), )
q
w
q1
q
* q , w q
(q1, ) q
* q, w (q1, )
* q, w q1
Courtesy Costas Busch - RPI
* q, w ( * (q, w), )
44
* q0 , ab
* (q0 , a ), b
* q0 , , a , b
q0 , a , b
q1 , b
q2
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
Courtesy Costas Busch - RPI
a, b
q4
45
Languages Accepted by DFAs
Take DFA
M
Definition:
The language LM contains
all input strings accepted by M
LM = { strings that drive
M to a final state}
Courtesy Costas Busch - RPI
46
Example
LM abba
M
a, b
q5
b
q0 a
a
a
b
q1 b q2 b q3 a
a, b
q4
accept
Courtesy Costas Busch - RPI
47
Another Example
LM , ab, abba
M
a, b
q5
b
q0 a
accept
a
a
b
q1 b q2 b q3 a
accept
Courtesy Costas Busch - RPI
a, b
q4
accept
48
Formally
For a DFA
M Q, , , q0 , F
Language accepted by
M :
LM w * : * q0 , w F
q0
w
Courtesy Costas Busch - RPI
q
q F
49
Observation
Language rejected by M :
LM w * : * q0 , w F
q0
w
Courtesy Costas Busch - RPI
q
q F
50
More Examples
LM {a b : n 0}
n
a, b
a
q0
b
q1
accept
Courtesy Costas Busch - RPI
a, b
q2
trap state
51
LM = { all strings with prefix ab }
a, b
q0
a
q1
b
a
q3
Courtesy Costas Busch - RPI
b
q2
accept
a, b
52
LM = { all strings without
substring 001 }
0
1
0,1
1
0
0
00
1
001
0
Courtesy Costas Busch - RPI
53
Regular Languages
A language L is regular if there is
a DFA M such that L LM
All regular languages form a language family
Courtesy Costas Busch - RPI
54
Examples of regular languages:
abba
, ab, abba
{a b : n 0}
{ all strings with prefix
ab }
{ all strings with prefix
ab }
n
{ all strings without substring 001 }
There exist automata that accept these
Languages (see previous slides).
Courtesy Costas Busch - RPI
55
Another Example
The language
is regular:
L awa : w a, b*
a
b
L L M
b
q0
a
q2
q3
a
b
q4
a, b
Courtesy Costas Busch - RPI
56
There exist languages which are not Regular:
Example:
L {a b : n 0}
n n
There is no DFA that accepts such a language
(we will prove this later in the class)
Courtesy Costas Busch - RPI
57
© Copyright 2026 Paperzz