Professional Documents
Culture Documents
Finite Automata
Nondeterministic Finite Accepter (NFA)
q1 a q2
a
q0
a
q3
q1 a q2 No transition
a
q0
a
q3 No transition
Two choices q1 a q2
a
q0
a
q3
a a
q1 a q2
a
q0
a
q3
a a
q1 a q2
a
q0
a
q3
a a
q1 a q2
a
q0
a
q3
a a
All input is consumed
q1 a q2 “accept”
a
q0
a
q3
a a
q1 a q2
a
q0
a
q3
a a
q1 a q2
a
q0
a
q3
a a
q1 a q2
a
q0
a
No transition:
q3
the automaton hangs
a a
Input cannot be consumed
q1 a q2
a
q0
a
q3 “reject”
AND
all the input is consumed and the automaton
is in a final state
“accept”
q1 a q2 q1 a q2
a a
q0 q0
a a
q3 q3 “reject”
because this
computation
accepts aa
Courtesy Costas Busch - RPI 15
Rejection example
q1 a q2
a
q0
a
q3
q1 a q2
a
q0
a
q3
a
“reject”
q1 a q2
a
q0
a
q3
q1 a q2
a
q0
a
q3
q1 a q2
a
q0
a
q3
q1 a q2
a
q0
a
q3 “reject”
OR
“reject”
q1 a q2 a
q1 q2
a a
q0 q0
a a
q3
“reject” q3
a a a
q1 a q2
a
q0
a
q3
a a a
q1 a q2
a
q0
a
q3
a a a
q1 a q2
a
q0 No transition:
a
the automaton hangs
q3
a a a
Input cannot be consumed
q1 a q2 “reject”
a
q0
a
q3
a a a
q1 a q2
a
q0
a
q3
a a a
q1 a q2
a
q0
a
q3
a a a
q1 a q2
a
q0
a
No transition:
q3
the automaton hangs
a a a
Input cannot be consumed
q1 a q2
a
q0
a
q3 “reject”
“reject”
q1 a q2 q1 a q2
a a
q0 q0
a a
q3 q3 “reject”
q1 a q2
a
q0
a
q3
q0 a q1 q2 a q3
q0 a q1 q2 a q3
q0 a q1 q2 a q3
a a
q0 a q1 q2 a q3
q0 a q1 q2 a q3
a a
“accept”
q0 a q1 q2 a q3
String aa is accepted
Courtesy Costas Busch - RPI 39
Rejection Example
a a a
q0 a q1 q2 a q3
q0 a q1 q2 a q3
a a a
q0 a q1 q2 a q3
q0 a q1 q2 a q3
No transition:
the automaton hangs
Courtesy Costas Busch - RPI 43
Input cannot be consumed
a a a
“reject”
q0 a q1 q2 a q3
q0 a q1 q2 a q3
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 46
a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 47
a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 48
a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 49
a b
“accept”
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 50
Another String
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 51
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 52
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 53
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 54
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 55
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 56
a b a b
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 57
a b a b
“accept”
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 58
Language accepted
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 59
Another NFA Example
0
q0 q1 0, 1 q2
1
Courtesy Costas Busch - RPI 60
Language accepted
•Simple automata:
M1 M2
q0 q0
q0 : Initial state
F : Final states
Courtesy Costas Busch - RPI 63
Transition Function
q , x q1, q2,, qk
q1
x resulting states with
q x
q1 following one transition
x
with symbol x
qk
Courtesy Costas Busch - RPI 64
Transition Function
q0 , 1 q1
0
q0 q1 0, 1 q
2
1
Courtesy Costas Busch - RPI 65
(q1,0) {q0 , q2}
0
q0 q1 0, 1 q
2
1
Courtesy Costas Busch - RPI 66
(q0 , ) {q0 , q2}
0
q0 q1 0, 1 q
2
1
Courtesy Costas Busch - RPI 67
(q2 ,1)
0
q0 q1 0, 1 q
2
1
Courtesy Costas Busch - RPI 68
Activity
Time
Is the Transition Function for NFA infinite?
Define its Domain X Range..
Extended Transition Function *
* q0 , a q1
q4 q5
a a
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 70
* q0 , aa q4 , q5
q4 q5
a a
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 71
* q0 , ab q2 , q3 , q0
q4 q5
a a
q0 a q1 b q2 q3
Courtesy Costas Busch - RPI 72
Special case:
q q ,
*
qi w qj
w 1 2 k
1 2 k
qi qj
q0
qk qk F
w
w qj