algorithm - Max-Flow - 检测是否在某个最小切割中找到给定边

标签 algorithm graph ford-fulkerson minimum-cut

给定网络 G=(V,E) 、最大流 f 和 E 中的边 e ,我需要找到一个有效算法来检测是否存在包含 e 的最小割。 另一个问题是,如果我发现 e 包含在某个最小切割中,是否可以检测它是否是切割中最轻的边缘?

我考虑过运行 Ford-Fulkerson 算法,增加/减少给定边缘的容量,看看会发生什么,但我还没有想出可以帮助我解决问题的方法。

如果有人能指出我的解决方案,我将不胜感激,在此先感谢。

最佳答案

这里是第一个问题的解决方案:假设w(e)e的权重,计算G的min-cut值>,假设是 C。然后我们从 G 中删除 e 以生成 G';我们再次计算G'的最小切割值,假设是C',如果C-C'>=w(e),那么这就得出e,参与了至少一个min-cut(你已经知道了),否则e不属于任何min-cut。

关于algorithm - Max-Flow - 检测是否在某个最小切割中找到给定边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16984852/

相关文章:

algorithm - 确定最后 "record"的最快方法 .. 理想情况下是并行的...(有间隙)

python - 如何使用图像的像素创建图形?

jquery - 如何在 Chart.js 中循环工具提示附加数据

algorithm - 为什么 Ford-Fulkerson 算法需要后边?

c++ - 它给出了段错误。我正在尝试实现福特富克森算法,在这里我正在从文件中读取

algorithm - 寻找网络中最大流的 Ford Fulkerson 算法的运行时间分析

java - 3D 体积的数据结构和算法?

c - 如何在二叉搜索树中找到交换节点?

java - 创建LinkedList的最小数和加法函数

c++ - 关于 C++ Boost 图创建和 vertex_index 属性。