Subset Theorem:
Theorem: Let L be a set accepted by non-deterministic finite automation. Then
there exists a deterministic finite automation that accepts L.
OR
Prove that "A language L is accepted by some DFA if and only if L is accepted
by some NFA". AU: Dec.-15, Marks 10, AU: May-05, Dec.-14, Marks 10
Proof :Let
M = (Q, Σ, δ, q0, F) be an NFA for language L. Then define DFA M' such that,
M' = (Q', Σ`, δ', q0`, F')
The states of M' are all the subset of M'. The Q'=2 Q.
F' be the set of all the final states in M.
The elements in Q' will be denoted by [q 1, q2, q3, ... qi] and the elements in Q are
denoted by {q0, q1, q2, … }The [q1, q2, ... qi] will be assumed as one state in Q' if
in the NFA q0 is a initial state it is denoted in DFA as q0` = [q0]. We define,
δ' ([q1, q2, q3, … qi], a) = [P1, P2, P3, ... Pj]
if and only if,
8({q1, q2 ,q3, ....qi}, a) = {P1, P2, P3, …. Pj}
This means that whenever in NFA, at the current states (q1, q2, q3, ...qi} if we get
input a and it goes to the next states [P1, P2, ... Pj} then while constructing DFA
for it the current state is assumed to be [q1, q2, q3, … qi, a]. At this state, the input
is a and the next is assumed to be [P1, P2, ... Pj]. On applying δ function on each
of the states q1, q2, q3, ...qi the new states may be any of the states from [P 1, P2, ...
Pj]. The theorem can be proved with the induction method by assuming length of
input string x
δ' (q0, x) = [q1, q2, ... qi].
if and only if,
δ (q0, x) = {q1, q2, q3, ... qi}
Basis: If length of input string is 0
i.e. |x| = 0, that means x is ε then q0` = [q0]
Induction: If we assume that the hypothesis is true for the input string of length
m or less than m. Then if x a is a string of length m+1. Then the function δ' could
be written as,
δ' (q0, xa) = δ' (δ' (q0, x), a)
δ' (q0, x) = [P1, P2, … Pj]
if and only if,
δ (q0, x) = {P1, P2, P3, ... Pj}
By definition of δ'
δ' ([P1, P2, … Pj], a) = [r1, r2, .... rk]
if and only if,
δ ({P1, P2, … Pj} a) = {r1, r2, ... rk}
Thus
δ' (q0, x a) = [r1, r2, .... rk]
if and only if
δ (q0, x a) = {r1, r2, ... rk}
is shown by inductive hypothesis.
Thus L (M) = L (M')
With the help of this theorem, let us try to solve few examples.
Conversion from NFA to DFA
We will discuss the method of converting NFA to its equivalent DFA.
Let, M = (Q, Σ, δ, q0, F) is a NFA which accepts the language L(M). There should
be equivalent DFA denoted by M' = (Q', Σ`, δ', q0`, F') such that L(M) = L(M').
The conversion method will follow following steps -
1) The start state of NFA M will be the start for DFA M'. Hence add q0 of NFA
(start state) to Q'. Then find the transitions from this start state.
2) For each state [q1, q2, q3, ... qi] in Q' the transitions for each input symbol Σ can
be obtained as,
i) δ' ([q1,q2 ...qi], a) = δ (q1, a) U δ (q2, a) U .........(qi, a)
= [q1, q2, …. qk ] may be some state.
ii) Add the state [q1, q2, .... qk] to DFA if it is not already added in Q'.
iii) Then find the transitions for every input symbol from Σ for state [q1, q2, ....,qk ].
If we get some state [q 1, q2, ... qn ] which is not in Q' of DFA then add this state to
Q`.
iv) If there is no new state generating then stop the process after finding all the
transitions.
3) For the state [q1, q2, …. qn] ϵ Q' of DFA if any one state qi is a final state of
NFA then [q1, q2,......qn ] becomes a final state. Thus the set of all the final states
ϵ F' of DFA.