Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Fall 2006 Costas Busch - RPI 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
Fall 2006 Costas Busch - RPI 5
Scanning the Input
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 b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
accept
Fall 2006 Costas Busch - RPI 9
A Rejection Case
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 a
a, b
reject
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Tape is empty
( )
Input Finished
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
reject
Fall 2006 Costas Busch - RPI 14
Language Accepted: L abba
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
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
Input Finished a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept
Fall 2006 Costas Busch - RPI 18
Another Example
a a, b
q0 b q1 a, b q2
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
b a b
a a, b
q0 b q1 a, b q2
reject
a a, b
q0 b q1 a, b q2
q0 q1
1
Language Accepted:
M Q, , , q0 , F
Q : set of states
: input alphabet
: transition function
q0 : initial state
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
Fall 2006 Costas Busch - RPI 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
Fall 2006 Costas Busch - RPI 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
Fall 2006 Costas Busch - RPI 45
Language Accepted by DFA
Language of DFA M:
it is denoted as L M and contains
all the strings accepted by M
LM w : q0 ,w F
* *
q0 w q q F
q0 q0
L(M ) { } L (M ) *
a, b
q0 a, b q0
L(M ) { }
Language of the empty string
Fall 2006 Costas Busch - RPI 50
{a , b }
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
Fall 2006 Costas Busch - RPI 53
L(M ) awa : w a , b
*
a
b
b
q0 a q2 q3
b a
q4
a, b
Fall 2006 Costas Busch - RPI 54
Regular Languages
Definition:
A language L is regular if there is
a DFA M that accepts it ( L(M ) L )
{ } { } {a , b } *
L {a b : n 0}
n n
ADDITION {x y z : x 1 , y 1 , z 1 ,
n m k
nm k}