In the
theory of computation
In theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree (e.g., ...
, a Moore machine is a
finite-state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number ...
whose current output values are determined only by its current
state
State may refer to:
Arts, entertainment, and media Literature
* ''State Magazine'', a monthly magazine published by the U.S. Department of State
* ''The State'' (newspaper), a daily newspaper in Columbia, South Carolina, United States
* '' Our ...
. This is in contrast to a
Mealy machine
In the theory of computation, a Mealy machine is a finite-state machine whose output values are determined both by its current state and the current inputs. This is in contrast to a Moore machine, whose output values are determined solely by its ...
, whose output values are determined both by its current state and by the values of its inputs. Like other finite state machines, in Moore machines, the input typicall
influences the next state Thus the input may indirectly influence subsequent outputs, but not the current or immediate output. The Moore machine is named after
Edward F. Moore, who presented the concept in a 1956 paper, “
Gedanken-experiments on Sequential Machines.”
Formal definition
A Moore machine can be defined as a
6-tuple consisting of the following:
* A finite set of
states
* A start state (also called initial state)
which is an element of
* A finite set called the input
alphabet
An alphabet is a standardized set of basic written graphemes (called letters) that represent the phonemes of certain spoken languages. Not all writing systems represent language in this way; in a syllabary, each character represents a s ...
* A finite set called the output