免责声明:这是一道已经过去的作业问题。现在已经过期,所以可以继续讨论而不必担心截止日期。
我正在努力解决的问题是确定图 G=(V,E) 中特定的最小 s-t 割是否唯一。使用最大流算法可以很容易地找到某些最小割,就像这个例子一样,但是如何证明它是最小割?
免责声明:这是一道已经过去的作业问题。现在已经过期,所以可以继续讨论而不必担心截止日期。
我正在努力解决的问题是确定图 G=(V,E) 中特定的最小 s-t 割是否唯一。使用最大流算法可以很容易地找到某些最小割,就像这个例子一样,但是如何证明它是最小割?
概述:
给定最小S-T割(U,V)和割边E',我们可以得到一个简单的观察结论:如果这个最小割不唯一,则存在另一个最小割,其割边集合为E'',且E''≠E'。
如果有这样的情况,我们可以遍历E'中的每条边,增加它的容量,重新计算最大流,并检查是否增加了。
由上述观察结果,存在一条边在增加时,当且仅当原始割不唯一时,最大流不会增加。
我将让您填写详细信息并证明这是一个多项式时间任务。
好的,既然您不想一下子得到整个答案,我会给您一些提示。请阅读您认为必要的提示,如果您放弃了 - 那么请继续阅读所有提示。
1:
当且仅当没有其他最小割时,该割是唯一的。
2:
如果您成功找到了另一个最小割,则第一个最小割就不是唯一的。
3:
您的链接给出了一个最小割,这是残留图中从 s 可达的所有顶点。您能想到一种获得不同割的方法吗?
4:
为什么我们特别选择了那些从 s 可达的顶点?
5:
也许我们可以从 t 中做类似的事情?
6:
在相同的残留图中,从 t 开始。看看所有可以到达 t 的顶点(即沿箭头反向的所有顶点)组成的顶点组。
7:
这个组也是一个最小割(或者确切地说是 S \ 该组)。
8 (最终答案):
如果该割与您的原始割相同,则只有一个割。否则,您刚刚找到了两个割,因此原始割不可能是唯一的。