algorithm - 最小割边最少的算法

标签 algorithm

Let G = (V, E) be a flow network
with source s, sink t, and capacity function c(·). Assume that, for every
edge e ∈ E, c(e) is an integer. Define the size of an s-t cut (A, B) in G
to be the number of edges directed from A to B. Our goal is to identify,
from among all minimum cuts in G, a minimum cut whose size is as small
as possible.
Let us define a new capacity function c'(·) for G as follows. For each
edge e ∈ E, by c'(e) = m·c(e)+1. Suppose (A, B) is a minimum
cut in in G with respect to the capacity function c'(·).
(a) Show that (A, B) is a minimum cut with respect to the original capacity
function c(·).
(b) Show that, amongst all minimum cuts in G, (A, B) is a cut of smallest
size.
(c) Use the results of parts (a) and (b) to obtain a polynomial-time algorithm
to find a minimum cut of smallest size in a flow network.

如何为此编写多项式时间算法?有什么想法吗?

最佳答案

我不会剧透这个答案,但是我会给以后看到这个帖子的同学留下一个提示。考虑一下如果您在 G 中采用两个最小切割 (A,B) 和 (C,D) 会发生什么情况,这样一个中的边数最少而另一个中的边数不是。然后将它们映射到 G' 并考虑这两个切割的值。

关于algorithm - 最小割边最少的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32593911/

相关文章:

algorithm - 搜索子目标

c++ - 三边测量(2D)算法实现

算法问题,求解字典中的变量

python networkx算法获取条件为边权重乘积的路径

c - 如何避免动态图中出现 "heap pointer spaghetti"?

java - 算法复杂度分析混淆

python - 使用python仅计算文本文件中的每个单词一次

c# - Array.Reverse算法?

需要算法帮助! [概率、分布、序列分析。]

c - 将正方形拼成一个长方形