11.07.2015 Views

Выпуск 1 - Российский государственный профессионально ...

Выпуск 1 - Российский государственный профессионально ...

Выпуск 1 - Российский государственный профессионально ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ПРОФИЛЬУниверсальные исполнителиКак мы уже видели, понятие алгоритма оказывается“привязанным” к его исполнителю и некоторомуязыку программирования. Это не позволяетопределить алгоритм как математический объект.Поэтому возникла идея попытаться построить универсальногоисполнителя.Универсальный исполнитель — это исполнитель,для которого можно построить алгоритм,эквивалентный любому алгоритму для любогодругого исполнителя.Такого исполнителя можно было бы использоватьдля доказательства разрешимости или неразрешимостизадач. Если удается построить алгоритм решениязадачи для универсального исполнителя, то задачаразрешима. Если доказано, что алгоритма не существует,то задача неразрешима. Системакоманд такого исполнителя должна бытькак можно проще — так его будет легчеиспользовать в доказательствах.В середине XX века было предложено(разными учеными, независимо друг отдруга) несколько исполнителей, претендующихна роль универсальных(они будут рассмотрены далее), причемв теории алгоритмов доказано, что всеони эквивалентны друг другу, то естьалгоритм, который можно запрограммироватьдля одного универсальногоисполнителя, можно запрограммироватьтакже и для остальных.Как же связан универсальный исполнитель спроблемой строгого определения алгоритма?А.Тьюринг (1912–1956)(computerhistory.org)Рис. 2• способ ввода данных (чтения входного слова);• способ вывода слова-результата.Все универсальные исполнители эквивалентныпо определению. Это значит, что для любого алгоритмадля одного универсального исполнителяможно построить эквивалентный алгоритм длядругого универсального исполнителя. Поэтому последнееприведенное определение алгоритма фактическине зависит от конкретного исполнителя.Машина ТьюрингаПервым предложил универсального исполнителяанглийский математик А.Тьюринг. Придуманноеим воображаемое устройство состоит из трехчастей:• бесконечной ленты, разделенной на ячейки;• каретки (читающей и записывающей головки);• программируемого автомата.Программируемый автомат управляеткареткой, посылая ей команды всоответствии с заложенной в него сменяемойпрограммой. Лента выполняетроль внешней памяти компьютера,автомат — роль процессора, а кареткаслужит для ввода и вывода данных.Такое устройство называют машинойТьюринга. Теоретически лента в машинеТьюринга бесконечна, однако в каждыймомент работы машины временииспользуется лишь конечная ее часть.Каретка в любой момент временинаходится над одной ячейкой, автоматможет читать и изменять содержимоеэтой ячейки, которая называется текущей (рабочей)ячейкой.6январь 2012 / ИНФорматикаЛюбой алгоритм может быть представлен какпрограмма для универсального исполнителя.Это основная идея теории алгоритмов. Строгодоказать это утверждение невозможно, потому чтоздесь используется интуитивное понятие “алгоритм”.Как мы увидим, каждый универсальный исполнительописывается с помощью математическихтерминов, поэтому на его основе можно дать строгоеопределение алгоритма:Алгоритм — это программа для универсальногоисполнителя.Универсальный исполнитель — это некотораямодель вычислений, которая задает способ описанияалгоритмов и их выполнения. Модель вычислениядолжна содержать• “процессор”, задающий систему команд и способих выполнения;• “память”, определяющую способ хранения данных;• язык программирования (способ записи программ);бесконечная лента1 0 1 1Рис. 3кареткатекущая ячейкаВ каждую ячейку ленты можно записать одинлюбой символ, принадлежащий выбранному алфавиту.Любой алфавит обязательно содержитпробел (пустой символ, соответствующий “чистым”участкам ленты), который мы будем обозначатьзнаком “”. Алфавит обычно обозначаетсябуквой A, а его элементы — строчными буквами a синдексами: A = {a 1, a 2, …, a N}. Например, алфавитмашины Тьюринга, работающей с двоичными числами,задается в виде A = {0, 1, }.Непрерывную цепочку символов на ленте называютсловом. На рис. 3 лента содержит слово “1011”,которое можно воспринимать как двоичное число.Автоматом называют устройство, работающее безучастия человека. Автомат в машине Тьюринга имеетнесколько состояний и при определенных условияхпереходит из одного состояния в другое. Состояние

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!