|
||
---|---|---|
src | ||
tests | ||
.gitignore | ||
Cargo.toml | ||
README.md |
README.md
gb_vf2pp
— VF2++ in Rust
This crate implements the VF2++ subgraph isomorphism algorithm [1]. It can find graph isomorphisms, subgraph isomorphisms, and induced subgraph isomorphisms.
Features
This is a work in progress. Some features are not yet implemented.
- Enumerate graph isomorphisms
- Enumerate subgraph isomorphisms
- Enumerate induced subgraph isomorphisms
- Find minimum cost isomorphism
- Support directed graphs
- Support undirected graphs
- Support disconnected graphs
- Support node labels
- Support edge labels
- Graph trait
- Performance benchmarks
- Test databases
- Examples
Remaining work
- Implement VF2 cutting rules
- Implement all of VF2++ (only VF2 implemented so far)
References
[1] A. Jüttner and P. Madarasi, “VF2++—An improved subgraph isomorphism algorithm,” Discrete Applied Mathematics, vol. 242, pp. 69–81, Jun. 2018, doi: https://doi.org/10.1016/j.dam.2018.02.018.
[2] L. P. Cordella, P. Foggia, C. Sansone, and M. Vento, “A (sub)graph isomorphism algorithm for matching large graphs,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, no. 10, pp. 1367–1372, Oct. 2004, doi: https://doi.org/10.1109/tpami.2004.75.