¦ ¦ q0 ¦ q1 ¦
¦-----+----------+--------¦
¦ 0 ¦1 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 1 ¦2 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 2 ¦3 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 3 ¦4 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 4 ¦5 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 5 ¦6 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 6 ¦7 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 7 ¦8 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 8 ¦9 Стоп q0 ¦ ¦
+-----+----------+--------¦
¦ 9 ¦0 Влево q0¦ ¦
+-----+----------+--------¦
¦ ^ ¦1 Стоп q0 ¦ ¦
+-------------------------+
_1.5
Выполним данный алгоритм на следующем примере: увеличим число
389 на единицу.
.
- 13 -
Внутреннее и внешнее состояние машины Тьюринга перед выполне- нием алгоритма: обозреваем крайнюю правую цифру - цифру разряда единиц в состоянии q0. Каретка указывает на ячейку с номером 3.
Покажем расположение данного числа в машине Тьюринга и ее сос- тояние к началу выполнения алгоритма.
_1.0
_40 1 2 3 4 _45 _4...
-----------------------------
¦ ^ ¦ 3 ¦ 8 ¦ 9 ¦ ^ ¦ ^ ¦ ¦
-----------------------------
q0
_1.5
Если обозреваемая ячейка содержит цифру отличную от 9, то Ма- шина остановится уже после первого такта работы, в котором проис- ходит замена этой цифры другой цифрой в соответствии со схемой.
Если же последняя цифра 9, то машина заменяет ее 0 и производит сдвиг влево (к соседнему, более высокому разряду) и продолжает пребывать в рабочем состоянии q0 (таким образом обеспечивается перенос единицы в более высокие разряды). Если число оканчивается
k девятками, то машина закончит работу в точности после k+1 так- та.
_23.2. Алгоритм перевода чисел из унарной записи _2в _2десятичную
Под унарной записью числа понимаем набор палочек, количество которых равно данному числу.
Дана конечная совокупность палочек, вписанных в ячейках, взя- тых подряд без пропусков (такие совокупности будем называть _1набо-
_1рами палочек); требуется записать в десятичной системе количество этих палочек.
_3Функциональная схема:
_1.0
+--------------------------+ +--------------------------+
¦ ¦ q1 ¦ q2 ¦ q3 ¦ ¦ ¦ q1 ¦ q2 ¦ q3 ¦
¦-----+------+------+------¦ ¦-----+------+------+------¦
¦ 0 ¦ 1Нq3 ¦ 0Сq2 ¦ 0Пq3 ¦ ¦ 6 ¦ 7Нq3 ¦ 6Сq2 ¦ 6Пq3 ¦
+-----+------+------+------¦ +-----+------+------+------¦
¦ 1 ¦ 2Нq3 ¦ 1Сq2 ¦ 1Пq3 ¦ ¦ 7 ¦ 8Нq3 ¦ 7Сq2 ¦ 7Пq3 ¦
+-----+------+------+------¦ +-----+------+------+------¦
¦ 2 ¦ 3Нq3 ¦ 2Сq2 ¦ 2Пq3 ¦ ¦ 8 ¦ 9Нq3 ¦ 8Сq2 ¦ 8Пq3 ¦
+-----+------+------+------¦ +-----+------+------+------¦
¦ 3 ¦ 4Нq3 ¦ 3Сq2 ¦ 3Пq3 ¦ ¦ 9 ¦ 0Лq1 ¦ 9Сq2 ¦ 9Пq3 ¦
+-----+------+------+------¦ +-----+------+------+------¦
¦ 4 ¦ 5Нq3 ¦ 4Сq2 ¦ 4Пq3 ¦ ¦ ¦ ¦ 1Нq3 ¦ ¦Сq2 ¦ ¦Лq1 ¦
+-----+------+------+------¦ +-----+------+------+------¦
¦ 5 ¦ 6Нq3 ¦ 5Сq2 ¦ 5Пq3 ¦ ¦ * ¦ *Лq1 ¦ ¦Лq1 ¦ ¦Пq3 ¦
+--------------------------+ +--------------------------+
_1.5
.
- 14 -
Если к началу работы машины на ленте будут записаны цифра 0 и набор из k палочек, то машина "сотрет" все эти палочки, а вместо нуля появится десятичная запись числа 0+k, т.е. k.
Рассмотрим еще некоторые примеры тьюринговых машин для решения арифметических задач. В этих задачах как исходные данные (условия задачи), так и результат являются натуральными числами. Условимся считать, что в машине каждое натуральное число задано в виде на- бора из такого же числа палочек; если же в задаче фигурируют нес- колько натуральных чисел, то изображающие их наборы палочек будем отделять каким-нибудь специальным знаком. Этот знак также входит во внешний алфавит машины.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.