Большая Советская Энциклопедия (АЛ)
Шрифт:
Т. о., наряду с совокупностями возможных исходных данных и возможных результатов, для каждого А. имеется ещё совокупность промежуточных результатов (п. р.), представляющая собой ту рабочую среду, в которой развивается алгоритмический процесс. Для ~A все три совокупности совпадают, а для А. вычитания столбиком — нет: возможными исходными данными служат пары чисел, возможными результатами — числа (все в десятичной системе), а промежуточные результаты суть «трёхэтажные» записи вида
где q — есть запись числа в десятичной системе, r — такая запись или пустое слово, а р — запись числа в десятичной системе с допущением точек над некоторыми цифрами.
Затем применяется «правило непосредственной переработки», осуществляющее последовательные преобразования каждого возникающего промежуточного результата в следующий. Эти преобразования происходят до тех пор, пока некоторое испытание, которому подвергаются все промежуточные результаты по мере их возникновения, не покажет, что данный промежуточный результат является заключительным; это испытание производится на основе специального «правила окончания». Например, для ~A правило окончания состоит в проверке, не начинается ли промежуточный результат на aa. (Если ни для какого из возникающих промежуточных результатов правило окончания не даёт сигнала остановки, то либо к каждому из возникающих промежуточных результатов применимо правило непосредственной переработки, и алгоритмический процесс продолжается неограниченно, либо же к некоторому промежуточному результату правило непосредственной переработки оказывается неприменимым, и процесс оканчивается безрезультатно.) Наконец, из заключительного промежуточного результата — также на основе специального правила — извлекается окончательный результат; для ~A это извлечение состоит в отбрасывании первых двух букв а, а для А. вычитания — в отбрасывании всего, кроме самой нижней строчки цифр. (Во многих важных случаях правило начала и правило извлечения результата задают тождественные преобразования и потому отдельно не формулируются.) Т. о., для каждого А. можно выделить 7 характеризующих его (не независимых!) параметров: 1) совокупность возможных исходных данных, 2) совокупность возможных результатов, 3) совокупность промежуточных результатов, 4) правило начала, 5) правило непосредственной переработки, 6) правило окончания, 7) правило извлечения результата.
«Уточнения» понятия А. Возможны дальнейшие «уточнения» понятия А., приводящие, строго говоря, к известному сужению этого понятия. Каждое такое уточнение состоит в том, что для каждого из указанных 7 параметров А. точно описывается некоторый класс, в пределах которого этот параметр может меняться. Выбор этих классов и отличает одно уточнение от другого. Во многих уточнениях все классы, кроме двух — класса совокупностей промежуточных результатов и класса правил непосредственной переработки, — выбираются единичными, т. е. все параметры, кроме указанных двух, жестко фиксируются. Поскольку 7 параметров однозначно определяют некоторый А., то выбор 7 классов изменения этих параметров определяет некоторый класс А. Однако такой выбор может претендовать на название «уточнения», лишь если имеется убеждение, что для произвольного А., имеющего допускаемые данным выбором совокупности возможных исходных данных и возможных результатов, может быть указан равносильный ему А. из определённого данным выбором класса А. Это убеждение формулируется для каждого уточнения в виде основной гипотезы, которая — при современном уровне наших представлений — не может быть предметом математического доказательства.
Первые уточнения описанного типа предложили в 1936 американский математик Э. Л. Пост и английский математик А. М. Тьюринг (см. Тьюринга машина ). Известны также уточнения, сформулированные советскими математиками А. А. Марковым (см. Нормальный алгоритм ) и А. Н. Колмогоровым (последний предложил трактовать конструктивные объекты как топологические комплексы определённого вида, что дало возможность уточнить свойство «локальности» преобразования). Для каждого из предложенных уточнений соответствующая основная гипотеза хорошо согласуется с практикой. В пользу этой гипотезы говорит и то, что, как можно доказать, все предложенные уточнения в некотором естественном смысле эквивалентны друг другу.
В качестве примера приведём (в модернизированном виде) уточнение, предложенное Тьюрингом. Чтобы задать тьюрингов А., надо указать: а) попарно непересекающиеся алфавиты Б, Д, Ч с выделенной в Д буквой l и выделенными в Ч буквами a и w, б) набор пар вида < рx, hTq >, где р, q^IЧ, x, h^IБ`EД, а Т есть один из знаков —, 0, +, причём предполагается, что в этом наборе (называемой программой) нет 2 пар с одинаковыми первыми членами. Параметры А. задаются так: возможными исходными данными и возможными результатами служат слова в Б, а промежуточными результатами — слова в Б`EД`EЧ, содержащие не более одной буквы из Ч. Правило начала: исходное слово Р переводится в слово laРl. Правило окончания: заключительным является промежуточный результат, содержащий w. Правило извлечения результата: результатом объявляется цепочка всех тех букв заключительного промежуточного результата, которая идёт вслед за w. и предшествует первой букве, не принадлежащей Б. Правило непосредственной переработки, переводящее А в А', состоит в следующем. Приписываем к А слева и справа букву l; затем в образовавшемся слове часть вида erx, где р^IЧ, заменяем на слово Q по следующему правилу: в программе ищется пара с первым членом рx; пусть второй член этой пары есть hTq; если Т есть – , то Q = qeh, ЕСли Т есть 0, то Q =eqh; если Т есть +, то О = ehq. Возникающее после этой замены слово и есть А'.
См. также ст. Алгоритмов теория и лит. при этой статье.
В. А. Успенский.
Алгоритмизация процессов
Алгоритмиза'ция проце'ссов, алгоритмическое описание процессов, описание процессов на языке математических символов для получения алгоритма , отображающего элементарные акты процесса, их последовательность и взаимосвязь. Алгоритмы, получающиеся путём А. п., предназначаются, как правило, для реализации на ЭВМ.
Построение алгоритмов, описывающих реальные процессы, связывается обычно с двумя задачами: нахождением эффективных систем обработки информации и исследованием математическими методами процессов функционирования больших систем . В задачах 1-го типа для построения алгоритма управления необходимо к алгоритму, описывающему процесс функционирования системы, присоединить алгоритм определения оптимального решения или оптимальных значений параметров управления. В задачах 2-го типа А. п. функционирования большой системы позволяет провести количественное и качественное исследования, связанные с оценкой основных её свойств (эффективности, надёжности и др.).
Для проведения алгоритмизации процесс расчленяется на элементарные акты (подпроцессы), применительно к которым может быть дано математическое описание, исходя из известных математических схем алгебры логики , конечных автоматов (см. Автоматов теория ), случайных процессов , массового обслуживания теории и др. Соотношения, описывающие элементарные акты процесса, объединяются в систему, дополняются описанием взаимосвязей между актами и представляются в виде алгоритма.
Операции и процедуры, являющиеся элементами алгоритмического описания процесса, для программирования и реализации на ЭВМ удобно записывать на языке программирования , с которого при помощи трансляторов-программ алгоритм автоматически переводится на язык команд (операций) конкретной ЭВМ. При этом одной операции алгоритма может соответствовать в общем случае несколько операций ЭВМ.
Лит.: Глушков В. М., Синтез цифровых автоматов, М., 1962; Бусленко Н. П., Математическое моделирование производственных процессов на цифровых вычислительных машинах, М., 1964; Алгоритмизация производственных процессов [Доклады семинара], в. 1, К., 1966.