NonDeterministic Finite Automata
NonDeterministic Finite Automata (NDFA / NFA) is an automata in which for some current state and input symbol, there exists more than one next output states. 
It is also known as NonDeterministic Finite Accepter (NFA).
Formal Definition
NonDeterministic Finite Automata is defined by the quintuple
M = (Q, ∑, δ, q_{0}, F)
where
 Q = finite set of states
 ∑ = nonempty finite set of symbols called as input alphabets
 δ : Q x ∑ → 2^{Q} is a total function called as transition function
 q0 ∈ Q is the initial state
 F ⊆ Q is a set of final states
Example of NonDeterministic Finite Automata Without Epsilon
Following automata is an example of NonDeterministic Finite Automata without epsilon
The above NFA can be defined in form of five tuples as
{ {A, B, C, D, E, F}, {a, b, c}, δ, A, {D, F} }
where
 {A, B, C, D, E, F} refers to the set of states
 {a, b, c} refers to the set of input alphabets
 δ refers to the transition function
 A refers to the the initial state
 {D, F} refers to the set of final states
Transition function δ is defined as
 δ (A, a) = B
 δ (A, a) = E
 δ (B, b) = C
 δ (C, c) = D
 δ (E, b) = F
 δ (F, c) = E
Transition Table for the above NonDeterministic Finite Automata is
States / Alphabets  a  b  c 
A  {B, F}  –  – 
B  –  C  – 
C  –  –  D 
D  –  –  – 
E  –  F  – 
F  –  –  E 
Example of NonDeterministic Finite Automata With Epsilon
Following automata is an example of NonDeterministic Finite Automata with epsilon
The above NFA can be defined in form of five tuples as
{ {A, B, C}, {0, 1}, δ, A, {A} }
where
 {A, B, C} refers to the set of states
 {0, 1} refers to the set of input alphabets
 δ refers to the transition function
 A refers to the the initial state
 {A} refers to the set of final states
Transition function δ is defined as
 δ (A, 1) = B
 δ (A, ∈) = C
 δ (B, 0) = A
 δ (B, 0) = C
 δ (B, 1) = C
Transition Table for the above NonDeterministic Finite Automata is
States / Alphabets  0  1  ∈ 
A  –  B  C 
B  {A, C}  C  – 
C  –  –  – 
Dead Configuration or Trap State
In NonDeterministic Finite Automata,
 The result of a transition function may be empty.
 In such a case, automata gets stopped forcefully after entering that configuration.
 This type of configuration is known as dead configuration.
 The string gets rejected after entering the dead configuration.
Equivalence of DFA and NFA
Two finite accepters are said to be equal in power if they both accepts the same language. DFA and NFA are both exactly equal in power. 
Example
Consider a language L(M) = { (10)^{n} : n >= 0 }
Equivalent NFA for the language L(M) is
Equivalent DFA for the language L(M) is
 Both the above automata accepts the same language L(M).
 Thus, both are equal in power.
Important Points
It is important to note the following points

Acceptance by NFA
A string ‘w’ is said to be accepted by a NFA if there exists at least one transition path on which we start at initial state and ends at final state. δ* (q_{0}, w) = F 
Example
Consider the following NFA
For the string w = ab,
 There exists two transition paths.
 One transition path starts at initial state and ends at final state.
 Therefore, string w = ab is accepted by the NFA.
To gain better understanding about NonDeterministic Finite Automata,
Next ArticleConverting NFA to DFA
Get more notes and other study material of Theory of Automata and Computation.
Watch video lectures by visiting our YouTube channel LearnVidFun.