В контексте нашего исследования автоматов кучи я хотел бы доказать, что конкретный вариант не может принимать неконтекстно-зависимые языки. Поскольку у нас нет эквивалентной грамматической модели, мне нужно доказательство, которое использует только автоматы; поэтому я должен показать, что автоматы кучи могут быть смоделированы с помощью LBA (или эквивалентной модели).
Я ожидаю, что доказательство будет работать аналогично тому, что автоматы pushdown принимают подмножество контекстно-зависимых языков. Тем не менее, все доказательства, которые я знаю, работают
- используя грамматику - здесь факт очевиден по определению - или
- неубедительно расплывчаты (например, здесь ).
Моя проблема заключается в том, что PDA (соответственно HA) может содержать циклы переходов, которые могут записывать символы в стек (соответственно кучу). LBA не может моделировать произвольные итерации таких циклов. Из иерархии Хомского, полученной с помощью грамматик, мы знаем, что
- каждый контекстно-свободный язык имеет цикл-свободный КПК или
- имитирующий LBA может слишком часто предотвращать повторение циклов.
Интуитивно понятно, что такие циклы пишут символы независимо от входных данных, поэтому содержимое стека (кучи) содержит только объем информации, линейный по длине цикла (без учета наложения циклов на данный момент). Кроме того, у вас нет другого способа избавиться от этого (если вам нужно), кроме использования другого -cycle. По сути, такие циклы не способствуют работе с вводом, если повторяются несколько раз, поэтому они не нужны.
Как этот аргумент может быть сформулирован строго / формально, особенно с учетом перекрывающихся циклов?