我正在寻找一种快速算法来计算动态图中的最大流量。即给定的曲线图和小号,吨∈ V我们有最大流量˚F在ģ从小号到吨。然后,新的/旧的节点u加上/删除其相应边以形成图形G 1。新创建的图形中的最大流量是多少?有没有办法防止重新计算最大流量?
任何不占用大量时间/内存的预处理都值得赞赏。
最简单的想法是重新计算流量。
另一个简单的想法是,保存所有先前在最大流量计算中使用的扩展路径,添加一个顶点,我们可以找到简单的路径(在上一步的更新的容量图中),该路径从源头开始,一直到v,然后转到到了目的地,但问题是,这条道路应该是简单的,我找不到比Ø (ñ ⋅ 米)的这种情况下,米= | E | 。(还要注意,如果只是一条路径,可以在O (n + m )中完成,但事实并非如此。)
同样对于删除节点以上想法是行不通的。
我也已经看过诸如渐进式边缘法之类的论文,但是在这种情况下它们似乎还不够好,每个边缘的多于O (m ),并且在这种情况下似乎不合适(我们只是重新计算了流量)。另外,目前我正在使用Ford-Fulkerson最大流量算法。如果在线算法有更好的选择,那么很高兴知道这一点。