Finite State Machines

From TRCCompSci - AQA Computer Science
Revision as of 15:34, 3 January 2017 by Charley (talk | contribs) (Representing Finite State Machines)
Jump to: navigation, search

This section needs expansion.
You can help by adding to it.

Definition

A finite state machine is a way of breaking down a problem into several mutually independent states that are only able to change when a transition occurs. A transition occurs when an input is given. The machine can only be in one state at a time.

A finite state machine is not a physical machine. It is an abstract representation of an algorithm, showing how something changes in response to inputs or events.


Finite State Automaton

A finite state automaton is a finite state machine which has no output. It has a start state and a set of end/accept states. If the automaton can reach an end state then the input is accepted.


Representing Finite State Machines

Finite state machines can be represented as diagrams.

File:FSMnotationtable3.jpg

Another way of representing Finite State Machines is through State Transition Tables. A State Transition Table lists all possible current states, all valid inputs that that particular state may receive, as well as what state the resulting transition leads to.

Mealy Machines

A finite state machine with an output is called a Mealy Machine. It will output a value based on the input.