NFA to DFA Conversion

What is DFA?

DFA is one of the classifications of Finite Automata.

Where each input symbol, one can determine the state to which the machine will move. As we can determine the state of the machine so, it is called a Deterministic Automaton. It can have a finite number of states.

A finite state machine that accepts or rejects finite strings of symbols and can only produce a single computation of the automaton for each input string.
A DFA can be represented by a 5-tuple (Q, ∑, δ, q0, F) where −

Q is a finite set of states.
∑ is a finite set of symbols called the alphabet.
δ is the transition function where δ: Q × ∑ → Q
q0 is the initial state from where any input is processed (q0 ∈ Q).
F is a set of final state/states of Q (F ⊆ Q).


What is NFA?

A Non-deterministic Finite Automaton is like a deterministic finite automaton, except you have the possibility of going to more than one state from each current state.


Difference between NFA and DFA

DFANFA
0For Every symbol of the alphabet, there is only one state transition in DFA.We do not need to specify how does the NFA react according to some symbol.
 1DFA cannot use Empty String transitionNFA can use Empty String transition.
2DFA can be understood as one machine.NFA can be understood as multiple little machines computing at the same time.
3 DFA will reject the string if it end at other than accepting state.If all of the branches of NFA dies or rejects the string, we can say that NFA reject the string.
4DFA is more difficult to construct.NFA is easier to construct.

Examples

Regex :

NFA

DFA