Máquina de Moore
# Máquina de Moore

Una Máquina de Moore, En la teoría de la computación, es un autómata de estados finitos para el cual la salida en un momento dado solo depende de su estado en ese momento, mientras la transición al siguiente estado depende del estado en que se encuentre y de la entrada introducida. El diagrama de estados para una máquina Moore incluirá una señal de salida para cada estado. Comparada con la Máquina de Mealy, la cual mapea transiciones en la máquina a salidas.

## Descripción

El nombre Moore machine viene de su promotor: Edward F. Moore, un pionero de las máquinas de estados, quien escribió Gedanken-experiments on Sequential Machines, pp 129 – 153, Estudios de Autómatas, Anuales de los Estudios Matemáticos, no. 34, Princeton University Press, Princeton, N. J., 1956.

La mayoría de las máquinas electrónicas están diseñadas como sistemas secuenciales síncronos. Los sistemas secuenciales síncronos son una forma restringida de máquinas de Moore donde el estado cambia solo cuando la señal de reloj global cambia. Normalmente el estado actual se almacena en Flip-flops, y la señal de reloj global está conectada a la entrada "clock" de los flip-flops. Los sistemas secuenciales síncronos son una manera de resolver problemas de metaestabilidad.

Una máquina electrónica de Moore típica incluye una cadena de Lógica combinacional para decodificar el estado actual en salidas (lambda). El instante en el cual el estado actual cambia, aquellos cambios se propagan a través de la cadena. y casi instantáneamente las salidas cambian (o no cambian). Hay técnicas de diseño para asegurar que no ocurran errores de corta duración en las salidas durante el breve periodo mientras esos cambios se están propagando a través de la cadena, pero la mayoría de los sistemas están diseñados para que los glitches durante el breve tiempo de transición sean ignorados. Las salidas entonces permanecen igual indefinidamente (por ejemplo, los LEDs permanecen brillantes, la batería permanece conectada a los motores, etc.), hasta que la máquina de Moore cambia de estado otra vez.

## Definición formal

Una máquina de Moore puede ser definida como una 6-tupla { S, $S_0,$ Σ, Λ, T, G } consistente de

* un conjunto finito de estados ( S )
* un estado inicio (también llamado estado inicial) $S_0$ el cual es un elemento de (S)
* un conjunto finito llamado alfabeto entrada ( Σ )
* un conjunto finito llamado el alfabeto salida ( Λ )
* una función de transición (T : S × Σ → S) mapeando un estado y una entrada al siguiente estado
* una función salida (G : S → Λ) mapeando cada estado al alfabeto salida.

El número de estados en una máquina de Moore será mayor o igual al número de estados en la Máquina de Mealy correspondiente.

