Нормальная форма ДМП-автомата — различия между версиями
Eadm (обсуждение | вклад)  (New)  | 
				Eadm (обсуждение | вклад)  м  | 
				||
| Строка 2: | Строка 2: | ||
{{Определение  | {{Определение  | ||
|definition=ДМП в '''нормальной форме''' (англ. ''Normal Form'') называется такой [[Детерминированные автоматы с магазинной памятью, допуск по пустому стеку|детерминированный автомат с магазинной памятью]] <tex>M</tex>, представленный конечным набором состояний <tex>Q</tex>, входным алфавитом на ленте <tex>\Sigma</tex>, стековым алфавитом <tex>\Gamma</tex> и множеством переходов <tex>\Delta</tex>, который удовлетворяет следующим условиям:  | |definition=ДМП в '''нормальной форме''' (англ. ''Normal Form'') называется такой [[Детерминированные автоматы с магазинной памятью, допуск по пустому стеку|детерминированный автомат с магазинной памятью]] <tex>M</tex>, представленный конечным набором состояний <tex>Q</tex>, входным алфавитом на ленте <tex>\Sigma</tex>, стековым алфавитом <tex>\Gamma</tex> и множеством переходов <tex>\Delta</tex>, который удовлетворяет следующим условиям:  | ||
| − | # если <tex>(p, a, S) \rightarrow (q, \alpha) \in \Delta</tex>, то <tex>|\alpha| \  | + | # если <tex>(p, a, S) \rightarrow (q, \alpha) \in \Delta</tex>, то <tex>|\alpha| \leqslant 2</tex>, где <tex>\alpha \in \Gamma^*</tex> {{---}} последовательность стековых символов, <tex>S \in \Gamma</tex>;  | 
| − | # если <tex>(p, \  | + | # если <tex>(p, \varepsilon, S) \rightarrow (q, \alpha) \in \Delta</tex>, то <tex>\alpha = \varepsilon</tex>;  | 
# <tex>\Delta</tex> не содержит бесполезных переходов (переход <tex>(p, a, S) \rightarrow (q, \alpha)</tex> считается бесполезным, если <tex>L(q, \alpha) = \emptyset</tex>, то есть из конфигурации <tex>(q, \alpha)</tex> нельзя ничего вывести).  | # <tex>\Delta</tex> не содержит бесполезных переходов (переход <tex>(p, a, S) \rightarrow (q, \alpha)</tex> считается бесполезным, если <tex>L(q, \alpha) = \emptyset</tex>, то есть из конфигурации <tex>(q, \alpha)</tex> нельзя ничего вывести).  | ||
}}  | }}  | ||
{{Определение  | {{Определение  | ||
| − | |definition=Множество слов   | + | |definition=Множество слов выводимых из конфигурации <tex>L(p, \sigma) = \{ \omega \in \Sigma^* : \exists q \in Q (p, \omega, \sigma) \rightarrow (q, \varepsilon) \}</tex>.  | 
}}  | }}  | ||
| Строка 21: | Строка 21: | ||
и переходы имеют следующий вид:  | и переходы имеют следующий вид:  | ||
: <tex>(p, a, X) \rightarrow (p, X)</tex>  | : <tex>(p, a, X) \rightarrow (p, X)</tex>  | ||
| − | : <tex>(p, b, X) \rightarrow (p, \  | + | : <tex>(p, b, X) \rightarrow (p, \varepsilon)</tex>  | 
: <tex>(p, c, X) \rightarrow (p, X)</tex>  | : <tex>(p, c, X) \rightarrow (p, X)</tex>  | ||
| − | : <tex>(r, \  | + | : <tex>(r, \varepsilon, X) \rightarrow (p, \varepsilon)</tex>  | 
| − | : <tex>(p, a, Y) \rightarrow (p, \  | + | : <tex>(p, a, Y) \rightarrow (p, \varepsilon)</tex>  | 
| − | : <tex>(p, b, Y) \rightarrow (r, \  | + | : <tex>(p, b, Y) \rightarrow (r, \varepsilon)</tex>  | 
: <tex>(p, c, Y) \rightarrow (p, YY)</tex>  | : <tex>(p, c, Y) \rightarrow (p, YY)</tex>  | ||
| − | : <tex>(r, \  | + | : <tex>(r, \varepsilon, Y) \rightarrow (r, \varepsilon)</tex>  | 
| − | Данный автомат будет   | + | Данный автомат будет являться [[Детерминированные автоматы с магазинной памятью, допуск по пустому стеку|ДМП автоматом с допуском по пустому стеку]] в нормальной форме.  | 
== Автомат с единственным состоянием ==  | == Автомат с единственным состоянием ==  | ||
| Строка 38: | Строка 38: | ||
{{Определение  | {{Определение  | ||
| − | |definition=Множество слов   | + | |definition=Множество слов выводимых из конфигурации <tex>L(\alpha) = \{ \omega \in \Sigma^* : (\alpha, \omega) \rightarrow \varepsilon \}</tex>.  | 
}}  | }}  | ||
{{Определение  | {{Определение  | ||
|definition=Автомат с единственным состоянием находится в '''нормальной форме''', если все его переходы удовлетворяют условию:  | |definition=Автомат с единственным состоянием находится в '''нормальной форме''', если все его переходы удовлетворяют условию:  | ||
| − | : если <tex>(S, a) \rightarrow \alpha \in \Delta</tex>, тогда <tex>|\alpha| \  | + | : если <tex>(S, a) \rightarrow \alpha \in \Delta</tex>, тогда <tex>|\alpha| \leqslant 2</tex> и <tex>L(\alpha) \neq \emptyset</tex>.  | 
}}  | }}  | ||
Автомат с единственным состоянием можно сделать детерминированным, наложив следующее требование на переходы:  | Автомат с единственным состоянием можно сделать детерминированным, наложив следующее требование на переходы:  | ||
| − | : если <tex>(S, a) \rightarrow \alpha \in \Delta</tex> и <tex>(S, a) \rightarrow \beta \in \Delta</tex>, тогда <tex>\alpha = \beta</tex>  | + | : если <tex>(S, a) \rightarrow \alpha \in \Delta</tex> и <tex>(S, a) \rightarrow \beta \in \Delta</tex>, тогда <tex>\alpha = \beta</tex>.  | 
Детерминированный автомат с единственным состоянием соответствует по мощности "простым грамматикам".  | Детерминированный автомат с единственным состоянием соответствует по мощности "простым грамматикам".  | ||
{{Определение  | {{Определение  | ||
|definition='''Простая грамматика''' (англ. ''Simple Grammar'') {{---}} такая грамматика, где все продукции имеют вид:  | |definition='''Простая грамматика''' (англ. ''Simple Grammar'') {{---}} такая грамматика, где все продукции имеют вид:  | ||
| − | : <tex>A \rightarrow \alpha B_1 B_2 \ldots B_n</tex>, где <tex>\alpha</tex> {{---}} терминал, а все <tex>B_i, i = 1 \ldots n</tex> {{---}} нетерминалы, и существует только одна продукция с парой <tex>\langle A, \alpha \rangle</tex>.  | + | : <tex>A \rightarrow \alpha B_1 B_2 \ldots B_n</tex>,  | 
| + | где <tex>\alpha</tex> {{---}} терминал, а все <tex>B_i, i = 1 \ldots n</tex> {{---}} нетерминалы, и существует только одна продукция с парой <tex>\langle A, \alpha \rangle</tex>.  | ||
}}  | }}  | ||
| − | Однако, множество языков допускаемых детерминированным автоматом с единственным состоянием является строгим   | + | Однако, множество языков допускаемых детерминированным автоматом с единственным состоянием является строгим подмножеством языков [[Детерминированные автоматы с магазинной памятью|ДМП автоматов]], поэтому больший интерес представляют ''строгие'' автоматы с единственным состоянием.  | 
| − | Для этого вводится отношение эквивалентности <tex>\equiv</tex> на множестве <tex>\Gamma</tex>, заданное разбиением <tex>\Gamma</tex> на непересекающиеся   | + | Для этого вводится отношение эквивалентности <tex>\equiv</tex> на множестве <tex>\Gamma</tex>, заданное разбиением <tex>\Gamma</tex> на непересекающиеся подмножества.  | 
'''Пример 1'''  | '''Пример 1'''  | ||
| − | |||
: <tex>\Sigma = \{a, b\}</tex>  | : <tex>\Sigma = \{a, b\}</tex>  | ||
: <tex>\Gamma = \{A, C, X, Y\}</tex>  | : <tex>\Gamma = \{A, C, X, Y\}</tex>  | ||
| Строка 66: | Строка 66: | ||
Переходы:  | Переходы:  | ||
: <tex>(X, a) \rightarrow YX</tex>  | : <tex>(X, a) \rightarrow YX</tex>  | ||
| − | : <tex>(X, b) \rightarrow \  | + | : <tex>(X, b) \rightarrow \varepsilon</tex>  | 
: <tex>(Y, b) \rightarrow X</tex>  | : <tex>(Y, b) \rightarrow X</tex>  | ||
: <tex>(A, a) \rightarrow C</tex>  | : <tex>(A, a) \rightarrow C</tex>  | ||
| − | : <tex>(A, b) \rightarrow \  | + | : <tex>(A, b) \rightarrow \varepsilon</tex>  | 
: <tex>(C, b) \rightarrow AA</tex>  | : <tex>(C, b) \rightarrow AA</tex>  | ||
| − | Разбиение <tex>\Gamma</tex> имеет вид <tex>\{\{A\}, \{C\}, \{X\}, \{Y\}\}</tex>  | + | Разбиение <tex>\Gamma</tex> имеет вид <tex>\{\{A\}, \{C\}, \{X\}, \{Y\}\}</tex>.  | 
Такой автомат будет детерминированным.  | Такой автомат будет детерминированным.  | ||
| Строка 80: | Строка 80: | ||
Переходы:  | Переходы:  | ||
: <tex>(X, a) \rightarrow X</tex>  | : <tex>(X, a) \rightarrow X</tex>  | ||
| − | : <tex>(X, b) \rightarrow \  | + | : <tex>(X, b) \rightarrow \varepsilon</tex>  | 
: <tex>(X, c) \rightarrow X</tex>  | : <tex>(X, c) \rightarrow X</tex>  | ||
| − | : <tex>(Y, a) \rightarrow \  | + | : <tex>(Y, a) \rightarrow \varepsilon</tex>  | 
: <tex>(Y, c) \rightarrow YY</tex>  | : <tex>(Y, c) \rightarrow YY</tex>  | ||
| − | : <tex>(Z, b) \rightarrow \  | + | : <tex>(Z, b) \rightarrow \varepsilon</tex>  | 
: <tex>(Z, c) \rightarrow Z</tex>  | : <tex>(Z, c) \rightarrow Z</tex>  | ||
: <tex>(Z, c) \rightarrow YZ</tex>  | : <tex>(Z, c) \rightarrow YZ</tex>  | ||
| Строка 96: | Строка 96: | ||
'''Свойства''' <tex>\equiv</tex>:  | '''Свойства''' <tex>\equiv</tex>:  | ||
| − | # <tex>\alpha\beta \equiv \alpha \Leftrightarrow \beta = \  | + | # <tex>\alpha\beta \equiv \alpha \Leftrightarrow \beta = \varepsilon</tex>  | 
# <tex>\alpha \equiv \beta \Leftrightarrow \delta\alpha \equiv \delta\beta</tex>  | # <tex>\alpha \equiv \beta \Leftrightarrow \delta\alpha \equiv \delta\beta</tex>  | ||
# если <tex>\alpha \equiv \beta</tex> и <tex>\gamma \equiv \delta</tex>, тогда <tex>\alpha\gamma \equiv \beta\delta</tex>  | # если <tex>\alpha \equiv \beta</tex> и <tex>\gamma \equiv \delta</tex>, тогда <tex>\alpha\gamma \equiv \beta\delta</tex>  | ||
| Строка 103: | Строка 103: | ||
{{Определение  | {{Определение  | ||
| − | |definition=Отношение <tex>\equiv</tex> на множестве <tex>\Gamma</tex> является '''строгим''' (англ. ''strict'')   | + | |definition=Отношение <tex>\equiv</tex> на множестве <tex>\Gamma</tex> является '''строгим''' (англ. ''strict''), если выполняются следующие условия:  | 
# если <tex>X \equiv Y</tex>, <tex>(X, a) \rightarrow \alpha</tex> и <tex>(Y, a) \rightarrow \beta</tex>, тогда <tex>\alpha \equiv \beta</tex>  | # если <tex>X \equiv Y</tex>, <tex>(X, a) \rightarrow \alpha</tex> и <tex>(Y, a) \rightarrow \beta</tex>, тогда <tex>\alpha \equiv \beta</tex>  | ||
# если <tex>X \equiv Y</tex>, <tex>(X, a) \rightarrow \alpha</tex> и <tex>(Y, a) \rightarrow \alpha</tex>, тогда <tex>X = Y</tex>  | # если <tex>X \equiv Y</tex>, <tex>(X, a) \rightarrow \alpha</tex> и <tex>(Y, a) \rightarrow \alpha</tex>, тогда <tex>X = Y</tex>  | ||
| Строка 109: | Строка 109: | ||
{{Определение  | {{Определение  | ||
| − | |definition=Автомат с единственным состоянием с заданным разбиением <tex>\Gamma</tex> является '''строгим''', если отношение <tex>\equiv</tex> строгое на множестве <tex>\Gamma</tex>.  | + | |definition=Автомат с единственным состоянием с заданным разбиением <tex>\Gamma</tex> является '''строгим''' (англ. ''strict''), если отношение <tex>\equiv</tex> строгое на множестве <tex>\Gamma</tex>.  | 
}}  | }}  | ||
| − | + | Определение конфигураций автомата с единственным состоянием расширяется на наборы из последовательностей символов стека <tex>\{ \alpha_1, \ldots , \alpha_n \}</tex>, которые записываются в виде суммы <tex>\alpha_1 + \ldots + \alpha_n</tex>.  | |
| − | Две суммы конфигураций считаются эквивалентными (записывается через <tex>=</tex>), если они представляют   | + | Две суммы конфигураций считаются эквивалентными (записывается через <tex>=</tex>), если они представляют собой один и тот же набор.  | 
| − | Язык суммы конфигураций определяется {{---}} <tex>L(\alpha_1 + \ldots + \alpha_n) = \bigcup\{L(\alpha_i)   | + | Язык суммы конфигураций определяется {{---}} <tex>L(\alpha_1 + \ldots + \alpha_n) = \bigcup\limits_{i = 1}^{n}L(\alpha_i)</tex>  | 
{{Определение  | {{Определение  | ||
| − | |definition=Сумма конфигураций <tex>\beta_1 + \ldots + \beta_n</tex> называется '''допустимой''' (англ. ''admissible''), если <tex>\beta_i \equiv \beta_j</tex> для всех   | + | |definition=Сумма конфигураций <tex>\beta_1 + \ldots + \beta_n</tex> называется '''допустимой''' (англ. ''admissible''), если <tex>\beta_i \equiv \beta_j</tex> для всех элементов суммы, и <tex>\beta_i \neq \beta_j</tex> при <tex>i \neq j</tex>.  | 
}}  | }}  | ||
Таким образом <tex>\emptyset</tex> {{---}} тоже допустимо.  | Таким образом <tex>\emptyset</tex> {{---}} тоже допустимо.  | ||
| Строка 129: | Строка 129: | ||
<tex>(X, a) \rightarrow \alpha_1, \ldots , (X, a) \rightarrow \alpha_n</tex> из <tex>\Delta</tex>  | <tex>(X, a) \rightarrow \alpha_1, \ldots , (X, a) \rightarrow \alpha_n</tex> из <tex>\Delta</tex>  | ||
заменяются на один переход <tex>(X, a) \rightarrow \alpha_1 + \ldots + \alpha_n</tex>.  | заменяются на один переход <tex>(X, a) \rightarrow \alpha_1 + \ldots + \alpha_n</tex>.  | ||
| − | Таким образом для каждого <tex>X \in \Gamma</tex> и <tex>a \in \Sigma</tex> будет уникальный переход <tex>(X, a) \rightarrow \sum  | + | Таким образом для каждого <tex>X \in \Gamma</tex> и <tex>a \in \Sigma</tex> будет уникальный переход <tex>(X, a) \rightarrow \sum{\alpha_i}</tex> из <tex>\Delta'</tex>.  | 
== Связь ДМП автомата в нормальной форме и автомата с единственным состоянием ==  | == Связь ДМП автомата в нормальной форме и автомата с единственным состоянием ==  | ||
| Строка 138: | Строка 138: | ||
# Для двух состояний <tex>p, q \in Q</tex> и <tex>X \in \Gamma</tex> заведём новый символ стека <tex>[pXq]</tex>  | # Для двух состояний <tex>p, q \in Q</tex> и <tex>X \in \Gamma</tex> заведём новый символ стека <tex>[pXq]</tex>  | ||
# Для переходов сначала для данного <tex>a \in \Sigma</tex>:  | # Для переходов сначала для данного <tex>a \in \Sigma</tex>:  | ||
| − | : если <tex>(p, a, X) \rightarrow (q, \  | + | : если <tex>(p, a, X) \rightarrow (q, \varepsilon) \in \Delta</tex>, тогда <tex>([pXq], a) \rightarrow \varepsilon</tex>  | 
: если <tex>(p, a, X) \rightarrow (q, Y) \in \Delta</tex>, тогда <tex>([pXr], a) \rightarrow [qYr]</tex> для всех <tex>r \in Q</tex>  | : если <tex>(p, a, X) \rightarrow (q, Y) \in \Delta</tex>, тогда <tex>([pXr], a) \rightarrow [qYr]</tex> для всех <tex>r \in Q</tex>  | ||
| − | : если <tex>(p, a, X) \rightarrow (q, YZ) \in \Delta</tex>, тогда <tex>([pXr], a) \rightarrow [qYp'][p'Zr]</tex> для всех <tex>r,p  | + | : если <tex>(p, a, X) \rightarrow (q, YZ) \in \Delta</tex>, тогда <tex>([pXr], a) \rightarrow [qYp'][p'Zr]</tex> для всех <tex>r,p' \in Q</tex>  | 
| − | # [pSq] считается <tex>\  | + | # [pSq] считается <tex>\varepsilon</tex>-символом, если <tex>(p, \varepsilon, X) \rightarrow (q, \varepsilon) \in \Delta</tex>. Все <tex>\varepsilon</tex>-символы удаляются из правой части переходов, полученных в предыдущем пункте.  | 
Полученный автомат с единственным состоянием также находится в нормальной форме. Детерминируем новый автомат, чтобы сохранить детерминированность.  | Полученный автомат с единственным состоянием также находится в нормальной форме. Детерминируем новый автомат, чтобы сохранить детерминированность.  | ||
| − | Таким образом каждая конфигурация вида <tex>pX_1X_2 \ldots X_n</tex> из исходного автомата была трансформирована в <tex>sum(p\alpha) = \  | + | Таким образом каждая конфигурация вида <tex>pX_1X_2 \ldots X_n</tex> из исходного автомата была трансформирована в <tex>sum(p\alpha) = \sum\limits_{p_i \in Q}{[p X_1 p_1][p_1 X_2 p_2] \ldots [p_{n-1}X_n p_n]}</tex> и <tex>L(p\alpha) = L(sum(p\alpha))</tex>.  | 
}}  | }}  | ||
Применим алгоритм к самому первому примеру и получим следующее:  | Применим алгоритм к самому первому примеру и получим следующее:  | ||
: <tex>(X, a) \rightarrow X</tex>  | : <tex>(X, a) \rightarrow X</tex>  | ||
| − | : <tex>(Y, a) \rightarrow \  | + | : <tex>(Y, a) \rightarrow \varepsilon</tex>  | 
: <tex>(Z, a) \rightarrow \emptyset</tex>  | : <tex>(Z, a) \rightarrow \emptyset</tex>  | ||
| − | : <tex>(X, b) \rightarrow \  | + | : <tex>(X, b) \rightarrow \varepsilon</tex>  | 
: <tex>(Y, b) \rightarrow \emptyset</tex>  | : <tex>(Y, b) \rightarrow \emptyset</tex>  | ||
| − | : <tex>(Z, b) \rightarrow \  | + | : <tex>(Z, b) \rightarrow \varepsilon</tex>  | 
: <tex>(X, c) \rightarrow X</tex>  | : <tex>(X, c) \rightarrow X</tex>  | ||
: <tex>(Y, c) \rightarrow YY</tex>  | : <tex>(Y, c) \rightarrow YY</tex>  | ||
| Строка 161: | Строка 161: | ||
: <tex>Z = [pYr]</tex>  | : <tex>Z = [pYr]</tex>  | ||
| − | ==   | + | == Применение ==  | 
| − | Существует задача об определении эквивалентности двух [[Детерминированные автоматы с магазинной памятью|ДМП автоматов]] (два ДМП автомата <tex>M_1</tex> и <tex>  | + | Существует задача об определении эквивалентности двух [[Детерминированные автоматы с магазинной памятью|ДМП автоматов]] (два ДМП автомата <tex>M_1</tex> и <tex>M_2</tex> эквивалентны, если <tex>L(M_1) = L(M_2)</tex>).  | 
| − | Для этого автоматы переводятся в нормальную форму, а   | + | Для этого автоматы переводятся в нормальную форму, а затем в автоматы с единственным состоянием, для которых эта задача разрешима, следовательно разрешима и изначальная задача.  | 
== См. также ==  | == См. также ==  | ||
Версия 03:11, 9 января 2017
Содержание
Определение
| Определение: | 
ДМП в нормальной форме (англ. Normal Form) называется такой детерминированный автомат с магазинной памятью , представленный конечным набором состояний , входным алфавитом на ленте , стековым алфавитом  и множеством переходов , который удовлетворяет следующим условиям:
  | 
| Определение: | 
| Множество слов выводимых из конфигурации . | 
Замечание: здесь и далее речь идёт о ДМП с допуском по пустому стеку.
Пример
Пусть
- — стартовая конфигурация
 
и переходы имеют следующий вид:
Данный автомат будет являться ДМП автоматом с допуском по пустому стеку в нормальной форме.
Автомат с единственным состоянием
| Определение: | 
| Автомат с единственным состоянием  (англ. Single State Push Down Automata, SDA) называется такой автомат , представленный тройкой: входной алфавит на ленте , стековым алфавит  и множеством переходов .
 Переходы в таком автомате имеют вид: 
  | 
| Определение: | 
| Множество слов выводимых из конфигурации . | 
| Определение: | 
Автомат с единственным состоянием находится в нормальной форме, если все его переходы удовлетворяют условию:
  | 
Автомат с единственным состоянием можно сделать детерминированным, наложив следующее требование на переходы:
- если и , тогда .
 
Детерминированный автомат с единственным состоянием соответствует по мощности "простым грамматикам".
| Определение: | 
Простая грамматика (англ. Simple Grammar) — такая грамматика, где все продукции имеют вид:
  | 
Однако, множество языков допускаемых детерминированным автоматом с единственным состоянием является строгим подмножеством языков ДМП автоматов, поэтому больший интерес представляют строгие автоматы с единственным состоянием.
Для этого вводится отношение эквивалентности на множестве , заданное разбиением на непересекающиеся подмножества.
Пример 1
- — стартовые конфигурации
 
Переходы:
Разбиение имеет вид . Такой автомат будет детерминированным.
Пример 2
- — стартовые конфигурации
 
Переходы:
Разбиение имеет вид , что означает, что .
Отношение можно расширить на последовательность стековых символов:
если:
- либо
 - либо , , и .
 
Свойства :
- если и , тогда
 - если и , тогда
 - если и , тогда
 
| Определение: | 
Отношение  на множестве  является строгим (англ. strict), если выполняются следующие условия:
  | 
| Определение: | 
| Автомат с единственным состоянием с заданным разбиением является строгим (англ. strict), если отношение строгое на множестве . | 
Определение конфигураций автомата с единственным состоянием расширяется на наборы из последовательностей символов стека , которые записываются в виде суммы .
Две суммы конфигураций считаются эквивалентными (записывается через ), если они представляют собой один и тот же набор.
Язык суммы конфигураций определяется —
| Определение: | 
| Сумма конфигураций называется допустимой (англ. admissible), если для всех элементов суммы, и при . | 
Таким образом — тоже допустимо. Некоторые суммы из второго примера: , , , и — все эти суммы допустимые, в то время как будет недопустима, так как .
Строгий автомат с единственным состоянием можно сделать детерминированным, заменив множество переходов на : для каждого символа и переходы вида из заменяются на один переход . Таким образом для каждого и будет уникальный переход из .
Связь ДМП автомата в нормальной форме и автомата с единственным состоянием
| Утверждение: | 
Допустимые конфигурации строгого автомата с единственным состоянием генерируют те же языки, что и конфигурации ДМП с допуском по пустому стеку.  | 
|  
 Пусть задан ДМП автомат в нормальной форме в виде четырех множеств . 
 
 
 Полученный автомат с единственным состоянием также находится в нормальной форме. Детерминируем новый автомат, чтобы сохранить детерминированность. Таким образом каждая конфигурация вида из исходного автомата была трансформирована в и . | 
Применим алгоритм к самому первому примеру и получим следующее:
- , где
 
Применение
Существует задача об определении эквивалентности двух ДМП автоматов (два ДМП автомата и эквивалентны, если ). Для этого автоматы переводятся в нормальную форму, а затем в автоматы с единственным состоянием, для которых эта задача разрешима, следовательно разрешима и изначальная задача.
См. также
- Детерминированные автоматы с магазинной памятью, допуск по пустому стеку
 - Детерминированные автоматы с магазинной памятью
 - ДМП-автоматы и неоднозначность