FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Implement CFL single-path path-finding and extraction algorithm by b08lsoai · Pull Request #8 · SparseLinearAlgebra/LAGraph · GitHub

Implement CFL single-path path-finding and extraction algorithm - #8

Open
b08lsoai wants to merge 33 commits into
SparseLinearAlgebra:stablefrom
b08lsoai:b08lsoai/single_path
Open

Implement CFL single-path path-finding and extraction algorithm#8
b08lsoai wants to merge 33 commits into
SparseLinearAlgebra:stablefrom
b08lsoai:b08lsoai/single_path

Conversation

b08lsoai commented Jan 26, 2026
edited
Loading

Copy link
Copy Markdown

This PR adds an implementation of Rustam Azimov's algorithms for searching and restoring a single path in a graph with context-free constraints using matrix multiplication. During the path search, auxiliary information is stored, which is later used to restore the path.

Both algorithms are covered by unit tests.
PDF with benchmark results is attached: experimental_results.pdf

add algorithm for single path extracting, finding, add tests and
structures for LAGraphX
after freeing the element type of the output matrix, it becomes an invalid type instead of a user-defined type
add tests for invalid input
previously, it was not possible to free the PathIndex type; now its creation and initialization of matrices in the output data are required outside the function
refactor CFL algorithms by introducing a semiring-parameterized CFPQ_core and task-specific wrapper functions
the path start and end parameters are now optional and passed by pointer
passing NULL extracts paths from all vertices
//====================
// Grammars
//====================

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Кажется, можно создать единую базу графов и грамматик для всех разновидностей КС запросов. Потом использовать её в разных тестах.

gsvgit left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I guess CI should pass successfully.

// If couldn't find rules for outputting an empty or terminal path,
// then the path were looking for doesn't match the rules
LG_FREE_WORK;
ADD_TO_MSG(msg_len, "The extracted path does not match the input grammar.");

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I'm confused with such a message. Does it means that the initial path finding algorithm can built incorrect paths index?

the LAGraph_CFL_single_path requires GraphBLAS version 9.4.5 or higher
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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.

2 participants


Back | FazBrowse Home | New Git URL