NFA have rules similar to those of DFA but have some differences. Some basic difference are mentioned below.
NFA | DFA |
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
