解决多源多宿流网络的最佳方法

时间:2017-04-04 17:02:32

标签: algorithm graph

为简单起见,我们假设存在以下问题:

我们正在为城市中的自动驾驶汽车编写GPS。我们假设运行我们软件的汽车是路上唯一的汽车。

他们将城市布局表示为流网络,但流网络有多个起点/终点,因此有多个源/汇不一定彼此靠近。

这个问题有效吗?

2 个答案:

答案 0 :(得分:2)

解决多个源/多个接收器问题的标准方法是添加合成单个源和合成单个接收器。一旦您使用容量等于源容量的管道将合成源连接到所有真实源,并使用等于接收器容量的管道将合成接收器连接到所有真正的接收器,您可以使用您的首选算法解决单源/单汇流网络问题。

答案 1 :(得分:1)

是的,你可以创建一个所有其他源连接的虚拟源,同样地,一个虚拟接收器可以连接到所有真正的接收器。

但是你从虚拟源到真实源的边缘分配了什么流?从虚拟源到真实源的边缘(让我们称之为A)应该具有等于从A引出的所有边缘的总和的流量。同样,边缘从真实接收器(B)到虚拟接收器的流动应该与进入B的所有边的总和相同。

您可以在这些关于网络流的lecture slides中详细了解它。