RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2019, том 31, выпуск 4, страницы 211–226 (Mi tisp449)

Задача поиска путей в ациклических графах с ограничениями в терминах булевых грамматик

Е. Н. Шеметоваa, С. В. Григорьевb

a Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики
b Санкт-Петербургский государственный университет

Аннотация: Графовая модель данных активно используется в научных и прикладных областях, например, в графовых базах данных, биоинформатике, при анализе социальных сетей и в статическом анализе кода. Одной из основных задач, связанных с графовыми моделями, является поиск специфичных путей в графе. Естественным способом задать ограничения на пути являются формальные грамматики над метками рёбер графа, при этом запрос к графу может быть представлен в виде множества всех троек $(A,v_1,v_2)$, для которых существует путь в графе от вершины $v_1$ до вершины $v_2$ такой, что метки на ребрах этого пути образуют строку, выводимую из нетерминала $A$ в данной грамматике. Использование булевых грамматик позволяет формулировать более выразительные запросы по сравнению с традиционно используемыми регулярными и контекстно-свободными грамматиками. Известно, что задача выполнения запросов к графу с использованием булевых грамматик является неразрешимой. В данной работе предложен приближённый алгоритм поиска путей в ориентированных графах без циклов с ограничениями, заданными с помощью булевых грамматик. Благодаря ограничению на тип анализируемых графов, предложенный алгоритм является более асимптотически оптимальным, чем наивный итерационный алгоритм.

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

DOI: 10.15514/ISPRAS-2019-31(4)-14



© МИАН, 2024