NFA have rules similar to those of DFA but have some differences. Some basic difference are mentioned below.
|NFA stands for Nondeterministic Finite Automata.
|DFA stands for Deterministic Finite Automata.
|Its not mandatory to generate transition for each alphabet in the language from a given state to its final state
|Its mandatory to generate transition for each alphabet in the language from a given state to its final state
|From one state, many transitions of one alphabet can move to different states.
|From one state, only one transition of one alphabet can be move to one state.
|it is not fixed that with a specific input where to go next on which state.
|it is fixed that with a specific input where to go next on which state.
|NFA can use Empty String transition.
|DFA cannot use Empty String transition.
|Works like multiple small machines working at the same time.
|Works like one machine working at a time.
|NFA is easier to construct
|DFA is more strict with rules and so difficult to construct
|Time required for reading an input string is more.
|Time required for reading an input string is less.
|Not all NFA are DFA
|All DFA are NFA
|δ: Q X Σ → 2Q next possible state belongs to power set of Q
| δ: Q x ∑→Q next possible state belongs to Q.
Examples of NFA VS DFA