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


Оптимизация алгоритма поиска путей с контекстно-свободными ограничениями, основанного на произведении Кронекера

Работа №128249

Тип работы

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

Предмет

информационные системы

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

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


Введение 4
1. Обзор 6
1.1. Базовые определения 6
1.2. Алгоритм, основанный на произведении Кронекера ... 7
1.3. Алгоритм, основанный на матричном умножении .... 10
1.4. Сравнение алгоритмов, основанных на операциях линейной алгебры 10
1.5. Библиотека SuiteSparse 11
2. Постановка задачи 13
3. Улучшение построения индекса 14
4. Алгоритм восстановления путей 16
5. Алгоритм построения индекса с заданным набором стартовых вершин 18
6. Детали реализаций 21
7. Замеры производительности 23
7.1. Окружение и данные для экспериментов 23
7.2. Эксперименты над улучшением алгоритма построения индекса 24
7.3. Эксперименты над алгоритмом извлечения путей .... 26
7.4. Эксперименты над алгоритмом обнаружения путей с заданным набором стартовых вершин 27
Заключение 29
Список литературы 30


Одной из фундаментальных областей программной инженерии является разработка СУБД. На данный момент создано множество разных моделей построения таковых. Например, одной из них является графовая модель, в которой данные представлены в виде вершин — сущности и дуг — связи между сущностями. Примерами графовых СУБД являются RedisGraph , Neo4j и TigerGraph .
К графовой базе данных необходимо выполнять запросы. В ходе их рассмотрения появляется задача поиска путей в графе с ограничениями, которые выразимы в терминах формальной грамматики. В таком случае каждому пути соответствует слово, полученное конкатенацией меток, находящихся на его дугах в порядке обхода. Именно это слово будет проверяться на принадлежность заданной грамматике.
В этой связи особый интерес представляют контекстно-свободные (КС) грамматики, так как обладают более выразительной способностью в отличии, например, от регулярных. То есть данный тип грамматики позволяет задавать более сложные ограничения на пути. Поэтому запросы с КС-ограничениями используют и в других областях, например, биоинформатика [11] или статический анализ кода [9].
Существует множество алгоритмов, решающих задачу поиска путей основываясь на теории формальных языков, например, алгоритм Элле Хеллингса [8], восходящий алгоритм Фреди Сантоса [10] или алгоритм Петтери Севона [11]. Однако, в статье Йохима Куйперса и др. [13] про-демонстрировано, что существующие алгоритмы могут быть успешно применены лишь при определенных условиях на входные данные, а в общем случае их реализации требуют большой объем вычислительных мощностей в процессе работы, что не оправдывает их применение в промышленных продуктах. В то же время Никита Мишин и др. в статье [7] и Егор Орачев и др. в исследовании [5], взяв собранный набор данных CFPQ_Data4показали, что алгоритмы, основанные на линейной алгебре, а именно алгоритм, основанный на матричном умножении, и алгоритм, основанный на произведении Кронекера, демонстрируют высокую производительность на реальных входных данных.
Однако в исследовании [5] авторы замечают неоптимальность предложенного алгоритма, основанного на произведении Кронекера, что влечет потребность в улучшении текущего результата


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

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

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


В ходе работы были выполнены следующие задачи.
1. Улучшен алгоритм построения индекса с использованием динамического пересчета некоторых шагов алгоритма и реализовано полученное улучшение.
2. Разработан и реализован алгоритм извлечения путей по результату работы алгоритма построения индекса.
3. Разработан и реализован алгоритм построения индекса с фиксированным набором стартовых вершин.
4. Произведено экспериментальное исследование производительности реализаций. Полученное улучшение алгоритма поиска путей демонстрирует уменьшение времени до 38 % по сравнению с версией без улучшения. Разработанный алгоритм с набором стартовых вершин быстрее существующего аналога. Однако алгоритм извлечения путей оказался медленнее до 100 раз того же аналога ввиду более сложно устроенных структур необходимых в процессе его работы.
Также результат был изложен в статье ’’Context-Free Path Querying with All-Path Semantics by Matrix Multiplication”, которая принята на конференцию GRADES-NDA 2021.



[1] Analysis of Recursive State Machines / Rajeev Alur, Michael Benedikt, Kousha Etessami et al. //ACM Trans. Program. Lang. Syst. — 2005.— Vol. 27, no. 4.— P. 786-818.— URL: https://doi.org/10.1145/1075382.1075387.
[2] Arseniy Terekhov Vlada Pogozhelskaya Vadim Abzalov Timur Zinnat- ulin Semyon Grigorev.Multiple-Source Context-Free Path Queryingin Terms of Linear Algebra// Advances in Database Technology - EDBT 2021.-- 2021.--P. 487-492. URL: http://dx.doi.org/10.5441/002/edbt.2021.56.
[3] Azimov Rustam, Grigorev Semyon.Context-Free Path Queryingby Matrix Multiplication// Proceedings of the 1st ACM SIGMOD Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA).— GRADES-NDA ’18.-- New York, NY, USA : Association for Com¬puting Machinery, 2018. -- 10 p. -- URL: https://doi.org/10.1145/3210259.3210264.
[4] Buluq Aydin, Gilbert John R. The Combinatorial BLAS: design, imple-mentation, and applications //The International Journal of High Per-formance Computing Applications. — 2011. — Vol. 25, no. 4. — P. 496¬509.--https://doi.org/10.1177/1094342011403516.
[5] Context-Free Path Querying by Kronecker Product / Egor Orachev, Ilya Epelbaum, Rustam Azimov, Semyon Grigorev // Advances in Databases and Information Systems / Ed. by Jerome Darmont, Boris Novikov, Robert Wrembel. -- Cham : Springer International Publishing, 2020. -- P. 49-59.
[6] Davis Timothy A., Aznaveh Mohsen, Kolodziej Scott. Write Quick,Run Fast: Sparse Deep Neural Network in 20 Minutes of DevelopmentTime via SuiteSparse:GraphBLAS // 2019 IEEE High Performance Extreme Computing Conference (HPEC). -- 2019. -- P. 1-6.
[7] Evaluation of the Context-Free Path Querying Algorithm Based onMatrix Multiplication/ Nikita Mishin, Iaroslav Sokolov, Egor Spirin et al. // Proceedings of the 2Nd Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Net¬work Data Analytics (NDA). - GRADES-NDA’19. - New York, NY, USA : ACM, 2019. — P. 12:1-12:5. — URL: http://doi.acm.org/10.1145/3327964.3328503.
[8] Hellings J. Path Results for Context-free Grammar Queries on Graphs // ArXiv. — 2015. — Vol. abs/1502.02242.
[9] Reps Thomas. Program Analysis via Graph Reachability // Proceed¬ings of the 1997 International Symposium on Logic Programming.— ILPS ’97.- Cambridge, MA, USA : MIT Press, 1997.- P. 5-19. — URL: http://dl.acm.org/citation.cfm?id=271338.271343.
[10] Santos Fred, Costa Umberto, Musicante Martin.A Bottom-Up Algorithm for Answering Context-Free Path Queries in Graph Databases. — 2018. —01. —P. 225-233. — ISBN:978-3-319-91661-3.
[11] Sevon Petteri, Eronen Lauri. Subgraph queries by context-free gram¬mars // Journal of Integrative Bioinformatics : JIB. — 2008. — Vol. 5, no. 100, 16 s.
[12] Yang Carl, Buluc Aydin, Owens John D. GraphBLAST: A High- Performance Linear Algebra-based Graph Framework on the GPU. — 2020. — 1908.01407.
[13] An experimental study of context-free path query evaluation meth¬ods / Jochem Kuijpers, George Fletcher, Nikolay Yakovets, Tobias Lin- daaker // Proceedings of the 31st International Conference on Scien¬tific and Statistical Database Management, SSDBM 2019 / Ed. by Tanu Malik, Carlos Maltzahn, Ivo Jimenez. — United States : Associ¬ation for Computing Machinery, Inc, 2019. —7. — P. 121-132.


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




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