【问题标题】:Graph Theory - globally minimal cut and its implications图论 - 全局最小割及其含义
【发布时间】:2016-05-01 02:46:53
【问题描述】:

给定一个加权有向图,我们希望找到全局最小割 - 即,如果删除一组边,将图分成两半,并且与任何其他此类割相比,它们的总权重最小。

现在,虽然以下似乎可行,但有人告诉我推理是错误的。但坦率地说,我不知道他是怎么确定的,我不确定他有多确定:

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

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

另一方面,uv-cut 也不能​​更大,否则,它需要包括一些边缘U->V 不是 st-cut 的一部分,这意味着 st-cut 根本没有切割。

因此,任意修复s 并遍历所有其他顶点x 就足够了。 sU 中,那么如果xV 中,则sx-cut 对应于全局最小值,或者如果sV 中并且x 中,则xs-cut 对应于全局最小值在U。如果它们都是同一集合的一部分,则切割将至少与全局最小值一样大(但可能更大)。

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

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

【问题讨论】:

  • 假设您假设sU 中,而xV 中。为什么s-x割对应全局最小值?全局最小切割必须将s 同时V 中的所有顶点分开,并且可能与最小s-x 切割无关。
  • 抱歉,我还是没看到。你能举一个不是这种情况的例子吗?
  • 不确定这是否是您所要求的,但是是的,通过固定一个顶点 s 并计算所有顶点 t 的所有 st 和 ts 最小割,您最终会找到一个全局最小割.但是,运行时间将是 Ω(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 好的,不要介意我之前的评论。因此,在您的示例中,全局最小切割将是 ({c}, {a,b,s}) 的权重 0(因为从 c 到任何其他顶点都没有边)。但是那个割也是权重为 0 的 c-s 割,所以不矛盾

标签: algorithm graph max-flow


【解决方案1】:

我的解释是,您基本上是在问以下问题:

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

答案是肯定的,而且很容易证明:考虑一个值为 C 的全局最小割 (U, V)。那么 s 要么在 U 中,要么 s 在 V 中。

案例 1:s 在 U 中。根据最小割的定义,我们有 V != {},所以在 V 中有一个顶点 t。那么 (U, V) 是有效的st 割,所以最小 st 割的值最多为 C

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

这个算法被描述为例如in Chapter 6.4 of these MIT lecture notes

【讨论】:

  • 我的问题实际上是为什么我们可以这样做。麻省理工学院的讲义 - 感谢您的链接 - 只是说明 我们可以做到,但没有说明原因。我有点看不出与我写的内容有什么不同,所以我只想问:wlog 假设 s 在 U 中。这是否意味着 u 在 U 中且 v 在 V 中的任何最小 uv-cut 必须具有值 C或不?为什么?
  • “这是否意味着 u 在 U 中且 v 在 V 中的任何最小 u-v-cut 必须具有值 C 或不” 是的。因为 (U, V) 根据 s-t 割的定义是一个有效的 u-v 割,它的值是 C
猜你喜欢
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多