Модуль 2. Машина Тьюринга как формальная модель алгоритма. Тезис Тьюринга
Неформальное и формальное определение МТ. Конфигурации. a 1 a 2 a 1 УУ Конечное множество состояний УУ: Q={q 1, …, qn}. Алфавит: = {a 1, …, am}. Формальное определение: МТ=(Q, , , q 0, qz, a 0, ar) Команда МТ: qi aj →q’i a’j S (S – направление сдвига : L – влево , R - вправо, E-на месте) Конфигурации: произвольная - α 1 qi α 2 , стандартная начальная q 0 , стандартная заключительная qzα Переходы: непосредственный K→K’. Если для K 1 и Kn существует последовательность конфигураций K 1, K 2, …, Kn, такая, что K 1 → K 2 → …→ Kn, то обозначим переход K 1 =>Kn. 2
Примеры простейших машин Тьюринга Дана цепочка из символов 0 и 1. Все нули заменить на 2. 0 ->2 R -> L 1 ->1 R 2 ->2 L 1 ->1 L -> R 1 -> 1 R Машина, работающая бесконечно на цепочке из 1: -> R 3
Переработка цепочек. Вычислимость по Тьюрингу. Если α 1 q 0 α 2 =>β 1 qz β 2, то будем говорить, что машина Т перерабатывает слово α 1 α 2 в слово β 1β 2, и обозначать это T(α 1α 2) = β 1β 2. Унарный код: x единиц 1… 1 = 1 x , =0. q 0 1 х1 * 1 х2 * … * 1 хn qz 1 y , когда f ( x 1 , … , xn ) = y, и работает бесконечно, начиная со стандартной начальной конфигурации, если f(x 1, …, x n ) не определена. Примеры: функций, вычислимых по Тьюрингу: сложение чисел , копирование. 4
Вычислимость композиции Композиция g (x) = f 2 (f 1(x)) T 1 и T 2 - машины, вычисляющие f 1 и f 2 : Q 1 = {q 10, …, q 1 n } и Q 2 = {q 20, …, q 2 n } Граф машины Т: q 20 = q 1 z. Начальное состояние Т - q 10, заключительное – q 2 z. Пусть f 2(f 1(x)) определена. Тогда Т 1(1 x) = 1 f 1(x) и q 101 x => q 1 z 1 f 1 (x). Машина Т: вместо q 1 z 1 f 1(x) она перейдет в q 201 f 1(x). Машина Т 2: q 201 f 1 (x) => q 2 z 1 f 2 (f 1(x)). Машина Т: q 101 x => q 201 f 1 (x) => q 2 z 1 f 2(f 1(x)) и, следовательно, Т(1 x) = 1 f 2 (f 1 (x)). 5
Вычислимость на полуленте и с восстановлением df Говорят, что Т вычисляет предикат P(α), если T(α) = ω, где ω = Т, когда Р(α) истинно, и ω = F, когда P(α) ложно. df Говорят, что машина Т вычисляет Р(α) с восстановлением, если Т(α) = ωα. Доказательство теоремы о вычислимости с восстановлением: q 0α => qn 1 α* α => α *qn 2 α => α * qn 3 ω => qn 4 ωα. 6
Вычислимость разветвления Теорема. Если функции g 1(α), g 2(α) и предикат Р(α) вычислимы по Тьюрингу, то разветвление g 1(α) и g 2(α) по Р(α) также вычислимо. Доказательство. Пусть Т 1 – машина с состояниями q 10, q 11, …, q 1 n и системой команд , вычисляющая g 1, Т 2 – машина с состояниями q 20, q 21, …, q 2 n и системой команд , вычисляющая g 2; Тp вычисляет с восстановлением Р(α). Тогда машина Т, вычисляющая разветвление g 1 и g 2 по Р, - это композиция Тр и машины Т 3, система команд которой имеет следующий вид: 7
Вычислимость повторения Тр Т Т 1 F Т 2 8