Quale classe di lingue è riconosciuta dagli automi a stati finiti con


10

Un DFA o NFA legge attraverso una stringa di input con una sola testina, spostandosi da sinistra a destra. Sembra naturale chiedersi macchine a stati finiti che hanno più teste , ognuna delle quali si muove attraverso l'input da sinistra a destra, ma non necessariamente nello stesso punto dell'input delle altre.

Definiamo una macchina a stati finiti con teste come segue:k

Un K-head NFA è una tupla (Q,Σ,Δ,q0,F) , dove:

  • Come al solito, Q è un insieme finito di stati, Σ è un alfabeto finito, q0 è uno stato iniziale e F è un insieme di stati accettanti. Sia Σε:=Σ{ε} denota l'insieme di caratteri inclusa la stringa vuota.

  • ΔQ×(Σε)k×Q è la relazione di transizione: una transizione(p,(σ1,σ2,,σk),q) significa che, se la macchina è nello statop , potrebbe leggere in(σ1,σ2,,σk) tale cheσi è il carattere successivo per la testai (oε se quella testa non si muove), quindi passa allo statoq .

Una corsa di questo tipo di macchina (qualsiasi percorso che inizia dallo stato iniziale e termina in uno stato accettante) non produce una stringa, ma k stringhe diverse (formate concatenando i caratteri lungo la corsa). Quindi diciamo che la corsa è valida se le stringhe k sono identiche.

Il linguaggio della macchina è l'insieme di stringhe w tale che esiste una corsa valida della macchina in cui le stringhe k prodotte lungo quella corsa sono tutte uguali a w .

Domanda: Qual è la classe di lingue riconosciuta da tali macchine? È stato studiato?


Una prima osservazione è che tali macchine producono una classe più ampia delle lingue normali. Ad esempio, la lingua

{anbnnN}
è riconosciuta dalla seguente NFA a 2 teste con 3 stati: Esempio NFA a 2 teste

(Qui, un bordo etichettato con σ1/σ2 indica una transizione della forma (p,(σ1,σ2),q) .)

Tuttavia, una seconda osservazione è che non tutte le lingue senza contesto sono riconosciute; per esempio, sembra che il linguaggio Dyck non può essere riconosciuto da questi k macchine -head.


2
Guardandomi un po 'vedo gli automi multi-head menzionati in arxiv.org/abs/0906.3051 : la loro definizione riguarda gli automi bidirezionali, ma definiscono anche la variante unidirezionale. Non c'è qualcosa di utile in quel documento? o nei suoi riferimenti, ad esempio, sciencedirect.com/science/article/pii/S0304397509006288
a3nm

2
Si noti inoltre che possono riconoscere linguaggi non CF: un DFA a 3 teste può riconoscere ; una buona fonte di riferimento: Markus Holzer e Martin Kutrib; Automi finiti multi-testa: caratterizzazioni, concetti e problemi apertianbncn#
Marzio De Biasi

2
Grazie per i riferimenti cartacei: questa era solo una curiosità oziosa e non avevo controllato la letteratura. Se nessun altro lo farà, leggerò della letteratura e risponderò con una risposta che riassume i risultati noti.
6005

Risposte:


5

Questo modello è uno dei modelli standard nella teoria degli automi ed è stato esaminato da alcuni ricercatori.

I riferimenti forniti nel primo commento sono ottimi punti di partenza.

Quando la testa è bidirezionale, le classi di linguaggi riconosciute da tali modelli sono identiche alle classi dello spazio logaritmico. Tuttavia, quando la testa è a senso unico, quindi, per quanto ne so, non abbiamo una caratterizzazione esatta simile, ma abbiamo alcuni risultati incomparabili e alcune gerarchie basate sul numero di teste.

Se sei interessato, ti consiglio di controllare anche le versioni alternate, probabilistiche e quantistiche di automi multi-testa. Tali modelli possono essere piuttosto interessanti anche quando si utilizza una singola testina, poiché il calcolo viene suddiviso in percorsi diversi e quindi, in ciascun percorso, la testina può accedere a parti diverse degli input.

Alcuni riferimenti generici:

Alternanza

Calcolo probabilistico

Calcolo probabilistico e quantistico

Modelli correlati: automi multi-counter e automi con pebble.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.