If 2 automata models (regardless of their types: DFA, NFA, NFA-Λ) are equivalent iff they recognize the same language.
Any language can be recognized by a DFA, or an NFA, or an NFA-.
NFA to DFA
Based on the subset construction method.
Suppose is a NFA accepting . There is a DFA where:
- for and
The equivalency can be proven using induction on the length of the input string.
A set of states in an NFA corresponds to a single state in the DFA, which means the DFA tracks all possible states the NFA could be in after reading an input.
NFA-Lambda to NFA
Suppose is an NFA- accepts a language . There exists a NFA that accepts the same language. Here:
and
If contains an accepting state, must be included in the accepting states of the NFA.
Steps:
- Find -closure of every state
- Build new transitions using the closure
For all states and input symbols , take the -closure. Follow -transitions. Take the -closure again. Build new transitions from to the final set of states. - Remove all transitions
- If includes an accepting state, make an accepting state in the new NFA.