Учебники

Введение машины Тьюринга

Машина Тьюринга — это принимающее устройство, которое принимает языки (рекурсивно перечислимый набор), генерируемые грамматиками типа 0. Он был изобретен в 1936 году Аланом Тьюрингом.

Определение

Машина Тьюринга (ТМ) — это математическая модель, которая состоит из ленты бесконечной длины, разделенной на ячейки, в которые вводятся данные. Он состоит из головы, которая читает входную ленту. Государственный реестр хранит состояние машины Тьюринга. После прочтения входного символа он заменяется другим символом, его внутреннее состояние изменяется, и он перемещается из одной ячейки вправо или влево. Если TM достигает конечного состояния, входная строка принимается, в противном случае отклоняется.

ТМ можно формально описать как 7-кортеж (Q, X, ∑, δ, q 0 , B, F), где —

  • Q — конечное множество состояний

  • X это ленточный алфавит

  • является входным алфавитом

  • δ — переходная функция; δ: Q × X → Q × X × {Сдвиг влево, сдвиг вправо}.

  • q 0 — начальное состояние

  • B — это пустой символ

  • F — множество конечных состояний

Q — конечное множество состояний

X это ленточный алфавит

является входным алфавитом

δ — переходная функция; δ: Q × X → Q × X × {Сдвиг влево, сдвиг вправо}.

q 0 — начальное состояние

B — это пустой символ

F — множество конечных состояний

Сравнение с предыдущим автоматом

В следующей таблице показано сравнение того, как машина Тьюринга отличается от Finite Automaton и Pushdown Automaton.

Машина Структура данных стека Детерминированный?
Конечный Автомат Не Доступно да
Pushdown Автомат Последний вошел первый (ЛИФО) нет
Машина Тьюринга Бесконечная лента да

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

Машина Тьюринга M = (Q, X, ∑, δ, q 0 , B, F) с

  • Q = {q 0 , q 1 , q 2 , q f }
  • X = {a, b}
  • ∑ = {1}
  • q 0 = {q 0 }
  • B = пустой символ
  • F = {q f }

δ определяется как —

Лента символ алфавита Текущее состояние ‘q 0 Современное состояние ‘q 1 Современное состояние ‘q 2
1Rq 1 1Lq 0 1 литр ф
б 1Lq 2 1Rq 1 1Rq f

Здесь переход 1Rq 1 подразумевает, что символ записи равен 1, лента движется вправо, а следующее состояние — q 1 . Аналогично, переход 1Lq 2 подразумевает, что символ записи равен 1, лента перемещается влево, а следующее состояние — q 2 .

Пространственно-временная сложность машины Тьюринга

Для машины Тьюринга под сложностью времени понимается мера количества перемещений ленты, когда машина инициализируется для некоторых входных символов, а сложность пространства — это количество ячеек записанной ленты.

Временная сложность всех разумных функций —

T (n) = O (n log n)

Пространственная сложность ТМ —

S (n) = O (n)