Тип работы:
Предмет:
Язык работы:


Оценка трудоемкости алгоритма на основе эмпирического анализа

Работа №125595

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы45
Год сдачи2020
Стоимость4600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
17
Не подходит работа?

Узнай цену на написание


Введение 4
Постановка задачи 5
Обзор литературы 6
Глава 1. Обзор существующих решений 9
Глава 2. Исследование трудоемкости 10
2.1. Общие положения исследования 10
2.2. Построение гистограммы частот 11
2.2.1 Формула Стерджесса 12
2.2.2 Эмпирический метод 13
2.2.3 Принцип наихудших измерений 13
2.3. Определение объема выборки 13
2.3.1 Метод с использованием схемы Бернулли 14
2.3.2 Метод на основе закона распределения 14
2.4. Используемые законы распределения 15
2.4.1 Равномерное распределение 16
2.4.2 Треугольное распределение (распределение Симпсона) 17
2.4.3 Бета-распределение 17
2.5. Восстановление параметров функции плотности 18
2.6. Рассмотрение гипотезы о законе распределения 19
2.6.1 Критерий согласия Пирсона (у2) 19
2.6.2 Критерий согласия Колмогорова 20
2.7. Прогнозирование функции трудоемкости 21
2.7.1 Коэффициент детерминации (Я2) 22
Глава 3. Проведение экспериментального исследования тру­доемкости 23
3.1. Описание выбранного алгоритма 23
3.2. Этап предварительного исследования 24
3.2.1 Основные шаги 24
3.2.2 Результаты предварительного исследования 27
3.3. Этап основного исследования 30
3.3.1 Основные шаги 30
3.3.2 Результаты основного исследования 32
Глава 4. Создание инструментария 36
4.1. Постановка задачи 36
4.2. Архитектура системы 36
4.3. Описание реализации 37
Выводы 40
Заключение 41
Список литературы 42

Оценка эффективности алгоритмов является важным этапом в со­здании качественных программных средств, причем один из критериев качества — временная эффективность, особенно актуальная для систем, работающих в режиме реального времени. Очевидно, что временная эф­фективность компьютерной программы связана с функцией трудоемкости алгоритма, т. е. с точным количеством операций, задаваемых алгоритмом в основе программной реализации. Однако, асимптотические оценки вы­числительной сложности, получаемые в теоретическом исследовании алго­ритмов, не всегда справедливы для конечного диапазона длин входов, что объясняется большими значениями коэффициентов у компонентов функ­ции трудоемкости. В работе предлагается практический подход на основе эмпирического анализа времени выполнения программной реализации, для чего создана автоматизированная система с критерием оценки по величине доверительной трудоемкости в выбранном диапазоне входных данных.
Вычисление доверительной трудоемкости основано на построении до­верительных интервалов оцениваемой величины трудоемкости с заданной доверительной вероятностью в классическом подходе математической ста­тистики [1]. Данный метод требует использования репрезентативных вы­борок достаточно большого объема и многократного запуска программ­ных реализаций исследуемых алгоритмов в соответствующем многоэтап­ном процессе; поэтому, несомненно, актуальной является разработка си­стемы для автоматизированного проведения анализа, значительно сокра­щающего время оценки качества алгоритмов.
В данной работе рассматривается построение такой системы и иссле­дование применимости предложенного подхода на основе доверительной трудоемкости для большего количества алгоритмов.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Исследованы различные дополнительные методы для применения ме­тодологии [1] на более широкий класс алгоритмов.
Разработана автоматизированная система для оценки качества алго­ритмов по доверительной трудоемкости, вычисленной в процессе эмпири­ческого анализа программной реализации. Преимущество системы состоит в получении гарантирующей оценки на основе статистических заключений с заданным уровнем значимости. Исходный код и документация системы находятся в публичном репозитории в GitHub [39].


[1] Петрушин В. Н., Ульянов М. В., Кривенцов А. С. Доверительная тру­доемкость — новая оценка качества алгоритмов // Информационные технологии и вычислительные системы. 2009. № 2. С. 23-37.
[2] Трахтенброт Б. А. Сложность алгоритмов и вычислений. Новосибирск: Изд-во Новосибирского ун-та, 1967.
[3] Офман Ю. П. Об алгоритмической сложности дискретных функций // ДАН СССР. 1962. Т. 45, вып. 1. С. 48-51.
[4] Цейтин Г. С. Оценка числа шагов при применении нормального алго­ритма // Математика в СССР за 40 лет. Т. 1. М., 1959. С. 44-45.
[5] Трахтенброт Б. А. Сигнализирующие функции и табличные операторы // Записки Пензенского ГПИ. 1956. Вып. 4. С. 75-87.
[6] Алферова З. В. Теория алгоритмов. М.: Статистика, 1973.
[7] Гашков С. Б., Чубариков В. Н. Арифметика. Алгоритмы. Сложность вычислений: Учеб. пособие для вузов / Под ред. В. А. Садовничего. 2­е изд., перераб. М.: Высш. шк., 2000.
[8] Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms. Chapter 1: Foundations (Second ed.) // Cambridge, MA: MIT Press and McGraw-Hill. 2001. P. 3-122.
[9] Knuth D. The Art of Computer Programming / Addison-Wesley, 1968.
[10] Wegener I. Complexity theory: exploring the limits of efficient algorithms // Berlin, New York: Springer-Verlag. P. 20.
[11] Juraj H. Theoretical computer science: introduction to Automata, computability, complexity, algorithmics, randomization, communication, and cryptography // Springer. 2004. P. 177-178.
[12] Berube P., Amaral J. N. Combined profiling: A methodology to capture varied program behavior across multiple inputs // ISPASS 2012 — IEEE International Symposium on Performance Analysis of Systems and Software. 2012. No 6189227. P. 210-220.
[13] Hutter F., Xu L. Hoos H., Leyton-Brown K. Algorithm runtime prediction: Methods & evaluation // Artificial Intelligence. 2014. Vol. 206. No 1. P. 79-111.
[14] Oprea M. A general framework and guidelines for benchmarking computational intelligence algorithms applied to forecasting problems derived from an application domain-oriented survey // Applied Soft Computing. 2020. Vol. 89. No 4. P. 106-103.
[15] Петрушин В. Н., Ульянов М. В. Планирование экспериментального ис­следования трудоемкости алгоритмов на основе бета-распределения // Информационные технологии и вычислительные системы. 2008. № 2. С. 81-91.
...


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ