Z jaką klasą języków są rozpoznawane automaty skończone

10

DFA lub NFA odczytuje ciąg wejściowy z pojedynczą głowicą, przesuwając się od lewej do prawej. Naturalne wydaje się zastanawianie się nad maszynami o skończonym stanie, które mają wiele głowic , z których każda porusza się po wejściu od lewej do prawej, ale niekoniecznie w tym samym miejscu na wejściu, co inne.

Zdefiniujmy maszynę skończoną za pomocą k głosi w następujący sposób:

K-head NFA jest krotką(Q,Σ,Δ,q0,F), gdzie:

  • Jak zwykle, Q jest skończonym zbiorem stanów, Σ jest skończonym alfabetem, q0 jest stanem początkowym, oraz Fjest zbiorem stanów akceptujących. PozwolićΣε:=Σ{ε} oznacza zestaw znaków, w tym pusty ciąg znaków.

  • ΔQ×(Σε)k×Q to relacja przejścia: przejście (p,(σ1,σ2,,σk),q) oznacza, że ​​jeśli maszyna jest w stanie p, może czytać (σ1,σ2,,σk) takie, że σi jest następną postacią dla głowy i (lub ε jeśli ta głowa się nie porusza), a następnie przejdź do stanu q.

Uruchomienie tego rodzaju maszyny (dowolna ścieżka zaczynająca się od stanu początkowego i kończąca się stanem akceptującym) powoduje nie jeden ciąg, ale króżne ciągi znaków (utworzone przez połączenie znaków podczas biegu). Następnie mówimy, że przebieg jest ważny, jeślik ciągi są identyczne.

Język maszyny jest zbiorem ciągóww tak, że istnieje poprawny przebieg komputera, na którym k ciągi utworzone wzdłuż tego przebiegu są równe w.

Pytanie: Jaką klasę języków rozpoznają takie maszyny? Czy zostało to zbadane?


Pierwszą obserwacją jest to, że takie maszyny produkują klasę większą niż zwykłe języki. Na przykład język

{anbnnN}
jest rozpoznawany przez następujące 2-head NFA z 3 stwierdza: Przykład 2-głowicowego NFA

(Tutaj krawędź oznaczona σ1/σ2 oznacza przejście formy (p,(σ1,σ2),q).)

Drugim spostrzeżeniem jest jednak to, że nie wszystkie języki kontekstowe są rozpoznawane; na przykład wydaje się, że język Dyck nie jest przez nich rozpoznawanyk-głowe maszyny.

6005
źródło
2
Rozglądając się trochę, widzę w arxiv.org/abs/0906.3051 wspomniane automaty wielogłowicowe : ich definicja dotyczy automatów dwukierunkowych, ale definiują również wariant jednokierunkowy. Czy w tym artykule nie ma czegoś pomocnego? lub w jego referencje, np sciencedirect.com/science/article/pii/S0304397509006288
a3nm
2
Pamiętaj też, że mogą rozpoznawać języki inne niż CF: 3-głowicowy DFA może rozpoznać anbncn#; dobre źródło odniesienia: Markus Holzer i Martin Kutrib; Wielogłowicowe automaty skończone: charakterystyka, koncepcje i otwarte problemy
Marzio De Biasi
2
Dzięki za referencje w formie papierowej - to była tylko próżna ciekawość i nie sprawdziłem literatury. Jeśli nikt inny tego nie zrobi, przeczytam trochę literatury i odpowiem odpowiedzią podsumowującą znane wyniki.
6005

Odpowiedzi:

5

Ten model jest jednym ze standardowych modeli w teorii automatów i został zbadany przez niektórych badaczy.

Odniesienia podane w pierwszym komentarzu są bardzo dobrym punktem wyjścia.

Gdy głowa jest dwukierunkowa, klasy języków rozpoznawane przez takie modele są identyczne z klasami przestrzeni logarytmicznej. Jednak gdy głowa jest jednokierunkowa, to według mojej wiedzy nie mamy podobnej dokładnej charakterystyki, ale mamy pewne nieporównywalne wyniki i pewne hierarchie oparte na liczbie głów.

Jeśli jesteś zainteresowany, polecam również sprawdzenie alternatywnych, probabilistycznych i kwantowych wersji automatów wielogłowicowych. Takie modele mogą być dość interesujące nawet przy użyciu pojedynczej głowicy, ponieważ obliczenia są podzielone na różne ścieżki, a następnie, na każdej ścieżce, głowa może uzyskać dostęp do innej części danych wejściowych.

Niektóre ogólne odniesienia:

Alternacja

Obliczenia probabilistyczne

Obliczenia probabilistyczne i kwantowe

Powiązane modele: automaty licznikowe i automaty wykorzystujące kamyk.

Abuzer Yakaryilmaz
źródło