algorithm - 在流网络的所有最小切割中找到最少的边缘

标签 algorithm max-flow minimum-cut

给定一个网络 N,我想找到其中边数最少的最小割。我想:

求最大流量(以Dinitz算法为例)
增加容量函数使得对于每条边e c'(e)=c(e)+1,然后再次使用Dinitz算法计算差值。
该差异将是 mincut 中的最小边数。

但我无法证明这一点。

是不是概念错了?还是我只是在证明它是错误的?

最佳答案

你不能使边的新容量c'(e)=c(e)+1,这是一个错误的证明,因为min cut在这个变换之后可能会改变。可以使新图的容量为c'(e)=c(e)*(|E|+1)+1,其中(|E|+1)要足够大。

关于algorithm - 在流网络的所有最小切割中找到最少的边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408852/

相关文章:

search - 图割和图搜索有什么区别吗?

algorithm - 如何在平面图中找到最大流?

algorithm - 比较 N 维空间中两组点的更快方法?

algorithm - 数独求解器 Scilab

python - 使用 Kabsch 算法在 3d 中进行最佳旋转

algorithm - 网络流 - 模拟水管网络

c++ - 使用 Ford Fulkerson 算法找到边缘?

arrays - 采访任务: check if array consists of pairs in O(n) time and O(1) of additional memory

algorithm - 树的每对顶点之间的最大流量之和