Considere una máquina de estados finitos como de costumbre, pero en cada transición, también puede actualizar un contador entero sumando o restando un número. Digamos, una función de transición de la forma mueve al nuevo estado p , y agrega k al contador, donde k ∈ Z (entonces k puede ser positivo, negativo o cero) .
Se acepta una cadena si el estado final y el valor del contador están en , donde F es un conjunto finito de pares de estados y valores de contador.
¿Se conoce este modelo? No pude encontrar ninguna referencia de esta extensión en particular.
finite-automata
Chao Xu
fuente
fuente
Respuestas:
Suponiendo que puede ser cualquier número entero, entonces esto puede formalizarse como un autómata ciego de un contador . Por lo general, estos autómatas aceptan el estado final cuando su contador es cero, pero podemos modelar fácilmente su tipo de aceptación si permite ϵ transiciones (que no consumen entrada). Si no me equivoco, como con los autómatas de estado finito, uno puede deshacerse de ϵ , pero ese es un resultado no trivial.k ϵ ϵ
Hay varios tipos de autómatas de un contador. En la forma más general, se les permite probar si el valor del contador es igual a cero. Los idiomas que aceptan son un subconjunto estricto de los idiomas sin contexto.
El modelo que probablemente esté buscando se llama ciego , no puede probar cero, excepto como la prueba final de aceptación al final del cálculo.
fuente
Este modelo es una variante de autómatas ponderados, que son ampliamente estudiados (aunque hay muchas preguntas abiertas sobre ellos). Puede comenzar aquí: Manual de Autómatas Ponderados .
Tenga en cuenta que a veces se les llama "autómatas de distancia" (aunque esto se está volviendo menos común).
fuente