Lesson 03 Introduction To Languages (DFA and RL)
Lesson 03 Introduction To Languages (DFA and RL)
Finite Automata
Finite Automata
Simple Automaton
Input
String
Output
“Accept”
Finite
or
Automaton “Reject”
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
initial final
state state
transition
state “accept”
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Output: “accept”
Courtesy Costas Busch - RPI 16
Rejection
a b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a b a
a, b
Output:
q5 “reject”
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Output:
“reject” Courtesy Costas Busch - RPI 23
Another Example
a a b
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a b
a a, b
Output: “accept”
q0 b q1 a, b q2
b a b
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
b a b
a a, b
q0 b q1 a, b q2
Output: “reject”
M Q, , , q0 , F
Q : finite set of states
: finite set of input alphabet
: transition function
q0 : initial state q0 Q
F : set of final states F Q
Courtesy Costas Busch - RPI 34
Input Alphabet
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
F q4 F Q
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
qfinal F
To reject a string:
all the input string is scanned
and the last state (qlast) is non-accepting
qlast F qlast (Q F )
Courtesy Costas Busch - RPI 39
Transition Function :Q Q
(q , x ) q
x q
q
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
(q ,w ) q
*
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
q , q
*
* q, w q
q w q
w 1 2 k
1 2 k
q q
* q0 , abbbaa q5
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
q w q1 q
* q , w q
* q, w (q1, )
(q1, ) q
* q, w ( * (q, w), )
* q, w q1
Definition:
The language LM contains
all input strings accepted by M
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
accept
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
q0 q1
1
Language Accepted:
a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
Definition:
The language LM contains
all input strings accepted by M
Language accepted by M :
LM w * : * q0 , w F
q0 w q q F
LM w * : * q0 , w F
q0 w q q F
LM {a b : n 0}
n
a a, b
q0 b q1 a, b q2
b a
q4
a, b
Courtesy Costas Busch - RPI 71
Activity # 3
LM = { all strings with prefix ab }
a, b
q0 a q1 b q2
b a accept
q3 a, b
0,1
1 0
1
0 0 00 1 001
0
1 0 0,1
1
0 1
0 00 001
0
Courtesy Costas Busch - RPI 74
Activity # 6 & 7
{a , b }
a, b
a, b
q0 q0
L(M ) { } L(M ) *
a, b
q0 a, b q0
L(M ) { }
Language of the empty string
Courtesy Costas Busch - RPI 76
There exist languages which are not Regular:
L {a b : n 0}
n n
ADDITION {x y z : x 1 , y 1 , z 1 , n m k
nm k}