Стековые машины, эквивалентность двухстековой машины МТ — различия между версиями
KK (обсуждение | вклад) м (→Источники) |
KK (обсуждение | вклад) м (→Источники информации) |
||
| Строка 35: | Строка 35: | ||
== Источники информации == | == Источники информации == | ||
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' — '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.) | * ''Хопкрофт Д., Мотвани Р., Ульман Д.'' — '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.) | ||
| + | |||
| + | |||
| + | [[Категория: Теория вычислимости]] | ||
| + | [[Категория: Вычислительные формализмы]] | ||
Версия 21:52, 21 декабря 2015
Стековая машина
Стековая машина является обобщением детерминированных МП-автоматов с использованием нескольких стеков вместо одного.
На рис. 1 изображена k-стековая машина. С ленты последовательно считываются символы входного алфавита ( — текущий считываемый символ). В каждом стеке с вершины снимается символ , вместо него помещается строка таким образом, чтобы первый символ строки находился на вершине стека, и делается переход в автомате в зависимости от считанного с ленты символа и снятых со стеков верхних значений . Возможен также и -переход.
| Определение: |
-cтековой машиной называется набор A= , где
|
Эквивалентность двухстековой машины машине Тьюринга
| Теорема: |
Язык допускается машиной Тьюринга тогда и только тогда, когда он допускается двухстековой машиной. |
| Доказательство: |
|
Для упрощения доказательства без умаления общности предположим, что вход для двухстековой машины заканчивается специальным символом , которого нет в исходном алфавите. Этот пункт доказательства аналогичен предыдущему. Содержимое двух стеков отображается лентой МТ так же, как и в предыдущем пункте (рис. 2). Снятие, например, с первого стека символа соответствует сдвигу куска ленты, соответствующего второму стеку, влево на одну позицию, что прекрасно умеет делать МТ. Положить символ на этот стек соответствует сдвигу куска ленты, соответствующего второму стеку, вправо на одну позицию, записи этого символа на место начального положения головки и сдвигу головки вправо на одну позицию (действие "положить цепочку на стек" аналогично последовательности действий "положить на стек один символ"). Операции со вторым стеком имитируются аналогично. |
Источники информации
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)