DFA или NFA читает входную строку с одной головой, двигаясь слева направо. Кажется естественным задаться вопросом о конечных автоматах, которые имеют несколько головок , каждая из которых движется через вход слева направо, но не обязательно в том же месте на входе, что и другие.
Определим конечный автомат с головами следующим образом:
К-голова НКА является кортеж , где:
Как обычно, - это конечный набор состояний, - это конечный алфавит, - начальное состояние, а - набор принимающих состояний. Пусть \ Sigma_ \ varepsilon: = \ Sigma \ cup \ {\ varepsilon \} обозначает набор символов, включая пустую строку.
- это отношение перехода: переход означает, что если машина находится в состоянии , он может читать в , так что является следующим символом для головы (или если эта голова не двигается), а затем переходить в состояние .
Прогон такого типа машины (любой путь, начинающийся с начального состояния и заканчивающийся в принимающем состоянии) приводит к получению не одной строки, а разных строк (образованных путем объединения символов вдоль цикла). Затем мы говорим, что прогон действителен, если строк одинаковы.
Язык машины есть множество строк такое , что существует действительный пробег машины , где строка , полученная по этой перспективе все равны .
Вопрос: Какой класс языков распознается такими машинами? Было ли это изучено?
Первое наблюдение состоит в том, что такие машины производят класс больше, чем обычные языки. Например, язык
признается следующим -Руководитель НКА с -х государств:
(Здесь ребро, помеченное обозначает переход вида .)
Однако второе наблюдение заключается в том, что не все контекстно-свободные языки распознаются; например, кажется, что язык Dyck не может быть распознан этими машинами с головой.