
Жовтяк Максим логика
.docx№1
Построить МТ, которая к заданному натуральному десятичному числу прибавляет 1. Начальная конфигурация стандартная. Например,
241q17 ⇒ 241q08
58q19 ⇒ 5q090
1 вариант
Как работает алгоритм:
Если число после “ q” меньше 9, то прибавляем 1 и остаёмся в этом же месте, если число перед “q” равно 9, заменяем его на 0, идём влево и заменяем число по нашим командам
q10 ⇒ q01S
q1 1 ⇒q02S
q1 2 ⇒q03S
q1 3 ⇒q04S
q1 4 ⇒q05S
q1 5 ⇒q06S
q1 6 ⇒q07S
q1 7 ⇒q08S
q1 8 ⇒q09S
q1 9 ⇒q10L
№2
Построить МТ, которая к заданному натуральному десятичному числу прибавляет 2. Начальная конфигурация стандартная.
1 вариант
Как работает алгоритм:
Если число после “ q” меньше 8, то прибавляем 2 и остаёмся в этом же месте, если число перед “q” равно 8, заменяем 8 на 0, идём влево, прибавляем к числу 1, если число перед “q” равно 9, заменяем 9 на 1, идём влево, прибавляем к числу 1.
q10 ⇒ q02S
q1 1 ⇒q03S
q1 2 ⇒q04S
q1 3 ⇒q05S
q1 4 ⇒q06S
q1 5 ⇒q07S
q1 6 ⇒q08S
q1 7 ⇒q09S
q1 8 ⇒q20L
q1 9 ⇒q21L
Прибавление единицы
q20 ⇒ q01S
q2 1 ⇒q02S
q2 2 ⇒q03S
q2 3 ⇒q04S
q2 4 ⇒q05S
q2 5 ⇒q06S
q2 6 ⇒q07S
q2 7 ⇒q08S
q2 8 ⇒q09S
q2 9 ⇒q20L
№3
sg(x)
=
для стандартной начальной конфигурации
sg(x) = 0 = O(x) (заменяем все единица на 0)
Если q1 изначально стоит перед 0,значит в числе нет единиц и мы сразу останавливаемся
q10 ⇒ q00 S
Если q1 изначально стоит перед 1, мы сдвигаемся вправо и проверяем, стоит ли там 1, если стоит, то возвращаемся в начало последовательность единиц и убираем первую единицу, так делаем пока не останется одна единица
МТ для S(x) = 1
q1 1 ⇒q2 1 R
q21 ⇒ q31 L
q3 1 ⇒ q10 R
q20 ⇒ q0 0 S
Соединим функции O(x) и S(x)
q11 0 ⇒ q01 0 S
q12 1 ⇒q2 1 R
q21 ⇒ q31 L
q3 1 ⇒ q10 R
q20 ⇒ q02 0 S
для правильного вычисления функции
Так как начальная конфигурация выглядит так q101x0 , теперь нам нужно проходить один дополнительный, начальный ноль и возвращаться обратно
sg(x) = 0 = O(x) (заменяем все единица на 0)
q1 0 ⇒ q2 0 R
q20 ⇒ q00 L
Если стоят два нуля подряд, то единиц нет.
МТ для S(x) = 1
q1 0 ⇒q1 0 R
q1 1 ⇒q2 1 R
q21 ⇒ q31 L
q3 1 ⇒ q10 R
q20 ⇒ q4 0 L
q4 1 ⇒ q0 1 L
Соединим функции O(x) и S(x)
q11 0 ⇒ q21 0 R
q21 0 ⇒ q01 0 S
q12 0 ⇒q12 0 R
q12 1 ⇒q2 1 R
q21 ⇒ q31 L
q3 1 ⇒ q10 R
q22 0 ⇒ q4 0 L
q4 1 ⇒ q02 1 L
Примеры
а)
б)