Зачем это в ЕГЭ.
Задание 12 проверяет умение анализировать работу машины Тьюринга. Даёт 1 первичный балл. Встречается практически в каждом варианте ЕГЭ, так как является одним из базовых вопросов по теории алгоритмов.
Главная идея.
Машина Тьюринга — это абстрактная модель вычислений, состоящая из бесконечной ленты, головки и набора команд. Ключ к решению — внимательно отслеживать состояние машины и её перемещения по ленте на каждом шаге.
Алгоритм (чеклист).
1. Прочитай начальное состояние ленты и положение головки.
2. Определи текущее состояние машины и символ под головкой.
3. Найди соответствующую команду в таблице переходов.
4. Выполни команду: запиши новый символ, измени состояние и перемести головку.
5. Повторяй шаги 2-4, пока машина не остановится.
6. Проверь результат: убедись, что машина остановилась в конечном состоянии.
Опоры (кратко).
- Машина Тьюринга: лента, головка, таблица переходов.
- Команда: , где — направление (L/R/S).
- Остановка машины: достигнуто конечное состояние или команда отсутствует.
Пример 1 (базовый подтип)
Шаг 1. Начальное состояние: лента "101", головка на первом символе, состояние .
Шаг 2. Читаем символ "1" в состоянии .
Шаг 3. Находим команду: .
Шаг 4. Записываем "0", переходим в состояние , двигаем головку вправо.
Шаг 5. Читаем символ "0" в состоянии .
Шаг 6. Находим команду: .
Шаг 7. Записываем "1", переходим в состояние , останавливаемся.
Шаг 8. Результат: лента "001", машина остановилась в состоянии .
Пример 2 (подтип с циклом)
Шаг 1. Начальное состояние: лента "111", головка на первом символе, состояние .
Шаг 2. Читаем символ "1" в состоянии .
Шаг 3. Находим команду: .
Шаг 4. Записываем "0", остаёмся в состоянии , двигаем головку вправо.
Шаг 5. Читаем символ "1" в состоянии .
Шаг 6. Повторяем команду: .
Шаг 7. Записываем "0", остаёмся в состоянии , двигаем головку вправо.
Шаг 8. Читаем символ "1" в состоянии .
Шаг 9. Повторяем команду: .
Шаг 10. Записываем "0", остаёмся в состоянии , двигаем головку вправо.
Шаг 11. Машина выходит за пределы ленты, останавливается.
Шаг 12. Результат: лента "000", машина остановилась за пределами ленты.
Типичные ошибки.
1. Неверное направление движения головки. Путают "L" и "R".
2. Пропуск шагов. Не отслеживают каждый шаг машины.
3. Ошибка в конечном состоянии. Не проверяют, остановилась ли машина.
4. Неправильное чтение символа. Путают символы на ленте.
5. Неверная интерпретация команд. Неправильно применяют таблицу переходов.
Дальше.
Переходи к решению задач с более сложными таблицами переходов и циклами.