Computational systems as diverse as vending machines, computers, and cells have something in common: They are all finite-state machines. That is, they may have an initial state, accept inputs, pass to ...