Algorithm 最大流/最小割流-删除K边后的流算法
我被要求为以下问题开发一个算法: 鉴于:Algorithm 最大流/最小割流-删除K边后的流算法,algorithm,graph,Algorithm,Graph,我被要求为以下问题开发一个算法: 鉴于: 边缘最大容量为1的流动网络G G的最大流量| F| 正整数K 完全删除K条边,以使网络流量最小化 我的想法/算法: 如果K大于或等于| F |删除与G的最小切割相交的所有边 如果K仍然大于零,则删除随机边,新的最大流为零 如果K等于| F |删除与G的最小切割相交的所有边 新的最大流量为零 如果K小于| F |删除与G的最小切割相交的边的K 新的最大流量是| F |-K 我需要一些验证,因为最大流量/最小切割对我来说是新的。 最后,我得到的最大流量
|最小切割|=最大流量
。如果你感兴趣的话,网上有大量的证明(它被称为最大流最小割定理)
对于您的算法,无需在步骤1中删除随机边,从“最小切割”中删除一条边将通过该边的流量减少最大流量(在这种情况下,1
,因为根据语句,所有权重均为1
)
因此,解决方案就是:
min(K,| min cut |
边)很高兴我的直觉正确。非常感谢你的帮助!