Автоматы с магазинной памятью — различия между версиями
м |
м |
||
Строка 15: | Строка 15: | ||
*<tex>\delta</tex> --- функция переходов. | *<tex>\delta</tex> --- функция переходов. | ||
}} | }} | ||
− | |||
==Диаграммы переходов== | ==Диаграммы переходов== | ||
<div class="tleft" style="clear:none">[[Файл:Transition1.png|thumb|Рис. 2. Переход: с - символ, прочитанный с ленты; A - символ, вынутый из стека; <tex>\alpha</tex> - строка, помещаемая в стек]]</div> | <div class="tleft" style="clear:none">[[Файл:Transition1.png|thumb|Рис. 2. Переход: с - символ, прочитанный с ленты; A - символ, вынутый из стека; <tex>\alpha</tex> - строка, помещаемая в стек]]</div> | ||
Строка 22: | Строка 21: | ||
<br style="clear:both" /> | <br style="clear:both" /> | ||
По соглашению маркер дна всегда находится на дне (за исключением случая, когда автомат является [[МП-автоматы, допуск по пустому стеку и по допускающему состоянию, эквивалентность|автоматом с допуском по пустому стеку]]). То есть, для <tex>\mathcal8 q \in Q,\mathcal8 c \in \Sigma \cup \{\varepsilon\} \Rightarrow \delta(q, c, z_0) \ni \langle p, \alpha \rangle </tex>, где <tex>p \in Q, \alpha \in \Gamma^*, \alpha = \alpha_1z_0</tex> | По соглашению маркер дна всегда находится на дне (за исключением случая, когда автомат является [[МП-автоматы, допуск по пустому стеку и по допускающему состоянию, эквивалентность|автоматом с допуском по пустому стеку]]). То есть, для <tex>\mathcal8 q \in Q,\mathcal8 c \in \Sigma \cup \{\varepsilon\} \Rightarrow \delta(q, c, z_0) \ni \langle p, \alpha \rangle </tex>, где <tex>p \in Q, \alpha \in \Gamma^*, \alpha = \alpha_1z_0</tex> | ||
− | |||
==Основные определения== | ==Основные определения== | ||
{{Определение | {{Определение | ||
Строка 37: | Строка 35: | ||
==Пример недетерминированного МП-автомата== | ==Пример недетерминированного МП-автомата== | ||
На рис. 5 приведен пример недетерминированного автомата с магазинной памятью для языка <tex>0^n1^n</tex>. | На рис. 5 приведен пример недетерминированного автомата с магазинной памятью для языка <tex>0^n1^n</tex>. | ||
− | [[Изображение:PDAexample.png|200px|thumb|left|Рис. 5. Недетерминированный МП-автомат для языка <tex>0^n1^n</tex>]] | + | [[Изображение:PDAexample.png|200px|thumb|left|Рис. 5. Недетерминированный МП-автомат для языка <tex>0^n1^n</tex>]]<br style="clear:both" /> |
− | <br style="clear:both" /> | ||
==Детерминированный автомат с магазинной памятью== | ==Детерминированный автомат с магазинной памятью== | ||
{{Определение | {{Определение | ||
Строка 48: | Строка 45: | ||
}} | }} | ||
Изменим автомат для языка <tex>0^n1^n</tex> из приведенного выше [[Автоматы с магазинной памятью#Пример недетерминированного МП-автомата|примера]] так, чтобы он стал детерминированным: | Изменим автомат для языка <tex>0^n1^n</tex> из приведенного выше [[Автоматы с магазинной памятью#Пример недетерминированного МП-автомата|примера]] так, чтобы он стал детерминированным: | ||
− | [[Изображение:DetPDAexample.png|thumb|200px|left|Рис. 6. Детерминированный автомат с магазинной памятью для языка <tex>0^n1^n</tex>]] | + | [[Изображение:DetPDAexample.png|thumb|200px|left|Рис. 6. Детерминированный автомат с магазинной памятью для языка <tex>0^n1^n</tex>]]<br style="clear:both" /> |
− | <br style="clear:both" /> | ||
==Источники== | ==Источники== | ||
*Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд.. : Пер. с англ. — М. : Издательский дом "Вильямс", 2002. | *Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд.. : Пер. с англ. — М. : Издательский дом "Вильямс", 2002. |
Версия 02:04, 29 октября 2010
Содержание
Недетерминированный автомат с магазинной памятью
На рис. 1 изображен автомат с магазинной памятью (автомат со стеком, pushdown automaton). С ленты последовательно считываются символы входного алфавита (
--- текущий считываемый символ). Символ снимается с вершины стека. Вместо него помещается строка таким образом, чтобы первый символ строки находился на вершине стека.Обычно под автоматом со стеком подразумевается недетерминированный автомат. Заметим, что недетерминированные автоматы со стеком эквивалентны по выразительной мощности контекстно свободным грамматикам. Если речь пойдет о детерминированном автомате, это будет указано отдельно. Заметим также, что детерминированные и недетерминированные автоматы со стеком неэквивалентны.
Определение: |
Автомат с магазинной памятью (автомат со стеком, pushdown automaton) --- это набор A=
| , где
Диаграммы переходов
По соглашению маркер дна всегда находится на дне (за исключением случая, когда автомат является автоматом с допуском по пустому стеку). То есть, для , где
Основные определения
Определение: |
Мгновенное описание --- это набор | , где --- текущее состояние, --- остаток строки, --- содержимое стека.
Определение: |
Переход за один шаг обозначается как | , где (возможно, ), ,
Определение: |
Язык автомата с магазинной памятью |
Пример недетерминированного МП-автомата
На рис. 5 приведен пример недетерминированного автомата с магазинной памятью для языка
.Детерминированный автомат с магазинной памятью
Определение: |
Если для автомата с магазинной памятью выполняются следующие условия:
|
Изменим автомат для языка примера так, чтобы он стал детерминированным:
из приведенного вышеИсточники
- Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений, 2-е изд.. : Пер. с англ. — М. : Издательский дом "Вильямс", 2002.