Un DFA o NFA lee a través de una cadena de entrada con un solo encabezado, moviéndose de izquierda a derecha. Parece natural preguntarse acerca de las máquinas de estado finito que tienen múltiples cabezas , cada una de las cuales se mueve a través de la entrada de izquierda a derecha, pero no necesariamente en el mismo lugar en la entrada que las otras.
Definamos una máquina de estados finitos con cabezas de la siguiente manera:
Un NFA de cabeza k es una tupla , donde:
Como de costumbre, es un conjunto finito de estados, es un alfabeto finito, es un estado inicial y es un conjunto de estados de aceptación. Deje denota el conjunto de caracteres, incluida la cadena vacía.
es la relación de transición: una transición significa que, si la máquina está en el estado , puede leer en tal que es el siguiente carácter para la cabeza (o si esa cabeza no se mueve), y luego pasar al estado .
Una ejecución de este tipo de máquina (cualquier ruta que comience desde el estado inicial y termine en un estado de aceptación) da como resultado no una cadena, sino cadenas diferentes (formadas mediante la concatenación de los caracteres a lo largo de la ejecución). Luego decimos que la ejecución es válida si las cadenas son idénticas.
El lenguaje de la máquina es el conjunto de cadenas modo que existe una ejecución válida de la máquina donde las cadenas producidas a lo largo de esa ejecución son todas iguales a .
Pregunta: ¿Cuál es la clase de idiomas reconocidos por tales máquinas? ¿Ha sido estudiado?
Una primera observación es que tales máquinas producen una clase más grande que los idiomas regulares. Por ejemplo, el lenguaje
(Aquí, un borde etiquetado con denota una transición de la forma .)
Respuestas:
Este modelo es uno de los modelos estándar en la teoría de autómatas y ha sido examinado por algunos investigadores.
Las referencias dadas en el primer comentario son muy buenos puntos de partida.
Cuando la cabeza es bidireccional, las clases de lenguajes reconocidos por tales modelos son idénticas a las clases de espacio logarítmico. Sin embargo, cuando la cabeza es unidireccional, entonces, que yo sepa, no tenemos una caracterización exacta similar, pero tenemos ciertos resultados incomparables y algunas jerarquías basadas en el número de cabezas.
Si está interesado, le recomiendo que compruebe también versiones alternativas, probabilísticas y cuánticas de autómatas de múltiples cabezales. Dichos modelos pueden ser bastante interesantes incluso cuando se usa un solo cabezal, ya que el cálculo se divide en diferentes rutas, y luego, en cada ruta, la cabeza puede acceder a diferentes partes de las entradas.
Algunas referencias genéricas:
Alternancia
Computación probabilística
Cálculo probabilístico y cuántico
Modelos relacionados: autómatas de múltiples contadores y autómatas que utilizan guijarros.
fuente