DFA або NFA зчитується через рядок введення з однією головою, рухаючись зліва направо. Цілком природним є питання про машини з кінцевим станом, які мають кілька головок , кожна з яких рухається через вхід зліва направо, але не обов'язково там же, що і на вході, як і інші.
Давайте визначимо машину з кінцевим станом з головами так:
К-голова НКА є кортеж , де:
Як зазвичай, - кінцевий набір станів, - кінцевий алфавіт, - початковий стан, - набір станів, що приймають. Нехай позначає набір символів, включаючи порожню рядок.
- відношення переходу: перехід означає, що якщо машина знаходиться в стані , воно може читати в таким чином, що є наступним символом для (або якщо ця голова не рухається), а потім переходить у стан .
Запуск такого типу машин (будь-який шлях, починаючи від стартового стану і закінчуючи у приймальному стані), призводить до не однієї рядку, а різних рядків (утворених шляхом об'єднання символів по ходу). Тоді ми кажемо, що виконання є дійсним, якщо рядки однакові.
Мова машини є безліч рядків таке , що існує дійсний пробіг машини , де рядок , отримана по цій перспективі всі рівні .
Питання: Який клас мов розпізнають такі машини? Це було вивчено?
Перше спостереження полягає в тому, що такі машини виробляють клас, більший за звичайні мови. Наприклад, мова
розпізнається за допомогою наступного головного NFA з станами:
(Тут край, позначений позначає перехід форми .)
Однак друге зауваження полягає в тому, що не всі контекстні мови розпізнаються; наприклад, здається, що мова Dyck не може бути розпізнана ними-головні машини.