Пн. Июн 1st, 2026
Формализация понятия алгоритма. Машина Тьюринга

Формализация понятия алгоритма. Машина Тьюринга

Теория для подготовки к ЕГЭ по информатике. Раздел 3.1: Формализация алгоритмов и машина Тьюринга как универсальная модель вычислений.

Понятие алгоритма и его свойства

Алгоритм — это точная конечная система правил, определяющая последовательность действий над некоторыми объектами для решения задачи.

Основные свойства алгоритмов:

  • Дискретность — алгоритм состоит из отдельных шагов
  • Определённость — каждое действие точно определено
  • Понятность — алгоритм состоит только из известных исполнителю команд
  • Результативность — алгоритм должен приводить к результату за конечное число шагов
  • Массовость — алгоритм применим к целому классу задач
Входные данные Алгоритм Результат Обработка Получение

Примеры алгоритмов:

  • Рецепт приготовления блюда
  • Инструкция по сборке мебели
  • Математический алгоритм (например, алгоритм Евклида)
  • Компьютерная программа

Формализация понятия алгоритма

В 1930-х годах математики начали формализацию понятия алгоритма, что привело к созданию нескольких эквивалентных моделей вычислений.

Основные формальные модели алгоритмов:

  • Машина Тьюринга (Алан Тьюринг, 1936)
  • Рекурсивные функции (Курт Гёдель, 1934)
  • Лямбда-исчисление (Алонзо Чёрч, 1936)
  • Нормальные алгоритмы Маркова (Андрей Марков, 1951)
Формальные модели алгоритмов Тьюринг Чёрч Марков Машины Лямбда- Нормальные Тьюринга исчисление алгоритмы

Тезис Чёрча-Тьюринга:

Любая функция, которая может быть вычислена алгоритмически, может быть вычислена с помощью машины Тьюринга.

Это означает, что все формальные модели алгоритмов эквивалентны по своей вычислительной мощности.

Важно: Не существует алгоритмического процесса, который мог бы определить, остановится ли произвольная машина Тьюринга на произвольных входных данных (проблема остановки).

Машина Тьюринга: основные понятия

Машина Тьюринга — это абстрактная вычислительная машина, предложенная Аланом Тьюрингом в 1936 году.

Компоненты машины Тьюринга:

  • Бесконечная лента, разделённая на ячейки
  • Головка чтения/записи, которая может перемещаться вдоль ленты
  • Управляющее устройство, которое находится в одном из состояний
  • Таблица правил (программа), определяющая поведение машины
0
1
1
0
1
Устройство машины Тьюринга Управляющее устройство Головка Лента

Принцип работы машины Тьюринга

На каждом шаге машина Тьюринга выполняет следующие действия:

  1. Считывает символ из текущей ячейки ленты
  2. В зависимости от текущего состояния и считанного символа:
    • Записывает новый символ в текущую ячейку
    • Перемещает головку влево или вправо
    • Переходит в новое состояние
  3. Останавливается, если достигнуто конечное состояние
📝
Считать символ
🤔
Выбрать действие по таблице правил
✏️
Записать символ
↔️
Переместить головку
🔄
Изменить состояние

Формальное определение машины Тьюринга:

Машина Тьюринга — это семёрка (Q, Γ, Σ, δ, q₀, B, F), где:

  • Q — конечное множество состояний
  • Γ — конечный алфавит символов ленты
  • Σ ⊆ Γ — входной алфавит
  • δ: Q × Γ → Q × Γ × {L, R} — функция переходов
  • q₀ ∈ Q — начальное состояние
  • B ∈ Γ — пустой символ
  • F ⊆ Q — множество конечных состояний
Функция переходов δ δ(q, a) = (p, b, D) Текущее состояние q Символ на ленте a Новое состояние p Записы- ваемый символ b Направ- ление D

Пример машины Тьюринга

Рассмотрим простую машину Тьюринга, которая инвертирует биты (0 заменяет на 1, а 1 на 0).

Компоненты машины:

  • Q = {q₀, q_f}
  • Γ = {0, 1, B}
  • Σ = {0, 1}
  • q₀ — начальное состояние
  • B — пустой символ
  • F = {q_f} — конечное состояние

Таблица правил (функция переходов δ):

Состояние Символ Новое состояние Новый символ Движение
q₀ 0 q₀ 1 R
q₀ 1 q₀ 0 R
q₀ B q_f B
q₀ q_f 0/1,R 1/0,R B/B,-

Работа машины на входе «101»:

B
1
0
1
B

Шаг 1: Состояние q₀, читаем ‘1’ → пишем ‘0’, двигаемся вправо, остаемся в q₀

B
0
0
1
B

Шаг 2: Состояние q₀, читаем ‘0’ → пишем ‘1’, двигаемся вправо, остаемся в q₀

B
0
1
1
B

Шаг 3: Состояние q₀, читаем ‘1’ → пишем ‘0’, двигаемся вправо, остаемся в q₀

B
0
1
0
B

Шаг 4: Состояние q₀, читаем ‘B’ → переходим в состояние q_f, останавливаемся

Результат: «010» (инверсия исходной строки «101»)

Универсальная машина Тьюринга

Универсальная машина Тьюринга — это машина, которая может имитировать любую другую машину Тьюринга.

Принцип работы универсальной машины Тьюринга:

  • На вход подаётся описание машины Тьюринга M и входные данные w
  • Универсальная машина имитирует работу машины M на данных w
  • Результат работы совпадает с результатом работы M(w)
Универсальная машина Тьюринга U Код машины M Входные данные w Результат M(w)

Значение универсальной машины Тьюринга:

  • Доказывает возможность создания программируемых вычислительных устройств
  • Является теоретической основой для современных компьютеров
  • Показывает, что одна машина может выполнять любые вычисления
  • Предвосхитила концепцию хранимых программ в компьютерах

Важно: Универсальная машина Тьюринга демонстрирует, что все современные компьютеры являются реализацией этой абстрактной модели, способной выполнять любые алгоритмы.