Остання редакція: 2025-03-21
Анотація
Розроблено оптимізований паралельний алгоритм пошуку в глибину Depth-First Search для графів. Проведено детальний аналіз існуючих методів пошуку в глибину, обґрунтовано вибір засобів для реалізації паралельного виконання та моделювання часових затримок між вузлами графу. Визначено переваги та недоліки класичних підходів та запропоновано методи їхньої оптимізації. Запропоновано використання бібліотеки ThreadPoolExecutor у Python для реалізації багатопотокового обчислення. Особлива увага приділена ефективності використання потоків, балансуванню навантаження та мінімізації синхронізаційних витрат. Створено програмну реалізацію паралельного Depth-First Search, що дозволяє значно скоротити час виконання алгоритму, особливо на великих графах. Проведене тестування підтвердило зменшення часу виконання на 1.5-2 рази в порівнянні з послідовною версією, що підтверджує ефективність багатопотокового підходу. Отримані результати можуть бути використані в задачах реального часу, аналізі соціальних мереж, оптимізації маршрутів, а також у розподілених системах обчислень.
Ключові слова
Посилання
1.Сухий О. Л. Алгоритми пошуку в інформаційних системах: методичні рекомендації / О.Л.Сухий, В.М.Міленін, В.М.Тарадайнік. К., 2015. 71c.
2.Томас Г. Кормен, Чарлз Е. Лейзерсон, Роналд Л. Рівест, Кліфорд Стайн, Вступ до алгоритмів. К. : К. I. С., 2019. 1288 с.
3.Sedgewick, R., & Wayne, K. Algorithms. 4th Edition. Addison-Wesley, 2011. 955c.
4.Креневич А.П. Алгоритми і структури даних. Підручник. К.: ВПЦ "Київський Університет", 2021. 200 с.
5.А. В. Яковенко. Основи програмування. Python. Частина 1: підручник для студ. спеціальності 122 «Комп’ютерні науки», спеціалізації «Інформаційні технології в біології та медицині»; Київ : КПІ ім. Ігоря Сікорського, 2018. 195 с.
6.Довідник з мови Python. [URL]: https://docs.python.org/uk/3/reference/index.html
7.Depth First Search. [URL]: https://www.hackerearth.com/practice/algorithms/graphs/depth-first search/tutorial/