
- •Содержание
- •1 Цель работы
- •2 Теоретический раздел
- •2.1 Основные определения асимптотического анализа алгоритмов
- •1) Оценка (тетта)
- •2) Оценка о (о большое)
- •2.2 Система обозначений в интервальном анализе функций
- •2.3 Метод интервального анализа
- •2.4 Мера
- •3 Ход работы
- •4 Варианты заданий
- •5 Пример программы интервального анализа
- •6 Содержание отчёта
- •7 Контрольные вопросы
- •8 Библиографический список
- •Севастополь
М
инистерство
образования и науки России
Севастопольский национальный технический
университет
«МАТЕМАТИЧЕСКИЙ АНАЛИЗ АЛГОРИТМОВ»
методические указания
к лабораторным работам по дисциплине
«Теория алгоритмов»
для студентов дневного и заочного отделения по направлению 09.03.02
«Информационные системы и технологи»
Севастополь
2014
УДК 519.2
МАТЕМАТИЧЕСКИЙ АНАЛИЗ АЛГОРИТМОВ: метод. указания к лабораторным занятиям по дисциплине «Теория алгоритмов» для студентов дневного и заочного отделения по направлению 09.03.02 «Информационные системы и технологии» /
Методические указания составлены в соответствии с требованиями программы дисциплины «Теория алгоритмов» для студентов направления 09.03.02 и утверждены на заседании кафедры Информационных систем, протокол № ___ от ____________ 2014 года.
Допущено учебно-методическим центром СевНТУ в качестве методических указаний.
Рецензент:
Содержание
|
|
Стр. |
1 |
ЦЕЛЬ РАБОТЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
2 |
ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ . . . . . . . . . . . . . . . . . . . . . |
4 |
2.1 |
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ . . . . . . . . . . . . . . . . . . . . |
4 |
2.2 |
СИСТЕМА ОБОЗНАЧЕНИЙ. . . . . . . . . . . . . . . . . . . . . . |
6 |
2.3 |
МЕТОД ИНТЕРВАЛЬНОГО АНАЛИЗА. . . . . . . . . . . . |
7 |
2.4 |
МЕРА
|
7 |
3 |
ХОД РАБОТЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
8 |
4 |
ВАРИАНТЫ ЗАДАНИЙ . . . . . . . . . . . . . . . . . . . . . . . . . |
9 |
5 |
ПРИМЕР ПРОГРАММЫ. . . . . . . . . . . . . . . . . . . . . . . . |
11 |
6 |
СОДЕРЖАНИЕ ОТЧЁТА . . . . . . . . . . . . . . . . . . . . . . . . |
12 |
7 |
КОНТРОЛЬНЫЕ ВОПРОСЫ. . . . . . . . . . . . . . . . . . . . . |
12 |
8 |
БИБЛИОГРАФИЧЕСКИЙ СПИСОК. . . . . . . . . . . . . . . |
12 |
1 Цель работы
Изучить поведение функций трудоемкости количественно-зависимых алгоритмов в реальных интервалах значений мощности множества исходных данных. На основании этого сделать предпочтительный выбор того или иного алгоритма. Для сравнения функций трудоемкости использовать аппарат интервального анализа, реализованный в виде программы на языке Pascal.
2 Теоретический раздел
2.1 Основные определения асимптотического анализа алгоритмов
При использовании алгоритмов для решения практических задач мы сталкиваемся с проблемой рационального выбора алгоритма решения задачи. Решение проблемы выбора связано с построением системы сравнительных оценок, которая в свою очередь существенно опирается на формальную модель алгоритма.
Под трудоёмкостью алгоритма для данного конкретного входа – Fa(N), будем понимать количество «элементарных» операций, совершаемых алгоритмом для решения конкретной проблемы в данной формальной системе. При анализе поведения функции трудоемкости алгоритма часто используют принятые в математике асимптотические обозначения, позволяющие показать скорость роста функции, маскируя при этом конкретные коэффициенты.
Такая оценка функции трудоемкости алгоритма называется сложностью алгоритма и позволяет определить предпочтения в использовании того или иного алгоритма для больших значений размерности исходных данных.
В асимптотическом анализе приняты следующие обозначения:
1) Оценка (тетта)
Пусть f(n) и g(n) – положительные функции положительного аргумента, n ≥ 1 (количество объектов на входе и количество операций – положительные числа), тогда:f(n) = (g(n)), если существуют положительные с1, с2, n0, такие, что: с1 * g(n) f(n) c2 * g(n), при n > n0
|
Рисунок 2.1 – Оценка |
Обычно говорят, что при этом функция g(n) является асимптотически точной оценкой функции f(n), т.к. по определению функция f(n) не отличается от функции g(n) с точностью до постоянного множителя.
Отметим, что из f(n) = (g(n)) следует, что g(n) = (f(n)).
Примеры:
1) f(n)=4n2+nlnN+174 – f(n)= (n2);
2) f(n)=(1) – запись означает, что f(n) или равна константе, не равной нулю, или f(n) ограничена константой на : f(n) = 7+1/n = (1).