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 Σ → 2^{Q } next possible state belongs to power set of Q

δ: Q x ∑→Q next possible state belongs to Q.

Examples of NFA VS DFA

Prof.Fazal Rehman Shamil (Available for Professional Discussions)
1. Message on Facebook page for discussions, 2. Video lectures on Youtube 3. Email is only for Advertisement/business enquiries.