Graphviz 文件和图同态

标签 graph graphviz

问题如下:给定 .dot 文件中表示的两个二分有向图,是否有工具可以检查这两个图是否同构?

最佳答案

Graphviz 是一个布局应用程序;不过,至少在Python中,有一个与Graphviz紧密集成的图分析库,叫做“Networkx” '。

一般来说,是否应该使用Networkx或其他图形分析库可能只是个人选择的问题;然而,在这种情况下,Networkx 比其他图形分析库有一个显着的优势,那就是它可以直接读取点文件(不完全是 native 支持,但它将它们转换为其 native 图形对象)。

Networkx 的安装非常简单(主要操作系统的二进制文件),如果您安装了“Easy Install”,则安装会更容易。 '与Python:

easy_install networkx

import networkx as NX

# convert dot files to the graph analysis package's native graph object:
G1 = NX.read_dot("/maindir/mydir/my_bipartite_graph1.dot")
G2 = NX.read_dot("/maindir/mydir/my_bipartite_graph1.dot")

# returns 'True'/'False'
NX.DiGraphMatcher.is_isomorphic(G1 G2)

关于Graphviz 文件和图同态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2653014/

相关文章:

python - 如何从 Python 代码中获取类和定义图?

c++ - 错误: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'List' )

android - Android 图表

algorithm - 最大二分图 (1,n) "matching"

c - 如何使用 Graphviz 和 libcgraph 获取节点名称?

layout - Graphviz:从左到右排列簇,内容从上到下

algorithm - 如何找到一小组顶点,使得图中从起始节点到结束节点的所有路径都至少包含这些顶点中的一个

algorithm - 在无向连通图中,如何找到一组顶点,删除哪个图变得断开连接?

GraphViz 忽略我的节点位置

graphviz - twopi 中的控制间距(Graphviz)