deterministc_finite_automaton