finite automata overview 9924961