Алгоритмическая машина Тьюринга Машина Тьюринга состоит из трех частей: ленты, считывающе-записывающей головки и логического устройства. Лента выступает в качестве внешней памяти. Она разбита на отдельные ячейки и считается бесконечной. В машине Тьюринга неподвижной является головка, а лента передвигается относительно нее вправо или влево. Машина работает не в двоичном, а в некотором произвольном конечном алфавите A= {Δ, a1, . . ., an}, называемым внешним. В этом алфавите выделяется специальный символ Δ, называемый пустым знаком. Посылка этого знака в ячейку стирает тот знак, который там находился. В каждую ячейку ленты может быть записан только один символ. Информация, хранящаяся на ленте, изображается конечной последовательностью знаков внешнего алфавита, отличных от пустого знака. Головка всегда расположена над одной из ячеек ленты. Работа происходит тактами. Система исполняемых головкой команд предельно проста: на каждом такте происходит замена знака в обозреваемой ячейке ai знаком aj. Возможны сочетания: j=i Знак в ячейке не изменяется i≠0, j = 0 Знак в ячейке стирается i= 0, j ≠ 0 Происходит вставка знака i≠j ≠ 0 Знак в ячейке заменяется на другой Система команд обработки дополняется системой команд перемещения ленты: R(Right) - на ячейку влево; L(Left) - на ячейку вправо; S(Stop) - остаться на месте. Обработка информации и выдача команд на запись знака, а также на сдвиг ленты в машине Тьюринга производится логическим устройством (ЛУ). Логическое устройство может находиться в одном из состояний, которые образуют конечное множество Q={q1,q2,…,qm,z}, где q1 - начальное состояние; z - завершение работы. Совместно с , , образуют внутренний алфавит машины. Элементарный шаг работы машины Тьюринга заключается в следующем: головка считывает символ из обозреваемой ячейки и, в зависимости от своего состояния и прочитанного символа, выполняет команду, в которой указано, какой символ записать (или стереть) и какое движение совершить. Общее правило, по которому работает машина Тьюринга, ' q a q a D Для каждой комбинации q a имеется ровно одно правило можно представить записью: i j i j i ' j k преобразования. Логический блок реализует логическую функцию машины, сопоставляющую каждой паре входных сигналов одну и только одну тройку выходных. Эта функция обычно представляется в виде таблицы (функциональной схемы машины) Совокупность состояний всехя ячеек ленты, состояние ЛУ и положение головки называется конфигурация машины. Записать конфигурацию можно следующим образом: Δa1qiaj…akΔ Рис. Схема функционирования машины Тьюринга В зависимости от начальной конфигурации возможны два варианта развития событий: после конечного числа тактов машина останавливается по команде останова; при этом на ленте оказывается конечная конфигурация, соответствующая выходной информации; остановки не происходит. В первом случае говорят, что данная машина применима к начальной конфигурации, во втором –нет. Вся совокупность входных конфигураций, при которых машина обеспечивает получение результата, образует класс решаемых задач. Тезис Тьюринга Всякий алгоритм может быть задан посредством тьюринговой функциональной схемы и реализован в соответствующей машине Тьюринга