寻找平衡节点值的边缘权重

时间:2019-09-05 04:41:04

标签: algorithm graph-algorithm

我正在处理一个图,其中节点具有可能为正或为负的关联值。我需要为该图的边缘分配权重,以使我的网络处于“平衡”状态。例如,如果我有一个带有两个节点的图,其值分别为+10和-10,而我的邻接矩阵为:

0   1
1   0

我需要弄清楚如何为这些边分配权重:

0   10
0   0

以便最终传输将“中和”我节点上的值。

一个更复杂的示例是如下图:

-10 -- 0 -- +20
       |
       0
       |
      -10

将在如下所示的邻接矩阵中描述:

0   10  0   0   0
0   0   20  0   0
0   0   0   0   0
0   10  0   0   0
0   0   0   10  0

有没有众所周知的解决方案?

1 个答案:

答案 0 :(得分:0)

我能够通过使用最大流量计算来解决此问题,方法是将所有带负电荷的链接连接到“接收器”,并使其最大容量对应于其电荷,并通过链接将所有带正电荷的节点连接到源具有与节点费用相对应的最大容量。在计算源与汇之间的最大流量的过程中,邻接矩阵记录沿链路的流量。

我专门使用了Edmonds Karp算法。