Professional Documents
Culture Documents
Finite Automata
Input Tape
String
Output
“Accept”
Finite
or
Automaton
“Reject”
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
initial accepting
state state
transition
state
Costas Busch - LSU 3
Alphabet {a , b }
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
Initial state
Costas Busch - LSU 5
Scanning the Input
a b b a
head 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 accept
a b a
Input String
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
reject
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
reject
Costas Busch - LSU 14
This automaton accepts only one string
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
To reject a string:
all the input string is scanned
and the last state is non-accepting
L , ab, abba
a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
Accept Accept Accept
state state state
Costas Busch - LSU 17
Empty Tape
Input Finished
a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept
Costas Busch - LSU 18
Another Example
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
accept
q0 b q1 a, b q2
b a b
Input String
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
reject
a a,b
q0 b q1 a, b q2
q0 q1
1
Language Accepted:
EVEN {x : x and x is even}
*
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
Example
a, b a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
Example
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Example
F q4 a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
(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
q2 q5 q3
a,b
q3 q4 q5
q4 q5 q5 q5
q5 q5 q5 a,b
b a a b
q0 a q1 b q2 b q3 a q4
Costas Busch - LSU 39
Extended Transition Function
:Q Q
* *
(q ,w ) q
*
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
Costas Busch - LSU 41
q0 , abbbaa q5
*
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
*
w 1 2 k
1 2 k
q q
states may be repeated
q w q
Costas Busch - LSU 45
Language Accepted by DFA
M
L M w : q0 , w F
* *
q0 w q q F
L M w : q0 , w F
* *
q0 w q q F
q0 q0
L (M ) { } L (M ) *
a, b
q0 a, b q1
L( M ) { }
Language of the empty string
Costas Busch - LSU 50
{a , b }
L M = { 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
Costas Busch - LSU 53
L( M ) awa : w a, b
*
a
b
b
q0 a q2 q3
b a
q1
a, b
Costas Busch - LSU 54
Regular Languages
Definition:
A language L is regular if there is
a DFA M that accepts it ( L(M ) L )
{ } { } {a, b}*
n n
L {a b : n 0}
ADDITION {x y z : x 1 , y 1 , z 1 ,
n m k
nm k}