如何将多图减少为简单有向图

时间:2016-11-21 04:45:46

标签: graph network-flow

假设有一个具有多个边的网络,对于任何一对顶点(u,v),该图包含从u到v和从v到u的几个有向边,每个边都有自己的容量和权重。

如何将此多图减少为一个简单的有向图,在u和v之间只有一条边?

注意*:不确定这种方法是否正确,我总结了u和v之间各个边缘的容量和权重,并将它们合并为一个从u到v的超边,一个从v到u。但是,我如何进一步将这两者合并到u和v之间的一个边缘以及它指向哪个方向?

1 个答案:

答案 0 :(得分:0)

以下代码应该有效:     G = nx.Graph(G)#delete重复边缘     G.remove_edges_from(G.selfloop_edges())#delete自循环     remove = [节点的节点,G.degree的度数()。items()if degree< 1]     G.remove_nodes_from(删除)     #these最后两行代码行删除了0级的节点,而不是     #requied如果你想要的只是将多图转换成一个简单的图