Нормальная форма ДМП-автомата
Определение
Определение: |
ДМП в нормальной форме (англ. Normal Form) называется такой детерминированный автомат с магазинной памятью , представленный конечным набором состояний , входным алфавитом на ленте , стековым алфавитом и множеством переходов , который удовлетворяет следующим условиям:
|
Определение: |
Множество слов выводимых из конфигурации | .
Замечание: здесь и далее речь идёт о ДМП с допуском по пустому стеку.
Пример
Пусть
- — стартовая конфигурация
и переходы имеют следующий вид:
Данный автомат будет являться ДМП автоматом с допуском по пустому стеку в нормальной форме.
Автомат с единственным состоянием
Определение: |
Автомат с единственным состоянием (англ. Single State Push Down Automata, SDA) называется такой автомат Переходы в таком автомате имеют вид:
| , представленный тройкой: входной алфавит на ленте , стековым алфавит и множеством переходов .
Определение: |
Множество слов выводимых из конфигурации | .
Определение: |
Автомат с единственным состоянием находится в нормальной форме, если все его переходы удовлетворяют условию:
|
Автомат с единственным состоянием можно сделать детерминированным, наложив следующее требование на переходы:
- если и , тогда .
Детерминированный автомат с единственным состоянием соответствует по мощности "простым грамматикам".
Определение: |
Простая грамматика (англ. Simple Grammar) — такая грамматика, где все продукции имеют вид:
|
Однако, множество языков допускаемых детерминированным автоматом с единственным состоянием является строгим подмножеством языков ДМП автоматов, поэтому больший интерес представляют строгие автоматы с единственным состоянием.
Для этого вводится отношение эквивалентности
на множестве , заданное разбиением на непересекающиеся подмножества.Пример 1
- — стартовые конфигурации
Переходы:
Разбиение
имеет вид . Такой автомат будет детерминированным.Пример 2
- — стартовые конфигурации
Переходы:
Разбиение
имеет вид , что означает, что .Отношение
можно расширить на последовательность стековых символов:если:
- либо ,
- либо , , и .
Свойства
:- .
- .
- Если и , тогда .
- Если и , тогда .
- Если и , тогда .
Определение: |
Отношение
| на множестве является строгим (англ. strict), если выполняются следующие условия:
Определение: |
Автомат с единственным состоянием с заданным разбиением | является строгим (англ. strict), если отношение строгое на множестве .
Определение конфигураций автомата с единственным состоянием расширяется на наборы из последовательностей символов стека
, которые записываются в виде суммы .Две суммы конфигураций считаются эквивалентными (записывается через
), если они представляют собой один и тот же набор.Язык суммы конфигураций определяется —
Определение: |
Сумма конфигураций | называется допустимой (англ. admissible), если для всех элементов суммы, и при .
Таким образом
— тоже допустимо. Некоторые суммы из второго примера: , , , и — все эти суммы допустимые, в то время как будет недопустима, так как .Строгий автомат с единственным состоянием можно сделать детерминированным, заменив множество переходов
на : для каждого символа и переходы вида из заменяются на один переход . Таким образом для каждого и будет уникальный переход из .Связь ДМП автомата в нормальной форме и автомата с единственным состоянием
Утверждение: |
Допустимые конфигурации строгого автомата с единственным состоянием генерируют те же языки, что и конфигурации ДМП с допуском по пустому стеку. |
Пусть задан ДМП автомат в нормальной форме в виде четырех множеств .
Полученный автомат с единственным состоянием также находится в нормальной форме. Детерминируем новый автомат, чтобы сохранить детерминированность. Таким образом каждая конфигурация вида из исходного автомата была трансформирована в и . |
Применим алгоритм к самому первому примеру и получим следующее:
- , где
Применение
Нормализация ДМП автоматов используется в задаче проверки их на эквивалентность. Для этого автоматы переводятся в нормальную форму, а затем в автоматы с единственным состоянием, для которых эта задача разрешима, следовательно разрешима и изначальная задача.