# Moore machine

﻿
Moore machine

In the theory of computation, a Moore machine is a finite-state machine, whose output values are determined solely by its current state.

## Name

The Moore machine is named after Edward F. Moore, who presented the concept in a 1956 paper, “Gedanken-experiments on Sequential Machines.”[1]

## 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 × Σ → S) mapping a state and the input alphabet to the next state
• an output function (G : S → Λ) mapping each state to the output alphabet

The Moore machine is a finite state transducer.

## Visual representation

### Table

State transition table is a table showing relation between an input and a state.

### Diagram

The state diagram for a Moore machine or Moore diagram is a diagram that associates an output value with each state.

## Comparison

Output values :

• in a Mealy machine are determined both by its current state and by the values of its inputs
• in a Moore machine are determined solely by its current state.

The number of states in a Moore machine will be greater than or equal to the number of states in the corresponding Mealy machine. This is due to the fact that each transition in a Mealy machine can be associated with a corresponding, additional state mapping the transition to a single output in the Moore machine, hence turning a possibly partial machine into a complete machine.

The diagram :

• for a Moore machine associates an output value with each state
• for a Mealy machine associates an output value with each transition edge

## Examples

Types according to number of inputs/outputs.

### Simple

Simple Moore machine have one input and one output:

• edge detector using XOR
• clocked sequential systems ( a restricted form of Moore machine where the state changes only when the global clock signal changes )

Most digital electronic systems are designed as clocked sequential systems. Clocked sequential systems are a restricted form of Moore machine where the state changes only when the global clock signal changes. Typically the current state is stored in flip-flops, and a global clock signal is connected to the "clock" input of the flip-flops. Clocked sequential systems are one way to solve metastability problems. A typical electronic Moore machine includes a combinational logic chain to decode the current state into the outputs (lambda). The instant the current state changes, those changes ripple through that chain, and almost instantaneously the outputs change (or don't change). There are design techniques to ensure that no glitches occur on the outputs during that brief period while those changes are rippling through the chain, but most systems are designed so that glitches during that brief transition time are ignored or are irrelevant. The outputs then stay the same indefinitely (LEDs stay bright, power stays connected to the motors, solenoids stay energized, etc.), until the Moore machine changes state again.

### Complex

More complex Moore machines can have multiple inputs as well as multiple outputs.

## Gedanken-experiments

In Moore's paper "Gedanken-experiments on Sequential Machines",[1] the (n;m;p) automata (or machines) S are defined as having n states, m input symbols and p output symbols. Nine theorems are proved about the structure of S, and experiments with S. Later, S machines became known as Moore machines.

At the end of the paper, in Section Further problems, the following task is stated: Another directly following problem is the improvement of the bounds given at the theorems 8 and 9.

Moore's Theorem 8 is formulated as: Given an arbitrary (n;m;p) machine S, such that every two of its states are distinguishable from one another, then there exists an experiment of length $\frac{n(n-1)}{2}$ which determines the state of S at the end of the experiment.

In 1957, A. A. Karatsuba proved the following two theorems, which completely solved Moore's problem on the improvement of the bounds of the experiment length of his Theorem 8.

Theorem A. If S is an (n;m;p) machine, such that every two of its states are distinguishable from one another, then there exists a branched experiment of length at most $\frac{(n-1)(n-2)}{2} + 1$ through which one may determine the state of S at the end of the experiment.

Theorem B. There exists an (n;m;p) machine, every two states of which are distinguishable from one another, such that the length of the shortest experiments establishing the state of the machine at the end of the experiment is equal to $\frac{(n-1)(n-2)}{2} + 1$ .

Theorems A and B were used for the basis of the course work of a student of the fourth year, A. A. Karatsuba, "On a problem from the automata theory" which was distinguished by testimonial reference at the competition of student works of the faculty of mechanics and mathematics of Moscow Lomonosow State University in 1958. The paper by A. A. Karatsuba was given to the journal Uspekhi Mat. Nauk on 17 December 1958 and was published there in June 1960.[2]

Until the present day (2011), Karatsuba's result on the length of experiments is the only exact nonlinear result, both in automata theory, and in similar problems of computational complexity theory.

## References

1. ^ a b Moore, Edward F (1956). "Gedanken-experiments on Sequential Machines". Automata Studies,Annals of Mathematical Studies (Princeton, N.J.: Princeton University Press) (34): 129–153.
2. ^ Karatsuba, A. A. (1960). "Solution of one problem from the theory of finite automata". Usp. Mat. Nauk (15:3): 157–159.

• Conway, John Horton (1971): Regular Algebra and Finite Machines, Chapman and Hall.
• Moore E. F. Gedanken-experiments on Sequential Machines. Automata Studies, Annals of Mathematical Studies, 34, 129–153. Princeton University Press, Princeton, N.J.(1956).
• Karatsuba A. A. Solution of one problem from the theory of finite automata. Usp. Mat. Nauk, 15:3, 157–159 (1960).
• Karacuba A. A. Experimente mit Automaten (German) Elektron. Informationsverarb. Kybernetik, 11, 611–612 (1975).
• Karatsuba A. A. List of research works

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• Moore — Contents 1 People 2 Places 3 Science 4 Programming …   Wikipedia

• Moore School of Electrical Engineering — The Moore School of Electrical Engineering at the University of Pennsylvania came into existence as a result of an endowment from Alfred Fitler Moore on June 4, 1923. It was granted to Penn s School of Electrical Engineering, located in the Towne …   Wikipedia

• Moore Bay 3 — (Килки,Ирландия) Категория отеля: Адрес: 0 Килки, Ирландия Описание …   Каталог отелей

• Moore School Lectures — Theory and Techniques for Design of Electronic Digital Computers (popularly called the Moore School Lectures ) was a course in the construction of electronic digital computers held at the University of Pennsylvania s Moore School of Electrical… …   Wikipedia

• Moore's law — Plot of CPU transistor counts against dates of introduction. Note the logarithmic vertical scale; the line corresponds to exponential growth with transistor count doubling every two years …   Wikipedia

• Machine tool — A machine tool is a powered mechanical device, typically used to fabricate metal components of machines by machining, which is the selective removal of metal. The term machine tool is usually reserved for tools that used a power source other than …   Wikipedia

• Machine de Moore — Le diagramme états transitions d une machine de Moore dont les entrées sont x, y, z, et les sorties a, b, c. En théorie de la calculabilité, une machine de Moore (inventée par Edward F. Moore) est un automate fini pour lequel les valeurs des… …   Wikipédia en Français

• Machine de Mealy — Le diagramme états transitions d une machine de Mealy simplifiée. En théorie de la calculabilité, une machine de Mealy ou automate de Mealy est un automate fini (et plus précisément un transducteur à état fini) pour lequel les valeurs des… …   Wikipédia en Français

• Machine d'état — Automate fini Pour les articles homonymes, voir Automate. Exemple d un diagramme d automate fini. Un automate fini (on dit parfois machine …   Wikipédia en Français

• Machine à états finis — Automate fini Pour les articles homonymes, voir Automate. Exemple d un diagramme d automate fini. Un automate fini (on dit parfois machine …   Wikipédia en Français