Все задачи №12
№12

Машина Тьюринга

Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя, включая специальный пустой символ λ. На каждом такте головка находится в одном из состояний q0, q1, … В начальный момент она в состоянии q0. За один такт головка может переместиться в соседнюю ячейку или заменить символ в текущей ячейке. Программа задаётся таблицей: строки — состояния, столбцы — символы под головкой. Команда состоит из трёх элементов через запятую: символ, который записывается в текущую ячейку; сдвиг (L влево, R вправо, N без сдвига, S завершение работы после этой команды); новое состояние. Сдвиг происходит после записи. Если клетка пустая, такой пары состояние–символ быть не может. Пример: команда 0, L, q3 записывает 0, сдвигает головку влево и переводит её в состояние q3.

На ленте в соседних ячейках записано двоичное представление числа 2025 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей справа к последовательности ячейке. Программа работы исполнителя дана таблицей ниже.

λ01
q0λ, L, q1
q11, L, q20, L, q11, L, q1
q2λ, S, q2

Определите результат выполнения программы. В ответе запишите получившееся на ленте число в десятичной системе счисления.

Источник: ФИПИ (Демо), № 31509

Ответвпиши то, что получилось
Показать разбор
  1. q0 сдвигает головку с пустой клетки на последнюю цифру и переводит в q1.
  2. В q1 цифры не меняются, головка идёт влево до пустой клетки слева от числа.
  3. На этой клетке q1 пишет 1 и уходит в q2, а q2 останавливает машину.
  4. Правило: программа приписывает 1 слева от числа.
  5. Проверь на ленте 101. Было 3 цифры, старшая новая единица имеет вес 2³.
  6. В числе 2025 k = 11 цифр, значит результат равен 2025 + 2 в степени k.