Обновление: кажется, что эта проблема была недавно изучена и решена, см. Эту статью вики: http://en.wikipedia.org/wiki/Tree_walking_automaton А также этот опрос: http://www.mimuw.edu.pl/~bojan /papers/twasurvey.pdf
Предположим, что вместо обычного набора слов {0,1} * наши слова не линейны, а заданы на некоторой древовидной структуре. Чтобы наши машины не «терялись», определите наши слова как набор двоичных встроенных древовидностей. (Таким образом, каждое слово является деревом, где каждое ребро направлено от заданного корня, имеющего степень два, каждая другая неконечная вершина имеет степень три, и каждое ребро помечено влево или вправо так, что любые два ребра, начинающиеся с одна и та же вершина имеет разные метки.) Язык - это множество таких деревьев. (Обратите внимание, что нет нужды писать нули и единицы в вершинах, так как они в любом случае могут быть смоделированы путем локальной модификации деревьев.) Когда машина «читает дерево», она начинается с корня, она может чувствовать, что вершина является корнем,
Верно ли в этой модели, что любой язык, который может быть распознан недетерминированным автоматом конечного состояния, также может быть распознан детерминированным автоматом конечного состояния?
Обратите внимание, что когда лента является обычной линейной лентой, это действительно так, поскольку любой 2-NFA может быть смоделирован с 2-DFA (даже с DFA). Я уже задавал специальный экземпляр задачи здесь , что было решена Kristoffer . Мотивация должна была бы решить это .