Машина Тьюринга

Основные свойства алгоритма дискретности, детерминированности, массовости и результативности позволяют представить процесс вычисления какой-либо числовой функции с помощью математической машины. Эта машина за конечное число шагов позволяет вычислить по исходным данным искомый числовой результат в соответствии с заданными правилами.

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

Информационная лента бесконечной длины представляет собой последовательность ячеек, в каждую из которых записан в точности только один символ из множества символов алфавита VT={a1,a2,...,an}. Последовательность символов на ленте формирует слово α = (a1a2...). Пробел между словами также является символом множества VT. Информационная лента исполняет функции внешней памяти машины Тьюринга.

Считывающая-записывающая головка обозревает только одну ячейку информационной ленты, передает информацию о ее содержимом в управляющее устройство и по указанию последнего сохраняет или изменяет содержимое ячейки.

Управляющее устройство представляет собой механизм, который на каждом шаге вычисления находится в одном из множества состояний Q={q1,q2,...,qm}. В зависимости от состояния qi и считанного символа aj управляющее устройство выдает команду на стирание или запись символа в обозреваемую ячейку, перевод управляющего устройства в новое состояние и перемещение головки на соседнюю ячейку информационной ленты. Поэтому состояния управляющего устройства называют «памятью машины Тьюринга», так как машина помнит все промежуточные состояния, которые привели машину из состояния q0 (так обозначается начальное состояние) в некоторое состояние qi. Среди всех состояний управляющего устройства, кроме начального, следует выделить также состояние qk — конечное состояние («стоп»), что облегчит составление протоколов машин Тьюринга и композицию нескольких машин Тьюринга. Для описания перемещений головки относительно информационной ленты введем дополнительный алфавит D={П, Л, С}, где П — означает перемещение головки вправо на одну ячейку информационной ленты, Л — влево на одну ячейку и С — останов.

Работа машины Тьюринга состоит в многократном повторении следующего цикла элементарных действий:

· действие первое: считывание символа aj, находящегося под считывающей головкой;

· действие второе: поиск команды, отвечающей текущему состоянию управляющего устройства qi и считанному символу aj, т.е. qj aj => qi am D;

· действие третье: исполнение найденной команды, т.е. запись в обозреваемую ячейку символа am, перевод управляющего устройства в состояние qi и перемещение головки на соседнюю ячейку информационной ленты - D.

Эти три действия представляют одну элементарную команду. Последовательность команд для реализации процесса вычисления представляют программу алгоритмического процесса или протокол машины Тьюринга. Следует отметить, что никакие две команды не могут иметь одинаковую пару текущего состояния qi и считываемого символа aj, т.е. пару (qi aj). Машина Тьюринга останавливается только в том случае, если на очередном шаге управляющее устройство генерирует состояние qk. Результатом работы машины Тьюринга будет заключительное слово на информационной ленте.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: