Theory of Computation - Finite state machines