Ein DFA oder NFA liest eine Eingabezeichenfolge mit einem einzelnen Kopf von links nach rechts durch. Es scheint natürlich, sich über Maschinen mit endlichen Zuständen zu wundern, die mehrere Köpfe haben , von denen sich jeder von links nach rechts durch die Eingabe bewegt, aber nicht unbedingt an derselben Stelle in der Eingabe wie die anderen.
Definieren wir eine endliche Zustandsmaschine mit Köpfen wie folgt:
Ein k-Kopf-NFA ist ein Tupel , wobei:
Wie üblich ist eine endliche Menge von Zuständen, ist ein endliches Alphabet, ist ein Anfangszustand und ist eine Menge von Akzeptanzzuständen. Let den Satz von Zeichen einschließlich der leeren Zeichenfolge bezeichnen.
ist die Übergangsrelation: Ein Übergang bedeutet, dass, wenn die Maschine sich im Zustand , kann er so , dass das nächste Zeichen für Kopf (oder wenn sich dieser Kopf nicht bewegt), und sich dann in den Zustand bewegen .
Ein Lauf dieser Art von Maschine (jeder Pfad, der vom Startzustand ausgeht und in einem akzeptierenden Zustand endet) führt nicht zu einer Zeichenfolge, sondern zu verschiedenen Zeichenfolgen (die durch Verketten der Zeichen entlang des Laufs gebildet werden). Dann sagen wir, dass der Lauf gültig ist , wenn die Zeichenfolgen identisch sind.
Die Sprache der Maschine ist der Satz von Zeichenfolgen so dass es einen gültigen Lauf der Maschine gibt, in dem die Zeichenfolgen, die entlang dieses Laufs erzeugt werden, alle gleich .
Frage: Welche Sprachklasse wird von solchen Maschinen erkannt? Wurde es untersucht?
Eine erste Beobachtung ist, dass solche Maschinen eine Klasse produzieren, die größer ist als die regulären Sprachen. Zum Beispiel wird die Sprache
von der folgenden Kopf-NFA mit Zuständen erkannt :
(Hier bezeichnet eine mit gekennzeichnete Kante einen Übergang der Form .)
Eine zweite Beobachtung ist jedoch, dass nicht alle kontextfreien Sprachen erkannt werden. Zum Beispiel scheint es, dass die Dyck-Sprache von diesen Kopf-Maschinen nicht erkannt werden kann.