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