作为无向未加权图的输入给出的两个任意顶点之间的最小割

minimum cut between two arbitrary vertices given as input for an undirected unweighted graph

我有一个无向加权图,我需要找到分隔两组顶点的最小割。我可以修改我的设置,以便将问题减少到找到分隔两个给定顶点的最小切割。我想补充一点,权重是正数和小数。

Stoer–Wagner 算法除了将指定节点保留在切割的不同侧外,什么都做,我很好奇是否有任何修改 SW 的方法来做到这一点。

谢谢。

不确定 Stoer-Wagner,但解决此问题的另一种典型方法是使用 MaxFlow。

你link一组节点到源,另一组到目的地,容量无限。每隔一条边的权重应为 1,然后在结果图中执行 MaxFlow。

完成后标记所有仍可从残差网络中的源访问的节点(在最后一次路径查找中访问的节点 运行)。原始图中标记节点和未标记节点之间的任何边都是最小割的一部分。