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


Сравнительный анализ алгоритмов поиска максимального потока

Работа №115864

Тип работы

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

Предмет

информатика

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

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


Введение
Исследование предметной области 6
1.1 Граф 6
1.2 Сеть и поток 8
1.3 Остаточный граф 9
1.4 Увеличивающий путь 11
1.5 Разрыв сети 12
1.6 Задача о максимальном потоке 13
1.7 Теорема Форда-Фалкерсона 15
2 Программная реализация алгоритмов 19
2.1 Алгоритм Форда-Фалкерсона 19
2.2 Алгоритм Эдмондса-Карпа 25
2.3 Алгоритм Диница 28
3 Тестирование программы и анализ результатов 31
3.1 Описание программных средств 31
3.2 Сравнительный анализ результатов 32
Заключение 38
Список используемой литературы 39
Приложение А Алгоритм Форда-Фалкерсона 41
Приложение Б Алгоритм Эдмондса-Карпа 42
Приложение В Алгоритм Диница


В повседневной жизни нас окружает множество различных типов сетей, включая электрические, телефонные, кабельные, автомобильные, железнодорожные, производственные и компьютерные. Сеть состоит из узлов и соединяющих их звеньев, по которым движется определенный объект. Процесс происходит в условиях определенных ограничений на каждом участке. Для достижения наиболее эффективного использования подобных сетей, необходимо решить задачу нахождения максимального потока, что позволит с максимально возможной нагрузкой эксплуатировать сеть и следовательно, получать максимально возможный результат.
Задача нахождения максимального потока в транспортной сети не теряет своей актуальности в современном мире. При проектировании сети в реальном пространстве, необходимо проведение анализа свойств будущего объекта.
В качестве объекта исследования выступает задача о поиске максимального потока. Предметом исследования являются алгоритмы для нахождения максимального потока.
Целью данной работы является разработка и программная реализация алгоритмов решения задачи о максимальном потоке на языке Python и дополнительной библиотеки pydot. А также проведение сравнительного анализа на основе полученных результатов.
Для достижения поставленной цели необходимо решить ряд задач:
1. Изучить область объекта исследования;
2. Исследовать основные алгоритмы для решения задачи о максимальном потоке;
3. Реализовать исследованные алгоритмы на языке Python;
4. Провести анализ результатов;
5. Сделать вывод о проведенной работе.


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

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

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


В процессе выполнения задания были исследованы методы поиска максимального потока в транспортных сетях.
После изучения необходимых источников литературы, были реализованы алгоритмы для решения задачи о поиске максимального потока. Во время этого процесса были пополнены знания о возможностях языка программирования Python и его дополнительной библиотеке pydot.
В ходе работы был выполнен ряд поставленных в начале работы задач:
1. Изучена область объекта исследования;
2. Разобрана теорема о максимальном потоке и минимальном разрезе
3. Исследованы алгоритмы поиска максимального потока;
4. Выполнена реализация программы;
5. Проведен сравнительный анализ полученных результатов;
6. Сформирован вывод о проведенной работе.
Для проведения сравнительного анализа полученных результатов, был выполнен поиск максимального потока на основе различных входящих данных графа, представленных в виде матриц смежности.
Рассматриваемые матрицы отличались по количеству ребер и вершин. Это потребовалось для достижения необходимого результата и формирования понимания о недостатках одних и преимуществ других алгоритмов в различных ситуациях. Граф сети был представлен в виде матрицы смежности, в ячейках которой были указаны пропускные способности каждого из ребер.
В исследуемых алгоритмах, для обхода узлов сети были использованы алгоритм поиска в глубину и алгоритм поиска в ширину.
Все поставленные задачи были выполнены. Созданная программа позволяет определить максимальный поток в сети на основе входящих данных.



1. Андерсон Д. Дискретная математика. - М.: Издательство Вильямс, 2019. - С. 960. - ISBN 978-5-907144-07-1.
2. Асанов М.О., Баранский В.А., Расин В. Дискретная математика: Графы, матроиды, алгоритмы. - Спб.: Издательство Лань, 2020. - С. 364. - ISBN 978-5-8114-4998-9.
3. Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы. - М.: Издательство Вильямс,2016. - С. 400. - ISBN 978-5-8459-1610-5.
4. Берцун В.Н. Математическое моделирование на графах. - Томск: Издательство НТЛ, 2006. - С. 88. - ISBN 5-89503-312-1.
5. Букатов А.А., Гуда С.А. Компьютерные сети. - Спб: Издательство Питер, 2019. - С. 496. - ISBN 978-5-4461-1338-5.
6. Дорофеева В.И. Алгоритмы на графах и их приложения. - Орел: ОГУ, 2002. - С. 48
7. Иванов Б.Н. Дискретная математика. Алгоритмы и программы. - М.: Лаборатория базовых знаний, 2003. - С. 289. - ISBN 5-93208-093-0.
8. Кормен Т.Х., Лейзерсон Ч. Алгоритмы: построение и анализ. - М.: Издательство Вильямс, 2011. - С. 1296. - ISBN 978-5-8459-0857-5.
9. Новиков Ф.А. Дискретная математика для программистов. - Спб: Издательство Питер, 2008. - С. 384. - ISBN 978-5-91180-759-7.
10. Овчинникова Е.В., Судоплатов С.В. Элементы дискретной математики. - М.: Издательство Юрайт, 2019. - С. 279. - ISBN 978-5-534-00871-5.
11. Окулов С. Программирование алгоритмов. - М.: Бином.
Лаборатория знаний, 2007. - С. 384. - ISBN 978-5-94774-689-1.
12. Романовский И. Дискретный анализ. - Спб: Издательство БХВ- Петербург, 2016. - С. 352. - ISBN 978-5-7940-0152-5.
13. Свами М. Графы, Сети и алгоритмы. - М.: Издательство Наука, 2012. - С. 450. - ISBN 978-5-458-33391-7.
14. Теория графов [Электронный ресурс]: Онлайн курс. /
Образовательный сайт Coursera. - Режим доступа:
https://www.coursera.org/learn/teoriya-grafov(дата обращения: 2.03.2021)
15. Харари Ф. Теория графов. - М.: Издательство УРСС, 2018. - С. 304. - ISBN 978-5-9710-5127-5.
16. Apostol K. Ford-Fulkerson Algorithm. - International Book Market Service Limited, 2012. - 60 p. - ISBN 978-6-13-628748-5.
17. Cormen T.H. Introduction to algorithms. - MIT Press, 2001. - 1179 p. - ISBN 978-0-26-203293-3.
18. Heineman G.T. Algorithms in a nutshell. - O'Reilly, 2008. - 506 p. - ISBN 978-0-59-651624-6.
19. Introduction to Maxflow [Электронный ресурс]: Онлайн курс. /
Образовательный сайт Coursera. - Режим доступа:
https://www.coursera.org/lecture/algorithms-part2/introduction-to-maxflow-jZVUm(дата обращения: 19.03.2021)
20. Kleinberg J., Tardos E. Algorithm Design. - Pearson Education Inc., 2006. - 984 p. - ISBN 978-0-13-213108-7.
21. Lawler E. Combinatorial optimization: Networks and Matroids. - Dover Publications Inc, 2003. - 374 p. - ISBN 978-0-48-641453-9.


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



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


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