Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
255
Добавлен:
30.03.2015
Размер:
6.2 Mб
Скачать

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

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

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

Рис.6.3

Рассмотрим, чем отличается машина Тьюринга от простой модели конечного автомата. Конечный автомат можно представить себе как устройство с конечным числом внутренних состояний Q = {q1, q2, …, qk }, работающее с двумя лентами: входной с конечным алфавитом X = {x1, x2, , xn} и выходной с конечным алфавитом Y = {y1, y2,…, ym} (рис. 6.3). Конечный автомат работает по тактам. На каждом такте он читает с помощью некоторой входной головки символ из обозреваемой ячейки входной ленты, изменяет свое состояние и печатает некоторый символ выходного алфавита в обозреваемую ячейку выходной ленты, после чего две его головки чтения и записи перемещаются на одну позицию вправо. Описание функционирования конечного автомата можно считать его программой, которая является фактически перечислением аргументов и соответствующих значений частично-определенной функции переходов и выходов автомата δ: Q×X→ Q'×Y.

Человек имеет конечную память, и в этом смысле его можно представить системой с конечным числом состояний. Исходная информация к алгоритму обычно представляется в виде конечной последовательности символов (в виде слова конечного словаря). Выполняя алгоритм, человек-вычислитель использует дополнительную память (которая может быть потенциально бесконечной, например листы бумаги) для записи информации, причем эта запись производится им последовательно, символ за символом. При вычислениях человек может возвращаться к ранее записанной информации, стирать некоторую информацию и т. д. Таким образом, элементарными операциями при выполнении алгоритма можно считать запись и стирание символа, а также перенесение внимания с одного участка записи на другой.

Предложенная Тьюрингом формальная модель состоит: 1) из управляющего устройства, которое может находиться в одном из состояний, образующих конечное множество Q = {q1, q2, …, qk }; 2) ленты, разбитой на ячейки, в каждой из которых могут быть записаны символы конечного алфавита X = {x1, x2, , xn}; 3) устройства обращения к ленте, т. е. считывающей и пишущей головки, которая сдвигается на ячейку влево или вправо или остается на месте. Предложенная Тьюрингом формальная модель отличается от конечного автомата в двух аспектах: она имеет одну бесконечную рабочую ленту, с которой читает и куда пишет символы, и головку чтения-записи, которая может двигаться по рабочей ленте в любую сторону (см. рис. 6.4).

Рис.6.4

В каждой ячейке неограниченной ленты может храниться только один символ алфавита X, называемый внешним алфавитом машины. Работа машины происходит по тактам. На каждом такте обозревается единственная ячейка и считываемый символ хi заменяется другим хj, который определяется состоянием машины qv в данный тактовый момент из множества ее возможных состояний Q (при этом i = j означает, что символ не изменяется; стирание символа будем понимать как запись пустого символа Λ). Кроме того, вырабатывается последующее состояние машины qv+1 и управляющая перемещением по ленте команда,, которая подготавливает очередную ячейку для обозрения на следующем такте. Таких команд в машине Тьюринга только три: R – обозревать соседнюю справа ячейку, L – обозревать соседнюю слева ячейку и E – продолжать обозревать прежнюю ячейку. Совокупность символов Q = {q1, q2, …, qk } и D = {R, L, E} образует внутренний алфавит машины. Среди состояний управляющего устройства МТ следует выделить начальное состояние q1 и заключительное стоп-состояние, которое будем обозначать символом «!». В начальном состоянии машина находится перед началом работы; попав в заключительное состояние, машина останавливается.

Описание функционирования МТ можно считать ее программой, которая представлена конечным набором аргументов и соответствующих им значений частично-определенной функции переходов и выходов δ: Q×Х→ Q'×Х'×D.

Машина Тьюринга имеет один конечный рабочий алфавит Х, в котором входные и выходные символы не различаются, поскольку выходной символ, напечатанный на ленте, машина может прочитать в последующих тактах. Для удобства обычно считают, что алфавит Х также содержит и пустой символ Λ, заполняющий все ячейки рабочей ленты слева и справа от конечной цепочки «значащих» символов в начале работы.

Полное состояние машины Тьюринга, по которому однозначно можно определить ее дальнейшее поведение, определяется ее внутренним состоянием, состоянием ленты (т. е. словом, записанным на ленте) и положением головки на ленте. Полное состояние будем называть конфигурацией, или машинным словом, и обозначать тройкой α1 qv α2, где qv – текущее внутреннее состояние, α1 – слово слева от головки, а α2 – слово, образованное символом, считываемым головкой, и символами справа от него, причем слева от α1 и справа от α2 все ячейки ленты заполнены пустыми символами Λ.

Соседние файлы в папке Основы теории конеч.авт., ЗА 6 сем