Два бита на этот ответ;
Во-первых, класс языков, распознаваемых машинами Тьюринга, не является контекстно-зависимым , он рекурсивно перечислим (контекстно-зависимый - это класс языков, которые вы получаете из автоматов с линейной связью ).
Вторая часть, предполагая, что мы корректируем вопрос, заключается в том, что да, КПК с двумя стеками столь же мощен, как и ТМ. Несколько проще предположить, что мы используем модель ТМ с бесконечной лентой только в одном направлении (хотя оба направления не намного сложнее и эквивалентны).
Чтобы увидеть эквивалентность, просто представьте первый стек как содержимое ленты слева от текущей позиции, а второй - как содержимое справа. Вы начинаете так:
- Нажмите на нормальные маркеры "дна стопки" на обеих стопках.
- Переместите ввод в левый стек (используйте недетерминизм, чтобы «угадать» конец ввода).
- Переместите все в правильный стек (чтобы держать вещи в правильном порядке).
Теперь вы можете игнорировать ввод и делать все с содержимым стеков (которое имитирует ленту). Вы щелкаете, чтобы прочитать, и нажимаете, чтобы писать (так что вы можете изменить «ленту», нажимая что-то отличное от того, что вы читаете). Затем мы можем симулировать ТМ, выталкивая из правого стека и нажимая влево, чтобы двигаться вправо, и наоборот, чтобы двигаться влево. Если мы достигаем нижней части левого стека, мы ведем себя соответствующим образом (останавливаем и отклоняем или остаемся там, где вы есть, в зависимости от модели), если мы достигаем нижней части правого стека, мы просто толкаем пустой символ слева.
Для полного формального доказательства см. ответе на другой вопрос .
Взаимоотношения с другой стороны должны быть еще более очевидными, то есть, что мы можем моделировать КПК с двумя стеками с помощью ТМ.