Algorithm 图论-全局最小割及其意义

Algorithm 图论-全局最小割及其意义,algorithm,graph,max-flow,Algorithm,Graph,Max Flow,给定一个加权有向图,我们想找到全局最小割,也就是说,一组边,如果去掉它,将图分成两半,并且与任何其他此类割相比,它的总权重最小 现在,尽管下面的方法似乎有效,但我被告知这个推理是错误的。但坦率地说,我不知道他有多确定,也不确定他有多确定: 考虑由全局最小割(即s-t割,其中U中的s,V中的t)分隔的节点集U,V)。注意:我们不关心从V到U的边缘 对于u中的任何u,v中的vm,u-v-cut不能小于s-t-cut,否则,s-t-cut不会(全局)最小。出于同样的原因,u中的两个顶点或V中的两个顶点

给定一个加权有向图,我们想找到全局最小割,也就是说,一组边,如果去掉它,将图分成两半,并且与任何其他此类割相比,它的总权重最小

现在,尽管下面的方法似乎有效,但我被告知这个推理是错误的。但坦率地说,我不知道他有多确定,也不确定他有多确定:

考虑由全局最小割(即s-t割,其中U中的s,V中的t)分隔的节点集
U,V
)。注意:我们不关心从
V
U
的边缘

对于u中的任何
u,v中的v
m,u-v-cut不能小于
s-t-cut
,否则,s-t-cut不会(全局)最小。出于同样的原因,
u
中的两个顶点或
V
中的两个顶点之间的切割不能更小

另一方面,u-v-cut也不能更大,否则,它需要包括一些边
u->v
,而不是s-t-cut的一部分,这意味着s-t-cut根本不是切割

因此,任意固定
s
并迭代所有其他顶点
x
就足够了
s
U
中,如果
x
V
中,则s-x-cut对应于全局最小值;如果
s
V
中且
x
U
中,则x-s-cut对应于全局最小值。如果它们都是同一集合的一部分,则切割将至少与全局最小值一样大(但可能更大)

因此,我们最终将通过计算两者来找到全局最小值,并跟踪到目前为止遇到的最小切割


这对我来说似乎很有意义。我错了吗?如果是,为什么?

我的理解是,你基本上是在问以下问题:

通过固定任意顶点s并计算所有顶点t的所有s-t和t-s最小割,我们能找到全局最小割吗s

答案是肯定的,而且很容易证明:考虑一个全局最小割(u,v)与值c。 案例1:s以U表示。根据最小切割的定义,我们有V!={},所以在V中有一个顶点t。那么(U,V)是一个有效的s-t割,所以最小s-t割的最大值是C

情况2:s在V中。然后U中存在一个顶点t,与上述相同的参数适用于最小t-s割


例如,描述了该算法。

假设
s
U
中,
x
V
中。为什么
s
-
x
切割对应于全局最小值?全局最小切割必须同时从
V
中的所有顶点分离
s
,并且可能与最小
s
-
x
切割无关。抱歉,我仍然没有看到它。你能举一个不是这样的例子吗?不确定这是否是你所要求的,但可以,通过固定一个顶点s并计算所有顶点t的所有s-t和t-s最小割s、 您最终将找到一个全局最小切割。然而,运行时间将是Ω(n*(计算最小s-t切割的时间)),这不是很好。这个例子有用吗?边={(s,a,2),(s,b,1),(a,b,1),(b,a,1),(a,c,1),(b,c,2)}。存在多个权重为3的全局最小切割,但从
s
到其他顶点的最小切割的权重为1或2。@TedHopp Ok不必删除我以前的注释。因此,在您的示例中,全局最小切割将是权重为0的({c},{a,b,s})(因为从c到任何其他顶点都没有边)。但这也是一个c-s权重为0的切割,所以这并不矛盾,我的问题是我们为什么可以这样做。麻省理工学院的课堂讲稿——感谢链接——简单地说我们可以做到,但没有说明原因。我看不出和我写的有什么区别,所以我只想问:wlog假设s在U中。这是否意味着U在U中,v在v中的任何最小U-v切割都必须有值C?为什么?“这是否意味着任何最小u-v-cut,其中u在u中,v在v中,必须有值C或者没有”是的,它有。因为(U,V)是一个有效的U-V割,根据s-t割的定义,它的值是C