InfOmics / RI

RI is a general purpose algorithm for one-to-one exact subgraph isomorphism problem maintaining topological constraints.
Other
18 stars 10 forks source link

RI library questions #4

Closed samsonsite1 closed 1 year ago

samsonsite1 commented 1 year ago

How does RI library compare to other subgraph isomorphism matching algorithms, such as VF2/VF3 (here on Github), in terms of speed and memory usage?

If I wanted to construct a graph by adding nodes and edges in code, rather than loading from file, do you provide a way to make this process easy? Something that lets you add nodes and edges to a graph, and hides away the code that handles it.

Thanks.

vbonnici commented 1 year ago

dear samsonite1, papers reporting comparisons with state of the art algorithms are https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-14-S7-S13 https://ieeexplore.ieee.org/abstract/document/7374671 https://link.springer.com/chapter/10.1007/978-3-030-34585-3_3 https://link.springer.com/article/10.1007/s12539-019-00323-0

a dataset for the comparison can be found here https://github.com/InfOmics/RI-Datasets

Regarding the other question, you may want to have a look at the graph format readers which are implemented in RI in this file https://github.com/InfOmics/RI/blob/master/include/c_textdb_driver.h and that are used to fill a Graph object. Do not forget to create your own attribute comparator, which some examples are defined in the file https://github.com/InfOmics/RI/blob/master/rilib/AttributeComparator.h

See the main file ri3.cpp to understand how to put everything together.

samsonsite1 commented 1 year ago

Thanks!