Исходным материалом для нас будет служить такое соответствие как лента, разделенная на равные участки, называемые ячейками. Лента будет считаться конечной длины в каждый момент времени, неограниченно продолжаемой в обе стороны и направленной, так что у каждой ячейки есть соседняя справа и соседняя слева. Каждая ячейка ленты может находиться в различных состояниях и эти состояния сравнимы, так что можно однозначно решить, находятся ли две произвольные ячейки ленты в одинаковых состояниях или в разных. Одно из возможных состояний ячеек называется исходным. Ячейки, находящиеся в этом состоянии называются пустыми. Остальные состояния обозначаются
На сегодняшний момент соответствием соответствий является соответствие: «рабочая лента машины Тюринга-Поста»:
рабочая лента машины Тюринга-Поста | |
---|---|
ячейка1 | содержимое ячейки (символ1) |
ячейка2 | содержимое ячейки (символ2) |
ячейка3 | содержимое ячейки (символ3) |
ячейка4 | содержимое ячейки (символ1) |
ячейка5 | содержимое ячейки (символ3) |
ячейка6 | содержимое ячейки (символ2) |
и т. д.
Рабочая лента бесконечна. О символы, которые могут записываться как содержание ячейки говорят, что они заданы на определенном алфавите.
Машина Тюринга-Поста– механическое устройство состоящее из следующих основных частей.
1) В машине имеется потенциально неограниченная память, разбитая на отдельные линейно-упорядоченные ячейки. В каждой ячейке может быть записан символ из некоторого конечного алфавита, или она может быть пустой. Считают, что в ячейке записан особый символ, называемый пустым. В каждый момент времени память, обычно называемая рабочей лентой машины, состоит из конечного числа ячеек, однако при необходимости к ней могут быть пристроены слева или справа новые ячейки с записанных в них пустым символом. Рабочая лента и информация, записанная в ней, представляются конечной цепочкой символов над словарем рабочей ленты.
2) Помимо рабочей ленты в машине Тюринга имеется еще и другое запоминающее устройство. Это регистр состояний – особая память, рассчитанная на хранение одного символа. Символ, который запоминается в регистре, выбирается из конечного множества, определяющего множество состояний машины.
3) В каждый момент времени машина Тюринга анализирует не всю информацию, хранящуюся на рабочей ленте, а содержимое лишь одной ячейки этой ленты. Для определения этой ячейки служит управляющая головка, которая всегда указывает на некоторую ячейку рабочей ленты.
Выполняя заданный алгоритм, машина Тюринга последовательно производит ряд элементарных действий, причем каждое такое действие выполняется за один рабочий такт машины. Элементарные действия можно разбить на следующие три группы:
1) Машина изменяет состояние в регистре (т. е. стирая символ, хранящийся в регистре, записывает в него новый символ) и содержимое ячейки, на которую указывает управляющая головка.
2) Машина изменяет состояние и продвигает управляющую головку на одну ячейку влево.
3) Машина изменяет состояние и продвигает управляющую головку на одну ячейку вправо.
В последних двух случаях может оказаться, что до такта управляющая головка указывала на самую левую или самую правую ячейку рабочей ленты. Если требуется произвести сдвиг влево (или, соответственно, вправо), то к рабочей ленте пристраивается новая ячейка с записанным в ней пустым символом.
Машина Тюринга может использоваться для вычисления инструкций, аргументы и значения которых представляются цепочками символов конечных алфавитов. При этом машина начинает работу в так называемой начальной ситуации, которая характеризуется следующим образом:
1) на рабочей ленте записан аргумент вычисляемой инструкции;
2) управляющая головка указывает на ячейку, в которой записан самый левый символ аргумента;
3) машина находится в некотором заранее выбранном состоянии, которое называется начальным.