Minimization of Deterministic Finite Automata (DFA)
Print this page
First   |   Last   |   Prev   |   Next
For any given DFA M accepting L we can construct the minimal state DFA accepting L by using an algorithm which uses following generic steps.
  • First, remove all the states ( of the given DFA M ) which are not accessible from the start state i.e. sates P for which there is no string s.t. . Removing these states, clearly, will not change the language accepted by the DFA.
  • Second, remove all the trap states, i.e. all states P from which there is no transition out of it.
  • Finally, merge all states which are "equivalent" or "indistinguishable". We need to define formally what is meant by equivalent or indistinguishable states; but at this point we assume that merging these states would not change the accepted language.

Inaccessible states can easily be found out by using a simple research e.g. depth first search. removing trap states are also simple. In the example, states 5 and 6 are inaccessible and hence can be removed, states 1 and 2 are equivalent and can be merged. Similarly states 3 & 4 are also equivalent and can be merged together to have the minimal DFA as produced above.

To construct the minimal DFA we need to see how to find out indistinguishable or equivalent states for merging.

we start with a definition and then proceed to find method to construct minimal state DFAs.

First   |   Last   |   Prev   |   Next