¿Cuáles son las diferencias entre autómatas finitos y sistema de transición?

Matemáticamente,

Los sistemas de transición no necesariamente tienen un conjunto finito de estados y un conjunto finito de transiciones como autómatas de estados finitos. Y no hay estado inicial ni final en los sistemas de transición.

Por lo tanto, un sistema de transición podría modelar sistemas de estado infinito a diferencia de los autómatas, y solo modela las propiedades de transición de un sistema.

Diferencia en la vista

En general, los sistemas de transición pueden no requerir etiquetas en la transición también. Un autómata sin etiquetas es tan bueno como un autómata con un solo estado de inicio y fin, ya que el lenguaje es universal. Pero un sistema de transición no se preocupa por las etiquetas. Para los sistemas de transición, el estado es una entidad importante a diferencia del autómata, donde las etiquetas definen el lenguaje de un autómata. Entonces, para una transición, RUN es un término más importante que lenguaje.

Esta no es una diferencia matemática, es solo lo importante en qué formalismo.

Por ejemplo:

Si desea comprobar que un estado X se visita menos que un estado Y, puede utilizar el sistema de transición para modelar.

Si desea comprobar si su secuencia de entradas está de acuerdo con una regla (analizador), puede usar autómata.

Volvamos a las definiciones.

Un autómata finito es una 5-tupla [matemática] M = (Q, \ Sigma, \ delta, q_0, F) [/ matemática] donde

  • [matemáticas] Q [/ matemáticas] es un conjunto finito de estados
  • [matemáticas] \ Sigma [/ matemáticas] es un alfabeto de entrada
  • [math] \ delta: Q \ times \ Sigma \ rightarrow Q [/ math] es la función de transición
  • [matemática] q_0 \ en Q [/ matemática] es el estado inicial , y
  • [matemáticas] F \ subseteq Q [/ matemáticas] es un conjunto finito de estados finales

Informalmente (esto se puede precisar, pero omito la definición aquí) [math] M [/ math] acepta una cadena [math] w [/ math] si [math] M [/ math] lo hará, comenzando en el estado [math ] q_0 [/ math] y leyendo los caracteres de [math] w [/ math], terminan en un estado final. Entonces, un autómata finito es un reconocedor de idiomas.

Un sistema de transición es un triple [matemático] (\ Gamma, \ rightarrow, T) [/ matemático] donde

  • [math] \ Gamma [/ math] es un conjunto de configuraciones ; ¡tenga en cuenta que este conjunto no necesita ser finito!
  • [math] \ rightarrow \ subseteq \ Gamma \ times \ Gamma [/ math] es una relación de transición , y
  • [math] T \ subseteq \ Gamma [/ math] es un conjunto de configuraciones de terminal

Una variación de esta noción es la de un sistema de transición etiquetado. Este es un cuádruple [matemático] (\ Gamma, \ rightarrow, T, A) [/ math] donde

  • [math] \ Gamma [/ math] es un conjunto de configuraciones ; ¡tenga en cuenta que este conjunto no necesita ser finito!
  • [math] \ rightarrow \ subseteq \ Gamma \ times A \ times \ Gamma [/ math] es una relación de transición etiquetada ,
  • [math] T \ subseteq \ Gamma [/ math] es un conjunto de configuraciones de terminal
  • [matemáticas] A [/ matemáticas] es un conjunto de etiquetas

Un autómata finito puede verse como un sistema de transición etiquetado cuyas configuraciones son sus estados, cuyo conjunto de etiquetas es el alfabeto de entrada, cuyas configuraciones de terminales son sus estados finales y cuya relación de transición corresponde a la función de transición.

Pero es fácil imaginar sistemas de transición etiquetados que no pueden ser autómatas finitos. El conjunto de configuraciones puede ser infinito, al igual que el conjunto de etiquetas, y la relación de transición puede dejar de ser determinista.

More Interesting

¿Por qué la mayoría de los lenguajes de programación prohíben las "desigualdades sandwich"? En matemáticas, es común ver 'desigualdades en emparedado' que muestran que una cantidad es mayor que otra pero menor que otra, por ejemplo, a <b <c significa lo mismo que a <b && b <c.

¿Están algunas de las máquinas en 'On Computable Numbers' (A. Turing 1936) buggy?

¿Es posible para mí ser un programador exitoso si odio las matemáticas?

Cómo imprimir el conjunto de potencia de un conjunto finito de enteros en Java usando recursividad

¿De qué manera es mejor transferir valores variables en JavaScript?

¿Cuándo no se puede usar el combinador Y para definir la recursividad en el cálculo lambda?

¿Qué puede hacer un ingeniero con la informática teórica?

¿Cuáles son las fórmulas matemáticas para expresiones informáticas como: x = x / 5?

¿Existe un algoritmo generalizado para convertir una malla de superficie triangular 3D en una malla de volumen tetraédrico?

¿Qué problemas alguna vez se pensó que no podían resolverse en el tiempo polinómico, pero finalmente lo fueron?

¿Alguien puede explicar paso a paso cómo se puede resolver el siguiente problema?

¿Cuál es el método para encontrar el valor aproximado de la potencia de dos (2 ^ x) sin usar una calculadora?

¿Qué es la teoría analítica de números?

Teóricamente, ¿se puede implementar algún algoritmo en el marco de MapReduce?

¿Travel seles man proplem es np o np completo o np difícil?