Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры МЛТА v.0.9.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
484 Кб
Скачать

66. Вычисление предикатов на машине Тьюринга.

Машина Т вычисляет предикат Р(а) (а — слово в Aисх), если Т(а) = омега, где омега = И, когда Р(а) истинно, и омега = Л, когда Р(а) ложно. Если же Р(а) не определен, то машина Т, как и при вычислении функций, не останавливается.

Машина Т вычисляет Р(а) с восстановлением, если Т(а) = а*омега.

67, 68

67. Универсальная машина Тьюринга. План построения универсальной машины Тьюринга.

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

Словесное описание алгоритма воспроизведения работы машины Тьюринга по заданной программе:

«Для текущей конфигурации a1akqiaja2 найти в системе команд команду с левой частью qiaj. Если правая часть этой команды имеет вид q¢ia¢jR, то заменить в текущей конфигурации qiaj на a¢jq¢i (получится конфигурация a1aka¢jq¢ia2); если же правая часть имеет вид q¢ia¢jL, то заменить akqiaj на q¢iaka¢j (случай с Е можно не рассматривать)».

Формулировка задачи: построить МТ U, вычисляющую функцию от двух переменных, и такую, что для любой машины Т с системой команд ST U(ST, a) =Т(а), если Т(а) определена (т.е. если машина Т останавливается при исходных данных a), и U(ST, а) не останавливается, если Т(а) не останавливается.

Любую машину U, обладающую указанным свойством, будем называть универсальной машиной Тьюринга.

Первая проблема построения универсальной машины U — проблема алфавита и множества состояний — всегда найдется машина Т, алфавиты АT и QT которой превосходят по мощности АU, QU или просто не совпадают с ними). Выход — символы АT и QT кодировать словами в алфавите АU. Пусть |АT| = mT, |QT| = nT. Будем всегда считать, что a1 = 1. Обозначим коды qi и aj через S(qi) и S(aj)

  • План построения машины Тьюринга.

  • Будем считать, что машина Т всегда работает на правой полуленте. Тогда ленту U можно разделить на две бесконечные полуленты с границей Z между ними: в правой полуленте записывается текущая конфигурация машины Т (в силу нашего предположения конфигурация машины Т при этой имитации никогда не зайдет на левую полуленту), а в левой полуленте записан код системы команд S(ST).

  • Начальная конфигурация U имеет вид u1S(ST)ZS(q1)S(a)

  • u1 — начальное состояние машины U,

  • q1 — начальное состояние Т,

  • а — исходное слово Т.

Выполнению одной команды Т соответствует цикл машины U, реализующей основное действие, с той разницей, что оно будет осуществляться не над конфигурацией К машины Т, а над ее кодом S(K). Благодаря выбранному кодированию длины всех слов вида S(qiaj) и S(ajqi) равны, поэтому при заменах S(qiaj) на S(a¢jq¢i) или S(akqi) на S(q'ia¢j), имитирующих движение головки машины Т, окрестность заменяемых слов не затрагивается и никаких сдвигов или раздвигов не требуется. Сама длина заменяемого слова равна числу символов между ® и ближайшим символом движения (R или L) на левой полуленте.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]