Graph 如何将多重图化简为简单有向图

Graph 如何将多重图化简为简单有向图,graph,network-flow,Graph,Network Flow,假设有一个具有多条边的网络,对于任何一对顶点(u,v),该图包含从u到v和从v到u的多条有向边,每条边都有自己的容量和权重 如何将这个多重图简化为一个简单的有向图,在u和v之间只有一条边 注*:不确定此方法是否正确,我将u和v之间的各个边的容量和权重相加,并将它们合并为一条从u到v的超级边,以及一条从v到u的超级边。但我如何进一步将这两条边合并成u和v之间的一条边,它应该指向哪个方向 以下代码应该可以工作: G=nx.图(G)#删除重复的边 G.从(G.selfloop_edges())中删除_

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

如何将这个多重图简化为一个简单的有向图,在u和v之间只有一条边


注*:不确定此方法是否正确,我将u和v之间的各个边的容量和权重相加,并将它们合并为一条从u到v的超级边,以及一条从v到u的超级边。但我如何进一步将这两条边合并成u和v之间的一条边,它应该指向哪个方向

以下代码应该可以工作: G=nx.图(G)#删除重复的边 G.从(G.selfloop_edges())中删除_边#删除自循环 remove=[节点对应节点,度为G.degree().items(),如果度小于1] G.从中移除节点(移除) #最后两个代码行删除阶数为0的节点,而不是
#如果您只想将多重图转换为简单图,则需要以下代码: G=nx.图(G)#删除重复的边 G.从(G.selfloop_edges())中删除_边#删除自循环 remove=[节点对应节点,度为G.degree().items(),如果度小于1] G.从中移除节点(移除) #最后两个代码行删除阶数为0的节点,而不是
#如果您只想将一个多重图转换为一个简单图,则需要执行此操作。

这将取决于您执行此转换的目的。此缩减将用于最小成本流问题。此缩减将取决于您执行此转换的目的。此缩减将用于最小成本流问题