Мне интересно, есть ли какие-либо статьи или исследования, посвященные явно выталкивающим автоматам, но позволяющие помещать слова, а не отдельные буквы, в стек.
С другой стороны, конструкция, которая позволяла нажимать символы на переходы, могла бы достичь той же цели.
Очевидно, что такие вариации могут быть сформированы, но мне интересно, разрушает ли это свойства замыкания и разрешимости, которые делают VPA интересными.
Я смотрю на конструкцию, в которой стек используется в качестве счетчика, увеличивая его на константы на основе начальных прочитанных символов, а затем производя обратный отсчет на основе других прочитанных символов.
Для тех, кто не знает, очевидно, что автоматы «пуш-ап» - это те, в которых алфавит можно разделить на символы толчка, символы выталкивания и символы, не влияющие на стек вообще. Выбор нажатия или выталкивания полностью определяется текущим символом, который читается. Они закрыты на пересечении, объединении, объединении, звезде и дополнении, что дает им множество разрешимых свойств. Смотрите эту статью для получения дополнительной информации.
Ответы:
С эпсилон толчками
Для версии с толчками на эпсилон-переходах доказательство неразрешимости универсальности pushdown-автоматов может быть адаптировано к этому новому параметру, поэтому мы теряем по крайней мере следующие свойства: замыкание при дополнении, определимость, разрешимость универсальности и включение.
Схема доказательства: возьмем машину Тьюринга , мы хотим построить VPA A с эпсилон-толчками так, чтобы он был универсальным тогда и только тогда, когда у M нет принимающего пробега.M A
Мы проектируем , что слово не принимается, если и только оно имеет форму:A
где
VPA вынужден делать поп на факторы вида C R i . A может недетерминированно угадать нарушение любого свойства и проверить его. Ключ в том, что он может либо нажать на C i , либо ничего не делать, что позволяет проверить все условия (фактически угадать их нарушения). В частности, можно предположить , что первый (или второй) вхождение C я не соответствует ( ¯ C я ) R , игнорируя другой компонент. Также можно догадаться, что C i → C i + 1A CRi A Ci Ci (Ci¯¯¯¯¯)R Ci→Ci+1 это недопустимый переход, нажав оба вхождения , затем нажав один, не нажимая CCi Ci+1 (Ci+1¯¯¯¯¯¯¯¯¯¯)R СJ ( CJ¯¯¯¯¯¯)р
Толкая слова
источник