- Máquina de Moore
-
En la Teoría de la computación, una Máquina de Moore es un autómata de estados finitos donde las salidas están determinadas por el estado actual únicamente (y no depende directamente de la entrada). 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 maquina a salidas.
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, Anales de los Estudios Matemáticos, no. 34, Princeton University Press, Princeton, N. J., 1956.
La mayoría de las 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 Metastabilidad.
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, S0, Σ, Λ, T, G } consistente de
- un conjunto finito de estados ( S )
- un estado inicio (también llamado estado inicial) S0 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.
Véase también
Categoría:- Lenguajes formales
Wikimedia foundation. 2010.