Another NFA Example
0
q0
1
q1
0, 1 q2
Fall 2004
COMP 335
1
Language accepted
L(M ) = {λ, 10, 1010, 101010, ...}
= {10} *
0
q0
1
q1
Fall 2004
COMP 335
0, 1 q2
(redundant
state)
2
Remarks:
•The symbol never appears on the
input tape
•Simple automata:
Fall 2004
M1
q0
M2
L(M1 ) = {}
L(M 2 ) = {λ}
q0
COMP 335
3
•NFAs are interesting because we can
express languages easier than DFAs
NFA
q0
a
DFA
M1
q2
q1
a
q0
L( M1 ) = {a}
Fall 2004
a
M2
a
q1
L( M 2 ) = {a}
COMP 335
4
Formal Definition of NFAs
M Q, , , q0 , F
Q:
Set of states, i.e.
q0 , q1, q2
:
Input aphabet, i.e.
a, b
:
Transition function
q0 : Initial state
F:
Fall 2004
Final states
COMP 335
5
Transition Function
q0 , 1 q1
0
q0
1
q1
0, 1 q
2
Fall 2004
COMP 335
6
(q1,0) {q0 , q2 }
0
q0
1
q1
0, 1 q
2
Fall 2004
COMP 335
7
(q0 , ) {q0 , q2}
0
q0
1
q1
0, 1 q
2
Fall 2004
COMP 335
8
(q2 ,1)
0
q0
1
q1
0, 1 q
2
Fall 2004
COMP 335
9
Extended Transition Function *
* q0 , a q1
q5
q4
a
q0
a
a
b
q1
q2
q3
Fall 2004
COMP 335
10
* q0 , aa q4 , q5
q5
q4
a
q0
a
a
b
q1
q2
q3
Fall 2004
COMP 335
11
* q0 , ab q2 , q3 , q0
q5
q4
a
q0
a
a
b
q1
q2
q3
Fall 2004
COMP 335
12
Formally
q j * qi , w : there is a walk from qi to q j
with label
w
w
qi
qj
w 1 2 k
qi
Fall 2004
1
k
2
COMP 335
qj
13
The Language of an NFA M
F q0 ,q5
q5
q4
a
q0
a
a
b
q1
q2
q3
* q0 , aa q4 , q5
aa L(M )
F
Fall 2004
COMP 335
14
F q0 ,q5
q5
q4
a
q0
a
a
b
q1
q2
q3
* q0 , ab q2 , q3 , q0
F
Fall 2004
COMP 335
ab LM
15
F q0 ,q5
q5
q4
a
q0
a
a
b
q1
q2
q3
* q0 , abaa q4 , q5
Fall 2004
abaa L(M )
F
COMP 335
16
F q0 ,q5
q5
q4
a
q0
a
a
b
q1
q2
q3
* q0 , aba q1
Fall 2004
F
COMP 335
aba LM
17
q5
q4
a
q0
a
a
b
q1
q2
q3
LM ab* {ab}*{aa}
Fall 2004
COMP 335
18
Formally
The language accepted by NFA
M is:
LM w1, w2 , w3 ,...
where
* (q0 , wm ) {qi , q j ,..., qk ,}
and there is some
Fall 2004
qk F (final state)
COMP 335
19
w LM
* (q0 , w)
qi
w
q0
qk
w
w
Fall 2004
COMP 335
qk F
qj
20
NFA accept Regular Languages
Fall 2004
COMP 335
21
Equivalence of FA
Definition:
An FA
M1 is equivalent to FA M 2
if LM1 LM 2
that is if both accept the same language.
Fall 2004
COMP 335
22
Example of equivalent FA
NFA
LM1 {10} *
0
q0
1
DFA
LM 2 {10} *
M1
q1
M2
0,1
1
q2
0
q0
1
q1
0
Fall 2004
COMP 335
23
We will prove:
Languages
accepted
by NFA
Regular
Languages
That is, NFA and DFA have
the same computation power
Fall 2004
COMP 335
Languages
accepted
by DFA
24
Step 1
Languages
accepted
by NFA
Regular
Languages
Proof: Every DFA is trivially an NFA
Any language L accepted by a DFA
is also accepted by an NFA
Fall 2004
COMP 335
25
Step 2
Languages
accepted
by NFA
Regular
Languages
Proof: Any NFA can be converted into an
equivalent DFA
Any language accepted by an NFA
is also accepted by a DFA
Fall 2004
COMP 335
26
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
M
q0
Fall 2004
COMP 335
27
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
M
q0
Fall 2004
a
q1,q2
COMP 335
28
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
M
q0
a
q1,q2
b
Fall 2004
COMP 335
29
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
a
M
q0
a
q1,q2
b
Fall 2004
COMP 335
30
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
M
a
b
q0
a
q1,q2
b
Fall 2004
COMP 335
31
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
M
a
b
q0
a
q1,q2
b
a, b
Fall 2004
COMP 335
32
Convert NFA to DFA
a
NFA M
a
q
q
q
0
1
2
b
DFA
M
LM L(M )
a
b
q0
a
q1,q2
b
a, b
Fall 2004
COMP 335
33
NFA to DFA: Remarks
We are given an NFA
M
We want to convert it
into an equivalent DFA
That is,
Fall 2004
M
LM L(M )
COMP 335
34
If the NFA has states
q0 , q1, q2 ,...
Then the DFA has states in the powerset
, q0 , q1, q1 , q2 ,....
Fall 2004
COMP 335
35
Procedure NFA to DFA
1.
Fall 2004
Initial state of NFA:
q0
Initial state of DFA:
q0
COMP 335
36
NFA
Example
a
M
q0
a
q1
q2
b
DFA
M
q0
Fall 2004
COMP 335
37
Procedure NFA to DFA
2. For every DFA’s state {qi , q j ,..., qm }
Compute in the NFA
* qi , a ,
* q j , a ,
}
{qi , qj ,..., qm
...
Add the following transition to the DFA
}
{qi , q j ,..., qm }, a {qi , qj ,..., qm
Fall 2004
COMP 335
38
NFA
Example
a
M
q0
a
q1
q2
b
* (q0 , a) {q1, q2}
DFA
M
q0
a
q1,q2
q0 , a q1, q2
Fall 2004
COMP 335
39
Procedure NFA to DFA
Repeat step 2 for all symbols in the alphabet
∑, until no more transitions can be added.
Fall 2004
COMP 335
40
NFA
Example
a
M
q0
a
q1
q2
b
DFA
M
a
b
q0
a
q1,q2
b
a, b
Fall 2004
COMP 335
41
Procedure NFA to DFA
3. For any DFA state: {qi , q j ,..., qm }
If some
q j is a final state in the NFA
Then, {qi , q j ,..., qm }
is a final state in the DFA
Fall 2004
COMP 335
42
NFA
Example
a
M
q0
a
q1
q2
q1 F
b
DFA
M
a
b
q0
a
q1,q2
q1, q2 F
b
a, b
Fall 2004
COMP 335
43
Take NFA
Theorem
M
Apply the procedure to obtain DFA
Then,
M
M and M are equivalent:
LM LM
Fall 2004
COMP 335
44
Proof
LM LM
LM LM
Fall 2004
AND
COMP 335
LM LM
45
First we show:
LM LM
Take arbitrary string : w L(M )
We will prove:
Fall 2004
w L(M )
COMP 335
46
w L(M )
M:
w
q0
qf
w 1 2 k
M:
Fall 2004
q0
1
k
2
COMP 335
qf
47
We will show that if
w L(M )
w 1 2 k
M:
M:
q0
1
2
k
1
2
k
{q0 }
Fall 2004
w L(M )
COMP 335
qf
{q f ,}
48
More generally, we will show that if in
(arbitrary string)
M:
q0
M:
a1
{q0 }
Fall 2004
a1
M:
v a1a2 an
qi
a2
qj
ql
an
qm
an
a2
{qi ,} {q j ,}
COMP 335
{ql ,} {qm ,}
49
Proof by induction on
The basis case:
M:
v a1
q0
M:
a1
qi
a1
{q0 }
Fall 2004
|v|
COMP 335
{qi ,}
50
Induction hypothesis:
1 | v | k
v a1a2 ak
M:
q0
M:
a1
{q0 }
Fall 2004
a1
qi
a2
qj
qc
ak
qd
ak
a2
{qi ,} {q j ,}
COMP 335
{qc ,} {qd ,}
51
Induction Step:
| v | k 1
v a1a2 ak ak 1 vak 1
v
M:
q0
a1
qi
a2
qj
qc
ak
qd
v
M:
a1
{q0 }
Fall 2004
ak
a2
{qi ,} {q j ,}
v
COMP 335
{qc ,} {qd ,}
52
Induction Step:
| v | k 1
v a1a2 ak ak 1 vak 1
v
M:
q0
a1
qi
a2
qj
qc
ak
qd
ak 1
qe
v
M:
a1
{q0 }
Fall 2004
ak
a2
{qi ,} {q j ,}
v
COMP 335
ak 1
{qc ,} {qd ,}
{qe ,}
53
Therefore if
w L(M )
w 1 2 k
M:
M:
q0
1
2
k
1
2
k
{q0 }
Fall 2004
w L(M )
COMP 335
qf
{q f ,}
54
We have shown:
LM LM
We also need to show:
LM LM
(proof is similar)
Fall 2004
COMP 335
55
© Copyright 2026 Paperzz