Articulo de referencia

Tabla de transición de estados

En la teoría de autómatas y la lógica secuencial , una tabla de transición de estados es una tabla que muestra a qué estado (o estados, en el caso de un autómata finito no deter...

En la teoría de autómatas y la lógica secuencial , una tabla de transición de estados es una tabla que muestra a qué estado (o estados, en el caso de un autómata finito no determinista ) pasará una máquina de estados finitos , en función del estado actual y otras entradas. Esencialmente, se trata de una tabla de verdad en la que las entradas incluyen el estado actual junto con otras entradas, y las salidas incluyen el siguiente estado junto con otras salidas.

Una tabla de transición de estados es una de las muchas maneras de especificar una máquina de estados finitos . Otras maneras incluyen un diagrama de estados .

Formas comunes

Unidimensional

Las tablas de transición de estados a veces son tablas unidimensionales, también llamadas tablas características . Se asemejan mucho más a tablas de verdad que a su forma bidimensional. La única dimensión indica las entradas, los estados actuales, los estados siguientes y (opcionalmente) las salidas asociadas a las transiciones de estado.

Bidimensional

Las tablas de transición de estados suelen ser tablas bidimensionales. Existen dos formas comunes de organizarlas.

En primer lugar, una de las dimensiones indica los estados actuales, mientras que la otra indica las entradas. Las intersecciones de filas y columnas indican los estados siguientes y (opcionalmente) las salidas asociadas a las transiciones de estado.

En la segunda forma, una de las dimensiones indica los estados actuales, mientras que la otra indica los estados siguientes. Las intersecciones de filas y columnas indican las entradas y (opcionalmente) las salidas asociadas a las transiciones de estado.

Otras formas

Las transiciones simultáneas en múltiples máquinas de estados finitos pueden representarse mediante una tabla de transición de estados n -dimensional, donde pares de filas asignan estados actuales (o conjuntos de ellos) a estados siguientes. [ 1 ] Esta es una alternativa para representar la comunicación entre máquinas de estados finitos separadas e interdependientes.

En el otro extremo, se han utilizado tablas separadas para cada una de las transiciones dentro de una única máquina de estados finitos: las "tablas AND/OR" [ 2 ] son ​​similares a las tablas de decisión incompletas en las que la decisión para las reglas que están presentes es implícitamente la activación de la transición asociada.

Ejemplo

A continuación se muestra un ejemplo de tabla de transición de estados junto con el diagrama de estados correspondiente para una máquina de estados finitos que acepta una cadena con un número par de ceros:

En la tabla de transición de estados, todas las entradas posibles a la máquina de estados finitos se enumeran en las columnas de la tabla, mientras que todos los estados posibles se enumeran en las filas. Si la máquina está en el estado S1 ( primera fila) y recibe una entrada de 1 (segunda columna), la máquina permanecerá en el estado S1 . Ahora bien, si la máquina está en el estado S1 y recibe una entrada de 0 (primera columna), la máquina pasará al estado S2 . En el diagrama de estados, el primer caso se denota mediante la flecha que va de S1 a S2 etiquetada con un 1, y el segundo caso se denota mediante la flecha que va de S1 a S2 etiquetada con un 0. Este proceso se puede describir estadísticamente utilizando cadenas de Markov .

En una máquina de estados finitos no determinista , una entrada puede provocar que la máquina se encuentre en más de un estado, de ahí su no determinismo . Esto se representa en una tabla de transición de estados mediante el conjunto de todos los estados objetivo encerrados entre llaves {}. A continuación se muestra un ejemplo de tabla de transición de estados junto con el diagrama de estados correspondiente para una máquina de estados finitos no determinista:

Si la máquina está en el estado S 2 y recibe una entrada de 0, la máquina estará en dos estados al mismo tiempo, los estados S 1 y S 2 .

Diagrama de transformaciones desde/hacia estados

Es posible dibujar un diagrama de estados a partir de una tabla de transición de estados. A continuación se muestra una secuencia de pasos sencillos:

  1. Dibuja círculos para representar los estados dados.
  2. Para cada uno de los estados, recorra la fila correspondiente y dibuje una flecha hacia el estado o estados de destino. Puede haber varias flechas para un mismo carácter de entrada si la máquina de estados finitos no es determinista.
  3. Designa un estado como estado inicial . El estado inicial se define formalmente como el de una máquina de estados finitos.
  4. Designar uno o más estados como estados de aceptación . Esto también se especifica en la definición formal de una máquina de estados finitos.

Véase también

Referencias

  1. Breen, Michael (2005), "Experiencia en el uso de un método de especificación formal ligero para una línea de productos de sistemas embebidos comerciales" (PDF) , Requirements Engineering Journal , 10 (2): 161–172 , CiteSeerX 10.1.1.60.5228 , doi : 10.1007/s00766-004-0209-1 , S2CID 16928695  
  2. Leveson, Nancy; Heimdahl, Mats Per Erik; Hildreth, Holly; Reese, Jon Damon (1994), "Especificación de requisitos para sistemas de control de procesos" (PDF) , IEEE Transactions on Software Engineering , 20 (9): 684–707 , Bibcode : 1994ITSEn..20..684L , CiteSeerX 10.1.1.72.8657 , doi : 10.1109/32.317428 

Lecturas adicionales

  • Michael Sipser: Introducción a la teoría de la computación . PWS Publishing Co., Boston, 1997. ISBN 0-534-94728-X