Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
20
Добавлен:
03.06.2014
Размер:
348.67 Кб
Скачать

Лекция 13. Абстрактная вычислительная машина

13.1. Модельное представление алгоритма

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

Виртуальные (умозрительные) конструкции Тьюринга-Поста остаются ярчайшими образцами научного предвидения; именно на абстрактных математических моделях, представленных этими машинами, было строго доказано существование универсальных вычислительных машин. Более того, и по сей день в теории алгоритмов машина Тьюринга постоянно используется в качестве основной модели для выяснения сущности таких понятий, как “вычислительный процесс”, “алгоритм”, “программа”, а также для выяснения связи между алгоритмами и вычислительными машинами. Хотя, как упомянуто выше, возможны и другие абстрактные модели вычислительных машин, отличные от машины Тьюринга, тем не менее все они равносильны друг другу (а, значит, и тьюринговой модели) в следующем смысле: класс проблем, которые можно решать на моделях одного типа, в точности совпадает с классом проблем, которые можно решать на моделях другого типа, в частности, на машинах Тьюринга. Именно благодаря этому в математических категориях приобретают свой точный смысл и решаются два принципиальных вопроса, которые кратко можно сформулировать так: что могут делать машины? Как они это делают?

Первый вопрос направлен на выяснение “интеллектуальных” возможностей машины. Его актуальность связана, в частности, с тем, что не все, а точнее, очень мало из области нашей человеческой деятельности удается представить в виде алгоритма. Подчеркнем, что трудности алгоритмизации не связаны с какими-либо запретами принципиального характера, а обусловлены “всего лишь” ограниченными возможностями самого человека.

Здесь уместно привести высказывание Э. Дейкстры, одного из основоположников структурного программирования: “… человек соображает медленно, а емкость его памяти очень мала, и ему следует получше научиться жить в таких условиях, учитывать ограниченность своих возможностей и относиться к ней с полным уважением, а не пытаться игнорировать ее, так как такие тщеславные попытки будут обречены на неудачу”.

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

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

Машина состоит из трех частей (рис. 13.1): ленты, головки и управляющего устройства. Лента бесконечна в обе стороны, разбита на ячейки. В каждой ячейке может быть записана только одна буква из алфавита машины A = {a1, …, ak, …, aK}. Отсутствие буквы в ячейке обозначается специальным (“пустым”) символом. Головка всегда расположена над некоторой ячейкой ленты. Она может читать и писать буквы, стирать их, а также перемещаться вдоль ленты. Головка на каждом шаге работы находится в одном из состояний, образующих конечное множество Q = {q1, …, qm, …, qM}*. Среди состояний выделяются начальное и заключительное.

Рис. 13.1. Концептуальная схема машины Тьюринга

Символы R, L, H обозначают направления движения головки соответственно вправо, влево, команду головке остаться неподвижной; P условное обозначение устройства, управляющего движением головки.

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

Соседние файлы в папке Лекции по информатике [10-15]