Машина Тьюринга
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя, включая специальный пустой символ λ. На каждом такте головка находится в одном из состояний q0, q1, … В начальный момент она в состоянии q0. За один такт головка может переместиться в соседнюю ячейку или заменить символ в текущей ячейке. Программа задаётся таблицей: строки — состояния, столбцы — символы под головкой. Команда состоит из трёх элементов через запятую: символ, который записывается в текущую ячейку; сдвиг (L влево, R вправо, N без сдвига, S завершение работы после этой команды); новое состояние. Сдвиг происходит после записи. Если клетка пустая, такой пары состояние–символ быть не может. Пример: команда 0, L, q3 записывает 0, сдвигает головку влево и переводит её в состояние q3.
На ленте в соседних ячейках записано двоичное представление числа 2048 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей справа к последовательности ячейке. Программа работы исполнителя дана таблицей ниже.
| λ | 0 | 1 | |
|---|---|---|---|
| q0 | λ, L, q1 | ||
| q1 | 1, L, q1 | 0, R, q2 | |
| q2 | 1, S, q2 | 0, R, q2 | 1, R, q2 |
Определите результат выполнения программы. В ответе запишите получившееся на ленте число в десятичной системе счисления.
Источник: ФИПИ (Резервная 22.06.2026), № 31220
Показать разбор
- q0 ставит головку на последнюю цифру и переводит в q1.
- В q1 нули становятся единицами, головка идёт влево до первой единицы.
- Эта единица становится нулём, и q2 ведёт головку вправо до конца числа.
- На λ справа q2 пишет 1 и останавливается.
- Запиши число из условия: единица и k нулей. После работы на ленте ведущий ноль и дальше только единицы.
- Посчитай эти единицы, пусть их n. Значение ленты равно 2 в степени n, минус 1.