Детерминированные автоматы с магазинной памятью — различия между версиями
Kirillova (обсуждение | вклад) |
м (rollbackEdits.php mass rollback) |
||
(не показано 17 промежуточных версий 9 участников) | |||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | + | '''Детерминированным автоматом с магазинной памятью''' (англ. ''deterministic pushdown automaton'') называется [[Автоматы с магазинной памятью|автомат с магазинной памятью]], для которого выполнены следующие условия: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
#<tex>\mathcal8 q \in Q, a \in \Sigma \cup \{ \varepsilon \}, X \in \Gamma \Rightarrow \delta(q, a, X)</tex> имеет не более одного элемента {{---}} <tex> \delta : Q \times \Sigma \cup \{\varepsilon\} \times \Gamma \rightarrow Q \times \Gamma^*</tex>. | #<tex>\mathcal8 q \in Q, a \in \Sigma \cup \{ \varepsilon \}, X \in \Gamma \Rightarrow \delta(q, a, X)</tex> имеет не более одного элемента {{---}} <tex> \delta : Q \times \Sigma \cup \{\varepsilon\} \times \Gamma \rightarrow Q \times \Gamma^*</tex>. | ||
− | #Если <tex>\delta (q,a,X)</tex> непусто для некоторого <tex>a \in \Sigma</tex>, то <tex>\delta (q,\ | + | #Если <tex>\delta (q,a,X)</tex> непусто для некоторого <tex>a \in \Sigma</tex>, то <tex>\delta (q,\varepsilon,X)</tex> должно быть пустым. |
}} | }} | ||
− | |||
==Пример== | ==Пример== | ||
− | + | Построим для языка: | |
+ | # <tex> S \rightarrow 1H </tex> | ||
+ | # <tex> H \rightarrow 0F </tex> | ||
+ | # <tex> H \rightarrow \varepsilon </tex> | ||
+ | # <tex> F \rightarrow 0F </tex> | ||
+ | # <tex> F \rightarrow 1F </tex> | ||
+ | # <tex> F \rightarrow \varepsilon </tex> | ||
+ | автомат <tex>A=(\{0,1\}, \{Z_0,X\}, \{q,p\}, q, \{p\}, Z_0, \delta)</tex> с функией перехода <tex>\delta</tex>: | ||
# <tex>\delta(q,0,Z_0)=(q,XZ_0)</tex> | # <tex>\delta(q,0,Z_0)=(q,XZ_0)</tex> | ||
− | # <tex>\delta(q,0,X)=(q,XX)</tex> | + | # <tex>\delta(q,0,X) =(q,XX)</tex> |
− | # <tex>\delta(q,1,X)=(q,X)</tex> | + | # <tex>\delta(q,1,X) =(q,X)</tex> |
− | # <tex>\delta(q, | + | # <tex>\delta(q,1,Z_0)=(p,Z_0)</tex> |
# <tex>\delta(p,0,Z_0)=(p,XZ_0)</tex> | # <tex>\delta(p,0,Z_0)=(p,XZ_0)</tex> | ||
− | # <tex>\delta(p,0,X)=(p,XX)</tex> | + | # <tex>\delta(p,0,X) =(p,XX)</tex> |
− | # <tex>\delta(p,1,X)=(p,X)</tex> | + | # <tex>\delta(p,1,X) =(p,X)</tex> <br> <br> |
+ | [[Файл:Пример_мп-автомата.png]] | ||
+ | |||
+ | == См. также == | ||
+ | * [[Детерминированные автоматы с магазинной памятью, допуск по пустому стеку]] | ||
+ | * [[Несовпадение класса языков, распознаваемых ДМП автоматами и произвольными МП автоматами]] | ||
+ | * [[ДМП-автоматы и неоднозначность]] | ||
+ | |||
+ | == Источники информации == | ||
+ | * ''Хопкрофт Д., Мотвани Р., Ульман Д.'' {{---}} '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2008. — 528с. : ISBN 978-5-8459-1347-0 (рус.) | ||
+ | |||
+ | [[Категория: Теория формальных языков]] | ||
+ | [[Категория: Контекстно-свободные грамматики]] | ||
+ | [[Категория: МП-автоматы]] |
Текущая версия на 19:39, 4 сентября 2022
Определение: |
Детерминированным автоматом с магазинной памятью (англ. deterministic pushdown automaton) называется автомат с магазинной памятью, для которого выполнены следующие условия:
|
Пример
Построим для языка:
автомат
с функией перехода :См. также
- Детерминированные автоматы с магазинной памятью, допуск по пустому стеку
- Несовпадение класса языков, распознаваемых ДМП автоматами и произвольными МП автоматами
- ДМП-автоматы и неоднозначность
Источники информации
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2008. — 528с. : ISBN 978-5-8459-1347-0 (рус.)