Автомат с магазинной памятью: различия между версиями
KVN (обсуждение | вклад) (Создана новая страница размером '''Автомат с магазинной памятью''' (Pushdown automation) --- тип [[Распознаватель|распо...) |
KVN (обсуждение | вклад) |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
'''Автомат с магазинной памятью''' ([[Pushdown | '''Автомат с магазинной памятью''' (''[[Pushdown automaton]]'') — тип [[Абстрактная машина|абстрактной машины]], определяющий класс | ||
[[Контекстно-свободный язык|контекстно-свободных языков]]. | [[Контекстно-свободный язык|контекстно-свободных языков]]. | ||
'''Автомат с магазинной памятью''' (сокращенно | '''Автомат с магазинной памятью''' (сокращенно [[МП-автомат| МП-автомат]] ) — это семерка | ||
<math>P=(Q,\Sigma,\Gamma,\delta,q_0,Z_0,F)</math>, где | <math>P=(Q,\Sigma,\Gamma,\delta,q_0,Z_0,F)</math>, где | ||
(1) <math>Q</math> | [[Файл:Pushdown automation.png|300px|right]] | ||
(1) <math>Q</math> — конечное множество символов ''состояний'', | |||
представляющих возможные состояния управляющего устройства; | представляющих возможные состояния управляющего устройства; | ||
(2) <math>\Sigma</math> | (2) <math>\Sigma</math> — конечный ''входной'' алфавит; | ||
(3) <math>\Gamma</math> | (3) <math>\Gamma</math> — конечный алфавит ''магазинных'' символов; | ||
(4) <math>\delta</math> | (4) <math>\delta</math> — отображение множества <math>Q\times(\Sigma\cup\{ e\})\times\Gamma</math> в множество конечных | ||
подмножеств множества <math>Q\times \Gamma^*</math>; | подмножеств множества <math>Q\times \Gamma^*</math>; | ||
(5) <math>q_0\in Q</math> | (5) <math>q_0\in Q</math> — ''начальное'' состояние управляющего устройства; | ||
(6) <math>Z_0\in \Gamma</math> | |||
(6) <math>Z_0\in \Gamma</math> — символ, находящийся в магазине в начальный | |||
момент (''начальный'' символ); | момент (''начальный'' символ); | ||
(7) <math>F\subseteq Q</math> | |||
(7) <math>F\subseteq Q</math> — множество ''заключительных'' состояний. | |||
''Конфигурацией'' МП-автомата <math>P</math> называется тройка | ''Конфигурацией'' МП-автомата <math>P</math> называется тройка | ||
<math>(q,\omega,\alpha)\in Q\times\Sigma^*\times\Gamma^*</math>, где | <math>(q,\omega,\alpha)\in Q\times\Sigma^*\times\Gamma^*</math>, где | ||
(1) <math>q</math> | (1) <math>q</math> — текущее состояние управляющего устройства; | ||
(2) <math>\omega</math> | (2) <math>\omega</math> — неиспользованная часть входной цепочки; | ||
первый символ цепочки <math>\omega</math> находится под входной | первый символ цепочки <math>\omega</math> находится под входной | ||
головкой; если <math>\omega =e</math>, то считается, что вся входная | головкой; если <math>\omega =e</math>, то считается, что вся входная | ||
лента прочитана; | лента прочитана; | ||
(3) <math>\alpha</math> | (3) <math>\alpha</math> — содержимое магазина; самый левый символ | ||
цепочки считается верхним символом магазина; если <math>\alpha | цепочки считается верхним символом магазина; если <math>\alpha | ||
=e</math>, то магазин считается пустым. | =e</math>, то магазин считается пустым. | ||
Строка 41: | Строка 45: | ||
конфигурация вида <math>(q_0,\omega, Z_0)</math>, где | конфигурация вида <math>(q_0,\omega, Z_0)</math>, где | ||
<math>\omega\in\Sigma^*</math>. ''Заключительная'' его конфигурация | <math>\omega\in\Sigma^*</math>. ''Заключительная'' его конфигурация | ||
— это конфигурация вида <math>(q,e,e)</math>, где <math>q\in F</math>. | |||
''Такт'' работы МП-автомата <math>P</math> представляется в виде | ''Такт'' работы МП-автомата <math>P</math> представляется в виде | ||
Строка 57: | Строка 61: | ||
<math>(q_0,\omega,Z_0)\vdash_P^*(q,e,e)</math> для некоторого <math>q\in F</math>. | <math>(q_0,\omega,Z_0)\vdash_P^*(q,e,e)</math> для некоторого <math>q\in F</math>. | ||
''Языком, определяемым'' (или ''допускаемым'') | ''Языком, определяемым'' (или ''допускаемым'') автоматом <math>P</math> (обозначается <math>L(P)</math>), называют множество | ||
автоматом | |||
цепочек, допускаемых автоматом <math>P</math>. | цепочек, допускаемых автоматом <math>P</math>. | ||
Сравнивая понятия | Сравнивая понятия [[Конечный автомат|конечного]] и магазинного автоматов, можно | ||
сказать, что МП-автомат получается из конечного автомата | сказать, что МП-автомат получается из конечного автомата | ||
добавлением потенциально бесконечной рабочей | добавлением потенциально бесконечной рабочей | ||
Строка 74: | Строка 77: | ||
МП-автомат <math>P</math>, находясь в состоянии <math>q</math> и имея <math>a</math> в | МП-автомат <math>P</math>, находясь в состоянии <math>q</math> и имея <math>a</math> в | ||
качестве текущего входного символа, расположенного под | качестве текущего входного символа, расположенного под | ||
входной головкой (т.е. обозревая <math>a</math>), а <math>Z</math> | входной головкой (т.е. обозревая <math>a</math>), а <math>Z</math> — в качестве | ||
верхнего символа магазина, может перейти в новое состояние | верхнего символа магазина, может перейти в новое состояние | ||
<math>q'</math>, сдвинуть входную головку на одну ячейку вправо и | <math>q'</math>, сдвинуть входную головку на одну ячейку вправо и | ||
заменить верхний символ магазина цепочкой <math>\gamma</math> | заменить верхний символ магазина цепочкой <math>\gamma</math> | ||
магазинных символов. Если <math>\gamma =e</math>, то верхний символ | магазинных символов. Если <math>\gamma =e</math>, то верхний символ | ||
удаляется из магазина и, тем самым, магазинный список | удаляется из магазина и, тем самым, магазинный список ''сокращается''. | ||
сокращается | |||
Такт, в котором <math>a=e</math>, называют ''е-тактом''. В <math>e</math>-такте | Такт, в котором <math>a=e</math>, называют ''е-тактом''. В <math>e</math>-такте | ||
Строка 89: | Строка 91: | ||
цепочка прочитана. | цепочка прочитана. | ||
==Литература== | |||
* Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979. | |||
* Касьянов В.Н. Лекции по теории формальных языков, автоматов и сложности вычислений. — Новосибирск: НГУ, 1995. | |||
* Касьянов В.Н., Касьянова Е.В. Теория вычислений. — Новосибирск: НГУ, 2018. | |||
* Касьянов В.Н., Поттосин И.В. Методы построения трансляторов. — Новосибирск: Наука. Сиб. отд-ние, 1986. | |||
[[Категория:Основные термины]] | |||
[[Категория:Русские термины]] | |||
[[Категория:Синтаксические деревья ]] | |||
[[Категория:Теория автоматов]] | |||
[[Категория:Теория программирования]] | |||
[[Категория:Теория формальных языков]] | |||
[[Категория:Трансляция ]] |
Текущая версия от 13:31, 26 декабря 2024
Автомат с магазинной памятью (Pushdown automaton) — тип абстрактной машины, определяющий класс контекстно-свободных языков.
Автомат с магазинной памятью (сокращенно МП-автомат ) — это семерка
(1)
(2)
(3)
(4)
(5)
(6)
(7)
Конфигурацией МП-автомата
(1)
(2)
(3)
Начальной конфигурацией МП-автомата
Такт работы МП-автомата
Цепочка
Языком, определяемым (или допускаемым) автоматом
Сравнивая понятия конечного и магазинного автоматов, можно сказать, что МП-автомат получается из конечного автомата добавлением потенциально бесконечной рабочей (вспомогательной) памяти, в которой элементы информации хранятся и используются так же как патроны в магазине автоматического оружия, т.е. в каждый момент доступен только верхний элемент магазина.
Такт работы некоторого МП-автомата
Такт, в котором
Литература
- Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.
- Касьянов В.Н. Лекции по теории формальных языков, автоматов и сложности вычислений. — Новосибирск: НГУ, 1995.
- Касьянов В.Н., Касьянова Е.В. Теория вычислений. — Новосибирск: НГУ, 2018.
- Касьянов В.Н., Поттосин И.В. Методы построения трансляторов. — Новосибирск: Наука. Сиб. отд-ние, 1986.