Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты по Герасимову.doc
Скачиваний:
60
Добавлен:
01.05.2014
Размер:
720.9 Кб
Скачать
  1. Абстрактная вычислительная машина Тьюринга.

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

Машина состоит из трёх частей: ленты, считывающе-записывающей головки и управляющего устройства (см. рис.).

Устройство управления (УУ)

Лента выступает в качестве внешней памяти; она считается бесконечной в обе стороны – это свидетельствует о том, что машина Тьюринга является модельным устройством, поскольку ни одно реальное устройство не может обладать памятью бесконечного размера. Лента разбита на ячейки, в каждой из которых может быть записана только одна буква из алфавита машины . Отсутствие буквы в ячейке обозначается специальным («пустым») символом. Головка всегда расположена над некоторой ячейкой ленты. Она может читать и писать буквы, стирать их, а так же перемещаться вдоль ленты. Головка на каждом шаге работы находится в одном из состояний, образующих конечное множество. Среди этих состояний выделяются начальное и заключительное.

Работа машины представляет собой некоторую последовательность шагов. Шаг заключается в следующем. Головка считывает букву, записанную в ячейку, над которой она находится. В зависимости от своего состояния, представленного буквой алфавита состояний УУ, и прочтённой буквы она переходит в новое состояние (возможно подтверждение старого) и реализует команду. В команде указано, какую букву записать и какие перемещения совершать. После выполнения команды машина готова к реализации следующего шага.

Можно конкретизировать развивающийся в машине Тьюринга процесс следующим образом. Множество состояний процесса – это множество состояний УУ; в результате воздействия на процесс со стороны ленты, точнее буквы в конкретной ячейке ленты, процесс изменяет (либо сохраняет) своё состояние и откликается на внешнее воздействие записью в ячейку ленты конкретной буквы алфавита машины А. Процесс переводит одно слово, присутствующее на ленте, в другое, причём слова представлены в одном и том же алфавите А.

Конкретная машина Тьюринга задаётся перечислением элементов множеств A и Q и набором правил, по которым работает машина. Они имеют вид: (если головка находится в состоянии, а в обозреваемой ячейке записана буква,то головка переходит в состояние , в ячейку вместо записывается , головка делает движение , которое имеет три варианта: на ячейку влево, на ячейку вправо, остаться на месте). Для каждой возможной конфигурации <,> имеется ровно одно правило. Правил нет только для заключительного состояния, попав в которое машина останавливается. Поскольку различных множеств А и Q и правил может быть сколь угодно много, то и конкретных машин Тьюринга тоже бесконечное множество.

Программой машины Тьюринга называется конечный непустой список команд (правил) машины Тьюринга, занумерованный последовательными числами 1, 2, 3, …, М.

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

Если пустить машину в ход, то осуществится один из следующих трех вариантов:

  1. Рабочий шаг машины.

  2. Результативная остановка при выполнении команды СТОП.

  3. Машина «зациклится».

Тезис Тьюринга.

Интуитивное понятие алгоритма равнообъемно с точным понятием алгоритма Тьюринга. Т.Е. Для любой вычислимой функции (т.е. функции, для которой существует вычисляющий ее алгоритм) можно построить машину, которая ее вычисляет. Это означает, что машина Тьюринга является универсальной алгоритмической моделью.

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

Машина Тьюринга крайне проста. Вместе с тем эта модель отражает существенные свойства любой вычислительной машины.