如何比较Networkx中的有向图?

时间:2014-06-01 00:43:00

标签: python graph networkx

我有两个定向的Networkx图,节点和边数相等。

enter image description here 如何比较Networkx中这两个不同图形的结构?节点名称并不重要。我尝试使用来自Information about graph structure的Networkx DiGraph.order()DiGraph.degree()等,但我的图表的所有参数都相同。

通常如何比较2个以上图形的结构,只找到具有独特结构的图形。在Networkx中有这个特殊功能吗?

2 个答案:

答案 0 :(得分:0)

测量图相似度最常用的功能是“编辑距离”。

图形编辑距离是使两个图形同构所需的边/节点更改的数量。

Networkx几个(优化的)版本: https://networkx.github.io/documentation/latest/reference/algorithms/similarity.html

答案 1 :(得分:0)

要确定两个图是否同构,可以使用函数GCMIntentService。不幸的是,没有功能可以比较两个以上的图形。但是,您可以比较所有可能的图形组合,并根据同构的组合构建图形is_isomorphic()。要查找所有同构图组,可以将函数iso_graphconnected_components()find_cliques()一起使用:

iso_graph

iso_graph