¿Qué clase de idiomas reconoce los autómatas de estado finito con

10

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 k cabezas de la siguiente manera:

Un NFA de cabeza k es una tupla (Q,Σ,Δ,q0,F) , donde:

  • Como de costumbre, Q es un conjunto finito de estados, Σ es un alfabeto finito, q0 es un estado inicial y F es un conjunto de estados de aceptación. Deje Σε:=Σ{ε} denota el conjunto de caracteres, incluida la cadena vacía.

  • ΔQ×(Σε)k×Q es la relación de transición: una transición(p,(σ1,σ2,,σk),q) significa que, si la máquina está en el estadop , puede leer en(σ1,σ2,,σk) tal queσi es el siguiente carácter para la cabezai (oε si esa cabeza no se mueve), y luego pasar al estadoq .

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 k 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 k son idénticas.

El lenguaje de la máquina es el conjunto de cadenas w modo que existe una ejecución válida de la máquina donde las k cadenas producidas a lo largo de esa ejecución son todas iguales a w .

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

{anbnnN}
es reconocido por el siguiente NFA de 2 cabezas con 3 estados: Ejemplo de 2 cabezales NFA

(Aquí, un borde etiquetado con σ1/σ2 denota una transición de la forma (p,(σ1,σ2),q) .)

k

6005
fuente
2
Al mirar un poco, veo autómatas de varias cabezas que se mencionan en arxiv.org/abs/0906.3051 : su definición es sobre autómatas bidireccionales, pero también definen la variante unidireccional. ¿No hay algo útil en ese documento? o en sus referencias, por ejemplo, sciencedirect.com/science/article/pii/S0304397509006288
a3nm el
2
anbncn#
2
Gracias por las referencias en papel: esto fue solo una curiosidad ociosa y no había revisado la literatura. Si nadie más lo hace, leeré algo de literatura y responderé con una respuesta que resuma los resultados conocidos.
6005

Respuestas:

5

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.

Abuzer Yakaryilmaz
fuente