Notes 5
Notes 5
Notes 5
Unit I
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:
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 .
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}.
Note that there are no states of Q2 in . Hence there are no states that M2 can go to from .
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.