用于比较2个图的Java图库

时间:2010-04-08 13:17:03

标签: java comparison graph

通过搜索最大公共子图同构来获取有关其相似性的信息,有没有人知道用于图形比较的优秀Java库?我不想根据节点标签比较图表。或者有没有其他方法如何拓扑比较图形与良好的Java库?现在我正在使用库SimPack它很有用,但我还需要更多东西。任何建议都会非常有用。

2 个答案:

答案 0 :(得分:3)

经过一番浏览后,我发现C ++代码实现了几种匹配算法(Shmidt-Druffel,Ullman,VF,VF2),无需边缘或节点标记。 SimPack使用Valiente算法,这似乎是(我没有找到很好的描述)属性图特定。如果你用Java重写它,或编写一个JNI库来与它接口,请公开。

请参阅http://amalfi.dis.unina.it/graph/db/vflib-2.0

上述代码的作者在一篇论文中可以找到对最新技术水平的好评:“Thirty years of graph matching in pattern recognition

答案 1 :(得分:1)

您可以从此帖子中获得一些答案Good Java graph algorithm library?

一些Java图库是: 图表可视化库JGraph

Java图算法库JGraphT

如果两者都不起作用,你可能想要使用下面的结构排列图形并在其上运行算法。

public class Node<T>
{
    public T NodeData;
    public List<Edge> edges;
}
public class Edge
{
    public Node<S> Source;
    public Node<D> Destination;
    public int weight;
}