如何使用图形工具计算图形的周长?
How can I calculate the girth of a graph using graph-tool?
Graph-tool 提供了许多用于评估图形的工具:https://graph-tool.skewed.de/static/doc/topology.html。但是,我找不到任何计算周长的方法,即图中最短的周期。
你知道是否存在合适的方法或者我是否可以使用现有的方法来进行有效的计算?
我认为这可以使用 all_paths
函数轻松计算。
g = gt.collection.data["karate"]
min_cycle_lengths = []
for v in g.vertices():
cycles_v = list(gt.all_paths(g, source = v, target = v))
min_cycle_lengths.append(min([len(x)-1 for x in cycles_v if len(x) > 3]))
girth = min(min_cycle_lengths)
Graph-tool 提供了许多用于评估图形的工具:https://graph-tool.skewed.de/static/doc/topology.html。但是,我找不到任何计算周长的方法,即图中最短的周期。
你知道是否存在合适的方法或者我是否可以使用现有的方法来进行有效的计算?
我认为这可以使用 all_paths
函数轻松计算。
g = gt.collection.data["karate"]
min_cycle_lengths = []
for v in g.vertices():
cycles_v = list(gt.all_paths(g, source = v, target = v))
min_cycle_lengths.append(min([len(x)-1 for x in cycles_v if len(x) > 3]))
girth = min(min_cycle_lengths)