Счетчиковые машины, эквивалентность двухсчетчиковой машины МТ — различия между версиями
(→Эквивалентность двухсчетчиковой машины машине Тьюринга) |
(→Эквивалентность двухсчетчиковой машины машине Тьюринга) |
||
| Строка 17: | Строка 17: | ||
|proof= | |proof= | ||
Так как [[Стековые машины, эквивалентность двухстековой машины МТ|двухстековая машина эквивалентна машине Тьюринга]], то достаточно показать, что трехсчетчиковая машина эквивалентна по вычислительной мощности трехсчетчиковой машине. | Так как [[Стековые машины, эквивалентность двухстековой машины МТ|двухстековая машина эквивалентна машине Тьюринга]], то достаточно показать, что трехсчетчиковая машина эквивалентна по вычислительной мощности трехсчетчиковой машине. | ||
| − | Пусть стековая машина имеет стековый алфавит <tex>\Pi</tex>. Тогда любое из состояний стеков можно считать числом в системе счисления с основанием <tex>|\Pi|</tex>. Пусть первому стеку соотвествует число на первом счетчике трехсчетчиковой машины, второму стеку - второе, а третий счетчик используется для временных вычислений. | + | Пусть стековая машина имеет стековый алфавит <tex>\Pi</tex>. Тогда любое из состояний стеков можно считать числом в системе счисления с основанием <tex>|\Pi|</tex>. Пусть первому стеку соотвествует число на первом счетчике трехсчетчиковой машины, второму стеку - второе, а третий счетчик используется для временных вычислений. |
| + | Тогда операции со стеком можно реализовать на трехсчетчиковой машине: | ||
| + | *Добавление символа в стек: умножить значение счетчика на <tex>|\Pi|</tex> и прибавить число соответсвующее символу алфавита (цифре). | ||
| + | *Удаление символа из стека: целочисленно разделить значение счетчика на <tex>|\Pi|</tex>. | ||
| + | *Проверить верхний символ стека: найти остаток от деления значения счетчика на <tex>|\Pi|</tex>. | ||
}} | }} | ||
==Источники== | ==Источники== | ||
Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений. | Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений. | ||
Версия 21:06, 3 января 2012
| Определение: |
-счетчиковой машиной называется набор A=, где
Для каждого счетчика возможны четыре операции: увеличить на один, уменьшить на один, не изменять значение, проверить является ли значение счетчика нулем. Будем считать, что значение нулевых счетчиков уменьшать нельзя. |
По сути, -счетчиковая машина является -стековой машиной с односимвольным алфавитом.
Эквивалентность двухсчетчиковой машины машине Тьюринга
| Лемма: |
Язык допускается машиной Тьюринга тогда и только тогда, когда он допускается трехсчетчиковой машиной. |
| Доказательство: |
|
Так как двухстековая машина эквивалентна машине Тьюринга, то достаточно показать, что трехсчетчиковая машина эквивалентна по вычислительной мощности трехсчетчиковой машине. Пусть стековая машина имеет стековый алфавит . Тогда любое из состояний стеков можно считать числом в системе счисления с основанием . Пусть первому стеку соотвествует число на первом счетчике трехсчетчиковой машины, второму стеку - второе, а третий счетчик используется для временных вычислений. Тогда операции со стеком можно реализовать на трехсчетчиковой машине:
|
Источники
Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений.