Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 2.docx
Скачиваний:
23
Добавлен:
02.10.2020
Размер:
926.74 Кб
Скачать

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

Независимо друг от друга в 1936-1937гг. за 9 лет до появления первой ЭВМ. Э. Постом и А. Тьюрингом был представлен один из путей формализации понятия алгоритма.

Ими были описаны гипотетические (условные) устройства, которые получили название «Машина Поста» и «Машина Тьюринга» (МТ).

В них много общего.

Из интуитивного понятия алгоритма следует, что вычисления в соответствии с алгоритмом выполняются механически и их можно поручить машине.

Например, человек осуществляющего умственную

деятельность:

  • просматривает текст

  • вносит в текст какие-то изменения

  • переходит к просмотру последующих записей

  • имеет конечную память (система с конечным числом состояний)

  • исходная информация представляется ему в виде цепочки символов

  • использует дополнительную память (листы бумаги) для записи информации символ за символом

  • может возвращаться к ранее записанной информации

  • стирать информацию и т.д.

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

Он показал разнообразие возможностей предложенной им конструкции и выступил с тезисом:

Тезис Тьюринга – Черча: всякий алгоритм может быть реализован подходящим образом устроенной ”машиной”.

Т.е. он предложил назвать алгоритмом то, что умеет делать такая машина.

Доказать тезис Тьюринга или опровергнуть нельзя, его можно только обосновать, представляя различные алгоритмы в виде МТ.

Элементарными операциями при выполнении алгоритма в такой машине можно считать запись или стирание символа и перенесение внимания с одного участка памяти на другой.

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

Мт такой же математический объект, как функция, производная, интеграл, группа и т.Д.

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

МТ – это строгое математическое понятие (математический аппарат), введенное как формальное уточнение интуитивного понятия алгоритма.

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

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

Формализация алгоритмов путем описания их с использованием МТ позволяет доказывать существование или не существование (невозможность построения МТ) алгоритмов решения различных задач.

Машина Тьюринга (МТ) состоит из следующих частей:

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

  1. Считывающая головка (чтения/записи) - специальный чувствительный элемент, способный: -как бы двигаться вперед, назад и оставаться на месте (за счет движения ленты) -умеет читать содержимое, стирать и записывать символы. картинка!!!!

 

Лента перемещается вдоль головки так, что в каждый момент времени головка обозревает одну ячейку.

3. Управляющее устройство (УУ), которое в каждый момент времени находится в некотором состоянии qi из множества Q = {q0, q1, ,…,qn). Число состояний конечное.

Среди состояний одно соответствует начальному q1 и одно заключительному q0, при котором МТ останавливается.

УУ связано со считывающей головкой.

Кроме того, УУ вырабатывает три команды на перемещение ленты: П, Л, Н, где П(R) – ПЕРЕМЕСТИТЬСЯ НА СОСЕДНЮЮ СПРАВА ЯЧЕЙКУ Л(L) – переместиться на соседнюю слева ячейку Н(N) – продолжить обозревать ту же ячейку

4. С каждой МТ связаны два конечных алфавита:

  • алфавит входных символов (внешний алфавит)

А={а12,…,аm},

  • выходной алфавит (алфавит состояний) Q = {q0, q1, ,…,qn) .

Совокупность символов {q1,q2,…,qn} и {П,Л,Н} образуют внутренний алфавит .

5. Работа машины происходит в дискретном времени, отдельными тактами и выдает ответ через конечное число тактов.

На каждом такте она:

  • Читает символ из обозреваемой ячейки рабочей ленты

  • Изменяет свое состояние в зависимости от своего внутреннего состояния

  • qi и прочитанного символа и печатает символ в обозреваемую ячейку рабочей ленты

  • После этого головка чтения-записи перемещается на одную позицию влево, вправо или остается на месте.

6. Программа для МТ - таблица, в каждой клетке которой записана команда вида

аj , П, qm , состоящая из трех операций:

  • Куда передвинуть головку чтения-записи (П, Л, Н)

  • Какой символ записать в текущую ячейку (аj)

  • В какое состояние перейти машине (qm)

Клетка (qiak) определяется текущим символом алфавита a k и состоянием машины qi.

Например, условно находясь в ячейке (q4, а2 ), и, выполняя команду вида а5, П(Л,Н) , q7

    • обозревает на ленте только один символ а2

    • в зависимости от него и от состояния q4, переходит в состояние q7

    • заменяет а2 на символ а5

    • передвигает головку (либо нет) на одну ячейку (П,Л,Н).

В процессе работы автомат перескакивает из одной клетки программы (таблицы) в другую, пока не дойдет до клетки, в которой записано, что автомат должен перейти в состояние q0 и остановиться.

Эти клетки называют клетками останова.

В момент останова должны быть выполнены следующие обязательные условия:

– внутри выходного слова не должно быть пустых клеток (внутри обрабатываемого слова они могут быть, но в конце их уже не должно остаться);

– автомат обязан остановиться под одним из символов выходного слова (под каким именно – не играет роли), а если слово пустое – под любой клеткой ленты.

Возможны два исхода работы МТ над входным словом:

!!!!Первый исход – «хороший»:

в какой-то момент МТ останавливается (попадает на такт останова). Тогда говорят, что МТ к заданному входному слову.

Слово, которое к этому моменту получено на ленте, считается выходным словом, т.е. результатом работы МТ, ответом.

Второй исход – «плохой»: когда МТ зацикливается, никогда не попадая на такт останова (например, автомат на каждом шаге сдвигается вправо и потому не может остановиться, т.к. лента бесконечна).

В этом случае говорят, что МТ неприменима к заданному входному слову – результата нет.

Один и тот же алгоритм (программа МТ) может быть применимым к одним входным словам (т.е. останавливаться) и неприменимым к другим (т.е. зацикливаться).

Применимость/неприменимость зависит не только от самого алгоритма, но и от входного слова.

Принципиальное отличие машины Тьюринга от ВМ (конечного автомата) состоит в том, что

  • ее запоминающее устройство представляет собой бесконечную ленту (бесконечную память). У реальных вычислительных машин ЗУ может быть как угодно большим, но обязательно конечно.

  • одну головку чтения-записи, которая может двигаться по рабочей ленте в любую сторону.

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

Бесконечность ленты и свобода движения головки радикально увеличивает вычислительную мощность МТ

МТ нельзя реализовать именно из-за бесконечности ее ленты.

Примитивность Машина Тьюринга не в том, что она использует ленту и механическое движение головки, а в том, что:

  • ее набор операций с памятью очень прост (запись и чтение символов)

  • доступ к памяти в ней происходит не по адресу, а путем последовательного перемещения вдоль ленты

  • выполнение на ней даже таких простых функций как сложение и умножение требует много шагов.

Соседние файлы в папке Лекции