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, b
b a a b
q0 a q1 b q2 b q3 a q4
initial final
state state
transition
state “accept”
Courtesy Costas Busch - RPI 9
Alphabet {a,b }
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a b b a
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a b b a
a, b
q5
a, b
b a 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, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a b a
a, b
Output:
q5 “reject”
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
q5
a, b
b a 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
b a, b
q0 q1 q2
a a, b
b a, b
q0 q1 q2
a a, b
b a, b
q0 q1 q2
a a, b
b a, b
q0 q1 q2
a a b
a a, b
Output: “accept”
b a, b
q0 q1 q2
b a b
a a, b
b a, b
q0 q1 q2
a a, b
b a, b
q0 q1 q2
a a, b
b a, b
q0 q1 q2
a a, b
b a, b
q0 q1 q2
b a b
a a, b
b a, b
q0 q1 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
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
F q4 F Q
a, b
q5
a, b
b a 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-acceptin
qlast F qlast (Q F )
Courtesy Costas Busch - RPI 39
Transition Function : Q Q
(q, x ) q
x
q q
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
*
(q,w ) q
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
q, q
*
* q, w q
q w q
w 1 2 k
1 2 k
q q
q5
a a, b
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 languageLM contains
M
all input strings accepted by
LM M
= { strings that drive to a final
state}
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
accept
a, b
q5
a, b
b a a b
q0 a q1 b q2 b q3 a q4
q0 q1
1
Language Accepted:
*
EVEN {x : x and | x | is even}
{, 11, 1111
, 111111
, }
Courtesy Costas Busch - RPI 64
Example # 3
LM , ab, abba M
a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
Definition:
The languageLM contains
M
all input strings accepted by
LM M
= { strings that drive to a final
state}
M
Language accepted by :
q0 w q q F
q0 w q q F
n
LM {a b : n 0}
a a, b
b a, b
q0 q1 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
here exist languages which are not Regular:
n n
L{a b : n 0}
n m k
ADDITION {x y z : x 1 , y 1 , z 1 ,
n m k }