Третья лекция

Содержание:

Универсальная Машина Тьюринга

Определение:

Универсальная МТ берет на вход описания другой МТ и ее вход, а на выходе выдает то, что должна выдать описанная МТ на описанном входе.

Теорема:

УМТ(Универсальная Машина Тьюринга) существует

Как описать МТ

Состояния кодируем числами: $Q={0, 1, 2,…, k}$

Алфавит ленты кодируем числами: $A={0,…,n}$

Состояние $0$ - всегда начальное.

Символ $0$ - всегда пустой.

Удобно кодировать числами.

$i\in A$

$i→00…0100…0$ ($i$ нулей слева, $n-1$ нулей справа)

Тогда любой символ из $A$ кодируется $n+1$ символом

Тоже с символами состояний

Движения ленты:

​ 0) Стоять на месте

​ 1) Вправо

​ 2) Влево

Описание МТ состоит из строк вида:

#<a>#<q>#M<a'>#<q'>#<d>#

a - наибольшая буква

q - текущее состояние

a’ - новая буква

q’ - новое состояние

d - движение ленты

3 Ленты:      описание МТ
|лента машины| | | | |

                состояние символ
|лента состояния| | | |


|рабочая лента|лента описанной машины|

Считаем, что умеем:

$q_{0}◄u►$ $q_{1}◄u►$

​ →→→→→

$q_{0}$# $q_{1}$#

Перенос:

$q_{0}◄u►$ $q_{1}►$

​ →→→→→

$q_{0}$# $q_{1}$#$u$

Сравнение слов:

$q_{0}◄u►$ $q_{d}◄u►$

​ →→→→→

$q_{0}◄V►$ $q_{d}◄V►$

Моделирование такта

Считаем, что начинаем со следующего состояния:

  1. Перейти до # и скопировать код текущего символа рабочей ленты.
  2. Найти блок в описании МТ с символом и состоянием с ленты состояния.
  3. Если блок не найден - передать управление финальной МТ.
  4. В найденном блоке скопировать ссимвол состояния на ленту состояния, а символ скопировать на рабочую ленту.
  5. Опознать движение ленты и выполнить его на рабочей ленте.
  6. Вернуть указатели 1 и 2 ленты в левую ячейку.
  7. Вернуться на шаг 1.

Подготовительная машина

Частично рекурсивные функции

Простейшие функции:

$o(x) = 0$

$\delta (x)=x+1$

$n\leq I_{n}^{m}(x_{1}, x_{2},…, x_{m})=x_{n}$

Разрешенные действия:

  1. Суперпозиция

$f_{1}(x_{1}, x_{2},…, x_{n})$ $f_{2}(x_{1}, x_{2},…, x_{n})$… $f_{m}(x_{1}, x_{2},…, x_{n})$

и $g_{1}(g_{1}, g_{2},…, g_{n})$ - некоторая функция, тогда:

$g(f_{1}(x_{1}, x_{2},…, x_{n}), f_{2}(x_{1}, x_{2},…, x_{n}… f_{m}(x_{1}, x_{2},…, x_{n})=h(x_{1}, x_{2},…, x_{n})$ - суперпозиция $f_{1},…f_{n}$

  1. Примитивная рекурсия

Пусть заданы $f(x_{1},..x_{n})$

​ функции

​ $h(x_{1},..x_{n},k,y)$

Определим функцию $g(x_{1},…x_{n},k)$

$g(1{1},…x{n},0)=f(x_{1},…x_{n})$ - база

$g(x_{1},…x_{n}, k+1)=h(x_{1},…,x_{n}, k, g(x_{1},…x_{n}, k))$ - примитивная рекурсия ($g(x_{1},…x_{n}, k)$ - шаг)

  1. Минимилизация

Пусть задана $g(x_{1},…x_{n}, y)$

Определим $f(x_{1},…x_{n})$ - наименьший $у$ такой, что $g(x_{1},…x_{n}, y)=0$

$y-1=\mu y[S(y)=0]$

Определение(Общерекурсивная функция):