这里我试图断开图中的两个顶点,尽可能减少边缘移除。
在两个顶点 A 和 Z 之间的图表中,您可以通过多种方式找到答案。以最佳方式,您只能将 A 中的一条边移到 B 。
如果有任何具体的算法吗?
我找到了一些建议,通过使用最大流量最小切割问题来解决这个问题,但我没有把这个问题转换成最大流量最小切割定理的一般想法。同样在这个过程中,我可能最终会删除 F 和 G 之间的边缘,这是无用的。
答案 0 :(得分:1)
这可以使用Max Flow - Min Cut问题解决。
您可以将图表建模为网络流程,如下所示:
1.将A
视为源顶点,Z
作为汇点顶点
2.将每条边的容量设置为1个单位。
现在,解决上述网络中的Max Flow - Min Cut问题。有了它,您将能够找到从A
到Z
的多条边缘不相交路径。对于每个此类路径,请删除第一条边(源自源A
的边)。
<强>证明强>:
请注意,删除上方边缘后,您将无法访问A
到Z
。如果你有一条路径,那么Max flow算法会将这条路径包含在一组边缘不相交的路径中
此外,通过构建网络,您无法删除较少数量的边缘以将A
与Z