Что такое алгоритм?
Алгоритм-это организованная последовательность действий, допустимых для некоторого исполнителя.
Исполнитель - это субъект или объект, выполняющий действия согласно предписанной ему инструкции. Исполнитель может быть формальным или эвристическим.
Формальный исполнитель выполняет инструкцию, не вникая в ее смысл и не принимая во внимание цель, с которой она составлена. Эвристический исполнитель согласовывается, свои действия с целевыми установками и принимает решение о том, как выполнить то или иное действие, образуясь со смыслом инструкции.
Каждый исполнитель полностью характеризуется своим набором допустимых действий и средой, в которой он существует.
Запись алгоритма состоит из команд, каждая из которых указывает исполнителю, какое допустимое действие должен совершить исполнитель, получив эту команду. Набор всех команд, понимаемых исполнителем, называется системой команд исполнителя (сокращенно СКИ). В записи алгоритма могут присутствовать комментарии, поясняющие человеку, читающему данный алгоритм, для чего предназначено действие в алгоритме. Комментарии в записи алгоритма условимся выделять круглыми скобками со звездочками, например: (*комментарий*).
Среда исполнителя - это совокупность объектов и связей между ними, над которыми данный исполнитель может совершать допустимые для него действия.
Совокупность тех результатов, которые можно получить с помощью данного исполнителя, называется его достижимыми целями.
Если все действия, которые исполнитель выполняет при решении задачи, записать в порядке их исполнения, то получится алгоритм, который называют линейным. Так что можно сказать, что линейный алгоритм – это алгоритм, в котором каждое действие обязательно исполняется, и притом один раз.
Алгоритм, записанный на формальном языке, понятном исполнителю, называется программой.
Формы представления алгоритмов
1. Словесное или словесно-формульное
2. Графическое представление
3. Программа
4. Табличное представление
5. Рисунки, пиктограммы
6. Графы, схемы
7. Блок-схемы
Различные определения алгоритма в явной или неявной форме содержат следующий ряд общих требований:
Детерминированность — определённость. В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа.
Понятность — алгоритм для исполнителя должен включать только те команды, которые ему (исполнителю) доступны, которые входят в его систему команд.
Завершаемость (конечность) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.
Массовость — алгоритм должен быть применим к разным наборам исходных данных.
Важную роль играют рекурсивные алгоритмы (алгоритмы, вызывающие сами себя до тех пор, пока не будет достигнуто некоторое условие возвращения). В последнее время активно разрабатываются параллельные алгоритмы, предназначенные для вычислительных машин, способных выполнять несколько операций одновременно.
Сайт управляется системой uCoz
|