vf2/README.md

1.4 KiB
Raw Blame History

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. 6981, 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. 13671372, Oct. 2004, doi: https://doi.org/10.1109/tpami.2004.75.