"open learning: finite state machines"

What I understand of finite state machines is that they are graphical representations used to represent states in computing.

States are represented by circles. Arrows are drawn between states that represent the input symbols received. One input symbol can be received per transaction.

A terminating state, or a state we can finish on, is represented by a double circle.

Aduni.org provides excellent free, creative commons-licensed lectures on finite state machines which I would highly recommend.

They're also on YouTube.

Things I've noted about finite state machines A program cannot be made which looks at code and sees if it can go into an infinite loop - it cannot be computed! What an FSM can do: anything that can be solved by remembering a finite amount of information. What an FSM can't do: anything that involves counting.