En la teoría de la computación , una máquina de Moore es una máquina de estados finitos cuyos valores de salida actuales están determinados únicamente por su estado actual . Esto contrasta con una máquina de Mealy , cuyos valores de salida están determinados tanto por su estado actual como por los valores de sus entradas. Al igual que otras máquinas de estados finitos, en las máquinas de Moore, la entrada suele influir en el siguiente estado. Por lo tanto, la entrada puede influir indirectamente en las salidas subsiguientes, pero no en la salida actual o inmediata. La máquina de Moore recibe su nombre de Edward F. Moore , quien presentó el concepto en un artículo de 1956 titulado « Experimentos mentales sobre máquinas secuenciales». [ 1 ]
Definición formal
Una máquina de Moore se puede definir como una 6-tupla.consta de lo siguiente:
- Un conjunto finito de estados
- Un estado inicial (también llamado estado de partida)que es un elemento de
- Un conjunto finito llamado alfabeto de entrada
- Un conjunto finito llamado alfabeto de salida
- Una función de transiciónmapear un estado y el alfabeto de entrada al siguiente estado
- Una función de salidamapeo de cada estado al alfabeto de salida
La "evolución a través del tiempo" se realiza en esta abstracción haciendo que la máquina de estados consulte el símbolo de entrada que cambia con el tiempo en "pulsos de temporizador" discretos.y reaccionar de acuerdo con su configuración interna en esos instantes idealizados, o bien hacer que la máquina de estados espere un siguiente símbolo de entrada (como en una FIFO) y reaccione cuando llegue.
Una máquina de Moore puede considerarse un tipo restringido de transductor de estados finitos .
Representación visual
Mesa
Una tabla de transición de estados es una tabla que enumera todas las tripletas en la relación de transición..
Diagrama
El diagrama de estados de una máquina de Moore, o diagrama de Moore, es un diagrama de estados que asocia un valor de salida a cada estado.
Relación con las máquinas Mealy
Como las máquinas de Moore y Mealy son ambos tipos de máquinas de estados finitos, son igualmente expresivas: cualquiera de los dos tipos puede utilizarse para analizar un lenguaje regular .
La diferencia entre las máquinas de Moore y las máquinas de Mealy es que en estas últimas, la salida de una transición está determinada por la combinación del estado actual y la entrada actual (como dominio de), en contraposición al estado actual (como dominio de). Cuando se representa como un diagrama de estados ,
- En una máquina de Moore, cada nodo (estado) está etiquetado con un valor de salida;
- En una máquina de Mealy, cada arco (transición) está etiquetado con un valor de salida.
Cada máquina de Moorees equivalente a la máquina de Mealy con los mismos estados y transiciones y la misma función de salida., que toma cada par estado-entraday rendimientos, dóndeesfunción de salida yesfunción de transición de.
Sin embargo, no todas las máquinas de Mealy se pueden convertir en una máquina de Moore equivalente. Algunas solo se pueden convertir en una máquina de Moore casi equivalente, con las salidas desplazadas en el tiempo. Esto se debe a la forma en que las etiquetas de estado se emparejan con las etiquetas de transición para formar los pares de entrada/salida. Consideremos una transicióndel estadopara declarar. La entrada que provoca la transiciónetiquetas el bordeLa salida correspondiente a esa entrada es la etiqueta del estado.. [ 2 ] Nótese que este es el estado fuente de la transición. Por lo tanto, para cada entrada, la salida ya está fijada antes de que se reciba la entrada y depende únicamente del estado actual. Esta es la definición original de E. Moore. Es un error común usar la etiqueta de estadocomo resultado de la transición.
Ejemplos
Tipos según el número de entradas/salidas.
Simple
Las máquinas de Moore simples tienen una entrada y una salida:
- Detector de bordes mediante XOR
- máquina sumadora binaria
- Sistemas secuenciales síncronos (una forma restringida de máquina de Moore donde el estado cambia solo cuando cambia la señal de reloj global).
La mayoría de los sistemas electrónicos digitales se diseñan como sistemas secuenciales síncronos . Estos sistemas son una forma restringida de máquina de Moore, donde el estado cambia solo cuando cambia la señal de reloj global. Normalmente, el estado actual se almacena en biestables , y una señal de reloj global se conecta a la entrada de "reloj" de los biestables. Los sistemas secuenciales síncronos son una forma de resolver problemas de metaestabilidad . Una máquina de Moore electrónica típica incluye una cadena lógica combinacional para decodificar el estado actual en las salidas (lambda). En el instante en que cambia el estado actual, esos cambios se propagan a través de la cadena y, casi instantáneamente, la salida se actualiza. Existen técnicas de diseño para asegurar que no se produzcan fallos transitorios en las salidas durante ese breve período mientras los cambios se propagan a través de la cadena, pero la mayoría de los sistemas se diseñan de manera que los fallos transitorios durante ese breve tiempo de transición se ignoren o sean irrelevantes. Las salidas permanecen indefinidamente ( los LED permanecen encendidos, la alimentación de los motores permanece conectada, los solenoides permanecen energizados, etc.) hasta que la máquina de Moore vuelve a cambiar de estado.

Ejemplo resuelto
Una red secuencial tiene una entrada y una salida. La salida se convierte en 1 y permanece en 1 a partir de entonces cuando se han producido al menos dos 0 y dos 1 como entradas.

A la derecha se muestra una máquina de Moore con nueve estados para la descripción anterior. El estado inicial es el estado A, y el estado final es el estado I. La tabla de estados para este ejemplo es la siguiente:
Complejo
Las máquinas de Moore más complejas pueden tener múltiples entradas, así como múltiples salidas.
Experimentos mentales
En el artículo de Moore de 1956 " Experimentos mentales sobre máquinas secuenciales", [ 1 ] elautómatas (o máquinas)se definen como tenerestados,símbolos de entrada ysímbolos de salida. Se demuestran nueve teoremas sobre la estructura dey experimentos con. Más tarde, "Las máquinas que se conocían como "máquinas Moore" pasaron a llamarse "máquinas Moore".
Al final del documento, en la sección "Problemas adicionales", se plantea la siguiente tarea:
Otro problema que se deriva directamente de este es la mejora de las cotas dadas en los teoremas 8 y 9.
El teorema 8 de Moore se formula de la siguiente manera:
Dado un arbitrariomáquina, de tal manera que cada par de sus estados se distinguen entre sí, entonces existe un experimento de longitudque determina el estado deal final del experimento.
En 1957, AA Karatsuba demostró los dos teoremas siguientes, que resolvieron completamente el problema de Moore sobre la mejora de los límites de la longitud del experimento de su "Teorema 8".
Teorema A. Sies unmáquina, de tal manera que cada par de sus estados sean distinguibles entre sí, entonces existe un experimento ramificado de longitud como máximoa través de la cual se puede determinar el estado deal final del experimento.
Teorema B. Existe unmáquina, cuyos dos estados son distinguibles entre sí, de tal manera que la duración de los experimentos más cortos que establecen el estado de la máquina al final del experimento es igual a.
Los teoremas A y B sirvieron de base para el trabajo de curso de un estudiante de cuarto año, AA Karatsuba, titulado "Sobre un problema de la teoría de autómatas", que fue distinguido con una mención honorífica en el concurso de trabajos estudiantiles de la facultad de mecánica y matemáticas de la Universidad Estatal de Moscú en 1958. El artículo de Karatsuba fue entregado a la revista Uspekhi Mat. Nauk el 17 de diciembre de 1958 y se publicó allí en junio de 1960. [ 3 ]
Hasta la fecha (2011), el resultado de Karatsuba sobre la duración de los experimentos es el único resultado no lineal exacto, tanto en la teoría de autómatas como en problemas similares de la teoría de la complejidad computacional .
Véase también
Referencias
- 1 2 Moore, Edward F (1956). "Experimentos mentales sobre máquinas secuenciales". Estudios de autómatas, Anales de estudios matemáticos (34). Princeton, NJ: Princeton University Press: 129– 153.
- ^ Lee, Edward Ashford; Seshia, Sanjit Arunkumar (2013). Introducción a los sistemas integrados (1.08 ed.). UC Berkeley: Lulu.com. ISBN 9780557708574Consultado el 1 de julio de 2014 .
- ↑ Karatsuba, AA (1960). "Solución de un problema de la teoría de autómatas finitos". Uspekhi Mat. Nauk (15:3): 157– 159.
Lecturas adicionales
- Conway, JH (1971). Álgebra regular y máquinas finitas . Londres: Chapman and Hall. ISBN 0-412-10620-5. Zbl 0231.94041 .
- Moore EF Gedanken-experiments on Sequential Machines. Automata Studies, Annals of Mathematics Studies , 34, 129–153. Princeton University Press, Princeton, NJ (1956).
- Karatsuba AA Solución de un problema de la teoría de autómatas finitos. Usp. Mat. Nauk, 15:3, 157–159 (1960).
- Karatsuba AA Experimente mit Automaten (alemán) Elektron. Informaciónverarb. Kybernetik, 11, 611–612 (1975).
- Lista de trabajos de investigación de Karatsuba AA .
Máquina de Moore y Mealy
Enlaces externos
Contenido multimedia relacionado con la máquina de Moore en Wikimedia Commons.
- Máquinas de estados finitos