Введение в схемы, автоматы и алгоритмы

          

Последовательная и параллельная композиции машин Тьюринга


Используя возможность моделирования произвольной м.Т. на м.Т. со стандартными заключительными конфигурациями, легко установить справедливость следующей леммы о последовательной композиции машин Тьюринга.

Лемма 9.3.(Последовательная композиция) Пусть м.Т.

Последовательная и параллельная композиции машин Тьюринга
вычисляет функцию f(x), а м.Т.
Последовательная и параллельная композиции машин Тьюринга
- функцию g(x). Тогда существует м.Т.
Последовательная и параллельная композиции машин Тьюринга
вычисляющая функцию h(x) = f(g(x)).

Доказательство Действительно, пусть

Последовательная и параллельная композиции машин Тьюринга
а
Последовательная и параллельная композиции машин Тьюринга

Используя лемму 9.1, будем считать, что у

Последовательная и параллельная композиции машин Тьюринга
заключительные конфигурации стандартны. Тогда легко проверить, что функция h вычисляется следующей м.Т.
Последовательная и параллельная композиции машин Тьюринга
где P= P1
Последовательная и параллельная композиции машин Тьюринга
P2
Последовательная и параллельная композиции машин Тьюринга
{qf2 a
Последовательная и параллельная композиции машин Тьюринга
q01 aН | a
Последовательная и параллельная композиции машин Тьюринга
?2} .

Покажем, что работу двух м.Т. можно комбинировать так, чтобы в заключительной конфигурации содержались результаты работы каждой из них над независимыми входами.

Лемма 9.4. (Параллельная композиция) Пусть м.Т.

Последовательная и параллельная композиции машин Тьюринга
вычисляет функцию f(x), а м.Т.
Последовательная и параллельная композиции машин Тьюринга
- функцию g(x) и символ * не входит в алфавит м.Т.
Последовательная и параллельная композиции машин Тьюринга
. Тогда существует м.Т.
Последовательная и параллельная композиции машин Тьюринга
которая по любому входу вида x*y выдает результат f(x)*g(y), т.е. вычисляет функцию H(x*y) = f(x)*g(y).

Доказательство. Пусть

Последовательная и параллельная композиции машин Тьюринга
и
Последовательная и параллельная композиции машин Тьюринга
- м.Т. Не ограничивая общности, будем считать, что эти машины односторонние (по Лемме 2). Определим теперь м.Т.
Последовательная и параллельная композиции машин Тьюринга
которая работает следующим образом.

  1. Начав в конфигурации (p0x*y), находит 1-ый символ y
  2. и переходит в конфигурацию (x*q02y).
  3. Работая как
    Последовательная и параллельная композиции машин Тьюринга
    вычисляет g(y) и переходит при этом в конфигурацию (x*qf2g(y)).
  4. Переписывает *x после g(y) и переходит в конфигурацию g(y)*q01x).
  5. Работая как
    Последовательная и параллельная композиции машин Тьюринга
    вычисляет f(x) и переходит при этом в конфигурацию (g(y)*qf1f(x).
  6. Меняет
    Последовательная и параллельная композиции машин Тьюринга
    и
    Последовательная и параллельная композиции машин Тьюринга
    местами и останавливается.

Корректность этапов 2 и 4 следует из односторонности

Последовательная и параллельная композиции машин Тьюринга
и
Последовательная и параллельная композиции машин Тьюринга
а реализация этапов 1, 3 и 5 достаточно очевидна (см. задачу 9.6).

Построенную в этой лемме м.Т.

Последовательная и параллельная композиции машин Тьюринга
, полученную в результате параллельной композиции
Последовательная и параллельная композиции машин Тьюринга
и
Последовательная и параллельная композиции машин Тьюринга
, будем обозначать как
Последовательная и параллельная композиции машин Тьюринга
. Здесь индекс * указывает символ, которым отделяются аргументы
Последовательная и параллельная композиции машин Тьюринга
и
Последовательная и параллельная композиции машин Тьюринга

на ленте

Последовательная и параллельная композиции машин Тьюринга
. Этот символ может быть любым символом, не входящим в алфавит машины
Последовательная и параллельная композиции машин Тьюринга
. Например,
Последовательная и параллельная композиции машин Тьюринга
будет обозначать параллельную композицию машин
Последовательная и параллельная композиции машин Тьюринга
и
Последовательная и параллельная композиции машин Тьюринга
, в которой их аргументы отделены символом #.


Конструкцию параллельной композиции можно обобщить на произвольное конечное число машин Тьюринга.

Следствие. Пусть
Последовательная и параллельная композиции машин Тьюринга
- машины Тьюринга, вычисляющие функции f1, … , fm, соответственно. Пусть символ * не входит в алфавиты этих машин. Тогда существует м.Т.
Последовательная и параллельная композиции машин Тьюринга
, перерабатывающая любой вход вида x1*x2* … *xm (xi
Последовательная и параллельная композиции машин Тьюринга
?i*, i=1,…, m) в выход f1(x1)*f2(x2)* … *fm(xm).

Действительно, в качестве
Последовательная и параллельная композиции машин Тьюринга
можно взять м.Т., определяемую выражением
Последовательная и параллельная композиции машин Тьюринга
\\ Будем обозначать эту машину Тьюринга как
Последовательная и параллельная композиции машин Тьюринга
.


Содержание раздела