Minimization of Deterministic Finite Automata