Finite Automata
Conversion of NFA to DFA
Conversion of NFA to DFA
Let M2 = < Q2 ,
,
q2,0 ,
2 , A2 > be an
NFA
that recognizes a language L.
Then the DFA M
= < Q,
,
q0 ,
, A > that satisfies the following conditions recognizes L:
Q = 2Q2 , that is the set of all subsets of Q2 ,
q0 = { q2,0 } ,
( q, a ) =
for each state q in Q and each symbol a in
and
A = { q
Q | q
A2
}
To obtain a DFA M = < Q,
,
q0 ,
, A > which accepts the same language as the given
NFA
M2 = < Q2 ,
,
q2,0 ,
2 , A2 > does,
you may proceed as follows:
Initially Q =
.
First put { q2,0 } into Q. { q2,0 } is the initial state of the DFA M.
Then for each state q in Q do the following:
add the set
, where
here is that of NFA M2,
as a state to Q if it is not already in Q for each symbol a
in
.
For this new state, add
( q, a ) =
to
, where the
on the right hand side
is that of NFA M2.
When no more new states can be added to Q, the process terminates. All the states of Q that contain
accepting states of M2 are accepting states of M.
Note: The states that are not reached from the initial state are not included in Q obtained by this procedure.
Thus the set of states Q thus obtained is not necessarily equal to 2Q2 .
Example 1: Let us convert the following NFA
to DFA.
Initially Q is empty.
Then since the initial state of the DFA is {0} , {0} is added to Q.
Since
2( 0 , a ) = { 1 , 2 } ,
{ 1 , 2 } is added to Q and
( { 0 } , a ) =
{ 1 , 2 } .
Since
2( 0 , b ) =
,
is added to
Q and
( { 0 } , b ) =
.
At this point Q = { {0} , { 1 , 2 },
} .
Then since { 1 , 2 } is now in Q, the transitions from { 1 , 2 } on symbols a and b are computed.
Since
2( 1 , a ) = { 1 , 2 } , and
2( 2 , a ) =
,
( { 1 , 2 } , a ) = { 1 , 2 } .
Similarly
( { 1 , 2 } , b ) = { 1 , 3 } . Thus { 1 , 3 } is added to Q .
Similarly
( { 1 , 3 } , a ) = { 1 , 2 } and
( { 1 , 3 } , b ) =
.
Thus
no new states are added to Q . Since the transitions from all states of Q have been
computed and no more states are added to Q, the conversion process stops here.
Note that there are no states of Q2 in
.
Hence there are no states that M2 can go to from
.
Hence
(
, a ) =
(
, b ) =
.
For the accepting states of M, since states 0 and 1 are the accepting states of the NFA, all the states of
Q that contain 0 and/or 1 are accepting states. Hence { 0 }, { 1 , 2 } and { 1 , 3 } are the accepting
states of M.
The DFA thus obtained is shown below.
Example 2: Similarly the NFA
is converted to the following DFA:
Test Your Understanding of Conversion of NFA to DFA
Indicate which of the following statements are correct and which are not.
Click Yes or No , then Submit.
There are two sets of questions.
Answer the questions below on converting the following NFA
to DFA.
The following notation is used in the questions:
: \delta
Next -- Equivalence of NFA-
andf NFA
Back to Study Schedule
Back to Table of Contents