Finite Automata: Costas Busch - RPI 1
Finite Automata: Costas Busch - RPI 1
Finite Automata: Costas Busch - RPI 1
Input
String
Output
Finite String
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”
Costas Busch - RPI 4
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
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”
Costas Busch - RPI 10
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
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Output:
“reject” Costas Busch - RPI 17
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 : set of states
: input alphabet
: transition function
q0 : initial state
F : set of final states
Costas Busch - RPI 28
Input Alphabet
a, b
a, b
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
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
: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
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
* : 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
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
* 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
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
Costas Busch - RPI 45
Languages Accepted by DFAs
Take DFA M
Definition:
The language L M 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
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept accept accept
Language accepted by M :
L M w * : * q0 , w F
q0 w q q F
L M w * : * q0 , w F
q0 w q q F
L M {a b : n 0}
n
a a,b
q0 b q1 a, b q2
q0 a q1 b q2
b a accept
q3 a, b
1 0 0,1
1
0 1
0 00 001
0
Costas Busch - RPI 53
Regular Languages
b a
q4
a, b
Costas Busch - RPI 56
There exist languages which are not Regular:
n n
Example: L {a b : n 0}