Possible Duplicate:
VF2 Subgraph Isomorphism


我想在Java中实现图形同构算法,但是由于缺乏编程经验(可能还有逻辑),我面临很多问题。经过研究,我发现可以使用三种启发式算法:Ullman,Nauty和VF2。正如一些博士生告诉我的那样,VF2被认为是最快,最简单的实现方法。我阅读了有关VF2的论文,但不幸的是,我不了解它的工作原理(在代码中)以及如何处理可行性规则。
这里的很多人都参考C++代码实现,但是不幸的是,该链接没有打开。
此外,一个用户(Rich Apodaca)建议为化学家研究他的VF2实现(MX),但没有指出哪个文件,只是一个大项目而已...
请帮助我在Java中实现同构算法(由于速度最好使用VF2),并指出Java或C++中的工作代码(不是整个项目,我很难理解其结构)(我不知道,但是至少我可以尝试)。
谢谢。

最佳答案

尝试S-Space项目使用的实现。

它包含VF2的良好实现。

  • https://github.com/fozziethebeat/S-Space

  • VF2算法在这里:
  • https://github.com/fozziethebeat/S-Space/tree/master/src/main/java/edu/ucla/sspace/graph/isomorphism
  • 10-05 22:08