Tecnología

Inicio

Cómo hacer que una máquina de estados finitos determinista

La máquina de estados finitos (FSM) es una abstracción clave sobre el que se basa el funcionamiento de los ordenadores digitales. Una MEF consiste en un conjunto de estados, sólo uno de los cuales puede ser "ocupada" a la vez, y un conjunto de reglas que determinan qué estado será ocupado próxima basan en que está ocupada en la actualidad y una entrada. En una FSM determinista, cada estado sólo conduce a otro estado (o sí) para cada entrada posible. Son fáciles de extraer y analizar el papel usando círculos y flechas.

Instrucciones

1 Dibujar un círculo alrededor de 1 pulgada de ancho en su papel para representar el estado a partir del FSM. Indican que es el estado inicial dibujando una flecha alrededor de una pulgada de largo apuntando hacia él. Escribe un nombre único para el estado dentro del círculo; un esquema común es etiquetar cada estado utilizando "S" y un subíndice (por ejemplo, "S0, S1, S2", etc.), pero el uso de nombres más descriptivos para sus estados si se hace que el FSM más fácil de entender.

2 Dibuje otro círculo para representar un segundo estado. Escribe una etiqueta para el segundo estado dentro de su círculo. Cada estado debe tener una "respuesta" se define para cada entrada es posible que pueda recibir. Pedir todas las flechas que salen de la situación de partida, ya que hay posibles entradas, etiquetando cada flecha con la entrada que corresponde. Cada flecha debe llevar de nuevo al estado de partida o al segundo estado. A modo de ejemplo, imaginar la máquina que tiene acceso a una canasta de plátanos, manzanas y naranjas que se escogerá a través de una pieza a la vez hasta que la cesta está vacía. Dibuje una flecha marcada con la "banana" entrada desde el estado inicial al segundo estado. Dibuje dos flechas más, que corresponde a "manzana" y "naranja", que conduce fuera del estado, pero a partir de bucle de nuevo a él. Si dos o más flechas comienzan en el mismo lugar y terminan en el mismo lugar como este, combinarlos para hacer el dibujo más despejado; la etiqueta de la flecha simple con todas las entradas que corresponde.

3 Dibuje más estados y especificar sus flechas hasta que su máquina ha llegado a un estado en el que se ha encontrado con las entradas o secuencia de entradas que está diseñado para identificar. Para el ejemplo actual, de una tercera Estado y etiquetarlo. Dibuje una flecha "banana" que sale del segundo estado en el tercero, y una "manzana / naranja" flecha que sale del segundo estado de nuevo en sí mismo. Dibuje una flecha desde el tercer estado que conduce de nuevo a sí mismo, marcado con los tres tipos de fruta.

4 Dibujar un círculo concéntrico ligeramente más pequeño en el tercer estado para indicar que se trata de un estado de "aceptar". Su FSM es completa, pero lo que hace? Simular lo que pasaría por un par de cestas de frutas ejemplo haga en marcha, y rápidamente se dará cuenta de que este FSM rechazará cestas que no tienen 2 plátanos (una cesta es "rechazado" si la fruta se quede sin ISN cuando el estado de aceptación 't ocupada). FSM deterministas pueden tener funciones mucho más complejo que esto, con múltiples estados de aceptación y complejas vías posibles.

Consejos y advertencias

  • Trate de hacer una MEF que alcanzará su estado de aceptación sólo cuando recibe varias entradas en un orden específico (pista: utilizar las flechas que llevan de vuelta al estado inicial de "reiniciar" el FSM después de una secuencia completado parcialmente).

Artículos relacionados