print · source · login   

Moore Machine

A Moore machine is a finite-state machine whose output values are determined solely by its current state. A Moore machine is a structure consisting of states with transitions, labelled with actions, between them. The states model the system states; the labelled transitions model the input actions that a system can perform. Each state is labeled with an output. Thus a transition is labeled by an input and a state is labeled by an output.

Formal definition


A Moore machine can be defined as a 6-tuple (S,s0,∑,Λ,T,G) consisting of the following:

  • a finite set of states S
  • a start state (also called initial state) s0 which is an element of S
  • a finite set called the input alphabet
  • a finite set called the output alphabet Λ
  • a transition function T : S x ∑ ➔ S mapping a state and the input alphabet to the next state
  • an output function G : S ➔ Λ mapping each state to the output alphabet

A Moore machine can be regarded as a restricted type of finite-state transducer.

Above definition shows that by defining a transition and output function a Moore machine by default is assumed to be deterministic and input enabled.