Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add regular path query algorithm #261

Open
wants to merge 1 commit into
base: stable
Choose a base branch
from

Conversation

georgiy-belyanin
Copy link

This commit adds an implementation of the regular path query algorithm based on linear-algebra graph processing approach. The algorithm finds a set of nodes in a edge-labelled directed graph. These nodes are reachable by paths starting from one of source nodes and having edges labels conform a word from the specified regular language.

This algorithm is based on the bread-first-search algorithm over the adjacency matrices. Regular languages are defined by non-deterministic finite automaton. The algorithm considers the paths on which "label words" are accepted by the specified NFA.

The algorithm is used with the following inputs:

  • A regular automaton adjacency matrix decomposition.
  • A graph adjacency matrix decomposition.
  • An array of the starting node indices.

It results with a vector, having v[i] = 1 iff the node is reachable by a path satisfying the provided regular constraints.

Full description of the algorithm is available at:
https://arxiv.org/abs/2412.10287

This commit adds an implementation of the regular path query algorithm
based on linear-algebra graph processing approach. The algorithm finds a
set of nodes in a edge-labelled directed graph. These nodes are
reachable by paths starting from one of source nodes and having edges
labels conform a word from the specified regular language.

This algorithm is based on the bread-first-search algorithm over the
adjacency matrices. Regular languages are defined by non-deterministic
finite automaton. The algorithm considers the paths on which
"label words" are accepted by the specified NFA.

The algorithm is used with the following inputs:
* A regular automaton adjacency matrix decomposition.
* A graph adjacency matrix decomposition.
* An array of the starting node indices.

It results with a vector, having v[i] = 1 iff the node is reachable by a
path satisfying the provided regular constraints.

Full description of the algorithm is available at:
  https://arxiv.org/abs/2412.10287
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant