- Свойства алгоритма
-
Свойства алгоритма
Свойства алгоритмов
К алгоритму предъявляется ряд требований:
Определенность, т.е. он должен быть точен, общепонятен, исключать возможность произвольного толкования.
Массовость, т.е. чтобы его можно было применить к однотипным задачам.
Результативность, т.е. через определенное число шагов алгоритм должен закончиться.
Дискретность, т.е. возможность деления задачи на шаги, элементарные операции.
Понятность, т.е. ориентация на те команды, которые знает исполнитель.
Эффективность.
Правильность.
Дискретность – одно из первоначальных требований. Процесс должен быть разделен на отдельные элементарные действия, возможность выполнения которых не вызывает сомнения. В результате получается совокупность предписаний, обозначающих структуру алгоритма. Это свойство особенно наглядно прослеживается на примерах бытовых алгоритмов (например, в кулинарных, при приготовлении блюда). Оно характерно для последовательных алгоритмов и не является обязательным для алгоритмов с параллельным исполнением.
Понятность отмечает еще одну особенность алгоритма. Предполагается, что исполнитель всегда знает, как сделать действие. Исполнитель – это автомат, человек, механизм и т.п., который умеет выполнять некоторый набор действий. Т.е. у каждого исполнителя есть перечень команд, и составляя алгоритм, надо иметь в виду исполнителя.
Следующее свойство – детерминированность, или определенность – тесно связано с предыдущим. Алгоритм должен быть сформирован так, чтобы действия были точно определены, однозначны и давали один и тот же результат от одних и тех же данных. Кроме того, исполнителю должно быть ясно, какие действия.
Массовость, или общность, означает, что алгоритм может быть применен не только к единственным исходным данным или набору данных, но и к целому классу похожих задач.
Результативность, или выполнимость, означает, что при любых допустимых исходных данных и точном выполнении всех предписаний Вы закончите проект за конечное число шагов. Но это требование может не учитывать реальных условий, поэтому говорят о “потенциальной” выполнимости.
Под правильностью понимают способность алгоритма обеспечить получение именно того результата, который требуется. Неправильность может объясняться неполнотой наших представлений о свойствах объекта или упущением в решении. Доказательство правильности алгоритма – один из самых трудных этапов тестирования. Задача часто делится на блоки и правильность доказывается для каждого блока, хотя такая проверка не является полной.
Эффективность подразумевает тот факт, что для решения задачи могут быть предложены разные алгоритмы. Выбор того, который будет выполнен за минимальное время, с минимальными затратами ресурсов, – задача непростая. Хотя чаще под эффективностью понимают длительность счета. Для отслеживания таких затрат достаточно предусмотреть в алгоритме счетчики времени.
Формы представления алгоритма
Алгоритм фиксируется разными способами:
На естественном языке
С помощью специальных схем, графически.
На алгоритмическом языке.
ГОСТ на описание блок-схем алгоритма - (http://poruchik2.narod.ru/algor.html)
Wikimedia Foundation. 2010.