Professional Documents
Culture Documents
Class 2
Class 2
1
Finite Automaton
Input
String
Output
“Accept”
Finite
or
Automaton
“Reject”
2
Transition Graph
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
initial accepting
state state
transition
state
3
Initial Configuration
Input String
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
4
Reading the Input
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
5
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
6
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
7
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
8
Input finished
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
accept
9
Rejection
a b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
10
a b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
11
a b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
12
a b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
13
Input finished
a b a
a, b
reject
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
14
Another Rejection
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
15
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
reject
16
Another Example
a a b
a a,b
q0 b q1 a, b q2
17
a a b
a a,b
q0 b q1 a, b q2
18
a a b
a a,b
q0 b q1 a, b q2
19
a a b
a a,b
q0 b q1 a, b q2
20
Input finished
a a b
a a,b
accept
q0 b q1 a, b q2
21
Rejection Example
b a b
a a,b
q0 b q1 a, b q2
22
b a b
a a,b
q0 b q1 a, b q2
23
b a b
a a,b
q0 b q1 a, b q2
24
b a b
a a,b
q0 b q1 a, b q2
25
Input finished
b a b
a a,b
q0 b q1 a, b q2
reject
26
Languages Accepted by FAs
FA M
Definition:
The language L M contains
all input strings accepted by M
27
Example
L M abba M
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
accept
28
Example
L M , ab, abba M
a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept accept accept
29
Example
L M {a b : n 0}
n
a a,b
q0 b q1 a, b q2
30
Formal Definition
Finite Automaton (FA)
M Q, , , q0 , F
Q : set of states
: input alphabet
: transition function
q0 : initial state
F : set of accepting states
31
Input Alphabet
a, b
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
32
Set of States Q
Q q0 , q1, q2 , q3 , q4 , q5
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
33
Initial State q0
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
34
Set of Accepting States F
F q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
35
Transition Function
:Q Q
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
36
q0 , a q1
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
37
q0 , b q5
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
38
q2 , b q3
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
39
Transition Function
a b
q0 q1 q5
q1 q5 q2
q2 q5 q3
q3 q4 q5 a, b
q4 q5 q5
q5 q5 q5 q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
40
Extended Transition Function *
* : Q * Q
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
41
* q0 , ab q2
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
42
* q0 , abba q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
43
* q0 , abbbaa q5
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
44
Observation: if there is a walk from q to q
with label w then
* q , w q
q w q
w 1 2 k
1 2 k
q q
45
Example: There is a walk from q0 to q5
with label abbbaa
* q0 , abbbaa q5
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
46
Recursive Definition
* q, q
* q, w ( * (q, w), )
q w q1 q
* q , w q
* q, w (q1, )
(q1, ) q
* q, w ( * (q, w), )
* q, w q1
47
* q0 , ab
* (q0 , a ), b
* q0 , , a , b
q0 , a , b
q1 , b
q2 a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
48
Language Accepted by FAs
For a FA M Q, , , q0 , F
Language accepted by M :
L M w * : * q0 , w F
q0 w q q F
49
Observation
Language rejected by M :
L M w * : * q0 , w F
q0 w q q F
50
Example
L M = { all strings with prefix ab }
a, b
q0 a q1 b q2
b a accept
q3 a, b
51
Example
L M = { all strings without
substring 001 }
1 0 0,1
1
0 1
0 00 001
0
52
Example
L( M ) awa : w a, b *
a
b
b
q0 a q2 q3
b a
q4
a, b
53
Regular Languages
Definition:
A language L is regular if there is
FA M such that L L M
Observation:
All languages accepted by FAs
form the family of regular languages
54
Examples of regular languages:
n n
Example: L {a b : n 0}
56