Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
algoritmy.docx
Скачиваний:
15
Добавлен:
27.09.2019
Размер:
237.74 Кб
Скачать

1. Вычислительные модели. Показатели эффективности алгоритмов, задача анализа алгоритмов. Время выполнения алгоритма для худшего и среднего случая. Вычислительные модели

Алгоритмы не существуют сами по себе, они создаются для конкретного исполнителя, и при разработке алгоритма разработчик ориентируется на его возможности – доступные ресурсы, операции и стоимости их использования. Все эти факторы учитываются в так называемой вычислительной модели [10].

В теоретических исследованиях, когда основной интерес представляет доказательство конечности алгоритма и его правильности, рассматривают вычислительные модели, удобные для анализа (но не для программирования!), с которыми легче работать математикам. Одна из наиболее известных таких моделей - машина Тьюринга.

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

В модели с внешней памятью, кроме быстрой памяти ограниченного объёма, имеется также внешняя память, обращения к которой производятся значительно медленнее, а обмен данными идёт блоками фиксированного размера (страницами).

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

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

Показатели эффективности алгоритма

Под эффективностью алгоритма понимается рациональное использование ресурсов заданной вычислительной модели [10].

Выделим основные показатели эффективности. Практически для любой вычислительной модели важнейшими показателями эффективности работы алгоритма являются время работы и размер используемой памяти.

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

Иногда приходится рассматривать и другие показатели – например, объём сетевого трафика между клиентом и сервером и т.д.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]